5章IDAによる逆アセンブル

 マルウェアの内部動作を理解するために、ソースコードを入手できない場合は、コード解析(Code Analysis)を実施します。前章では、アセンブリコードを解釈し、プログラムの機能を理解するために必要なコード解析技術とテクニックを学びました。利用したプログラムは簡単なC言語プログラムでしたが、マルウェアを取り扱う場合、数千行のコードと数百の関数が含まれているため、すべての変数や関数を追跡することは不可能といえるでしょう。

 コード解析ツールは、分析を簡単に実施するための様々な機能を提供します。この章では、IDA Pro(IDAとも呼ばれます)として知られるコード解析ツールを紹介します。コード解析技術を強化するため、IDA Proの機能を活用する方法を学びます。まず様々なコード解析ツールの概要を学んだ後、IDAの機能について詳しく学んでいきましょう。

5.1 コード解析ツール

 コード解析ツールは、以下で説明する機能に基づいて分類できます。

 逆アセンブラ(Disassembler)は、マシンコードをアセンブリコードに変換するプログラムで、静的コード解析を行うことができます。静的コード解析(Static Code Analysis)は、プログラムを実行せず、コードを解釈してプログラムの動作を理解するために利用できる手法です。

 デバッガ(Debugger)も、マシンコードを逆アセンブルするプログラムです。それとは別に、コンパイルされたプログラムを制御された環境で実行することもできます。デバッガを利用すると、プログラム全体を実行する代わりに、単一の命令、あるいは選択した関数を実行できます。デバッガを使えば、動的コード解析(Dynamic Code Analysis)を実行でき、実行中に分析対象部分に注力して調べることができます。 ...

Get 初めてのマルウェア解析 ―Windowsマルウェアを解析するための概念、ツール、テクニックを探る now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.