다음을 통해 공유


보안 및 레지스트리(Visual Basic)

이 페이지에서는 레지스트리에 데이터를 저장할 경우 보안에 미치는 영향을 설명합니다.

사용 권한

레지스트리 키가 ACL(액세스 제어 목록)로 보호된 경우에도 비밀(예: 암호)을 레지스트리에 일반 텍스트로 저장하는 것은 안전하지 않습니다.

레지스트리로 작업하면 시스템 리소스나 보호된 정보에 부적절하게 액세스하여 보안이 손상될 수 있습니다. 이러한 속성을 사용하려면 레지스트리 변수에 대한 액세스를 제어하는 RegistryPermissionAccess 열거형의 읽기 및 쓰기 권한이 있어야 합니다. 완전 신뢰로 실행되는 코드(기본 보안 정책에서 사용자의 로컬 하드 디스크에 설치된 모든 코드)에는 레지스트리에 액세스하는 데 필요한 권한이 있습니다. 자세한 내용은 RegistryPermission 클래스를 참조하세요.

RegistryPermission 없이 코드에서 액세스할 수 있는 메모리 위치에 레지스트리 변수를 저장하면 안 됩니다. 마찬가지로, 사용 권한을 부여하는 경우 작업을 완료하는 데 필요한 최소 권한을 부여합니다.

레지스트리 권한 액세스 값은 RegistryPermissionAccess 열거형에 의해 정의됩니다. 다음 표에서는 해당 멤버를 자세히 설명합니다.

레지스트리 변수에 대한 액세스 권한
AllAccess 만들기, 읽기, 쓰기
Create 만들기
NoAccess 권한 없음
Read 읽음
Write 쓰기

레지스트리 키의 값 검사

레지스트리 값을 만들 때 해당 값이 이미 있는 경우 수행할 작업을 결정해야 합니다. 다른 악성 프로세스에서 값을 이미 만들고 액세스했을 수도 있습니다. 레지스트리 값에 데이터를 넣으면 다른 프로세스에서 해당 데이터를 사용할 수 있습니다. 이를 방지하려면 GetValue 메서드를 사용합니다. 키가 아직 없는 경우 Nothing이 반환됩니다.

Important

웹 애플리케이션에서 레지스트리를 읽는 경우 현재 사용자의 ID는 웹 애플리케이션에 구현된 인증 및 가장에 따라 결정됩니다.

참고 항목