「Hacking Team」の漏えい事例:Open Typeフォントマネージャの脆弱性の検証

2015年7月、イタリア企業「Hacking Team」が攻撃を受け、大量の機密情報が漏えいしたことが報道されました。漏えいした情報には、攻撃を実行するためのツールが含まれており、Adobe Flash Player や Windows に存在する脆弱性を利用したエクスプロイトコードも確認されました。

トレンドマイクロは、今回の漏えい事例で確認された Adobe Flash Player に存在する脆弱性についてすでに取り上げました。本稿では Windows カーネルに存在する脆弱性について検証します。この脆弱性は、Adobe が提供している Open Type フォント管理モジュール ”ATMFD.dll” に存在します。このモジュールはカーネルモードで実行され、攻撃者は脆弱性を利用して権限昇格し、サンドボックス機能を備えるセキュリティ対策製品を回避します。

■Windowsカーネルに存在する脆弱性の検証
この脆弱性の根本原因は単純です。アプリケーションが特定の GDI API(GDI32!NamedEscape など)を呼び出す際、フォント処理に使用するフォントドライバを指定できます。”ATMFD.dll“ はフォントドライバの 1つです。このモジュールがフォントの情報を処理する際、符号付数字の拡張により「バッファアンダーフロー」が起こります。

この脆弱性利用について、簡単に説明します。

図1:脆弱性を抱えるコードの例
図1:脆弱性を抱えるコードの例

5行目のコードは符号拡張です。i が 0x8000 の場合、index は 0xffff8000 となります。符号付数字から見ると index は非常に小さな値(負の値)となるため、6行目の if文は真となります。8行目で、index*2+6 は負の値となります。そのため、buffer_base[index*2+6] は buffer_base の前の位置を指します。

攻撃者はフォントバッファのデータを用意することができ、脆弱性を利用して入力されたバッファの前の位置に自身が制御するコードを書くことが可能になります。

今回の漏えい事例、また脆弱性に関しては、下記の記事もご参照下さい。新しい情報が入り次第、追って更新します。

  • 伊企業「Hacking Team」の情報漏えい事例:Flash Playerに存在する未修正の不具合を確認
    /archives/11851

Hacking Team 関連の記事一覧

日付 更新
7月5日 伊企業「Hacking Team」が攻撃を受け、400Gバイト以上の企業の機密情報がインターネットに公開される。
7月7日 3つの脆弱性 – Adobe Flash Player の脆弱性 2つと Windowsカーネルの脆弱性 1つが漏えいした情報から確認される。そのうちの 1つ「CVE-2015-5119」は Flashのゼロデイ脆弱性。

Windowsカーネルに存在する脆弱性「CVE-2015-2387」は、Open Typeフォントマネージャのモジュール(ATMDF.dll)に存在し、サンドボックスを使ったセキュリティ対策を回避するために利用される。

Flash のゼロデイ脆弱性「CVE-2015-5119」が、「Angler Exploit Kit」や「Nuclear Exploit Kit」に追加される。韓国および日本に限定した攻撃も確認。

7月11日 2つの Flashゼロデイ脆弱性「CVE-2015-5122」および「CVE-2015-5123」が漏えいした情報から新たに確認される。
7月13日 Hacking Team が自社製品「Remote Control System (RCS)」のエージェントを対象とする PC に常駐させるための UEFI および BIOS に感染するルートキットが漏えいした情報から確認される。
7月14日 IEゼロデイ脆弱性「CVE-2015-2425」が新たに確認される。
7月16日 「Google Play」のフィルタを回避する偽のニュースアプリが確認される。
7月20日 Windowsに存在する新たなゼロデイ脆弱性「CVE-2015-2426」が確認され、Microsoft は定例外の更新プログラムを公開。
7月21日 不正プログラム「RCSAndroid」を解析した結果、Hacking Team が対象とするモバイル端末を監視していたことが判明。

参考記事:

 翻訳:品川 暁子(Core Technology Marketing, TrendLabs)