⋯1번째 줄 근처
+추가: ## 개요
+추가: 최소 권한의 원칙(Principle of Least Privilege, PoLP)은 정보 보안과 컴퓨터 과학에서, 컴퓨팅 환경의 특정 추상화 계층에서 모든 모듈(프로세스, 사용자, 프로그램 등)이 합법적인 목적에 필요한 정보와 리소스에만 접근할 수 있어야 한다는 보안 원리다. '최소 권한 원칙', '최소 특권 원칙', '최소 권한 원칙(Principle of Minimal Privilege, PoMP)', '최소 권한 원칙(Principle of Least Authority, PoLA)' 등으로도 불린다. 이 원칙은 모든 사용자 계정이나 프로세스에 의도된 기능을 수행하는 데 본질적으로 필수적인 권한만 부여하는 것을 의미한다[1][2][3].
+추가:
+추가: ## 역사·유래
+추가:
+추가: 최소 권한의 원칙의 원래 공식화는 제롬 솔트저(Jerome Saltzer)가 "시스템의 모든 프로그램과 모든 권한 있는 사용자는 작업을 완료하는 데 필요한 최소한의 특권을 사용하여 작동해야 한다"고 언급한 것에서 비롯된다. 피터 J. 데닝(Peter J. Denning)은 자신의 논문 "내결함성 운영 체제"에서 이 원칙을 "내결함성의 네 가지 기본 원칙" 중 하나로 더 넓은 관점에서 배치했다. "동적 권한 할당"은 1972년 로저 니덤(Roger Needham)에 의해 앞서 논의되었다. 역사적으로 가장 오래된 (최소 권한) 사례는 아마도 Version 6 Unix 소스 코드의 login.c 소스 코드일 것으로, 슈퍼유저 권한으로 실행을 시작하고 더 이상 필요하지 않은 즉시 0이 아닌 인자로 setuid()를 통해 권한을 포기하는 방식으로 시연되었다[3].
+추가:
+추가: ## 작동 방식과 유형
+추가:
+추가: ### 핵심 메커니즘
+추가:
+추가: 이 원칙은 사용자 계정이나 프로세스에 의도된 기능 수행에 필수적인 권한만 부여한다. 예를 들어 백업 생성만을 목적으로 하는 사용자 계정은 소프트웨어를 설치할 필요가 없으므로 백업 및 백업 관련 응용 프로그램을 실행하는 권한만 가지며, 새 소프트웨어 설치와 같은 다른 모든 권한은 차단된다. 개인용 컴퓨터 사용자의 경우 일반적으로 일반 사용자 계정으로 작업하고 상황이 절대적으로 필요할 때만 암호로 보호된 권한 있는 계정을 연다[2][3].
+추가:
+추가: 사용자에게 적용할 경우 '최소 사용자 액세스(least user access)' 또는 '최소 권한 사용자 계정(least-privileged user account, LUA)'이라는 용어도 사용된다. 이는 모든 사용자 계정이 가능한 한 적은 권한으로 실행되어야 하며 가능한 최소한의 권한으로 응용 프로그램을 시작해야 한다는 개념을 가리킨다[2][3].
+추가:
+추가: ### 커널과 보호 링
+추가:
+추가: 커널은 운영 체제의 핵심이고 하드웨어에 접근하므로 항상 최대 권한으로 실행된다. 운영 체제의 주요 책임 중 하나는 하드웨어의 가용성과 실행 중인 프로세스들의 접근 요청을 관리하는 것이다. 인텔 x86 아키텍처에서는 제조사가 네 가지 실행 모드(링 0부터 링 3까지)를 설계하여 점진적인 접근 권한을 제공하는데, 이는 국방 및 정보 기관의 보안 인가 시스템과 유사하다[3].
+추가:
+추가: ### 권한 세트와 상속
+추가:
+추가: 일부 운영 체제에서 구현된 바에 따르면 프로세스는 잠재적 권한 세트(potential privilege set)와 활성 권한 세트(active privilege set)를 가지고 실행된다. 이러한 권한 세트는 fork()의 의미론에 따라 부모로부터 상속된다. 권한 있는 기능을 수행하는 실행 파일(따라서 기술적으로 TCB의 구성 요소를 구성하며, 신뢰할 수 있는 프로그램 또는 신뢰할 수 있는 프로세스라고도 함)은 권한 세트로 표시될 수도 있다. 이는 설정 사용자 ID와 설정 그룹 ID 개념의 논리적 확장이다. 파일 권한의 프로세스 상속은 exec() 계열 시스템 호출의 의미론에 의해 결정된다. 잠재적 프로세스 권한, 실제 프로세스 권한, 파일 권한이 상호작용하는 정확한 방식은 복잡해질 수 있다[3].
+추가:
+추가: ### 관련 기법
+추가:
+추가: 최소 권한은 종종 '권한 괄호 넣기(privilege bracketing)'와 연관된다. 즉, 필요한 특권을 가능한 마지막 순간에 가정하고 더 이상 엄격하게 필요하지 않은 즉시 해제함으로써, 의도치 않게 정당한 것보다 더 많은 특권을 악용하는 오류 코드로부터의 파급 효과를 표면적으로 줄이는 것이다. 또한 재량적 접근 제어(DAC) 권한 분배의 맥락에서 해석되기도 하는데, 예를 들어 사용자 U에게 파일 F에 대한 읽기/쓰기 접근 권한을 주는 것이 U가 읽기 권한만으로 권한 있는 작업을 완료할 수 있다면 최소 권한 원칙을 위반한다고 주장하는 식이다[3].
+추가:
+추가: ## 사례
+추가:
+추가: 자료에 구체적인 게임 사례는 언급되지 않았으나, 이 원칙은 현대 운영 체제와 보안 시스템 전반에 적용된다. 예를 들어 Windows의 사용자 계정 컨트롤(UAC), sudo, setuid, 보호 링, 기능 기반 보안, 역할 기반 접근 제어(RBAC) 등이 이 원칙을 구현하는 메커니즘으로 활용된다[2][3].
+추가:
+추가: ## 규제·논란·평가
+추가:
+추가: ### 이점
+추가:
+추가: 최소 권한 원칙의 이점으로는 다음과 같은 것들이 지적된다[3].
+추가:
+추가: - **지적 보안성(Intellectual Security)**: 코드가 시스템에 가할 수 있는 변경 범위가 제한되면, 다른 보안 대상 응용 프로그램과의 가능한 행동과 상호작용을 테스트하기가 더 쉽다. 실제로 제한된 권한으로 실행되는 응용 프로그램은 기계를 충돌시키거나 동일한 시스템에서 실행되는 다른 응용 프로그램에 악영향을 미칠 수 있는 작업을 수행할 수 없다.
+추가: - **더 나은 시스템 보안**: 코드가 수행할 수 있는 시스템 전체적 행동이 제한되면, 한 응용 프로그램의 취약점이 기계의 나머지 부분을 악용하는 데 사용될 수 없다. 마이크로소프트는 "표준 사용자 모드에서 실행하면 '샤터 공격(shatter attacks)'과 루트킷, 스파이웨어, 탐지 불가능한 바이러스 같은 악성코드로 인한 의도치 않은 시스템 수준 손상에 대해 고객에게 향상된 보호를 제공한다"고 밝혔다.
+추가: - **배포 용이성**: 일반적으로 응용 프로그램이 필요로 하는 권한이 적을수록 더 큰 환경 내에서 배포하기가 더 쉽다. 이는 보통 앞의 두 가지 이점에서 기인하는데, 장치 드라이버를 설치하거나 높은 보안 권한을 요구하는 응용 프로그램은 일반적으로 배포에 추가 단계가 수반되기 때문이다. 예를 들어 Windows에서 장치 드라이버가 없는 솔루션은 설치 없이 직접 실행할 수 있는 반면, 장치 드라이버는 드라이버에 높은 권한을 부여하기 위해 Windows 설치 서비스를 사용하여 별도로 설치해야 한다.
+추가:
+추가: ### 한계와 실무적 과제
+추가:
+추가: 실제로는 진정한 최소 권한에 대한 여러 경쟁적 정의가 존재한다. 프로그램 복잡성이 급격히 증가함에 따라 잠재적 문제의 수도 증가하여 예측적 접근이 비현실적이게 된다. 예를 들어 처리할 변수 값, 필요할 주소, 그러한 것들이 필요할 정확한 시간 등이 있다. 객체 능력 시스템(object capability systems)은 예를 들어 단일 사용 권한 부여를 사용할 때까지 연기하는 것을 허용한다. 현재 가장 가까운 실용적 접근은 수동으로 평가하여 불필요한 권한을 제거하는 것이다. 결과적으로 얻는 권한 세트는 일반적으로 프로세스에 필요한 진정한 최소 권한을 초과한다[3].
+추가:
+추가: 또 다른 한계는 개별 프로세스에 대한 권한에 대해 운영 환경이 가진 제어의 세분성이다. 실제로는 프로세스의 메모리 접근, 처리 시간, I/O 장치 주소 또는 모드를 프로세스가 요구할 정확한 권한 집합만을 용이하게 하는 데 필요한 정밀도로 제어하는 것이 거의 불가능하다[3].
+추가:
+추가: ### 관련 기준
+추가:
+추가: 신뢰할 수 있는 컴퓨터 시스템 평가 기준(TCSEC)의 신뢰할 수 있는 컴퓨팅 베이스(TCB) 최소화 개념은 기능적으로 가장 강력한 보증 클래스(B3 및 A1 클래스, 기능적으로 동일하나 요구되는 증거와 문서화에서 차이)에만 적용되는 훨씬 더 엄격한 요구 사항이다[3].
+추가:
+추가: 이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.