Sdílet prostřednictvím


IoSpy a IoAttack

Poznámka:

IoAttack už není ve WDK k dispozici po Windows 10 verze 1703.

Jako alternativu k tomuto nástroji zvažte použití fuzzovacích testů dostupných v HLK. Tady je pár, které je potřeba vzít v úvahu.

Můžete také použít přibližné zpoždění synchronizace jádra, které je součástí nástroje Driver Verifier.

IoSpy a IoAttack jsou nástroje, které provádějí testy IOCTL a WMI fuzz na ovladačích režimu jádra. Pomocí těchto nástrojů můžete zajistit, aby kód IOCTL a WMI ovladačů správně ověřoval datové vyrovnávací paměti a jejich délky. Tím se vyhnete přetečení vyrovnávací paměti, které mohou vést k nestabilitě systému.

Fuzz testing představuje ovladač s náhodnými daty, označovanými jako fuzz, aby bylo možné určit vady v rámci ovladače. Testování fuzzing přes rozhraní IOCTL nebo WMI není nové. Většina testovacích sad je však buď obecné testy černé skříňky, které ověřují pouze externí přístup k rozhraní IOCTL nebo WMI ovladače, nebo jsou napsané k testování konkrétních cest IOCTL a WMI v rámci ovladače.

IoSpy a IoAttack používají více přístupu white box k fuzz testování. Pokud je zařízení povolené pro testování přibližných shod, IoSpy zachytí požadavky IOCTL a WMI odeslané ovladači zařízení a zaznamenává atributy těchto požadavků v rámci datového souboru. IoAttack pak přečte atributy z tohoto datového souboru a použije tyto atributy k fuzzování, tedy k náhodné změně požadavků IOCTL nebo WMI různými způsoby před jejich odesláním do ovladače. To umožňuje další vstup do ověřovacího kódu vyrovnávací paměti ovladače bez psaní testů specifických pro rozhraní IOCTL nebo WMI.

IoSpy a IoAttack jsou podporovány v systémech, na kterých běží Windows Vista nebo novější verze operačního systému Windows. Tyto nástroje jsou součástí WDK jako součást testů Základy zařízení, viz Penetrační testy (Základy zařízení). Tyto testy můžete vybrat v dialogovém okně Přidat nebo odebrat testy ovladačů ve složce Basic\Device Fundamentals\Penetrace\IoSpy & Attack.

Důležité

IoSpy a IoAttack by se měly spouštět na testovacích systémech, které byly dříve připravené pro ladění v režimu jádra. Tato část obsahuje následující témata: