
PDFファイルを深く分析するためのGUIアナライザー。悪意のあるペイロードを検出し、オブジェクトの関係を理解し、脅威分析に必要な重要情報を抽出します。
インタラクティブPDF分析(IPAとも呼ばれる)は、あらゆる研究者がPDFファイルの内部詳細を調査できるようにするものです。PDFファイルは、脆弱性を悪用する悪意のあるペイロードを運んだり、PDFビューアの問題を引き起こしたりするために使用されることがあり、またフィッシングキャンペーンにおいてソーシャルエンジニアリングの成果物として使用されることもあります。 このソフトウェアの目的は、あらゆるアナリストが自力でPDFファイルを深く調査できるようにすることです。IPAを通じて、PDFファイルから重要なペイロードを抽出し、オブジェクト間の関係を理解し、悪意のある、あるいは信頼できないペイロードのトリアージに役立つ可能性のある要素を推測することができます。
主な着想は、Zynamicsの背後にいる素晴らしい人々と、彼らの優れた製品であるPDF dissectorから得ています。
私がマルウェアのリバースエンジニアリングを始めたとき、悪意のあるペイロードを分析するために利用できる主なツールは、Didier Stevensの優れたツール群でした。事実上の標準となったこれらのツールの主な問題の一つは、コマンドラインから使用するものであり、非常に多くのフラグの組み合わせを覚えなければならず、さまざまなオブジェクトの番号を報告する必要があるという点でした。アナリストや開発者が日々あらゆる種類のコマンドラインツールと格闘しなければならないとしても、だからといって新しいグラフィカルなファイル検査ツールを作れないわけではありません。
実際、静的解析やリバースエンジニアリングの分野の一部は、ユーザーエクスペリエンスの観点から、最も重要な情報をアナリストにどのように表示するかということにも焦点を当てています。Didier Stevensのツールやpeepdfはすでに使われ、十分に鍛え上げられています。しかし、アナリストはさまざまなオブジェクト間の関係を理解し、それらがどのページを参照しているのか、どのオブジェクトタイプ(画像、フォント、色、メタデータ)なのかを把握し、ストリームの内容を簡単な方法でエクスポートし、辞書の内容を表形式で表示するために、グラフィカルなものを使用することができるでしょう。
主な着想の源は、Zynamicsが開発したPDF-dissectorというツールです。何人かの元ユーザーからの優れたフィードバックと、オープンソースとして公開してほしいという絶え間ない要望が、私をこのツールの作成に数日費やす気にさせました。
このツールはRustとcargoでコンパイルできます。Rustと、取得されるcrate以外に依存関係は必要ありません。
git clone https://github.com/seekbytes/IPA
cd IPA
## compile with debug symbols, the binary is inside ./target/debug/IPA
cargo b
## compile in release mode, the binary is inside ./target/release IPA
cargo b --release
IPAには現時点で以下の制限があります:
最後に、このツールは本当に改善の余地があり、私のコードがいかにひどいかに気づく人もきっといるでしょう。もしあなたがそうなら、潜在的な改善点、より良いパターン、あらゆる提案を私に知らせてください。
問題、改善点がある場合、あるいは単に私に連絡したい場合は、[email protected]までメールしてください。