初のROP専用、サンドボックスをエスケープするPDFエクスプロイトを分析

2013年の冬は“ゼロデイ”が多く出てきましたMcAfee Labsで強力なFlashゼロデイの分析を行ったと思うと、すぐにAdobe Readerの最新バージョン(および旧バージョン)を狙う別のゼロデイ攻撃に関するセキュリティ警告が出されました。過去に私たちが経験したInternet Explorerのゼロデイエクスプロイトとは異なり、このReaderゼロデイエクスプロイトは、完全に“兵器化”したものです。このゼロデイエクスプロイトには、ブローカープロセスでメモリー情報公開やサンドボックスエスケープを使用し、アドレス空間配置のランダム化(ASLR)やデータ実行防止(DEP)を回避するなどの先進的なテクニックが含まれています。このブログでは、このエクスプロイトを簡単に分析します。

このエクスプロイトで使用される不正なPDFファイルは、主に3つの部分で構成されています。

  • 脆弱性を誘発するROP(return-oriented programming)ペイロードを伴うヒープスプレーデータとAdobe XML Forms Architecture(XFA)オブジェクトを操作するJavaScriptコードを含んだ、高度に難読化されたJavaScriptコード
  • 均一にエンコードされたXFAオブジェクト
  • ドロップされた2つのDLLに関連性があると思われる、暗号化されたバイナリストリーム

このエクスプロイトには、2つの段階があります。第1段階として、サンドボックス化されたプロセス内でのコード実行が、AcroForm.apiモジュールで発生します。攻撃者の制御するヒープスプレー領域から仮想テーブルポインターが読み込まれ、その後、呼び出し命令で使用されます。

このエクスプロイトは、AcroForm.apiのベースモジュールアドレスをリークすることができます。組み込まれたJavaScriptコードを使用してAdobe Readerの現行バージョンを検出し、ランタイム時にすべてのROPペイロードをビルドすることが可能です。

最も重要なことは、通常のシェルコードが一切ないことです。必要なすべてのシェルコード関数は、ROPコードレベルで実装されます。つまり、大半のエミュレーションベースのシェルコード検出テクニックでは、このエクスプロイトを検出することができないということです。これらのテクニックは、正当なモジュール内の一連のアドレスしか確認できないためです。このエクスプロイトは、以前に登場した、iOSコードサイニング拡張機能を無効化できるiOS脱獄エクスプロイトと似ています。

ROPシェルコードはまず、メモリーに埋め込まれたDLL(D.T)を復号化し、AppData\Local\Temp\acrord32_sbxフォルダーにドロップします。次に、DLLを現行プロセスにロードします。その後、乗っ取られたスレッドがKernel32!Sleep APIを呼び出すことにより停止します。D.Tは、サンドボックス化されたプロセスでの実行時に、ほかのDLL(L2P.Tなど)をドロップし、別のAdobe脆弱点をエクスプロイトすることによって、サンドボックスをエスケープする準備をします。

第2段階では、ブローカープロセス中にコード実行が発生します。この呼び出し命令の宛先も、攻撃者が制御可能です。

第2段階のROPシェルコードは非常に短く、ドロップされたDLL L2P.Tにロードされ、スリープ状態になります。攻撃者が制御しているコード(L2P.T)が上位特権ブローカープロセスで実行されたため、この時点ですでに、Readerサンドボックスはエクスプロイトによって突破されています。

これは、サンドボックスを完全にエスケープしたエクスプロイトとしては、拡散していることをマカフィーが初めて確認した例です。これまでは、サンドボックスを完全にエスケープする可能性について、「Pwn2Own」といった主要なハッキングコンテストで聞いたことがあるだけでした。このエクスプロイトは、一部の複雑な部分のほかに、ネットワークとエンドポイントのセキュリティ検出・防護を回避するため、高度に難読化されたJavaScript、ROP専用シェルコード、多段型暗号化マルウェアといった、複数の回避テクニックも使っています。エクスプロイトコードは次に、乗っ取ったプロセスを終了させ、正常に見せかけたPDFファイルを表示するために新しいプロセスを作成します。このエクスプロイトは一瞬にして起こるため、元の不正PDFファイルを開く被害者が異常行動を目にすることはできません。

マカフィーでは引き続き分析を行い、サンドボックスのエスケープに関するさらに詳しい情報を今後も提供していきます。対策としては、Adobe Reader 及び Acrobat を以下の最新のバージョンに更新してください。Adobe Reader 及び Acrobat の起動後、メニューの”ヘルプ (H)” -> ”アップデートの有無をチェック (U)” をクリックすることで更新できます。

– Adobe Reader XI (11.0.02)
– Adobe Reader X (10.1.6)
– Adobe Reader 9.5.4
– Adobe Acrobat XI (11.0.02)
– Adobe Acrobat X (10.1.6)
– Adobe Acrobat 9.5.4

マカフィーのお客様には、Network Security Platform 機器向けに0x402e0600 “UDS-HTTP: Adobe Reader and Acrobat XFA Component Remote Code Execution”というシグネチャーをすでにリリースしています。また、HIPS製品の一般的なバッファオーバーフロー防止(Sigs 6013、6048)機能により、関連攻撃を阻止できます。

[レポート]クラウド環境の現状レポートと今後 ~クラウドの安全性の状況と実用的ガイダンス

[レポート]クラウド環境の現状レポートと今後 ~クラウドの安全性の状況と実用的ガイダンス

 マカフィーでは、1,400人のIT担当者に年次アンケートを実施し、クラウド採用状況やセキュリティについて調査しました。
 調査の結果、クラウドの採用とリスク管理への投資を増やしている組織がある一方で、クラウドの採用に慎重なアプローチをしている組織が多いことがわかりました。
 本調査では、クラウドサービスの利用状況を分類し、短期投資の確認、変化速度の予測、重要なプライバシーおよびセキュリティ上の障害物への対応方法の概要を示しています。

 本レポートでは、クラウドの現状把握と今後の方向性、クラウド対応の課題やポイントを理解することができます。

<掲載内容>
■ 主要調査結果
■ 調査結果から言える方向性
■ 課題への対応
■ 変化への対応力
■ 考慮すべき点:安全なクラウドの採用で事業を加速