다음을 통해 공유


AppLocker 아키텍처 및 구성 요소

IT 전문가를 위한 이 문서에서는 AppLocker의 기본 아키텍처 및 주요 구성 요소에 대해 설명합니다.

AppLocker는 애플리케이션 ID 서비스를 사용하여 파일에 대한 특성을 제공하고 파일에 대한 AppLocker 정책을 평가합니다. AppLocker 정책은 조건부 ACE(액세스 제어 항목)이며, 정책은 특성 기반 액세스 제어 SeAccessCheckWithSecurityAttributes 또는 AuthzAccessCheck 함수를 사용하여 평가됩니다.

AppLocker는 AppLocker 정책에 따라 파일을 실행할 수 있는지 가로채 유효성을 검사하는 세 가지 방법을 제공합니다.

새 프로세스가 만들어집니다.

앱 파일이 실행되면 새 프로세스가 만들어집니다. 이 경우 AppLocker는 애플리케이션 ID 구성 요소를 호출하여 새 프로세스를 만드는 데 사용되는 기본 실행 파일의 특성을 계산합니다. 그런 다음, 새 프로세스의 토큰을 이러한 특성으로 업데이트하고 AppLocker 정책을 확인하여 실행 파일 실행이 허용되는지 확인합니다.

DLL이 로드됨

DLL이 로드되면 DLL을 로드할 수 있는지 확인하기 위해 AppLocker에 알림이 전송됩니다. AppLocker는 애플리케이션 ID 구성 요소를 호출하여 파일 특성을 계산합니다. 기존 프로세스 토큰을 복제하고 중복된 토큰의 해당 애플리케이션 ID 특성을 로드된 DLL의 특성으로 바꿉니다. 그런 다음 AppLocker는 이 DLL에 대한 정책을 평가하고 중복된 토큰은 삭제됩니다. 이 검사 결과에 따라 시스템은 DLL을 계속 로드하거나 프로세스를 중지합니다.

스크립트 실행

스크립트 파일을 실행하기 전에 스크립트 호스트(예: PowerShell)는 AppLocker를 호출하여 스크립트를 확인합니다. AppLocker는 파일 이름 또는 파일 핸들을 사용하여 사용자 모드에서 애플리케이션 ID 구성 요소를 호출하여 파일 속성을 계산합니다. 그런 다음, 스크립트 파일이 AppLocker 정책에 대해 평가되어 실행되어야 하는지 확인합니다. 각각의 경우 AppLocker에서 수행한 작업은 이벤트 로그에 기록됩니다.