다음은 드라이버가 IRP를 처리할 때 발생하는 추가 오류입니다.
분실된 또는 이중으로 완료된 IRP
이러한 문제는 IoStartNextPacket과 같은 I/O 관리자 루틴에 대한 누락된 호출과 함께 종종 오류 처리 경로에서 발생합니다. 드라이버 경로를 빠르게 검토하면 이러한 문제를 찾을 수 있습니다.
공용 IOCTL 및 프라이빗 IOCTL 경로 통합
일반적으로 드라이버는 퍼블릭 및 프라이빗 IOCTL(또는 FSCTL)에 대한 별도의 실행 경로를 포함해야 합니다. 드라이버는 제어 코드를 확인하여 IOCTL 또는 FSCTL 요청이 커널 모드 또는 사용자 모드에서 발생하는지 여부를 확인할 수 없습니다. 따라서 동일한 실행 경로에서 퍼블릭 및 프라이빗 코드를 모두 처리하거나 최소한의 유효성 검사를 수행한 다음 동일한 루틴을 호출하면 보안 위반에 대한 드라이버가 열릴 수 있습니다. 개인 IOCTL 또는 FSCTL 권한이 있는 경우 제어 코드를 알고 있는 권한 없는 사용자가 액세스 권한을 얻을 수 있습니다. 따라서 드라이버가 프라이빗 IOCTL 또는 FSCTL 요청을 지원하는 경우 이러한 요청을 공용 IOCTL 또는 FSCTL과 별도로 처리해야 합니다.