第2回でお話したように,マシンコード実行型の脆弱性を解析するためには,ターゲット・システムのデバッグが不可欠です。例えば,バッファ・オーバーフロー脆弱性の攻略には,バッファ・オーバーフロー状態が発生した際のメモリーやレジスタの内容を確認する必要があります。そのための最も有効な手段は,ICE(In-Circuit Emulator)を利用することです。 ICEとは,組み込みシステム用の開発支援装置であり,ターゲット(対象システム)に接続して利用します。リアルタイム・トレースやブレーク,シングル・ステップ,レジスタやメモリーへのデータ・セット等が可能であり,通常,PC上で動作する専用のソフトウエアで制御します。 最近開発されたCPUの多くは,JTAG ICE(JTAGエミュレータ)によるデバッグをサポートしています。JTAG(Joint Test Action Group)とは,IEEE 11