IT, 보안 지식

권한 상승이란? 일반 사용자에서 관리자 권한으로 넘어가는 원리

권한 상승의 의미, 정상적인 관리자 승인과 공격의 차이, 수직·수평 권한 확대, 취약점과 구성 오류가 연결되는 과정, 운영자가 확인할 기록을 한 개념에 집중해 설명합니다.

프로그램 설치 창이 관리자 승인을 요구하는 이유

Windows에서 프로그램을 설치하거나 시스템 설정을 바꾸면 관리자 승인을 묻는 창이 나타납니다. 평소 사용하는 앱에는 문서와 개인 설정 정도만 다룰 권한을 주고, 운영체제 전체에 영향을 주는 작업은 더 높은 권한으로 분리하기 위해서입니다.

이 경계를 공격자가 허가 없이 넘어가는 것이 권한 상승(Privilege Escalation)입니다. MITRE ATT&CK는 이를 시스템이나 네트워크에서 더 높은 수준의 권한을 얻기 위해 사용하는 공격 기법의 묶음으로 정의합니다.

건물 출입카드로 이해하기

일반 출입카드로 사무실과 회의실만 들어갈 수 있고, 관리자 카드는 서버실과 설비실까지 열 수 있다고 생각해 보세요. 권한은 ‘누가 어느 공간에서 어떤 행동을 할 수 있는가’를 정한 범위입니다. 권한 상승은 일반 카드를 가진 사람이 카드 발급 오류나 문 잠금장치의 결함을 이용해 관리자 구역으로 들어가는 상황과 비슷합니다.

중요한 점은 로그인 성공과 권한 상승이 같은 사건이 아니라는 것입니다. 공격자가 일반 계정으로 들어온 단계는 초기 접근일 수 있습니다. 이후 서비스 중지, 보안 설정 변경, 다른 계정 정보 접근처럼 현재 계정에 허용되지 않은 일을 하기 위해 더 강한 권한을 확보하는 단계가 권한 상승입니다.

정상적인 권한 높이기와 공격의 차이

권한을 높이는 동작 자체가 항상 공격은 아닙니다. 관리자가 승인된 소프트웨어를 설치하거나 정해진 작업 시간에 서비스를 변경하는 것도 정상적인 권한 상승입니다. 정상 작업에는 승인 주체, 목적, 대상 시스템, 시작과 종료 시점이 남습니다.

공격에서는 사용자가 승인하지 않았는데 프로세스 권한이 높아지거나, 승인된 계정이 업무 범위를 벗어나 관리자 기능을 실행합니다. 따라서 보안팀은 ‘관리자 권한이 사용됐다’는 사실만 보지 않고 누가, 어느 기기에서, 어떤 프로그램을 통해, 무엇을 바꾸었는지를 함께 봅니다.

수직 권한 상승과 수평 권한 확대

수직 권한 상승은 낮은 권한에서 관리자·루트·SYSTEM처럼 더 높은 단계로 올라가는 경우입니다. 일반 사용자가 시스템 파일을 바꾸거나 드라이버를 불러올 수 있게 되는 흐름이 여기에 해당합니다.

수평 권한 확대는 권한 단계가 더 높아지지 않더라도 원래 접근할 수 없던 다른 사용자의 자료나 기능을 다루게 되는 경우입니다. 예를 들어 A 사용자가 주소 값을 바꿔 B 사용자의 주문 정보를 보는 상황입니다. 둘은 결과가 다르므로 접근 통제 기록을 볼 때 ‘권한 수준’과 ‘접근 대상’ 두 축을 구분해야 합니다.

권한 상승이 만들어지는 세 가지 길

  1. 소프트웨어 취약점: 운영체제 커널, 드라이버, 서비스가 요청자의 권한을 제대로 검사하지 않으면 낮은 권한의 코드가 높은 권한으로 실행될 수 있습니다.
  2. 구성 오류: 일반 사용자가 수정할 수 있는 파일을 관리자 서비스가 실행하거나, 필요 이상으로 넓은 역할을 계정에 부여하면 정상 기능이 상승 통로가 됩니다.
  3. 인증정보 악용: 관리자 비밀번호, 토큰, 세션을 탈취하면 시스템 결함 없이도 높은 권한을 가진 사람처럼 행동할 수 있습니다.

최근 취약점 기사에서 ‘로컬 권한 상승’이라는 표현이 자주 보이는 이유도 여기에 있습니다. 로컬은 보통 공격자가 먼저 해당 기기에서 코드를 실행하거나 로그인할 조건이 필요하다는 뜻입니다. 원격에서 곧바로 장악하는 취약점과 시작 조건은 다르지만, 다른 초기 접근 수법과 결합되면 관리자 권한을 얻는 연결 고리가 될 수 있습니다.

Windows의 접근 토큰은 무엇을 담나

