Kernel-Mode 디버깅 중 보안

커널 모드 디버깅 중 보안은 대상 컴퓨터 보호에 관한 것이 아니었습니다. 대상은 디버거에 완전히 취약합니다. 디버깅의 특성입니다.

부팅 중에 디버깅 연결을 사용하도록 설정한 경우 다음 부팅까지 디버깅 포트를 통해 취약한 상태를 유지합니다.

그러나 호스트 컴퓨터의 보안에 대해 염려해야 합니다. 이상적인 상황에서 디버거는 호스트 컴퓨터에서 애플리케이션으로 실행되지만 이 컴퓨터의 다른 애플리케이션과 상호 작용하지는 않습니다. 보안 문제가 발생할 수 있는 세 가지 방법이 있습니다.

  • 손상되거나 파괴적인 확장 DLL을 사용하는 경우 디버거가 예기치 않은 작업을 수행하여 호스트 컴퓨터에 영향을 줄 수 있습니다.

  • 손상되거나 파괴적인 기호 파일로 인해 디버거가 예기치 않은 작업을 수행하여 호스트 컴퓨터에 영향을 줄 수 있습니다.

  • 원격 디버깅 세션을 실행하는 경우 예기치 않은 클라이언트가 서버에 연결하려고 시도할 수 있습니다. 또는 예상하는 클라이언트가 예상하지 못한 작업을 수행하려고 시도할 수 있습니다.

원격 사용자가 호스트 컴퓨터에서 작업을 수행하지 못하도록 하려면 보안 모드를 사용합니다.

예기치 않은 원격 연결을 방어하는 방법에 대한 제안은 원격 디버깅 중 보안을 참조하세요.

원격 디버깅을 수행하지 않는 경우에도 잘못된 기호 파일 및 확장 DLL을 주의해야 합니다. 신뢰할 수 없는 기호나 확장을 로드하지 마세요!

로컬 커널 디버깅

디버그 권한이 있는 사용자만 로컬 커널 디버깅 세션을 시작할 수 있습니다. 여러 사용자 계정이 있는 컴퓨터의 관리자인 경우 이러한 권한을 가진 모든 사용자가 로컬 커널 디버깅 세션을 시작하여 컴퓨터의 모든 프로세스를 효과적으로 제어할 수 있으므로 모든 주변 장치에 대한 액세스 권한을 부여할 수 있다는 점에 유의해야 합니다.