BDA ミニドライバーの脅威の防止
BDA ミニドライバーに入り込む脅威は次の方法で防ぐことができます。
シグナル トランスポート ストリーム内の脅威
そのような内容は破壊的になる可能性があるため、BDA ミニドライバーは信号ペイロードの内容を解釈する必要はありません。 BDA ミニドライバーは、ペイロードのバッファーのみをアセンブルし、次のフィルターに渡す必要があります。
BDA ミニドライバーがペイロードを解釈する場合は、ペイロードからそのようなコンテンツを解析するときに内容を慎重に検証する必要があります。
特殊な目的の IOCTL からの脅威
BDA ミニドライバーは、これらのアプリケーションがバス、メモリ、またはその他のハードウェアを直接制御できるアプリケーションにインターフェイスを公開する必要はありません。 そのため、すべての特殊な目的の IOCTL の処理は、BDA ミニドライバーから削除する必要があります。 このような IOCTL には、たとえば、ベンダーが作成したデバッグ IOCTL が含まれます。 このような IOCTL を処理するために、BDA ミニドライバーは IRP_MJ_DEVICE_CONTROL ディスパッチ ルーチンを実装します。
直接的な WDM ディスパッチ ルーチンからの脅威
BDA ミニドライバーは、カーネル ストリーミング (KS) クラス モデルをバイパスする WDM ディスパッチ ルーチンを提供必要はありません。 BDA ミニドライバーは、セキュリティチェックも提供するため、KS ドライバーの AVStream モジュールを使用して ディスパッチ ルーチンとオートメーション ルーチンを提供する必要があります。 直接 WDM ディスパッチ ルーチンを提供するために、BDA ミニドライバーは IRP の主要な関数コードのいずれかを実装します。