원격 디버깅 중 보안
이 항목에서는 원격 디버깅 중에 보안을 강화하는 다양한 기술에 대해 설명합니다.
디버깅 세션에 대한 액세스 제어
디버거통해
TCP, COM 또는 명명된 파이프 프로토콜을 사용하는 경우 디버깅 클라이언트가 암호를 제공하도록 요구할 수 있습니다. 그러나 이 암호는 전송 중에 암호화되지 않으므로 이러한 프로토콜은 안전하지 않습니다.
디버깅 서버를 보다 안전하게 보호하려면 SSL(보안 소켓 계층) 또는 SPIPE(보안 파이프) 프로토콜을 사용해야 합니다.
권한이 없는 사용자의 연결 금지
remote.exe통해
네트워크 세그먼트 격리
프로토콜 유선 공격을 방지하려면 클라이언트와 서버가 실행 중인 네트워크 세그먼트를 격리하는 것이 좋습니다. 예를 들어 로컬 네트워크 스위치를 사용하여 두 시스템을 연결하여 인터넷 또는 LAN의 나머지 부분에 연결되지 않도록 할 수 있습니다.
사용 가능한 가장 안전한 전송 사용
가장 안전하고 사용 가능한 최신 버전의 전송을 사용합니다. Windows에서 사용할 수 있는 보안 전송 프로토콜에 대한 자세한 내용은 TLS/SSL(Schannel SSP)
커널 모드에서 보안 모드 사용
커널 모드 디버깅을 수행하는 경우 보안 모드디버거를 실행할 수 있습니다. 이렇게 하면 디버거가 호스트 컴퓨터에 영향을 주지 않지만 대상 컴퓨터를 디버그할 수 있는 자유가 크게 감소하지는 않습니다. 원격 클라이언트가 디버깅 세션에 참가하도록 허용하려는 경우 보안 모드를 사용하는 것이 좋습니다. 자세한 내용은 보안 모드의 기능 , 및 보안 모드 활성화 ,을 참조하세요.
사용자 모드에서 클라이언트의 권한 제한
사용자 모드에서는 보안 모드를 사용할 수 없습니다. .noshell(셸 명령 금지) 명령을 실행하여 침입 클라이언트가 Microsoft MS-DOS 명령을 실행하고 외부 프로그램을 실행하는 것을 중지할 수 있습니다. 그러나 클라이언트가 컴퓨터를 방해할 수 있는 다른 여러 가지 방법이 있습니다.
보안 모드와 .noshell 모두 디버깅 클라이언트와 디버깅 서버가 특정 작업을 수행하지 못하게 합니다. 클라이언트에 제한을 두는 방법은 없지만 서버에는 적용할 수 없습니다.
잊혀진 프로세스 서버 종료
원격 컴퓨터에서 프로세스 서버를 시작하면 프로세스 서버가 조용히 실행됩니다. 이 프로세스 서버를 통해 원격 디버깅을 수행한 다음 세션을 종료하면 프로세스 서버가 계속 실행됩니다. 잊어버린 프로세스 서버는 공격의 잠재적 대상입니다. 항상 불필요한 프로세스 서버를 종료해야 합니다. 작업 관리자 또는 Kill.exe 도구 사용하여 프로세스 서버를 종료합니다.