Oracle の MySQL サーバを脅かすゼロデイ脆弱性のエクスプロイトを複数確認

今年最後の月に入り、オープンソース・データベース「MySQL」に対するゼロデイの脆弱性を利用した不正プログラム(エクスプロイト)が複数確認されました。この一連のエクスプロイトは、「Kingcope」と名乗る人物によって明らかにされ、またこれらすべての脆弱性を利用する「Proof-of-concept(PoC、概念実証型エクスプロイト)」を公開しました。

新たに確認された一連のゼロデイ脆弱性は、アプリケーションの機能停止、「サービス拒否(DoS)」攻撃、権限昇格、認証回避、リモートで Windows のシステムをルート化、ヒープオーバーランおよびスタックオーバーランといった複数の方法で MySQL に影響を及ぼします。これらの脆弱性は、各ベンダにより把握されており、CVE識別番号の ID としてそれぞれ「CVE-2012-5611」、「CVE-2012-5612」、「CVE-2012-5613」、「CVE-2012-5614」および「CVE-2012-5615」と割り当てています。

MySQL に存在する2つの深刻なセキュリティ問題「ExploitDB:23073および23083」が利用されると、リモートで認証された攻撃者が、特別に細工されたリクエストを送信することにより Windows のシステムにおけるシェルを取得することができます。

上記以外の重要な問題は、以下のとおりとなります。

  • 「CVE-2012-5611」:この脆弱性は、コマンド「GRANT FILE」の過度に長い引数を送信することによって引き起こされ、スタックバッファオーバーフローを次々にもたらします。これにより、リモートの攻撃者が、任意のコードの実行やデータベースの破損を引き起こすことが可能になります。ただし、この脆弱性を利用するには、有効なユーザ名とパスワードが必要になります。
  • 「CVE-2012-5612」:ヒープバッファオーバーフローの脆弱性は、特別に細工された「USE」、「SHOW TABLES」、「DESCRIBE」、「CREATE TABLE」、「DROP TABLE」、「ALTER TABLE」、「DELETE FROM」、「UPDATE」、「SET PASSWORD」といった一連のコマンドによって引き起こされます。この脆弱性が利用されると、低い権限で認証されたリモートの攻撃者が、現在のユーザのパスワードを未定義の値に変更することが可能になります。
  • 「CVE-2012-5614」:この脆弱性は、コマンド「SELECT」および大量にネストされた固有の要素を持つ「XML」を含むコマンド「UpdateXML」を介してサービスのクラッシュを引き起こします。この脆弱性を利用するには、有効なユーザ名とパスワードによって認証される必要があります。
  • 「CVE-2012-5615」:MySQLに存在する列挙の脆弱性は、リモートの攻撃者に、生成されたエラーメッセージに基づく有効なすべてのユーザ名を知らせます。
  • 「CVE-2012-5613」:この脆弱性は、設定間違いの結果からセキュリティ上の不具合とみなされません。しかし、この脆弱性により、認証されたリモートのユーザが管理者特権を取得することができるようになります。この事例では、「FILE」権限を持つ攻撃者は、MySQL の管理者と同様の完全なアクセス権を持つユーザを新たに作成するために利用されます。
  • MySQL は、その高い性能、高い信頼性と使いやすさで有名で、Windows および UNIX、Mac OS、Solaris、IBM AIX のような Windows 以外の多くのプラットフォームでも実行されます。また MySQL は、もっとも急成長しているアプリケーションで、特に「Facebook」、「Google」、「Adobe」といった大企業により採用されています。この人気を考慮すると、サイバー犯罪者および他の攻撃者は、間違いなくこのプラットフォームに注目しているといえます。

    トレンドマイクロのサーバ向け総合セキュリティ製品「Trend Micro Deep Security(トレンドマイクロ ディープセキュリティ)」では、これらの問題にユーザが対応するための新たなフィルタのアップデート「12-032」を公開しています。ユーザは、このアップデートで公開された以下のフィルタを適用することをお勧めします。

    Exploit DB CVE ID フィルタ名
    23076 MySQL (Linux) Heap Based Overrun PoC Zeroday CVE-2012-5612 1005264 – Oracle MySQL Server Command Length Restriction
    23081 MySQL Remote Preauth User Enumeration Zeroday CVE-2012-5615 1005045 – MySQL Database Server Possible Login Brute Force Attempt*
    23078 MySQL Denial of Service Zeroday PoC CVE-2012-5614 1005265 – Oracle MySQL Server Denial Of Service Vulnerability
    23083 MySQL Windows Remote System Level Exploit (Stuxnet technique) 0day
    1005263 – Windows MySQL Server Remote Code Execution
    23075 MySQL (Linux) Stack Based Buffer Overrun PoC Zeroday CVE-2012-5611 1005266 – Oracle MySQL GRANT Command Stack Buffer Overflow Vulnerability
    23077 MySQL (Linux) Database Privilege Elevation Zero day Exploit CVE-2012-5613 1005266 – Oracle MySQL GRANT Command Stack Buffer Overflow Vulnerability
    23073 MySQL 5.1/5.5 WiNDOWS REMOTE R00T (mysqljackpot) 1004177 – Oracle MySQL ‘COM_FIELD_LIST’ Command Buffer Overflow Vulnerability*

    * 対応済みの範囲 – これらの脆弱性は、トレンドマイクロの既存のフィルタですでに対応しています。

    トレンドマイクロのフィルタは、これまでのすべての既知のエクスプロイトからユーザを保護することができます。なお、トレンドマイクロは、2012年12月6日時点、これら PoC のエクスプロイトを利用した実際の攻撃は確認していません。

    参考記事:

  • Multiple Zero-Day POC Exploits Threaten Oracle MySQL Server
     by Pavithra Hanchagaiah (Senior Security Researcher)
  •  翻訳:栗尾 真也(Core Technology Marketing, TrendLabs)