6章マルウェアのデバッグ

 デバッグ(Debugging)は、制御された環境で攻撃コードを実行する手法です。デバッガは、攻撃コードを、より詳細なレベルで検査する機能を提供します。マルウェア実行時の動作を完全に制御し、マルウェアのすべてのアクションを1つずつ調査しながら、単一もしくは複数の命令を実行したり、(プログラム全体を実行する代わりに)特定の関数のみを選択して実行することができます。

 この章では、IDA Pro(市販の逆アセンブラ/デバッガ)、およびx64dbg(オープンソースのx32/x64デバッガ)が提供する機能について学びます。デバッガが提供する機能、そしてプログラム実行中の挙動を分析する手法を学習します。マルウェアを分析するため、予算に応じて複数のデバッガを組み合わせることもできます。マルウェアをデバッグする時は、システム上で攻撃コードを実行するため、適切な注意を払う必要があります。そのため、隔離された解析環境で、デバッグを実行することを強くお勧めします(詳しくは、1章を参照してください)。この章の最後では、.NET用のデコンパイラ兼デバッガであるdnSpy(https://github.com/0xd4d/dnSpy)を利用して、.NETアプリケーションをデバッグする手法についても説明します。

ヒントやコツ
その他、一般的な逆アセンブラ兼デバッガとして、以下が挙げられます。

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.