필수 무결성 제어
Mandatory Integrity Control필수 Integrity Control(MIC; 무결성 제어)은 Windows Vista 이후의 핵심 보안 기능으로 Integrity Level(IL; 무결성 수준)에 따라 필수 접근컨트롤 실행 프로세스를 추가합니다.IL은 객체의 신뢰성 수준을 나타냅니다.이 메커니즘의 목적은 신뢰성이 더 높은 동일한 사용자 계정으로 실행되는 다른 컨텍스트와 비교하여 신뢰성이 낮은 컨텍스트(프로세스, 파일 및 기타 보안 가능한 개체)에 대한 액세스 권한을 제한하는 것입니다.
실행
필수 무결성 제어는 새로운 Access Control Entry(ACE; 접근컨트롤 엔트리) 유형을 사용하여 정의되며 보안 기술자에서 객체의 IL을 나타냅니다.Windows 에서는 Access Control List(ACL; 접근컨트롤 리스트)를 사용하여 사용자 또는 그룹에 접근권(읽기, 쓰기 및 실행 권한)과 권한을 부여합니다.IL은 초기화 시 제목의 액세스 토큰에 할당됩니다.제목이 개체(예: 파일)에 액세스하려고 하면 Security Reference Monitor는 제목의 액세스 토큰의 무결성 수준을 개체의 보안 설명자의 무결성 수준과 비교합니다.윈도우즈는 제목의 IL이 개체보다 높은지 또는 낮은지 여부와 새 액세스 제어 항목(ACE)의 무결성 정책 플래그에 따라 허용된 액세스 권한을 제한합니다.보안 서브시스템은 ACL이 제공하는 사용자 제어에 의한 임의 접근과 구별하기 위해 무결성 수준을 필수 라벨로 구현합니다.
Windows Vista 에는, Low(SID: S-16-4096), Medium(SID: S-16-8192), High(SID: S-16-1288) 및 System(SID: S-1-16-16384)[1]의 4개의 무결성 레벨이 정의되어 있습니다.디폴트로는 일반 사용자가 시작한 프로세스는 중간 IL을 취득하고 높은 프로세스는 높은 [2]IL을 가집니다.MIC에서는 무결성 수준을 도입함으로써 애플리케이션 클래스를 분리할 수 있으므로 잠재적으로 취약한 애플리케이션(인터넷용 애플리케이션 등) 샌드박스화 등의 시나리오를 실현할 수 있습니다.낮은 IL을 사용하는 프로세스를 낮은 무결성 프로세스라고 합니다.이 프로세스는 Windows에서 액세스 제어 시행이 이루어지는 높은 IL을 사용하는 프로세스보다 액세스 수가 적습니다.
파일, 레지스트리 키 또는 기타 프로세스 및 스레드를 포함한 이름 있는 개체와 같은 액세스 제어 목록이 있는 개체는 해당 개체에 대한 액세스를 관리하는 시스템 액세스 제어 목록에 개체를 사용할 수 있는 프로세스의 최소 무결성 수준을 정의합니다.윈도우즈에서는 무결성 수준이 개체에 [2]지정된 요청된 무결성 수준 이상일 경우에만 프로세스가 개체에 쓰거나 삭제할 수 있도록 합니다.또한 프라이버시상의 이유로 IL이 높은 프로세스 오브젝트는 [3]IL이 낮은 프로세스로부터의 읽기 액세스조차 할 수 없습니다.
따라서 공정이 IL이 더 높은 다른 공정과 상호 작용할 수 없습니다.따라서 프로세스에서는 DLL을 상위 IL 프로세스에 삽입하는 등의 기능을 수행할 수 없습니다.CreateRemoteThread()Windows[4] API의 기능 또는 다른 프로세스로 데이터를 전송합니다.WriteProcessMemory()기능합니다.[5]
어플
프로세스는 프로세스를 생성한 프로세스의 무결성 수준을 상속하지만 무결성 수준은 프로세스 생성 시 사용자 정의할 수 있습니다.UIPI(User Interface Privilege Isolation) 기술에서 창 메시지의 경계를 정의하는 것 외에 Adobe Reader, Google Chrome, Internet Explorer 및 Windows Explorer 등의 응용 프로그램에서 시스템 내의 [1]취약한 개체에서 문서를 분리하는 데 필수 무결성 제어가 사용됩니다.
Internet Explorer 7 에서는, MIC 베이스의 「Protected Mode(보호 모드)」설정을 도입해, 시큐러티 존의 설정에 근거해 Web 페이지를 저정합성 프로세스로서 열 수 있는지 어떤지(OS가 MIC 를 서포트하고 있는 경우)를 제어합니다.이것에 의해, 일부의 시큐러티의 취약성을 방지할 수 있습니다.이 경우 Internet Explorer는 Low IL 프로세스로 실행되므로 시스템레벨 오브젝트를 변경할 수 없습니다.파일 및 레지스트리 조작이 대신 가상화됩니다.Adobe Reader 10과 Google Chrome은 [6]멀웨어에 대한 취약성을 줄이기 위해 이 기술을 도입하고 있는 다른 두 가지 주목할 만한 응용 프로그램입니다.
Microsoft Office 2010은 Excel, PowerPoint 및 Word용으로 격리된 "Protected View" 샌드박스 환경을 도입하여 안전하지 않을 수 있는 문서가 [7]시스템상의 컴포넌트, 파일 및 기타 리소스를 변경할 수 없도록 했습니다.Protected View는 무결성 낮은 프로세스로 동작하며 Windows Vista 이후의 Windows 버전에서는 MIC 및 UIPI를 사용하여 [8]샌드박스를 더욱 제한합니다.
단, 경우에 따라서는 IL 프로세스가 하위 IL 프로세스에 대해 특정 기능을 실행하거나 하위 IL 프로세스가 상위 IL 프로세스만 액세스할 수 있는 리소스에 액세스해야 합니다(예를 들어, 보호 모드로 웹 페이지를 표시할 경우 사용자가 [1]지정한 폴더에 인터넷에서 다운로드한 파일을 저장하십시오).높은 IL 프로세스와 낮은 IL 프로세스는 파일, 명명된 파이프, LPC 또는 기타 공유 개체를 사용하여 서로 통신할 수 있습니다.공유 객체는 Low IL 프로세스만큼 무결성 수준이 낮아야 하며 Low IL [3]프로세스와 High IL 프로세스 모두에서 공유되어야 합니다.MIC는 Low IL 프로세스가 더 높은 IL 프로세스를 가진 객체를 공유하는 것을 막지 않기 때문에 높은 IL 프로세스의 결함을 트리거하여 Low IL 프로세스를 대신하여 동작하도록 함으로써 스쿼팅 [3]공격을 발생시킬 수 있습니다.단, 분쇄 공격은 MIC를 이용하는 사용자 인터페이스 권한 분리를 사용하여 방지할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c Matthew Conover. "Analysis of the Windows Vista Security Model" (PDF). Symantec Corporation. Archived from the original (PDF) on 2008-05-16. Retrieved 2007-10-08.
- ^ a b Riley, Steve (22 July 2006). "Mandatory Integrity Control in Windows Vista". Microsoft Docs Archive. Microsoft.
- ^ a b c Russinovich, Mark (12 February 2007). "PsExec, User Account Control and Security Boundaries". Windows Blog Archive. Microsoft.
- ^ "CreateRemoteThread function". Windows Dev Center. Microsoft. 5 December 2018.
- ^ "WriteProcessMemory function". Windows Dev Center. Microsoft. 5 December 2018.
- ^ Brad Arkin (2010-07-10). "Introducing Adobe Reader Protected Mode". Adobe Systems. Retrieved 2010-09-10.
- ^ "Plan Protected View settings for Office 2010". Microsoft Docs Archive. Microsoft. 5 August 2011.
- ^ Keizer, Gregg (August 19, 2009). "Microsoft struts Office 2010 'sandbox' security". ComputerWorld. IDG. Retrieved January 23, 2017.
추가 정보
- "Windows Vista Integrity Mechanism Technical Reference". Microsoft Docs Archive. Microsoft. 5 July 2007.
- "Introduction to the Protected Mode API". Microsoft Docs Archive. Microsoft. 15 August 2007.