다음을 통해 공유


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 주요 함수 코드를 구현합니다.