悪性PDFファイルの解析ツール:Peepdf(Scan Tech Report)
1.解説
数年前より、サイバー攻撃の傾向がMicrosoft WindowsなどのOSから、Adobe ReaderやFlash Player、JREなどのアプリケーションに移り変ってきました。当初はMpackやFirepackといったExploit packで悪用されていました。しかし、最近では標的型攻撃でも多様されるよ
脆弱性と脅威
エクスプロイト
数年前より、サイバー攻撃の傾向がMicrosoft WindowsなどのOSから、Adobe ReaderやFlash Player、JREなどのアプリケーションに移り変ってきました。当初はMpackやFirepackといったExploit packで悪用されていました。しかし、最近では標的型攻撃でも多様されるようになってきており、特にPDFファイルにExploitコードを埋め込む手口は増加の一途を辿っています。日本におきましては、東関東大震災に便乗した標的型メールが多くの組織で確認されており、その対策が急がれます。
PDFを悪用した攻撃が厄介な点は、PDFが様々な機能を有するうえに自由度が高い点にあります。そのため、アンチウイルスソフトウェアだけでは検出が難しいのが現状です。このような現状を踏まえ、最近では多くの悪性PDFファイルの解析ツールが登場しています。初期のものは、PDFの構造解析から解析者が手作業で行っていました。しかし、最近の解析ツールは、構造解析からExploitコードまでの一通りの作業を自動で行ってくれ、解析者の負荷を大幅に軽減してくれます。今回紹介するツールは、これら解析ツールの1つであるPeepdfです。このツールは、5月に公開されたばかりであり、最新の解析ツールの1つです。
PDFファイルの解析で著名なツールとして、jsunpack-n(http://jsunpack.blogspot.com/)があります。このツールは、pdf.pyによりPDFファイル内を解析し、デコードします。その際に、Exploitコードやシェルコードを抽出します。次に、SpyderMonkeyによりJavaScriptで動作するExploitコードをエミュレートし、その際に現れる文字列をパターンマッチングすることで悪用されている脆弱性を判定しています。しかし、弱点もあります。JavaScriptでExploitコードが生成されない種類のPDFファイルに関しては解析ができません。具体的には、CVE-2010-2883を悪用したPDFファイルなどが、それにあたります。とはいえ、最近の攻撃傾向に合っており、多くの解析ツールで利用され、PDFファイルの分においてスタンダードになりつつあります。
今回紹介します、peepdf.pyにおきましても、jsunpack-nと同様の手法をとっています。このツールの特徴は、PDFファイルの解析結果を含め、マッチングした脆弱性情報を併せて表示してくれます。
―
Version 2:
Catalog: 17
Info: 15
Objects (5): [15, 17, 30, 36, 37]
Streams (2): [36, 37]
Encoded (1): [36]
Objects with JS code (1): [36]
Suspicious elements:
/AcroForm: [17]
/Names: [17]
/JS: [30]
/JavaScript: [30]
getIcon (CVE-2009-0927): [36]
この内容からは、Object 36をデコードしExploitコードを生成すると、"getIcon"の文字列が含まれていたことが分かります。これは、CVE-2009-0927の脆弱性を悪用したものです。また、対話モードを利用することで、オブジェクト単位の細かな解析が可能であるのも特徴のひとつです。peepdf.pyもjsunpack-nと同様に、必ずしも、脆弱性の情報が判定できるわけではありません。しかし、解析結果が出力されるため、PDFファイルのどの箇所が不審であるかのアタリがつけ易くなります。
2.ツール
(Web非公開)
3.peepdf.pyのソースコード
(Web非公開)
4.ツールの動作および結果
(Web非公開)
(執筆:株式会社ラック コンピュータセキュリティ研究所)
※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。
Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《ScanNetSecurity》