Microsoft 설명에 따르면 사용자가 로그인하면 Windows는 접근 토큰을 만듭니다. 이 토큰에는 사용자를 식별하는 SID와 해당 사용자가 가진 Windows 권한 등 접근 수준을 판단하는 정보가 들어갑니다. 프로그램은 사용자의 보안 맥락을 이어받아 실행되므로, 토큰의 권한 범위가 그 프로그램이 할 수 있는 일을 제한합니다.

사용자 계정 컨트롤(UAC)은 관리자 계정으로 로그인했더라도 평상시 앱을 표준 사용자 수준으로 실행하고, 높은 권한이 필요한 순간에 승인을 요구합니다. UAC 창은 단순한 방해물이 아니라 어떤 프로그램이 시스템 변경 권한을 요청하는지 사용자가 멈춰서 판단하게 하는 경계입니다.

권한이 높아지면 가능한 일이 달라집니다

  • 시스템 영역의 파일과 레지스트리 설정 변경
  • 서비스와 드라이버 설치·중지
  • 보안 제품 또는 감사 설정 변경
  • 다른 사용자 데이터와 인증정보 접근
  • 새 관리자 계정 생성 또는 기존 계정 권한 변경

모든 관리자 권한이 위 행동을 전부 허용하는 것은 아니며 운영체제와 정책에 따라 범위가 달라집니다. 핵심은 권한이 높아질수록 한 번의 잘못된 실행이 미치는 범위도 넓어진다는 점입니다.

운영자는 어떤 흔적을 확인하나

  • 일반 사용자 프로세스가 갑자기 관리자 또는 SYSTEM 맥락의 프로세스를 만든 기록
  • 예상하지 않은 시간대의 관리자 로그인과 권한 있는 명령 실행
  • 사용자·그룹·역할 할당 변경
  • 서비스, 예약 작업, 드라이버, 시스템 파일의 신규 생성과 수정
  • 보안 로그 삭제 또는 감사 정책 변경
  • 취약점 악용 전에 나타난 비정상 프로그램 실행과 직후의 시스템 변경

한 개의 이벤트만으로 공격을 확정하기는 어렵습니다. 변경 승인 기록, 로그인 주체, 부모·자식 프로세스, 실행 파일 서명, 명령 내용, 변경된 자원을 시간 순서로 연결해야 정상 관리 작업과 비정상 상승을 구분할 수 있습니다.

가장 기본적인 운영 원칙은 최소 권한

최소 권한은 사용자와 프로그램에 현재 작업을 완료하는 데 필요한 만큼만 권한을 주는 원칙입니다. Microsoft는 모든 사용자가 현재 작업에 필요한 절대 최소 권한으로 로그인하도록 설명합니다. 관리자 권한을 평상시 계정과 분리하고, 필요한 시간과 대상에만 부여하면 계정 하나가 탈취됐을 때 공격자가 바로 행사할 수 있는 범위를 줄일 수 있습니다.

자주 생기는 오해

  • 관리자 계정이면 UAC 창을 모두 허용해도 된다: 요청한 프로그램의 발행자와 작업 목적을 먼저 확인해야 합니다.
  • 권한 상승 취약점은 원격 코드 실행보다 항상 덜 위험하다: 단독 조건은 다르지만 피싱·악성코드와 결합되면 공격 범위를 크게 넓힐 수 있습니다.
  • 패치만 하면 권한 문제가 끝난다: 취약점 패치와 함께 과도한 역할, 수정 가능한 서비스 파일, 오래된 관리자 계정도 정리해야 합니다.
  • 관리자 활동은 모두 정상이다: 탈취된 관리자 계정도 정상 자격으로 기록될 수 있어 업무 맥락과 변경 내역이 필요합니다.

정리

권한 상승은 이미 가진 접근 범위를 넘어 더 강한 권한이나 다른 사용자의 자원에 접근하는 과정입니다. 취약점, 구성 오류, 관리자 인증정보가 통로가 될 수 있으며, 방어의 핵심은 최소 권한, 신속한 업데이트, 관리자 작업의 분리와 기록, 비정상 변경의 시간 순서 분석입니다.

SECUFOCUS에서는 어렵게 느껴지는 보안 개념을 실제 운영 관점에서 이해하기 쉽게 정리합니다.

확인한 출처

  1. Privilege Escalation, Tactic TA0004MITRE ATT&CK · 공식 자료
  2. How User Account Control worksMicrosoft Learn · 공식 자료
  3. Implementing Least-Privilege Administrative ModelsMicrosoft Learn · 공식 자료
  4. 해커는 어떻게 관리자 권한을 얻나… '권한 상승'IT조선

시큐포커스 NOW는 위 자료를 바탕으로 내용을 재구성했으며, 원문을 대신하지 않습니다.

권한 상승이란? 일반 사용자에서 관리자 권한으로 넘어가는 원리 | 시큐포커스 NOW