Windows 10 보안 기능을 사용하여 위협 완화

적용 대상:

  • Windows 10

이 항목에서는 현재의 보안 환경에서 우리가 마주하고 있는 몇 가지 소프트웨어 및 펌웨어 위협 환경의 개요와, Windows 10이 이러한 위협에 대응하여 제공하는 완화 기능을 소개합니다. Microsoft에서 제공하는 다른 형태의 보호 기능에 대한 내용은 관련 항목을 참조하세요.

섹션 콘텐츠
보안 위협 환경 보안 위협 환경의 현재 특성을 설명하고, 악용 및 유사 위협으로부터 소프트웨어를 보호하기 위해 Windows 10이 설계된 방식을 간략하게 알아봅니다.
구성할 수 있는 Windows 10의 완화 기능 자세한 정보를 얻을 수 있는 링크와 함께, 구성 가능한 위협 완화 기능을 표로 정리해 보여 줍니다. 표 1에 나열된 Device Guard와 같은 제품 기능과, 표 2에 나열된 데이터 실행 방지와 같은 메모리 보호 옵션이 있습니다.
Windows 10이 기본 제공하는 완화 기능 운영 체제에 기본 제공되는 구성이 필요하지 않은 Windows 10 완화에 대한 설명을 제공합니다. 예를 들어, 힙 보호와 커널 풀 보호는 Windows 10에서 기본 제공합니다.
Enhanced Mitigation Experience Toolkit과 관련한 Windows 10 이해 EMET(Enhanced Mitigation Experience Toolkit)의 완화 기능과 Windows 10에서 기본 제공하는 기능을 비교해 보고, EMET 설정을 Windows 10의 완화 정책으로 변환하는 방법을 알아봅니다.

이 항목은 장치 보호와 위협 저항에 목표를 둔 위반 전 완화에 초점을 둡니다. 다음 그림에서 볼 수 있듯이 이러한 보호 기능은 Windows 10의 다른 보안 방어 기능과 함께 작동합니다.

Windows 10 방어 유형

그림 1.  Windows 10 보안 방어의 일환으로 디바이스 보호 및 위협 저항

보안 위협 환경

오늘날의 보안 위협 환경은 공격적이고 끈질긴 위협 중 하나입니다. 몇 년 전만 해도 악의적인 공격자가 주로 자신의 공격을 통해 사회적 주목을 끌거나 시스템을 일시적으로 오프라인 상태로 만드는 것에 스릴을 느꼈습니다. 그 이후로 공격자의 동기는 소유자가 요구되는 몸값을 지불 할 때까지 장치와 데이터 인질을 보유하는 것을 포함하여 돈을 버는 쪽으로 이동했습니다. 현대의 공격은 점차 규모가 큰 지능형 재산 절도에 집중되고 있으며, 대상이 된 시스템의 기능 저하는 경제적 손실로 이어집니다. 심지어 전 세계의 개인, 기업, 국가의 이해 관계를 위협하는 사이버 테러도 발생하고 있습니다. 이러한 공격자들은 대개 매우 숙련된 개인이나 보안 전문가로, 그 중 일부는 국가에 고용되어 많은 예산과 무제한의 인적 자원을 받기도 합니다. 이러한 위협에 맞서 해결할 수 있는 접근 방식이 필요합니다.

