IDA Proはディスアセンブラ機能、デバッグ機能、デコンパイラ機能といった数多くの機能を完備したリバースエンジニアリングツールの決定版です。昨今では、IDA Proによるリバースエンジニアリングの用途として、マルウェア解析に用いられることも増えてきています。Windows だけでなく、Mac や Linux といったマルチプラットフォームをサポートします。
■ディスアセンブラ機能
IDA Proでは、実行ファイルなどの人間が読むことのできないバイナリコードをディスアセンブルすることが可能です。ディスアセンブルとは、機械語 (下図サンプルのバイナリコード) をアセンブリ言語 (下図サンプルのアセンブリコード) と呼ばれる人が可読な形式に翻訳することです。
情報窃取に使用されるスパイウェアやファイルの暗号化を行うランサムウェアなどソースコードが入手できないソフトウェアでも、IDA Pro のディスアセンブル機能を使用することでどのような動作を行うかを仔細に分析することができます。
IDA Pro ではディスアセンブル後のコードについても、調査者が複雑な処理を容易に理解できるよう工夫が凝らされています。FLIRT (Fast Library Identification and Recognition Technology) と呼ばれる解析されたコードと既知のライブラリとの紐付けを行う機能により、調査員は一般的なライブラリで用いられる関数を素早く認識できます。
また、特定関数の呼び出しの相互参照 (クロスリファレンス) や、処理対象となっているデータ内容の表示、ユーザーによる関数名のリネーム等も可能です。場合によっては、バイナリプログラムを生成した元のソース コードにかなり近い水準に戻し、内容を確認することで調査者の負担を減らします。
■デバッガ機能
IDA Pro にはデバッガの機能も搭載されています。デバッガはプログラムのエラー検出や修正を目的に使用されることが一般的ですが、サイバーフォレンジックでは別の目的でも使用します。マルウェアの解析では、マルウェア作成者が分析に協力的なコードを書いていることはおよそ期待できず、むしろ難読化された不必要に複雑なコードがしばしば見られます。