Windowsゼロデイ脆弱性「CVE-2014-4114」利用したサイバー攻撃「Sandworm」を解析

Microsoft の月例セキュリティ情報公開前に、Windows のゼロデイ脆弱性「CVE-2014-4114」が、米国 の ITセキュリティ企業「iSIGHT Partners」によって報告されました。この脆弱性は、Windows Vista のデスクトップおよびサーバ版、また Windows Server 2008 から最新バージョンまでのすべての Windows OS に影響を与えます。また、この脆弱性は、「Sandworm Team」と呼ばれるロシアのサイバー攻撃集団によって諜報目的で行なわれた「北大西洋条約機構(NATO)」に関連したサイバー攻撃に関係していると考えられています。

■「CVE2014-4114」の危険性
この脆弱性は、Windows の「Object Linking and Embedding(OLE)」のプロパティの一部である “packager.dll” に存在します。特別に細工された PowerPoint のドキュメントを利用することにより、挿入された OLE オブジェクトのシステム定義ファイル(拡張子 INF)が、SMBシェアフォルダから遠隔からコピーされ、PC上にインストールされます。攻撃者は、この論理上の不具合を利用し、同様の方法でダウンロードした別の不正プログラムを実行させることが可能になります。つまり、この脆弱性の危険性は、以下の 2つの危険性をはらむ動作をユーザの認識や同意がない状態で実行することであると言えます。

  1. 遠隔の共有フォルダからファイルをコピーする
  2. ダウンロードされた INF ファイルをインストールする

このような動作の実行は慎重に設計されるべきものと言えます。

また、この脆弱性を利用した攻撃は非常に容易に実行できることも、この脆弱性の危険性をとても高いものにしています。この脆弱性を利用するにあたり、攻撃者は「Data Execution Prevention(実行不可能なメモリの特定の領域からの不正なシェルコードを含むコードの実行を防止する機能、DEP)」を回避するためのシェルコードや Return Oriented Programming(ROP)など、一般の脆弱性攻撃で必要となる技術を駆使する必要がありません。フォーマットがわかれば、攻撃者はこの脆弱性を利用する特別に細工された PowerPoint のファイルを直接作成することができます。また、この不正なファイルはヒープスプレー、ROP、シェルコードを持たないため、ほとんどのヒューリスティック検索で検出するのが難しくなります。

■実際の脆弱性攻撃ファイルを解析
トレンドマイクロでは、脆弱性を攻撃する PowerPoint のファイル(拡張子PPSX)の検体を解析し、どのようにして攻撃が行われるかを調査しました(MD5ハッシュ:330e8d23ab82e8a0ca6d166755408eb1)。まず、現在の PowerPoint ファイルは圧縮ファイルになっているため、不正な PPSX ファイルを解凍したところ、以下のファイル構成となっていることが確認できました。

図1:PPSX ファイルのフォルダ構成
図1:PPSX ファイルのフォルダ構成

図2 および図3 は、”oleObject1.bin” および “oleObject2.bin”の内容です。これらの OLEオブジェクトは、遠隔の共有フォルダに置かれています。

図2:
図2:”oleObject1.bin” および “oleObject2.bin”

図3:
図3:”oleObject1.bin” および “oleObject2.bin”

また、”slide1.xml” には、2つの Packager Shell Object である “rId4” および “rId5” の記述が確認できます。

図4:
図4:”slide1.xml”(Part1)

“slide1.xml.resl” では、”rId4″ および “rId5” が上記 2つの OLEオブジェクトとして定義されています。

図5:
図5:”slide1.xml.resl”

“slide1” を開くと、ファイル “slide1.gif” および “slides.inf” が “packager.dll” によってローカルにコピーされます。”slide1.xml” では、いくつかの動作が、「-3」や「3」として記述されます。2つの OLEオブジェクトが読み込まれると、これら 2つの動作が呼び出されます。この動作は、関数「packager!CPackage::DoVerb()」内で確認されます。

図6:
図6:”slide1.xml”(Part 2)

“slide1.gif” では、パラメータが「-3」の場合、この関数は何もしません。しかし、”slides.inf” が読み込まれ、パラメータが「3」の場合、INFファイルをインストールします。図7 は、”InfDefaultInstall.exe” 実行時のコールスタックです。

図7:INFファイルがインストール時のコールスタック
図7:INFファイルがインストール時のコールスタック

その後、INFファイルは “slide1.gif” を “slide1.gif.exe” にファイル名を変更し、レジストリの Run Once にその値を追加します。その結果、次回 PC が起動した際に不正プログラムが自動的に実行されます。

弊社の製品では、脆弱性を利用し攻撃を行うこの不正プログラムを「TROJ_MDLOAD.PGTY」として検出します。「TROJ_MDLOAD.PGTY」は脆弱性を利用した攻撃に成功すると、「INF_BLACKEN.A」をダウンロードします。「INF_BLACKEN.A」は、「BKDR_BLACKEN.A」として検出されるバックドア型不正プログラムをダウンロードし、実行します。

繰り返しになりますが、この脆弱性は攻撃に利用するのに特段の労力を必要としません。「Sandworm Team」のサイバー攻撃で使用された攻撃ファイルは、現在もインターネット上で入手可能な状態のため、他の攻撃者もサンプルとして利用しやすい状況にあります。これらの事実から、今後登場する新たな攻撃において、この脆弱性が利用される可能性は非常に高いと考えられます。 Microsoft では既に以下の修正プログラムを公開しておりますので、自身が使用、管理する Windows OS 環境に、速やかに適用することを強く推奨します。

また、脆弱性をアップデートするまでは外部から入手した正当性が未確認の PowerPoint のファイルは開けないようにして下さい。さまざまな不正プログラムに感染する危険性があります。

■トレンドマイクロの対策
トレンドマイクロでは、弊社のクラウド型セキュリティ基盤「Trend Micro Smart Protection Network(SPN)」を通じ、脆弱性を利用した攻撃や不正プログラムを検出することで、ユーザを脅威から保護しています。

この脆弱性を利用した攻撃で使用された不正プログラムは、SPN の機能である「ファイルレピュテーション」技術により、「TROJ_MDLOAD」、「BKDR_BLACKEN」などの検出名で検出します。

弊社のサーバ向け総合セキュリティ製品「Trend Micro Deep Security(トレンドマイクロ ディープセキュリティ)」および「Trend Micro 脆弱性対策オプション(ウイルスバスター コーポレートエディション プラグイン製品)」をご利用のお客様は、以下のフィルタを適用することにより、問題のゼロデイ脆弱性を利用した攻撃から保護されます。

  • 1006290 – Microsoft Windows OLE Remote Code Execution Vulnerability (CVE-2014-4114)
  • 1006291 – Microsoft Windows OLE Remote Code Execution Vulnerability (CVE-2014-4114) – 1

「Trend Micro Deep Discovery」シリーズでは、ネットワークの可視化や、サイバー攻撃および先端脅威の検出および対応を行うインテリジェンスを提供しています。特にサンドボックス機能により、脆弱性を利用して侵入する不正ファイルの挙動を警告可能です。

※協力執筆者:Kai Yu

参考記事:

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