이러한 환경을 인식하여, Windows 10 크리에이터스 업데이트((Windows 10, 버전 1703)에는 소프트웨어 취약점을 찾기 어렵게 하고(그리고 비용이 많이 소모되게 함) 악용하기 어렵게 하도록 만들어진 여러 보안 기능이 포함되어 있습니다. 이러한 기능을 다음을 위해 설계되었습니다.

  • 모든 종류의 취약점을 제거

  • 악용 기술 중지

  • 손상을 방지하고 지속성을 보호

  • Windows 악용 기회를 제한

다음 섹션에서는 Windows 10, 버전 1703의 보안 완화 기능에 대한 자세한 내용을 설명합니다.

구성할 수 있는 Windows 10의 완화 기능

구성할 수 있는 Windows 10의 완화 기능은 다음 두 표에 나열되어 있습니다. 첫 번째 표는 기업의 장치와 사용자에 대한 방대한 보호 기능을 다루며, 두 번째 표는 데이터 실행 방지와 같은 특정 메모리 보호 기능에 대해 상세히 다룹니다. 메모리 보호 옵션은 시스템 제어권을 얻기 위해 메모리를 조작하려고 시도하는 맬웨어의 위협을 완화하는 기능을 제공합니다.

구성할 수 있는 표 1 Windows 10 완화

완화 기능과 해당 위협 설명 및 링크
Windows Defender SmartScreen
악성 응용 프로그램이
다운로드되는 것을
방지합니다.
Windows Defender SmartScreen은 Microsoft가 유지하는 서비스를 사용하여 다운로드한 응용 프로그램의 평판을 확인합니다. 인터넷에서 다운로드한 앱(다른 PC에서 복사한 경우도 해당)을 사용자가 처음 실행할 때, SmartScreen은 앱에 대한 평판이 부족하거나 악성으로 알려졌는지 확인하고 이에 적절하게 대응합니다.

추가 정보: 이 항목 뒷부분의 Windows Defender SmartScreen
Credential Guard
공격자가 Pass-the-Hash
또는 Pass-the-Ticket
공격으로 액세스 권한을
얻는 것을 방지합니다.
Credential Guard는 권한이 부여된 시스템 소프트웨어만 액세스할 수 있도록 가상화 기반 보안을 사용하여 NTLM 암호 해시, Kerberos 허용 티켓과 같은 보안 암호를 격리합니다.
Credential Guard는 Windows 10 Enterprise와 Windows Server 2016에 포함되어 있습니다.

추가 정보: Credential Guard를 사용하여 파생된 도메인 자격 증명 보호
엔터프라이즈 인증서 고정
PKI를 활용하는
메시지 가로채기를 방지하는 데
PKI를 사용하는
엔터프라이즈 인증서 고정은 내부 도메인 이름을 보호하여 원하지 않는 인증서나 부정한 방법으로 발급된 인증서와 연결되지 않도록 합니다. 엔터프라이즈 인증서 고정을 사용하면 X.509 인증서와 해당 공개 키를 루트 또는 리프 인증 기관에 "고정"(연결)할 수 있습니다.

추가 정보: 엔터프라이즈 인증서 고정
Device Guard
장치에서 맬웨어나
기타 원하지 않는 앱을
실행하지 않도록 합니다.
Device Guard에는 사용자가 만드는 코드 무결성 정책이 포함됩니다. 신뢰할 수 있는 앱의 허용 목록- organization 실행할 수 있는 유일한 앱입니다. Device Guard에는 VBS(가상화 기반 보안)를 사용하여 Windows의 커널 모드 코드 무결성 유효성 검사 프로세스를 보호하는 HVCI(하이퍼바이저 보호 코드 무결성)라는 강력한 시스템 완화도 포함되어 있습니다. HVCI에는 특정 하드웨어 요구 사항이 있으며, 공격이 커널 액세스 권한을 얻었더라도 이를 막기 위해 코드 무결성 정책을 사용합니다.
Device Guard는 Windows 10 Enterprise와 Windows Server 2016에 포함되어 있습니다.

추가 정보: Device Guard 소개
Microsoft Defender 바이러스 백신,
장치에 바이러스와
기타 맬웨어가
없도록 도와줍니다.
Windows 10 강력한 받은 편지함 맬웨어 방지 솔루션인 Microsoft Defender 바이러스 백신을 포함합니다. Microsoft Defender 바이러스 백신은 Windows 8 도입된 이래로 크게 개선되었습니다.

추가 정보: Microsoft Defender 바이러스 백신, 이 항목의 뒷부분
신뢰할 수 없는 글꼴 차단
권한 상승 공격에서
글꼴이 사용되는 것을
막는 데 도움이 됩니다.
신뢰할 수 없는 글꼴 차단은 사용자가 네트워크에 "신뢰할 수 없는" 글꼴을 로드하는 것을 방지하는 설정으로, 글꼴 파일의 구문 분석과 관련된 권한 상승 공격을 완화할 수 있습니다. 하지만 현재 Windows 10 버전 1703에서 이 완화 기능은 중요도가 떨어집니다. 그 이유는 글꼴 구문 분석이 AppContainer 샌드박스 내에 격리되어 있기 때문입니다. 이를 설명하는 목록과 기타 커널 풀 보호에 대해서는 이 항목 뒷부분의 커널 풀 보호를 참조하세요.

추가 정보: 엔터프라이즈에서 신뢰할 수 없는 글꼴 차단
메모리 보호
맬웨어가 버퍼 오버런과
같은 메모리 조작을 사용하는 것을
방지하는 데
도움이 됩니다.
표 2에 나열된 이러한 완화 기능은 메모리 기반 공격을 보호하는 데 도움이 됩니다. 이러한 공격은 맬웨어나 기타 코드가 메모리를 조작하여 시스템의 제어권을 가지려 시도하는 공격으로, 맬웨어가 버퍼 오버런을 사용하여 악성 실행 코드를 메모리에 주입하는 것과 같은 공격이 하나의 예입니다. 참고:
이러한 완화 중 일부가 가장 제한적인 설정으로 설정된 경우 앱의 하위 집합을 실행할 수 없습니다. 이러한 앱이 실행할 수 있도록 허용하면서 보호는 최대화하도록 테스트하는 것이 도움이 될 것입니다.

추가 정보: 이 항목 뒷부분의 표 2
UEFI 보안 부팅
플랫폼을 드라이버로
위장한 루트킷
부팅 키트 및 루트킷
UEFI(Unified Extensible Firmware Interface) 보안 부팅은 Windows 8부터 제조업체에서 펌웨어에 기본으로 적용해야 하는 보안 표준이 되었습니다. 이 기능은 부팅 프로세스와 펌웨어를 변조로부터 보호합니다. 변조에는 물리적인 공격자나 부팅 프로세스 초기 또는 시작 후 커널에서 실행되는 맬웨어의 형태가 있습니다.

추가 정보: UEFI 및 보안 부팅
ELAM(맬웨어 방지 조기 실행)
플랫폼을 드라이버로
위장한 루트킷
으로부터 보호합니다.
ELAM(Early Launch Antimalware)은 Microsoft가 아닌 모든 드라이버 및 앱 앞에서 맬웨어 방지 솔루션을 시작할 수 있도록 설계되었습니다. 맬웨어가 부팅 관련 드라이버를 수정하는 경우 ELAM에서 변경을 감지하면 Windows는 드라이버가 시작되지 않도록 하여 드라이버 기반 루트킷을 차단합니다.

추가 정보: 맬웨어 방지 조기 실행
장치 상태 증명
손상된 장치가
조직의 자산에
organization 액세스
방지합니다.
DHA(장치 상태 증명)는 장치가 조직의 네트워크에 연결하려고 시도할 때 정상 상태인지, 맬웨어로 손상되지 않았는지 확인할 수 있는 방법입니다. DHA가 구성되면 디바이스의 실제 부팅 데이터 측정값을 예상되는 "정상" 부팅 데이터에 대해 확인할 수 있습니다. 검사 결과 장치가 정상 상태가 아니면 네트워크 액세스가 차단됩니다.

추가 정보: Windows 10 기반 장치의 상태 제어장치 상태 증명

구성할 수 있는 Windows 10 완화 기능은 메모리 조작으로부터 보호하기 위해 설계되었습니다. 여기에는 이러한 위협 요소와 완화 기능에 대한 깊은 이해, 그리고 운영 체제와 응용 프로그램이 메모리를 어떻게 처리하는지에 대한 지식이 필요합니다. 테스트 실험을 통해 이러한 유형의 완화 효율을 극대화하기 위한 표준 프로세스는 지정된 설정이 사용자의 응용 프로그램을 방해하는지, 앱을 올바르게 실행하도록 허용하면서도 보호 기능을 최대화할 수 있도록 설정을 배포할 수 있는지 확인하는 것입니다.

IT 전문가는 애플리케이션 개발자 및 소프트웨어 공급업체에 CFG(Control Flow Guard)라는 추가 보호 기능을 포함하는 애플리케이션을 제공하도록 요청할 수 있습니다. 운영 체제에서 구성할 것은 없습니다. 보호 기능은 응용 프로그램에 컴파일됩니다. 자세한 내용은 제어 흐름 보호에서 찾을 수 있습니다.

표 2 메모리 악용으로부터 보호하도록 설계된 구성 가능한 Windows 10 완화

완화 기능과 해당 위협 설명
DEP(데이터 실행 방지)
버퍼 오버런의
악용을 방지합니다.
DEP(데이터 실행 방지)는 Windows 운영 체제에서 사용할 수 있는 시스템 수준의 메모리 보호 기능입니다. DEP를 사용하면 운영 체제가 메모리에서 하나 이상의 페이지를 실행 불가능한 것으로 표시할 수 있습니다. 이렇게 하면 메모리의 이 지역에서 코드가 실행되는 것을 방지하여, 버퍼 오버런의 악용을 방지하는 데 도움이 됩니다.
DEP는 기본 힙, 스택 및 메모리 풀과 같은 데이터 페이지에서 코드가 실행되지 않도록 방지하는 데 도움이 됩니다. 일부 애플리케이션에는 DEP와 호환성 문제가 있지만 대부분의 애플리케이션은 호환되지 않습니다.
추가 정보: 이 항목 뒷부분의 데이터 실행 방지

그룹 정책 설정: DEP는 기본적으로 64비트 애플리케이션에 대해 켜져 있지만 프로세스 완화 옵션 재정의에 설명된 그룹 정책 설정을 사용하여 더 많은 DEP 보호를 구성하여 앱 관련 보안 정책을 적용할 수 있습니다.
SEHOP
구조적 예외
처리기의
덮어쓰기를 방지합니다.
SEHOP(구조적 예외 처리 덮어쓰기 방지)는 SEH(구조적 예외 처리기) 덮어쓰기 기술을 사용하는 악용을 차단하기 위해 설계되었습니다. 이 보호 메커니즘은 런타임에 제공되므로 최신 개선 사항으로 컴파일되었는지 여부에 관계없이 앱을 보호하는 데 도움이 됩니다. 일부 응용 프로그램이 SEHOP와 호환성 문제가 있으므로 사용 환경을 테스트해야 합니다.
추가 정보: 이 항목 뒷부분의 구조적 예외 처리 덮어쓰기 방지

그룹 정책 설정: SEHOP는 기본적으로 64비트 애플리케이션에 대해 켜져 있지만 프로세스 완화 옵션 재정의에 설명된 그룹 정책 설정을 사용하여 더 많은 SEHOP 보호를 구성하여 앱 관련 보안 정책을 적용할 수 있습니다.
ASLR
예상한 메모리 위치를
기반으로 맬웨어
공격을 완화합니다.
ASLR(Address Space Layout Randomization)은 부팅 시 DLL을 임의의 메모리 주소에 로드합니다. 특정 DLL의 이 로드는 특정 메모리 위치를 공격하도록 설계된 맬웨어를 완화하는 데 도움이 됩니다.
추가 정보: 이 항목 뒷부분의 Address Space Layout Randomization

그룹 정책 설정: ASLR은 기본적으로 64비트 애플리케이션에 대해 켜져 있지만 프로세스 완화 옵션 재정의에 설명된 그룹 정책 설정을 사용하여 더 많은 ASLR 보호를 구성하여 앱 관련 보안 정책을 적용할 수 있습니다.

Windows Defender SmartScreen

Windows Defender SmartScreen은 사용자가 피싱 및 맬웨어 웹 사이트로 보고된 사이트를 클릭했을 때 알림을 표시하여, 안전하지 않은 다운로드로부터 보호하거나 다운로드에 대한 결정을 내릴 때 정보를 제공합니다.

Windows 10 위해 Microsoft는 앱 평판 기능을 운영 체제 자체에 통합하여 SmartScreen(현재 Windows Defender SmartScreen이라고 함) 보호 기능을 개선하여 Windows Defender SmartScreen을 검사 인터넷에서 다운로드한 파일의 평판을 얻고 위험 수준이 높은 다운로드 파일을 실행하려고 할 때 사용자에게 경고합니다. 사용자가 인터넷에서 시작된 앱을 처음 실행할 때 Windows Defender SmartScreen은 Microsoft에서 유지 관리하는 서비스에 대해 디지털 서명 및 기타 요소를 사용하여 애플리케이션의 평판을 확인합니다. 앱에 평판이 없거나 악의적인 것으로 알려진 경우 Windows Defender 관리자가 Microsoft Intune 또는 그룹 정책 설정을 구성한 방법에 따라 사용자에게 경고하거나 실행을 완전히 차단합니다.

자세한 내용은 Microsoft Defender SmartScreen 개요를 참조하세요.

Microsoft Defender 바이러스 백신

Windows 10 Microsoft Defender 바이러스 백신은 다각적인 접근 방식을 사용하여 맬웨어 방지를 개선합니다.

  • 클라우드 제공 보호는 새 맬웨어를 몇 초 만에 감지합니다. 처음 보는 맬웨어라도 마찬가지입니다. Windows 10 버전 1703부터 사용할 수 있는 이 서비스는 분산된 리소스와 기계 학습을 사용하여 기존의 시그니처 업데이트보다 훨씬 빠르게 끝점으로 보호 기능을 전달합니다.

  • 풍부한 로컬 컨텍스트는 맬웨어를 식별하는 방식을 개선합니다. Windows 10 파일 및 프로세스와 같은 콘텐츠뿐만 아니라 콘텐츠가 어디에서 왔는지, 저장된 위치 등에 대해서도 Microsoft Defender 바이러스 백신에 알릴 수 있습니다. 원본 및 기록에 대한 정보를 통해 Microsoft Defender 바이러스 백신은 다양한 수준의 조사를 다른 콘텐츠에 적용할 수 있습니다.

  • 광범위한 글로벌 센서는 바이러스 백신을 최신 Microsoft Defender 최신 맬웨어도 인식하는 데 도움이 됩니다. 이 최신 상태 엔드포인트에서 풍부한 로컬 컨텍스트 데이터를 수집하고 해당 데이터를 중앙에서 분석하는 두 가지 방법으로 수행됩니다.

  • 변조 교정은 맬웨어 공격 Microsoft Defender 바이러스 백신 자체를 보호합니다. 예를 들어, Microsoft Defender 바이러스 백신은 보호된 프로세스를 사용합니다. 이는 신뢰할 수 없는 프로세스가 Microsoft Defender 바이러스 백신 구성 요소, 레지스트리 키 등을 변조하려는 시도를 방지합니다. (보호된 프로세스는 이 항목 뒷부분에서 설명합니다.)

  • 엔터프라이즈 수준의 기능을 통해 IT 전문가는 Microsoft Defender 바이러스 백신을 엔터프라이즈급 맬웨어 방지 솔루션으로 만드는 데 필요한 도구와 구성 옵션을 제공합니다.

자세한 내용은 Windows 10의 Windows DefenderWindows Server에 대한 Windows Defender 개요를 참조하세요.

엔드포인트용 Microsoft Defender 대한 자세한 내용은 기업이 네트워크에서 고급 및 대상 공격을 탐지, 조사 및 대응하는 데 도움이 되는 서비스이며, 엔드포인트용 Microsoft Defender(리소스) 및 엔드포인트용 Microsoft Defender (설명서).

데이터 실행 방지

맬웨어는 사용자가 나중에 실행하기를 바라며 메모리에 악성 페이로드를 삽입하는 방법을 사용합니다. 맬웨어가 정보 저장에만 할당된 영역에 쓴 경우 맬웨어가 실행되지 않도록 방지할 수 있다면 좋지 않을까요?

DEP(데이터 실행 방지)는 악성 코드가 사용할 수 있는 메모리의 범위를 현저하게 줄여 정확하게 이 기능을 수행합니다. DEP는 최신 CPU에서 eXecute 없음 비트를 사용하여 메모리 블록을 읽기 전용으로 표시하므로 해당 블록을 취약성 악용을 통해 삽입할 수 있는 악성 코드를 실행하는 데 사용할 수 없습니다.

작업 관리자를 사용하여 DEP를 사용하는 앱을 보려면

  1. 작업 관리자 열기: Ctrl+Alt+Del을 누르고 작업 관리자를 선택하거나 시작 화면을 검색합니다.

  2. 필요한 경우 자세한 내용을 클릭한 다음 세부 정보 탭을 클릭합니다.

  3. 열 머리글을 마우스 오른쪽 단추로 클릭한 다음 열 선택을 클릭합니다.

  4. 열 선택 대화 상자에서 마지막 데이터 실행 방지 확인란을 선택합니다.

  5. 확인을 클릭합니다.

이제 DEP가 사용하도록 설정된 프로세스를 확인할 수 있습니다.

Windows 10 DEP를 사용하도록 설정된 프로세스입니다.

그림 2.  Windows 10 DEP를 사용하도록 설정한 프로세스

제어판을 사용하여 DEP 설정을 보거나 변경할 수 있습니다.

개별 PC에서 제어판을 사용하여 DEP 설정을 보거나 변경하려면

  1. 제어판, 시스템 열기: 시작을 클릭하고 제어판 시스템을 입력한 다음 ENTER 키를 누릅니다.

  2. 고급 시스템 설정을 클릭한 다음 고급 탭을 클릭합니다.

  3. 성능 상자에서 설정을 클릭합니다.

  4. 성능 옵션에서 데이터 실행 방지 탭을 클릭합니다.

  5. 옵션 선택:

    • 필수 Windows 프로그램 및 서비스에 대해서만 DEP 켜기

    • 선택한 것을 제외한 모든 프로그램 및 서비스에 DEP 켜기. 이 옵션을 선택하는 경우 추가제거 단추를 사용하여 DEP가 켜지지 않는 예외 목록을 만듭니다.

DEP 설정을 제어하기 위해 그룹 정책을 사용하려면

프로세스 완화 옵션이라는 그룹 정책 설정을 사용하여 DEP 설정을 제어할 수 있습니다. 일부 응용 프로그램이 DEP와 호환성 문제가 있으므로 사용 환경을 테스트해야 합니다. 그룹 정책을 사용하려면 앱 관련 보안 정책 적용을 위해 프로세스 완화 옵션 재정의를 참조하세요.

구조적 예외 처리 덮어쓰기 방지

SEHOP(구조적 예외 처리 덮어쓰기 보호)는 공격자가 악성 코드를 사용하여 시스템에 필수적인 SEH( 구조적 예외 처리 )를 악용하는 것을 방지하고(악의적이 아닌) 앱이 예외를 적절하게 처리할 수 있도록 합니다. 이 보호 메커니즘은 런타임에 제공되므로 최신 개선 사항으로 컴파일되었는지 여부에 관계없이 애플리케이션을 보호하는 데 도움이 됩니다.

프로세스 완화 옵션이라는 그룹 정책 설정을 사용하여 SEHOP 설정을 제어할 수 있습니다. 일부 응용 프로그램이 SEHOP와 호환성 문제가 있으므로 사용 환경을 테스트해야 합니다. 그룹 정책을 사용하려면 앱 관련 보안 정책 적용을 위해 프로세스 완화 옵션 재정의를 참조하세요.

Address Space Layout Randomization

시스템 액세스에 사용되는 가장 일반적인 기술 중 하나는 이미 실행 중인 권한 있는 프로세스의 취약성을 찾고, 메모리에서 중요한 시스템 코드 및 데이터가 저장된 위치를 추측하거나 찾은 다음, 해당 정보를 악성 페이로드로 덮어쓰는 것입니다. 시스템 메모리에 직접 쓸 수 있는 모든 맬웨어는 잘 알려져 있고 예측 가능한 위치에서 덮어쓸 수 있습니다.

ASLR(ASLR address Space Layout Randomization)을 사용하면 메모리에서 중요한 데이터가 저장되는 방법 및 위치가 임의로 지정되므로 해당 유형의 공격이 훨씬 더 어려워집니다. ASLR을 사용하면 맬웨어가 공격해야 하는 특정 위치를 찾기가 더 어렵습니다. 그림 3에서는 다시 시작하는 사이 메모리에서 여러 가지 중요한 Windows 구성 요소의 위치가 어떻게 변경되는지를 표시하여 ASLR의 작동 방식을 보여 줍니다.

ASLR이 작동합니다.

그림 3.  ASLR의 작동 방식

Windows 10은 시스템 전체에 ASLR을 적용하고, 이전 버전의 Windows에 비해 엔트로피 수준을 여러 번 올려 힙 분사와 같은 정교한 공격과 싸웁니다. 또한 크게 늘어난 메모리 공간을 활용할 수 있는 응용 프로그램 프로세스와 64비트 시스템을 통해, Windows 10이 중요 데이터를 저장하는 위치를 맬웨어가 예측하기가 훨씬 더 어려워졌습니다. TPM이 있는 시스템에서 사용될 경우 ASLR 메모리 임의 지정이 장치 전체에서 점점 고유해져 한 시스템에서 작동하는 성공적인 악용이 다른 시스템에서 안정적으로 작동하기가 훨씬 더 어려워집니다.

프로세스 완화 옵션이라는 그룹 정책 설정을 사용하여 앱 관련 보안 정책을 적용하는 데 도움이 되는 프로세스 완화 옵션 재정의에 설명된 대로 ASLR 설정("ASLR 강제 적용" 및 "상향식 ASLR")을 제어할 수 있습니다.

Windows 10이 기본 제공하는 완화 기능

Windows 10은 악용으로부터 보호하기 위한 많은 위협 완화 기능을 운영 체제에서 기본 제공하며, 이는 운영 체제 내에서 구성이 필요하지 않습니다. 후속 표에서는 이러한 완화 방법 중 일부를 설명합니다.

CFG(Control Flow Guard)는 운영 체제 내에서 구성이 필요하지 않지만 애플리케이션 개발자가 컴파일될 때 애플리케이션에 대한 완화를 구성해야 하는 완화 방법입니다. CFG는 Windows 10 Microsoft Edge, IE11 및 기타 영역에 기본 제공되며 컴파일될 때 다른 많은 애플리케이션에 빌드할 수 있습니다.

표 3 Windows 10 메모리 악용으로부터 보호하기 위한 완화 - 구성 필요 없음

완화 기능과 해당 위협 설명
SYSVOL 및 NETLOGON 공유에 대한 SMB 강화
가로채기 공격을
완화합니다.
이제 도메인 컨트롤러에 있는 Active Directory 도메인 서비스의 기본 SYSVOL과 NETLOGON 공유에 클라이언트를 연결하려면 SMB 서명과 상호 인증(예: Kerberos)이 필요합니다.

추가 정보: 이 항목 뒷부분의 SYSVOL 및 NETLOGON 공유에 대한 SMB 강화
보호된 프로세스
한 프로세스가
다른 프로세스로 변조되는
것을 방지합니다.
보호된 프로세스 기능을 사용하면 Windows 10 신뢰할 수 없는 프로세스가 특별히 서명된 프로세스와 상호 작용하거나 변조하는 것을 방지합니다.

추가 정보: 이 항목 뒷부분의 보호된 프로세스
유니버설 Windows 앱 보호
다운로드할 수 있는
앱을 스크린하고
AppContainer 샌드박스에서 실행합니다.
유니버설 Windows 앱은 제공 전에 신중하게 스크린하고, 제한된 권한과 기능으로 AppContainer 샌드박스에서 실행합니다.

추가 정보: 이 항목 뒷부분의 유니버설 Windows 앱 보호
힙 보호
힙의 악용을
방지합니다.
Windows 10 힙에서 사용하는 메모리 손상으로부터 보호하는 내부 데이터 구조 사용과 같은 힙에 대한 보호를 포함합니다.

추가 정보: 이 항목 뒷부분의 Windows 힙 보호
커널 풀 보호
커널이 사용하는
풀 메모리의 악용을
방지합니다.
Windows 10에는 커널이 사용하는 메모리 풀에 대한 보호 기능이 포함되어 있습니다. 예를 들어, 안전한 연결 끊기는 풀 오버런을 방지합니다 풀 오버런은 연결 끊기 작업과 결합하여 공격을 만드는 데 사용될 수 있습니다.

추가 정보: 이 항목 뒷부분의 커널 풀 보호
제어 흐름 보호
메모리의 코드 위치

기반으로 하는 악용을
완화합니다.
CFG(제어 흐름 보호)는 운영 체제 내에서 구성이 필요하지 않고 대신 컴파일될 때 소프트웨어에 기본 제공되는 완화 방법입니다. Microsoft Edge, IE11 및 Windows 10 다른 영역에 기본 제공되었습니다. CFG는 C 또는 C++로 작성된 응용 프로그램이나 Visual Studio 2015를 사용하여 컴파일된 응용 프로그램에 포함시킬 수 있습니다.
이러한 애플리케이션의 경우 CFG는 의도한 코드 흐름을 변경하려는 공격자의 시도를 감지할 수 있습니다. 이 시도가 발생하면 CFG는 애플리케이션을 종료합니다. 소프트웨어 공급업체에게 CFG를 사용하도록 설정된 Windows 응용 프로그램을 제공하도록 요청할 수 있습니다.

추가 정보: 이 항목 뒷부분의 제어 흐름 보호
Microsoft Edge의 기본 제공 보호(브라우저)
여러 위협을
완화합니다.
Windows 10에는 완전히 새로운 브라우저인 Microsoft Edge가 포함되어 있으며, 여기에는 여러 보안 향상 기능이 있습니다.

추가 정보: 이 항목 뒷부분의 Microsoft Edge 및 Internet Explorer 11

SYSVOL 및 NETLOGON 공유에 대한 SMB 강화

Windows 10과 Windows Server 2016에서는 도메인 컨트롤러에 있는 Active Directory 도메인 서비스의 기본 SYSVOL과 NETLOGON 공유에 클라이언트를 연결하려면 SMB(서버 메시지 블록) 서명과 상호 인증(예: Kerberos)이 필요합니다. 이 요구 사항은 중간자 공격 가능성을 줄입니다. SMB 서명 및 상호 인증을 사용할 수 없는 경우 Windows 10 또는 Windows Server 2016 실행하는 컴퓨터는 도메인 기반 그룹 정책 및 스크립트를 처리하지 않습니다.

참고

이러한 설정에 대한 레지스트리 값은 기본적으로 존재하지 않지만 그룹 정책 또는 다른 레지스트리 값으로 재정의될 때까지 강화 규칙은 계속 적용됩니다. 이러한 보안 개선 사항(UNC 강화라고도 함)에 대한 자세한 내용은 MICROSOFT 기술 자료 문서 3000483MS15-011 & MS15-014: 강화 그룹 정책 참조하세요.

보호된 프로세스

대부분의 보안 컨트롤은 초기 감염 지점을 방지하도록 설계되었습니다. 그러나 모든 최선의 예방에도 불구하고 맬웨어는 결국 시스템을 감염시킬 방법을 찾게 됩니다. 따라서 일부 보호 기능은 맬웨어가 도달하지 못하는 공간적 제약을 두게 됩니다. 보호된 프로세스가 이러한 종류의 제한을 만듭니다.

보호된 프로세스를 사용하면 Windows 10 신뢰할 수 없는 프로세스가 특별히 서명된 프로세스와 상호 작용하거나 변조하지 못하도록 방지합니다. 보호된 프로세스는 프로세스에 대한 신뢰 수준을 정의합니다. 신뢰 수준이 낮은 프로세스는 신뢰 수준이 더 높은 프로세스를 조작하여 공격할 수 없도록 방지됩니다. Windows 10 운영 체제 전반에 걸쳐 보호된 프로세스를 보다 광범위하게 사용하며, Windows 8.1 마찬가지로 맬웨어 방지 서비스 보호에 설명된 대로 타사 맬웨어 방지 공급업체에서 사용할 수 있는 방식으로 이를 구현합니다. 이러한 사용 편의성을 통해 시스템 및 맬웨어 방지 솔루션은 시스템에서 얻을 수 있는 맬웨어의 변조에 덜 취약합니다.

유니버설 Windows 앱 보호

사용자가 Microsoft Store에서 유니버설 Windows 앱을 다운로드할 때 모든 앱이 스토어에서 사용할 수 있게 되기 전에 신중한 심사 프로세스를 거치기 때문에 맬웨어가 발생할 가능성은 거의 없습니다. 조직이 테스트용 로드 프로세스를 통해 빌드하고 배포하는 앱은 내부적으로 검토하여 조직의 보안 요구 사항을 충족하도록 해야 합니다.

사용자가 유니버설 Windows 앱을 취득하는 방법에 관계없이 안심하고 사용할 수 있습니다. 유니버설 Windows 앱은 제한된 권한과 기능으로 AppContainer 샌드박스에서 실행됩니다. 예를 들어 유니버설 Windows 앱은 시스템 수준 액세스 권한이 없고, 다른 앱에 대한 조작을 엄격하게 제어하며, 사용자가 응용 프로그램에 권한을 명시적으로 부여하지 않는 한 데이터에 액세스할 수 없습니다.

또한 모든 유니버설 Windows 앱은 최소 권한의 보안 원칙을 따릅니다. 앱은 합법적인 작업을 수행하는 데 필요한 최소 권한만 받으므로 공격자가 앱을 악용하는 경우에도 악용될 수 있는 손상이 매우 제한적이므로 샌드박스 내에 포함되어야 합니다. Microsoft Store는 앱의 연령 등급 및 게시자와 함께 앱에 필요한 정확한 기능(예: 카메라 액세스)을 표시합니다.

Windows 힙 보호

은 메모리에서 Windows가 동적 응용 프로그램 데이터를 저장하는 데 사용하는 위치입니다. Windows 10은 공격의 일부로 사용될 수 있는 힙 악용의 위험을 추가로 완화하여 이전 Windows의 힙 디자인을 계속 개선합니다.

Windows 10은 다음과 같은 향상된 여러 가지 중요한 힙 보안 기능을 제공합니다.

  • 힙 메타데이터 강화 힙이 사용하는 내부 데이터 구조를 강화하여 메모리 손상으로부터 보호하는 기능을 향상합니다.

  • 힙 할당 임의화, 즉 힙 메모리 할당에 임의 위치 및 크기를 사용하면 공격자가 중요한 메모리의 위치를 덮어쓰기 어렵게 만듭니다. 특히 Windows 10은 새로 할당된 힙 주소에 임의 오프셋을 추가하여 할당을 훨씬 더 예측할 수 없게 만듭니다.

  • 힙은 메모리 블록 전후의 페이지를 보호합니다. 이 페이지는 트립 와이어로 작동합니다. 공격자가 메모리 블록을 지나 쓰려고 시도하는 경우(버퍼 오버플로라는 일반적인 기술) 보호 페이지를 덮어써야 합니다. 보호 페이지를 수정하려는 모든 시도는 메모리 손상으로 간주되므로 Windows 10에서 즉시 앱을 종료하는 방식으로 응답합니다.

커널 풀 보호

Windows의 운영 체제 커널은 두 개의 메모리 풀을 따로 설정합니다. 하나는 실제 메모리에 남아 있는 풀("페이지되지 않은 풀")과 실제 메모리 안팎으로 페이징할 수 있는 풀("페이징 풀")입니다. 프로세스 할당량 포인터 인코딩과 같이 시간이 지남에 따라 추가된 많은 완화 방법이 있습니다. lookaside, delay free 및 pool page cookies; 및 PoolIndex 경계 검사 Windows 10 더 많은 고급 공격으로부터 커널 풀을 보호하는 데 도움이 되는 무결성 검사와 같은 여러 "풀 강화" 보호를 추가합니다.

풀 강화 외에도 Windows 10에는 다음과 같은 커널 강화 기능이 있습니다.

  • 커널 DEP커널 ASLR: 이 항목에서 이미 설명한 데이터 실행 방지Address Space Layout Randomization과 같은 원칙을 따릅니다.

  • AppContainer에서 글꼴 구문 분석: 글꼴 구문 분석을 AppContainer 샌드박스에서 하도록 격리합니다.

  • NTVDM(NT Virtual DOS Machine)을 사용하지 않도록 설정: 기본적으로 기존 NTVDM 커널 모듈(16비트 응용 프로그램 실행용)을 사용하지 않도록 설정하여 관련된 취약점을 없앱니다. (NTVDM을 사용하도록 설명하면 Null 역참조 및 기타 악용에 대한 보호 기능이 저하됩니다.)

  • SMEP(감독자 모드 실행 방지) : 커널("감독자")이 EOP(로컬 커널 권한 상승)를 위해 공격자가 사용하는 일반적인 기술인 사용자 페이지에서 코드를 실행하지 못하도록 방지합니다. 이 구성에는 Intel Ivy Bridge 이상 프로세서 또는 PXN이 지원되는 ARM에서 찾을 수 있는 프로세서 지원이 필요합니다.

  • 안전한 연결 끊기: 공격을 만들기 위해 연결 끊기 작업과 결합되는 풀 오버런으로부터 보호합니다. Windows 10 힙 및 커널 풀을 모든 LIST_ENTRY 사용으로 안전하게 연결 해제하고 신속하고 안전한 프로세스 종료를 가능하게 하는 "FastFail" 메커니즘을 포함하는 전역 안전 연결 해제를 포함합니다.

  • 메모리 예약: 가장 적은 64KB의 프로세스 메모리가 시스템에 예약되어 있습니다. 앱은 메모리의 해당 부분을 할당할 수 없습니다. 시스템에 할당하면 맬웨어가 "NULL 역참조"와 같은 기술을 사용하여 메모리의 중요한 시스템 데이터 구조를 덮어쓰기가 더 어려워집니다.

제어 흐름 보호

애플리케이션이 메모리에 로드되면 코드 크기, 요청된 메모리 및 기타 요인에 따라 공간이 할당됩니다. 애플리케이션이 코드를 실행하기 시작하면 다른 메모리 주소에 있는 다른 코드를 호출합니다. 코드 위치 간의 관계는 잘 알려져 있으며 코드 자체에 기록되어 있지만 이전에는 Windows 10 이전에는 이러한 위치 간의 흐름이 적용되지 않아 공격자가 요구 사항에 맞게 흐름을 변경할 수 있는 기회를 제공했습니다.

이러한 종류의 위협은 Windows 10에서 CFG(제어 흐름 보호) 기능을 통해 완화됩니다. CFG를 사용하도록 컴파일된 신뢰할 수 있는 응용 프로그램에서 코드를 호출하면 CFG는 호출된 코드 위치를 신뢰하여 실행할 수 있는지 확인합니다. 위치를 신뢰할 수 없는 경우 애플리케이션은 잠재적인 보안 위험으로 즉시 종료됩니다.

관리자가 CFG를 구성할 수 없습니다. 대신 애플리케이션 개발자는 애플리케이션이 컴파일될 때 구성하여 CFG를 활용할 수 있습니다. CFG를 사용할 수 있는 상태로 컴파일한 신뢰할 수 있는 Windows 응용 프로그램을 제공하도록 응용 프로그램 개발자 및 소프트웨어 공급 업체에 요청하는 것을 고려해 보세요. 예를 들어, C 또는 C++로 작성된 응용 프로그램이나 Visual Studio 2015를 사용하여 컴파일된 응용 프로그램에서 이를 사용할 수 있습니다. Visual Studio 2015 프로젝트에서 CFG를 사용하도록 설정하는 방법은 제어 흐름 보호를 참조하세요.

브라우저는 공격의 핵심 진입점이므로 Microsoft Edge, IE 및 기타 Windows 기능은 CFG를 최대한 활용합니다.

Microsoft Edge 및 Internet Explorer 11

브라우저 보안은 모든 보안 전략의 중요한 구성 요소이며, 좋은 이유: 브라우저는 인터넷에 대한 사용자의 인터페이스이며, 공격을 기다리는 악성 사이트와 콘텐츠가 많은 환경입니다. 대부분의 사용자는 브라우저 없이는 작업의 일부 이상을 수행할 수 없으며, 많은 사용자가 작업에 의존하고 있습니다. 이러한 현실은 브라우저를 악의적인 해커가 공격을 시작하는 일반적인 경로로 만들었습니다.

모든 브라우저는 약간의 확장성을 사용하도록 설정하여 브라우저의 원래 범위를 벗어나는 작업을 수행합니다. 두 가지 일반적인 예로는 해당 애플리케이션을 브라우저 내에서 실행할 수 있는 Flash 및 Java 확장이 있습니다. 웹 검색 및 애플리케이션, 특히 이러한 두 콘텐츠 형식에 대한 Windows 10 보안이 우선 순위입니다.

Windows 10에는 완전히 새로운 브라우저인 Microsoft Edge가 포함되어 있습니다. Microsoft Edge는 여러 측면에서 더욱 안전하며 특히 다음과 같은 측면에서 안전합니다.

  • 더 적은 공격 표면. 타사 이진 확장을 지원하지 않습니다. 공격에 취약한 여러 브라우저 구성 요소가 Microsoft Edge에서 제거되었습니다. 제거된 구성 요소에는 레거시 문서 모드 및 스크립트 엔진, BHO(브라우저 도우미 개체), ActiveX 컨트롤, Java가 포함됩니다. 하지만 Microsoft Edge는 기본 확장을 통해 Flash 콘텐츠와 PDF 보기를 지원합니다.

  • 64비트 프로세스를 실행합니다. 이전 버전의 Windows가 실행되는 64비트 PC는 종종 32비트 호환 모드로 실행되어 안전하지 않은 이전 확장을 지원합니다. Microsoft Edge가 64비트 PC에서 실행되면 악용으로부터 훨씬 안전한 64비트 프로세스만 실행합니다.

  • MemGC(메모리 가비지 수집)가 포함되어 있습니다. 이 기능은 UAF(사용 후 사용) 문제로부터 보호하는 데 도움이 됩니다.

  • 유니버설 Windows 앱으로 설계되었습니다. Microsoft Edge는 본질적으로 구분되며 시스템, 데이터 및 기타 앱에서 브라우저에 샌드박스를 적용하는 AppContainer에서 실행됩니다. Windows 10의 IE11은 또한 향상된 보호 모드를 통해 동일한 AppContainer 기술을 이용할 수도 있습니다. 그러나 IE11은 ActiveX 및 BHO를 실행할 수 있기 때문에 브라우저 및 샌드박스가 Microsoft Edge보다 훨씬 더 광범위한 공격에 노출될 위험이 있습니다.

  • 보안 구성 작업이 간소화되었습니다. Microsoft Edge에서는 간소화된 응용 프로그램 구조 및 단일 샌드박스 구성을 사용하므로 필요한 보안 설정이 더 적습니다. 또한 Microsoft Edge 기본 설정은 보안 모범 사례와 일치하므로 기본적으로 더 안전합니다.

Microsoft Edge 외에도 Microsoft는 주로 웹 사이트와의 호환성 및 Microsoft Edge에서 작동하지 않는 이진 확장을 위해 Windows 10 IE11을 포함합니다. 기본 브라우저가 아니라 선택적 또는 자동 전환으로 구성할 수 없습니다. Microsoft Edge가 최신 웹과의 호환성 및 최상의 보안 기능을 제공하므로 기본 웹 브라우저로 사용하는 것이 좋습니다.

이진 확장 및 플러그 인이 필요한 사이트를 포함하여 IE11 호환성이 필요한 사이트의 경우 엔터프라이즈 모드를 사용하도록 설정하고 엔터프라이즈 모드 사이트 목록을 사용하여 종속성이 있는 사이트를 정의합니다. 이 구성을 사용하면 Microsoft Edge가 IE11이 필요한 사이트를 식별하면 사용자가 IE11으로 자동 전환됩니다.

소프트웨어 공급업체가 완화 기능을 앱에 빌드할 수 있는 함수

Windows 10에서 사용할 수 있는 보호 기능 중 일부는 앱이나 다른 소프트웨어가 호출할 수 있는 함수를 통해 제공됩니다. 이러한 소프트웨어는 악용에 노출될 가능성이 낮아집니다. 소프트웨어 공급업체와 함께 작업하는 경우 애플리케이션에 이러한 보안 지향 함수를 포함하도록 요청할 수 있습니다. 다음 표는 앱에서 사용할 수 있는 몇 가지 유형의 완화 기능과 그에 해당하는 보안 중심 함수를 나열한 것입니다.

참고

CFG(제어 흐름 보호) 역시 개발자가 소프트웨어를 컴파일할 때 추가할 수 있는 중요한 완화 기능입니다. 자세한 내용은 이 항목의 앞부분에 있는 제어 흐름 보호를 참조하세요.

앱으로 완화를 빌드하기 위해 개발자가 사용할 수 있는 표 4 함수

완화 방법 함수
MemProt 동적 코드 제한 UpdateProcThreadAttribute 함수
[PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON]
LoadLib 이미지 로드 제한 UpdateProcThreadAttribute 함수
[PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_ALWAYS_ON]
하위 프로세스를 만드는 기능을 제한하기 위한 하위 프로세스 제한 UpdateProcThreadAttribute 함수
[PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY]
이미지 로드 제한을 위한 코드 무결성 제한 SetProcessMitigationPolicy 함수
[ProcessSignaturePolicy]
NTUser와 GDI 사용 기능을 제한하기 위한 Win32k 호출 사용 안 함 제한 SetProcessMitigationPolicy 함수
[ProcessSystemCallDisablePolicy]
메모리 할당에서 최대 1TB의 분산을 위한 높은 엔트로피 ASLR UpdateProcThreadAttribute 함수
[PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_ON]
잘못된 처리 참조 시 즉시 예외를 발생시키는 엄격한 처리 검사 UpdateProcThreadAttribute 함수
[PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_ON]
특정 타사 확장 지점의 사용을 차단하는 확장 지점 비활성화 UpdateProcThreadAttribute 함수
[PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_ON]
손상된 힙으로부터 시스템을 보호하기 위한 손상 시 힙 종료 UpdateProcThreadAttribute 함수
[PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_ON]

Enhanced Mitigation Experience Toolkit과 관련한 Windows 10 이해

2009년부터 다양한 익스플로잇 완화 및 이러한 완화를 구성하기 위한 인터페이스를 제공해 온 EMET(고급 완화 환경 도구 키트)에 이미 익숙할 수 있습니다. 이 섹션을 사용하여 EMET 완화가 Windows 10 완화와 어떻게 관련되는지 이해할 수 있습니다. EMET의 완화 방법 중 상당수는 Windows 10 기본 제공되었으며, 일부는 추가로 개선되었습니다. 그러나 일부 EMET 완화는 고성능 비용을 수반하거나 최신 위협에 비해 상대적으로 비효율적인 것으로 보이므로 Windows 10 도입되지 않았습니다.

EMET의 완화 및 보안 메커니즘의 대부분은 이미 Windows 10 존재하고 개선되었기 때문에, 특히 알려진 바이패스를 완화하는 데 높은 효율성을 가지고 있다고 평가되는 EMET 버전 5.5x는 EMET의 최종 주 버전 릴리스로 발표되었습니다(향상된 완화 경험 도구 키트 참조).

다음 표는 EMET의 기능을 Windows 10 기능과 관련하여 나열합니다.

Windows 10 기능과 관련된 표 5 EMET 기능

특정 EMET 기능 이러한 EMET 기능이 Windows 10 기능에 매핑되는 방법
  • DEP
  • SEHOP
  • ASLR(ASLR 적용, 하향식 ASLR)
  • DEP, SEHOP 및 ASLR은 구성 가능한 기능으로 Windows 10 포함됩니다. 이 항목의 앞부분에 있는 표 2를 참조하세요. ProcessMitigations PowerShell 모듈을 설치하여 이러한 기능에 대한 EMET 설정을 Windows 10 적용할 수 있는 정책으로 변환할 수 있습니다.
  • 로드 라이브러리 확인(LoadLib)
  • 메모리 보호 검사(MemProt)
  • LoadLib과 MemProt은 이러한 함수를 사용하도록 제작된 모든 응용 프로그램에 대해 Windows 10에서 지원됩니다. 이 항목의 앞부분에 있는 표 4를 참조하세요.
    Null 페이지 이 위협에 대한 완화는 이 항목의 앞부분에 있는 커널 풀 보호의 "메모리 예약" 항목에 설명된 대로 Windows 10 기본 제공됩니다.
  • 힙 분사
  • EAF
  • EAF+
  • Windows 10 현재 위협 환경에 미치는 영향이 낮고 취약성 악용의 어려움을 크게 증가하지 않기 때문에 이러한 EMET 기능에 특별히 매핑되는 완화를 포함하지 않습니다. Microsoft는 새 악용이 나타날 때마다 보안 환경을 모니터링하고 이를 차단할 수 있는 견고한 운영 체제를 만들기 위한 단계를 수행하고 있습니다.
  • 호출자 확인
  • 실행 흐름 시뮬레이트
  • 스택 피벗
  • 딥 후크(ROP "고급 완화")
  • 우회 방지(ROP "고급 완화")
  • 금지된 함수(ROP "고급 완화")
  • 제어 흐름 보호를 사용하여 컴파일된 응용 프로그램을 통해 Windows 10에 구현되었습니다. 이 항목 앞부분의 제어 흐름 보호를 참조하세요.

    EMET XML 설정 파일을 Windows 10 완화 정책으로 변환

    EMET의 장점 중 하나는 간단한 배포를 위해 EMET 완화에 대한 구성 설정을 XML 설정 파일로 가져오고 내보낼 수 있다는 것입니다. EMET XML 설정 파일에서 Windows 10 완화 정책을 생성하려면 ProcessMitigations PowerShell 모듈을 설치해야 합니다. 관리자 권한이 있는 PowerShell 세션에서 이 cmdlet을 실행합니다.

    Install-Module -Name ProcessMitigations
    

    Get-ProcessMitigation cmdlet은 레지스트리나 실행 중인 프로세스에서 현재 완화 설정을 가져오거나, 모든 설정을 XML 파일로 저장할 수 있습니다.

    실행 중인 모든 notepad.exe의 인스턴스에서 현재 설정을 가져오려면:

    Get-ProcessMitigation -Name notepad.exe -RunningProcess
    

    notepad.exe에 대한 레지스트리에서 현재 설정을 가져오려면:

    Get-ProcessMitigation -Name notepad.exe
    

    pid 1304인 실행 중인 프로세스에 대한 현재 설정을 가져오려면:

    Get-ProcessMitigation -Id 1304
    

    레지스트리에서 모든 프로세스 완화 설정을 가져와 settings.xml 파일에 저장하려면:

    Get-ProcessMitigation -RegistryConfigFilePath settings.xml
    

    Set-ProcessMitigation cmdlet은 프로세스 완화를 사용하거나 사용하지 않도록 설정하고, XML 파일에서 여러 설정을 동시에 변경할 수 있습니다.

    "Notepad.exe"에 대한 현재 프로세스 완화 설정을 레지스트리에서 가져온 다음 MicrosoftSignedOnly를 활성화하고 MandatoryASLR을 비활성화하려면:

    Set-ProcessMitigation -Name Notepad.exe -Enable MicrosoftSignedOnly -Disable MandatoryASLR
    

    XML 파일(get-ProcessMitigation -RegistryConfigFilePath settings.xml 명령으로 생성 가능)에서 프로세스 완화를 설정하려면:

    Set-ProcessMitigation -PolicyFilePath settings.xml
    

    시스템 기본값을 MicrosoftSignedOnly로 설정하려면:

    Set-ProcessMitigation -System -Enable MicrosoftSignedOnly
    

    ConvertTo-ProcessMitigationPolicy cmdlet은 완화 정책 파일 형식을 변환합니다. 구문:

    ConvertTo-ProcessMitigationPolicy -EMETFilePath <String> -OutputFilePath <String> [<CommonParameters>]
    

    예:

    • EMET 설정을 Windows 10 설정으로 변환: ConvertTo-ProcessMitigationPolicy를 실행하고 EMET XML 설정 파일을 입력으로 제공하여 Windows 10 완화 설정의 결과 파일을 생성할 수 있습니다. 예를 들면 다음과 같습니다.

      ConvertTo-ProcessMitigationPolicy -EMETFilePath policy.xml -OutputFilePath result.xml
      
    • 변환된 설정(출력 파일)을 감사하고 수정합니다. 더 많은 cmdlet을 사용하면 출력 파일에서 설정을 적용, 열거, 사용, 사용 안 함 및 저장할 수 있습니다. 예를 들어 이 cmdlet은 Notepad에 대해 SEHOP을 사용하도록 설정하고 MandatoryASLR 및 DEPATL 레지스트리 설정을 사용하지 않도록 설정합니다.

      Set-ProcessMitigation -Name notepad.exe -Enable SEHOP -Disable MandatoryASLR,DEPATL
      
    • ASR(공격 표면 감소) 설정을 코드 무결성 정책 파일로 변환: 입력 파일에 EMET의 ASR(공격 표면 감소) 완화에 대한 설정이 포함된 경우 변환기는 코드 무결성 정책 파일도 만듭니다. 이 경우 코드 무결성 정책에 대한 병합, 감사 및 배포 프로세스를 완료할 수 있습니다. 자세한 내용은 WDAC(Windows Defender 애플리케이션 제어) 정책 배포를 참조하세요. 이 작업을 완료하면 EMET의 ASR 보호와 동일한 Windows 10 보호를 사용할 수 있습니다.

    • 인증서 신뢰 설정을 엔터프라이즈 인증서 고정 규칙으로 변환: EMET "인증서 신뢰" XML 파일(고정 규칙 파일)이 있는 경우 ConvertTo-ProcessMitigationPolicy 사용하여 고정 규칙 파일을 엔터프라이즈 인증서 고정 규칙 파일로 변환할 수도 있습니다. 그런 다음 엔터프라이즈 인증서 고정에 설명된 대로 이 파일을 사용하도록 설정하는 과정을 완료할 수 있습니다. 예를 들면 다음과 같습니다.

      ConvertTo-ProcessMitigationPolicy -EMETfilePath certtrustrules.xml -OutputFilePath enterprisecertpinningrules.xml
      

    MCS(Microsoft 컨설팅 서비스) 및 Microsoft 지원/PFE(프리미어 필드 엔지니어링)는 EMET, EMET 지원, ERS(Enterprise Reporting Service)와 같은 EMET 관련 보고 및 감사 제품에 대한 다양한 옵션을 제공합니다. 현재 이러한 제품을 사용하거나 비슷한 기능에 관심이 있는 엔터프라이즈 고객의 경우 엔드포인트용 Microsoft Defender 평가하는 것이 좋습니다.