Freigeben über


Verhindern von BDA Minidriver-Bedrohungen

Die Bedrohungen, die in einen BDA-Minitreiber eingeführt werden können, können auf folgende Weise verhindert werden:

Bedrohungen im Signaltransportstream
BDA-Minitreiber sollten den Inhalt der Signalnutzlasten nicht interpretieren, da solche Inhalte destruktiv sein könnten. BDA-Minitreiber sollten nur die Puffer der Nutzlasten zusammensetzen und an den nächsten Filter übergeben.

Wenn BDA-Minidriver Nutzlasten interpretieren, sollten sie den Inhalt beim Analysieren solcher Inhalte aus den Nutzlasten sorgfältig überprüfen.

Bedrohungen durch spezielle IOCTLs
BDA-Minidriver sollten keine Schnittstellen für Anwendungen verfügbar machen, die es diesen Anwendungen ermöglichen, direkte Kontrolle über Busse, Speicher oder andere Hardware zu haben. Daher sollte die Verarbeitung für alle speziellen IOCTLs von BDA-Minitreibern entfernt werden. Solche IOCTLs umfassen beispielsweise vom Anbieter erstellte Debug-IOCTLs. Um solche IOCTLs zu verarbeiten, würden BDA-Minitreiber eine IRP_MJ_DEVICE_CONTROL Dispatchroutine implementieren.

Bedrohungen durch direkte WDM-Dispatchroutinen
BDA-Minitreiber sollten keine WDM-Dispatchroutinen bereitstellen, die das KS-Klassenmodell (Kernel Streaming) umgehen. BDA-Minitreiber sollten das AVStream-Modul des KS-Treibers verwenden, um Dispatch- und Automatisierungsroutinen bereitzustellen, da es auch Sicherheitsüberprüfungen bereitstellt. Um direkte WDM-Dispatchroutinen bereitzustellen, implementieren BDA-Minitreiber alle IRP-Hauptfunktionscodes.