Freigeben über


IoSpy und IoAttack

Hinweis

IoSpy und IoAttack sind im WDK nach Windows 10 Version 1703 nicht mehr verfügbar.

Als Alternative zu diesen Tools sollten Sie die im HLK verfügbaren Fuzzingtests verwenden. Im Folgenden finden Sie einige zu berücksichtigende Punkte.

DF – Fuzz – Zufälliger IOCTL-Test (Zuverlässigkeit)

DF – Fuzz – Test zum Öffnen von Sub (Zuverlässigkeit)

DF – Fuzz – FSCTL-Test auf Puffer mit Länge null (Zuverlässigkeit)

DF – Fuzz – Zufälliger FSCTL-Test (Zuverlässigkeit)

DF – Fuzz – Sonstiger API-Test (Zuverlässigkeit)

Sie können auch das Kernelsynchronisierungsverzögerungsfuzzing verwenden, das in der Treiberüberprüfung enthalten ist.

IoSpy und IoAttack sind Tools, die IOCTL- und WMI-Fuzztests für Kernelmodustreiber ausführen. Mit diesen Tools können Sie sicherstellen, dass der IOCTL- und WMI-Code der Treiber Datenpuffer und Pufferlängen ordnungsgemäß überprüft. Dadurch vermeiden Sie Pufferüberläufe, die zu Systeminstabilität führen können.

Bei Fuzztests werden für einen Treiber zufällige Daten angezeigt, die als Fuzz bezeichnet werden, um Fehler innerhalb des Treibers zu ermitteln. Fuzztests über eine IOCTL- oder WMI-Schnittstelle sind nicht neu. Die meisten Testsammlungen sind jedoch entweder generische Blackbox-Fuzztests, die nur den externen Zugriff auf die IOCTL- oder WMI-Schnittstellen eines Treibers überprüfen, oder sie werden zum Testen der spezifischen IOCTL- und WMI-Pfade innerhalb eines Treibers geschrieben.

IoSpy und IoAttack verwenden eher einen Whitebox-Ansatz für Fuzztests. Wenn ein Gerät für Fuzztests aktiviert ist, erfasst IoSpy die IOCTL- und WMI-Anforderungen, die an den Treiber des Geräts gesendet werden, und zeichnet die Attribute dieser Anforderungen in einer Datendatei auf. IoAttack liest dann die Attribute aus dieser Datendatei und verwendet diese Attribute, um die IOCTL- oder WMI-Anforderungen auf verschiedene Weise zu fuzzen oder zufällig zu ändern, bevor sie an den Treiber gesendet werden. Dies ermöglicht eine weitere Eingabe in den Puffervalidierungscode des Treibers, ohne IOCTL- oder WMI-spezifische Tests zu schreiben.

IoSpy und IoAttack werden auf Systemen unterstützt, auf denen Windows Vista oder höhere Versionen des Windows-Betriebssystems ausgeführt werden. Diese Tools sind im WDK als Teil der Gerätegrundlagentests enthalten, siehe Penetrationstests (Gerätegrundlagen). Sie können diese Tests im Dialogfeld Treibertests hinzufügen oder entfernen unter Dem Ordner Basic\Device Fundamentals\Penetration\IoSpy & Angriff auswählen.

Wichtig IoSpy und IoAttack sollten auf Testsystemen ausgeführt werden, die zuvor für das Debuggen im Kernelmodus vorbereitet wurden.

Dieser Abschnitt schließt folgende Themen ein:

IoSpy

IoAttack

Ausführen von Fuzztests mit IoSpy und IoAttack