IoSpy と IoAttack

Windows 10 バージョン 1703 以降、WDK では IoAttack を使用できなくなりました。

このツールの代わりに、HLK で使用可能なファジー テストの使用を検討してください。 考慮すべき点をいくつか次に示します。

ドライバー検証ツールに含まれている カーネル同期遅延ファジング を使用することもできます。

IoSpy と IoAttack は、カーネル モード ドライバーで IOCTL および WMI ファジー テストを実行するツールです。 これらのツールを使用すると、ドライバーの IOCTL と WMI コードでデータ バッファーとバッファーの長さを正しく検証できます。 これにより、システムが不安定になる可能性があるバッファー オーバーランを回避できます。

ファジー テスト では、ドライバー内の欠陥を特定するために、 ファジーと呼ばれるランダム なデータをドライバーに提示します。 IOCTL または WMI インターフェイスでのファジー テストは新しいものではありません。 ただし、ほとんどのテスト スイートは、ドライバーの IOCTL または WMI インターフェイスへの外部アクセスのみを検証する汎用 ブラック ボックス ファジー テストか、ドライバー内の特定の IOCTL パスと WMI パスをテストするように記述されています。

IoSpy と IoAttack は、ファズテストにおいて、よりホワイトボックスアプローチを使用しています。 デバイスでファジー テストが有効になっている場合、IoSpy はデバイスのドライバーに送信された IOCTL 要求と WMI 要求をキャプチャし、これらの要求の属性をデータ ファイル内に記録します。 IoAttack は、このデータ ファイルから属性を読み取り、これらの属性を使用して IOCTL または WMI 要求をドライバーに送信する前に、さまざまな方法でランダムに変更するファジングを行います。 これにより、IOCTL または WMI 固有のテストを記述することなく、ドライバーのバッファー検証コードにさらに入力できます。

IoSpy と IoAttack は、Windows Vista 以降のバージョンの Windows オペレーティング システムを実行するシステムでサポートされています。 これらのツールは、 デバイスの基礎テストの一部として WDK に含まれています。 「侵入テスト (デバイスの基礎)」を参照してください。 これらのテストは、[ ドライバー テストの追加と削除 ] ダイアログ ボックスの [Basic\Device Fundamentals\Penetration\IoSpy & Attack] フォルダーから選択できます。

Important

IoSpy と IoAttack は、カーネル モード デバッグ用に以前に準備したテスト システムで実行する必要があります。 このセクションには、次のトピックが含まれています。