サイバーセキュリティ書籍セレクション: リバースエンジニアリングとマルウェア
入り口がもっとも険しい回。アセンブラ、OSの内部構造、そして悪意あるコードの解析。
サイバーセキュリティ書籍セレクション: リバースエンジニアリングとマルウェア
全9回の第3回。入り口がもっとも険しい回だ。アセンブラ、オペレーティングシステムの動きへの理解、そして忍耐が要る。
読む順番が効いてくる。まずマルウェア解析から入るのがよく、一般的なバイナリ解析から始めるのは勧めない。
Michael Sikorski, Andrew Honig. Practical Malware Analysis (2012年)
事実上の標準。分量の半分以上が、付属の検体を使った演習で占められている。
テーマ: 静的解析と動的解析、安全なサンドボックス、デバッガの操作、アンパックと難読化、アンチデバッグ手法、マルウェアのネットワーク上の挙動、解析結果の報告。
Bruce Dang, Alexandre Gazet, Elias Bachaalany. Practical Reverse Engineering (2014年)
アーキテクチャとシステム内部の話。x86、x64、ARM、Windowsカーネル、仮想化の仕組み。
テーマ: 逆アセンブルされたコードを読む、呼び出し規約、ドライバとカーネルモード、ルートキット、難読化と難読化解除。
Dennis Andriesse. Practical Binary Analysis (2018年)
道具と自動化の話。Linux上でバイナリ解析の道具を自分で作る方法。
テーマ: ELFとPEの形式、逆アセンブルとその原理的な限界、制御フローとデータフローの解析、シンボリック実行、インストルメンテーション、テイント解析。
Chris Eagle, Kara Nance. The Ghidra Book (2020年)
NSAが公開した逆アセンブラの手引き。有償のIDA Proに対する現実的な代替。
テーマ: 画面構成と作業の流れ、デコンパイラ、データ型と構造体、JavaとPythonでのスクリプト、共同作業、機能の拡張。
Chris Eagle. The IDA Pro Book (第2版、2011年)
業界の主力商用ツールについての古典。版は古いが土台は変わっていない。
テーマ: 逆アセンブルコードの読み進め方、構造体と型の復元、IDCとIDAPythonのスクリプト、デバッガ、難読化されたコードの扱い。
Alex Matrosov, Eugene Rodionov, Sergey Bratus. Rootkits and Bootkits (2019年)
オペレーティングシステムより下の層に潜む脅威の話。著者たちは実在のマルウェア系統と防御の進化を解剖する。
テーマ: 起動プロセスとその侵害、ブートキット、MBRとUEFI、Secure Bootとその回避、ファームウェア層のフォレンジック、解析手段としての仮想化。
Michael Hale Ligh, Andrew Case, Jamie Levy, Aaron Walters. The Art of Memory Forensics (2014年)
リバースとフォレンジックをつなぐ一冊。メモリダンプから何を取り出せるか。
テーマ: メモリダンプの取得、Windows・Linux・macOSのカーネル構造、隠しプロセスの発見、メモリからの悪意あるコードの抽出、Volatility。
次回: 暗号。
シリーズ全体: