共用方式為


IoSpy 和 IoAttack

注意

Windows 10 版本 1703 之後,WDK 中已不再提供 IoSpy 和 IoAttack。

作為這些工具的替代方案,請考慮使用 HLK 中可用的模糊測試。 以下是一些需要考慮的事項。

DF - 模糊隨機 IOCTL 測試 (可靠性)

DF - 模糊子開啟測試 (可靠性)

DF - 模糊零長度緩衝區 FSCTL 測試 (可靠性)

DF - 模糊隨機 FSCTL 測試 (可靠性)

DF - 模糊 Misc API 測試 (可靠性)

您也可以使用驅動程式驗證器隨附的核心 同步處理延遲模糊

IoSpy 和 IoAttack 是可在內核模式驅動程式上執行 IOCTL 和 WMI 模糊測試的工具。 您可以使用這些工具,確保驅動程式的 IOCTL 和 WMI 程式代碼會正確驗證數據緩衝區和緩衝區長度。 如此一來,您可以避免緩衝區溢出,這可能會導致系統不穩定。

模糊測試 會以隨機數據呈現驅動程式,稱為 模糊,以判斷驅動程式內的瑕疵。 IOCTL 或 WMI 介面的模糊測試不是新的。 不過,大部分的測試套件都是一般 黑色方塊 模糊測試,其只會驗證驅動程式 IOCTL 或 WMI 介面的外部存取權,或撰寫來測試驅動程式內的特定 IOCTL 和 WMI 路徑。

IoSpy 和 IoAttack 使用更多用於模糊測試 的白色方塊 方法。 當裝置啟用模糊測試時,IoSpy 會擷取傳送至裝置驅動程式的 IOCTL 和 WMI 要求,並在數據檔中記錄這些要求的屬性。 IoAttack 接著會從此數據檔讀取屬性,並使用這些屬性來 模糊或隨機變更 IOCTL 或 WMI 要求,然後再將它們傳送至驅動程式。 這可讓您進一步進入驅動程式的緩衝區驗證程序代碼,而不需要撰寫 IOCTL 或 WMI 特定測試。

執行 Windows Vista 或更新版本的 Windows 作業系統的系統上支援 IoSpy 和 IoAttack。 這些工具包含在 WDK 中作為 裝置基本概念測試的一部分,請參閱 滲透測試 (裝置基本概念) 。 您可以從 [ 新增或移除驅動程序測試 ] 對話方塊的 [基本]\[裝置基本概念\滲透\IoSpy & 攻擊] 資料夾底下選取這些測試。

重要 IoSpy 和 IoAttack 應該在先前準備進行內核模式偵錯的測試系統上執行。

本節包含下列主題:

IoSpy

IoAttack

如何使用IoSpy和IoAttack執行模糊測試