다음을 통해 공유


사용자 계정 컨트롤 작동 방법

UAC(사용자 계정 컨트롤)는 Windows 보안의 핵심 부분입니다. UAC는 관리자 권한으로 실행하는 악성 코드의 기능을 제한하여 맬웨어의 위험을 줄입니다. 이 문서에서는 UAC의 작동 방식과 UAC가 최종 사용자와 상호 작용하는 방법을 설명합니다.

UAC 프로세스 및 상호 작용

UAC를 사용하면 관리자 액세스 토큰 이 필요한 각 애플리케이션에서 최종 사용자에게 동의를 요청해야 합니다. 유일한 예외는 부모 프로세스와 자식 프로세스 간에 존재하는 관계입니다. 자식 프로세스는 부모 프로세스에서 사용자의 액세스 토큰을 상속합니다. 그러나 부모 프로세스와 자식 프로세스는 모두 동일한 무결성 수준을 가져야 합니다.

Windows는 무결성 수준을 표시하여 프로세스를 보호합니다. 무결성 수준은 신뢰의 측정값입니다.

  • 높은 무결성 애플리케이션은 디스크 분할 애플리케이션과 같은 시스템 데이터를 수정하는 작업을 수행하는 애플리케이션입니다.
  • 낮은 무결성 애플리케이션은 웹 브라우저와 같이 운영 체제를 손상시킬 수 있는 작업을 수행하는 애플리케이션입니다.

무결성 수준이 낮은 애플리케이션은 무결성 수준이 높은 애플리케이션의 데이터를 수정할 수 없습니다. 표준 사용자가 관리자 액세스 토큰이 필요한 앱을 실행하려고 하면 UAC에서 사용자에게 유효한 관리자 자격 증명을 제공하도록 요구합니다.

이 프로세스의 작동 방식을 더 잘 이해하려면 Windows 로그인 프로세스를 좀 더 자세히 살펴보겠습니다.

로그인 프로세스

다음 다이어그램에서는 관리자의 로그인 프로세스가 표준 사용자의 로그인 프로세스와 어떻게 다른지 보여 줍니다.

UAC Windows 로그인 프로세스를 설명하는 다이어그램

기본적으로 표준 사용자와 관리자 모두 리소스에 액세스하고 표준 사용자의 보안 컨텍스트에서 앱을 실행합니다.
사용자가 로그인하면 시스템에서 해당 사용자에 대한 액세스 토큰을 만듭니다. 액세스 토큰에는 특정 SID(보안 식별자) 및 Windows 권한을 포함하여 사용자에게 부여되는 액세스 수준에 대한 정보가 포함됩니다.

관리자가 로그온하면 사용자에 대해 표준 사용자 액세스 토큰과 관리자 액세스 토큰이라는 두 개의 별도 액세스 토큰이 만들어집니다. 표준 사용자 액세스 토큰:

  • 관리자 액세스 토큰과 동일한 사용자별 정보를 포함하지만 관리 Windows 권한 및 SID는 제거됩니다.
  • 관리 작업을 수행하지 않는 애플리케이션을 시작하는 데 사용됩니다(표준 사용자 앱).
  • explorer.exe프로세스를 실행하여 데스크톱을 표시하는 데 사용됩니다. Explorer.exe 다른 모든 사용자 시작 프로세스가 액세스 토큰을 상속하는 부모 프로세스입니다. 따라서 모든 앱은 사용자가 전체 관리 액세스 토큰을 사용하도록 앱을 승인하기 위한 동의 또는 자격 증명을 제공하지 않는 한 표준 사용자로 실행됩니다.

Administrators 그룹의 구성원인 사용자는 표준 사용자 액세스 토큰을 사용하는 동안 로그인, 웹 찾아보기 및 전자 메일을 읽을 수 있습니다. 관리자가 관리자 액세스 토큰이 필요한 작업을 수행해야 하는 경우 Windows는 사용자에게 승인을 요청하는 메시지를 자동으로 표시합니다. 이 프 롬프트를 권한 상승 프롬프트라고 하며 정책 또는 레지스트리를 통해 해당 동작을 구성할 수 있습니다.

UAC 사용자 환경

UAC를 사용하도록 설정하면 표준 사용자에 대한 사용자 환경이 관리자 사용자와 다릅니다. Windows를 실행하는 권장되고 더 안전한 방법은 기본 사용자 계정이 표준 사용자인지 확인하는 것입니다. 표준 사용자로 실행하면 관리되는 환경에 대한 보안을 최대화하는 데 도움이 됩니다. 기본 제공 UAC 권한 상승 구성 요소를 사용하면 표준 사용자가 로컬 관리자 계정에 유효한 자격 증명을 입력하여 관리 작업을 쉽게 수행할 수 있습니다.

표준 사용자에 대한 기본 제공 UAC 권한 상승 구성 요소는 자격 증명 프롬프트입니다.

표준 사용자로 실행하는 대안은 관리 승인 모드에서 관리자 권한으로 실행하는 것입니다. 기본 제공 UAC 권한 상승 구성 요소를 사용하면 로컬 관리자 그룹의 구성원이 승인을 제공하여 관리 작업을 쉽게 수행할 수 있습니다.

관리 승인 모드의 관리자 계정에 대한 기본 제공 UAC 권한 상승 구성 요소를 동의 프롬프트라고 합니다.

자격 증명 프롬프트

자격 증명 프롬프트는 표준 사용자가 사용자의 관리 액세스 토큰이 필요한 작업을 수행하려고 할 때 표시됩니다. 또한 관리자는 사용자 계정 컨트롤: 관리 승인 모드 정책 설정 값의 관리자 권한 상승 프롬프트 동작자격 증명 확인으로 설정하여 자격 증명을 제공해야 할 수도 있습니다.

UAC 자격 증명 프롬프트를 보여 주는 스크린샷

동의 프롬프트는 사용자가 사용자의 관리 액세스 토큰이 필요한 작업을 수행하려고 할 때 표시됩니다.

UAC 동의 프롬프트를 보여 주는 스크린샷

UAC 권한 상승 프롬프트

UAC 권한 상승 프롬프트는 앱별로 색으로 구분되어 애플리케이션의 잠재적 보안 위험을 보다 쉽게 식별할 수 있도록 합니다. 앱이 관리자의 모든 액세스 토큰으로 실행하려고 하면 Windows는 먼저 실행 파일을 분석하여 게시자를 확인합니다. 앱은 먼저 파일의 게시자에 따라 세 가지 범주로 구분됩니다.

  • Windows
  • 게시자 확인됨(서명됨)
  • 게시자가 확인되지 않음(서명되지 않음)

권한 상승 프롬프트 색 코딩은 다음과 같습니다.

  • 회색 배경: 애플리케이션은 windows 관리 앱(예: 제어판 항목 또는 확인된 게시자가 서명한 애플리케이션)으로 서명된 실행 파일이 있는 UAC 자격 증명 프롬프트를 보여 주는 스크린샷입니다.
  • 노란색 배경: 애플리케이션이 서명되지 않았거나 서명되었지만 서명되지 않은 실행 파일이 있는 UAC 동의 프롬프트를 보여 주는 신뢰할 수 없는 스크린샷

방패 아이콘

날짜 및 시간과 같은 일부 제어판 항목에는 관리자와 표준 사용자 작업의 조합이 포함되어 있습니다. Standard 사용자는 시계를 보고 표준 시간대를 변경할 수 있지만 로컬 시스템 시간을 변경하려면 전체 관리자 액세스 토큰이 필요합니다. 다음은 날짜 및 시간 제어판 항목의 스크린샷입니다.

날짜 및 시간 속성의 UAC Shield 아이콘을 보여 주는 스크린샷

날짜 및 시간 변경... 단추의 방패 아이콘은 프로세스에 전체 관리자 액세스 토큰이 필요했음을 나타냅니다.

권한 상승 프롬프트 보호

권한 상승 프로세스는 프롬프트를 보안 데스크톱으로 전달하여 더욱 보호됩니다. 동의 및 자격 증명 프롬프트는 기본적으로 보안 데스크톱에 표시됩니다. Windows 프로세스만 보안 데스크톱에 액세스할 수 있습니다. 높은 수준의 보안을 위해 권한 상승 정책 설정을 사용하도록 설정하라는 메시지가 표시될 때 사용자 계정 컨트롤: 보안 데스크톱으로 전환하는 것이 좋습니다.

실행 파일이 권한 상승을 요청하면 사용자 데스크톱이라고도 하는 대화형 데스크톱이 보안 데스크톱으로 전환됩니다. 보안 데스크톱은 사용자 데스크톱을 어둡게 하고 계속하기 전에 응답해야 하는 권한 상승 프롬프트를 표시합니다. 사용자가 또는 아니요를 선택하면 데스크톱이 사용자 데스크톱으로 다시 전환됩니다.

참고

Windows Server 2019부터는 클립보드 콘텐츠를 보안 데스크톱에 붙여넣을 수 없습니다. 이 동작은 현재 지원되는 Windows 클라이언트 OS 버전과 동일합니다.

맬웨어는 보안 데스크톱을 모방할 수 있지만 사용자 계정 컨트롤: 관리 승인 모드 정책 설정에서 관리자에 대한 권한 상승 프롬프트의 동작이동의 요청으로 설정된 경우 사용자가 모방에서 예를 선택하면 맬웨어가 상승되지 않습니다. 정책 설정이 자격 증명 확인으로 설정된 경우 자격 증명 프롬프트를 모방하는 맬웨어가 사용자로부터 자격 증명을 수집할 수 있습니다. 그러나 맬웨어는 상승된 권한을 얻지 못하며 시스템에는 수집된 암호로도 사용자 인터페이스를 제어하지 못하도록 맬웨어를 완화하는 다른 보호가 있습니다.

맬웨어는 보안 데스크톱을 모방할 수 있지만 사용자가 이전에 PC에 맬웨어를 설치하지 않으면 이 문제가 발생할 수 없습니다. UAC를 사용할 때 관리자 액세스 토큰이 필요한 프로세스는 자동으로 설치할 수 없으므로 사용자는 예를 선택하거나 관리자 자격 증명을 제공하여 명시적으로 동의를 제공해야 합니다. UAC 권한 상승 프롬프트의 특정 동작은 보안 정책에 따라 달라집니다.