다음을 통해 공유


시각화 도우미 보안 고려 사항

업데이트: 2007년 11월

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

C++

Web Developer

Express

항목이 적용됨 항목이 적용됨

관리 전용

항목이 적용됨

Standard

항목이 적용됨 항목이 적용됨

관리 전용

항목이 적용됨

Pro 및 Team

항목이 적용됨 항목이 적용됨

관리 전용

항목이 적용됨

표의 범례:

항목이 적용됨

해당

항목이 적용되지 않음

해당 없음

항목이 적용되지만 명령은 기본적으로 숨겨짐

명령은 기본적으로 숨겨져 있습니다.

시각화 도우미를 작성할 때는 보안 문제를 고려해야 합니다. 당장은 이러한 잠재적 위협에 대한 취약점이 발견되지 않더라도 개발자는 이러한 문제의 가능성을 인식하고 여기서 설명하는 적절한 보안 예방책에 따라 향후 발생할 수 있는 위험에 대비해야 합니다.

디버거 시각화 도우미에는 부분 신뢰 응용 프로그램에 허용되는 것보다 많은 권한이 필요합니다. 부분 신뢰 코드에서 중지하면 시각화 도우미가 로드되지 않습니다. 시각화 도우미를 사용하여 디버깅하려면 완전 신뢰 코드를 실행해야 합니다.

악의적으로 사용될 수 있는 디버기(debuggee) 구성 요소

시각화 도우미는 디버거측과 디버기측에 하나씩 적어도 두 개 이상의 클래스로 구성됩니다. 시각화 도우미는 대개 특별한 디렉터리에 배치된 별도의 어셈블리로 배포되지만 디버기에서 로드할 수도 있습니다. 이 경우 디버거는 디버기에서 코드를 가져와 디버거 내에서 완전 신뢰 수준으로 이를 실행합니다.

디버기측 코드를 완전 신뢰 수준으로 실행하면 디버기를 완전히 신뢰할 수 없는 경우 문제가 발생할 수 있습니다. 시각화 도우미가 디버기에서 디버거로 부분 신뢰 어셈블리를 로드하려고 하면 Visual Studio가 시각화 도우미를 종료합니다.

그러나 소소한 취약점은 여전히 존재합니다. 디버기가 아닌 다른 소스에서 로드된 디버거측 코드에 디버기측 코드가 연결될 수 있습니다. 그런 다음 디버기측에서 디버기 대신 작업을 수행하도록 신뢰되는 디버거측에 지시할 수 있습니다. 예를 들어, 신뢰되는 디버거측 클래스가 "이 파일 삭제" 메커니즘을 노출하면 사용자가 해당 시각화 도우미를 호출할 때 부분 신뢰 디버기가 이 메커니즘을 호출할 수 있습니다.

이러한 취약점을 줄이려면 시각화 도우미에서 노출되는 인터페이스에 주의를 기울여야 합니다.

참고 항목

작업

방법: 시각화 도우미 작성

개념

시각화 도우미 아키텍처

디버거에서 데이터 보기

기타 리소스

시각화 도우미