커널 DMA 보호

DMA(커널 직접 메모리 액세스) 보호는 외부 주변 장치가 메모리에 무단으로 액세스하지 못하도록 보호하는 Windows 보안 기능입니다.

Thunderbolt, USB4 및 CFexpress와 같은 PCIe 핫 플러그 디바이스를 사용하면 사용자가 USB의 플러그 앤 플레이 용이성으로 그래픽 카드를 포함한 외부 주변 장치의 클래스를 장치에 연결할 수 있습니다. 이러한 디바이스는 DMA 지원이며 시스템 메모리에 액세스하고 시스템 프로세서의 개입 없이 읽기 및 쓰기 작업을 수행할 수 있습니다. 이 기능은 PCI 디바이스의 뛰어난 성능을 지원하는 이유이지만 DMA 공격에 취약합니다.

드라이브 기반 DMA 공격은 시스템 소유자가 없는 동안 발생하는 공격이며, 일반적으로 디바이스의 디스어셈블리가 필요하지 않은 간단한 중간 수준의 공격 도구(저렴한 기성 하드웨어 및 소프트웨어)를 사용하여 몇 분 정도 걸립니다. 예를 들어 공격자는 디바이스 소유자가 휴식을 취하는 동안 USB와 같은 디바이스를 연결하고 컴퓨터의 모든 비밀을 사용하거나 잠금 화면을 우회하는 동안 디바이스를 원격으로 완전히 제어할 수 있는 맬웨어를 삽입할 수 있습니다.

참고

커널 DMA 보호 기능은 1394/FireWire, PCMCIA, CardBus 또는 ExpressCard를 통해 DMA 공격으로부터 보호하지 않습니다.

Windows가 DMA 드라이브 바이 공격으로부터 보호하는 방법

Windows는 IOMMU(시스템 입력/출력 메모리 관리 단위) 를 사용하여 이러한 주변 장치의 드라이버가 메모리 격리(예: DMA 다시 매핑)를 지원하지 않는 한 외부 주변 장치가 DMA를 시작하고 수행하지 못하도록 차단합니다. DMA 다시 매핑 호환 드라이버를 사용하는 주변 장치는 할당된 메모리 영역에 대한 DMA를 자동으로 열거, 시작 및 수행할 수 있습니다.

기본적으로 DMA 다시 매핑 호환되지 않는 드라이버를 사용하는 주변 장치는 권한이 있는 사용자가 시스템에 로그인하거나 화면 잠금을 해제할 때까지 DMA 시작 및 수행이 차단됩니다. IT 관리자는 MDM 또는 그룹 정책을 사용하여 호환되지 않는 드라이버를 다시 매핑하는 DMA를 사용하여 디바이스에 적용되는 기본 동작을 수정할 수 있습니다.

사용자 환경

커널 DMA 보호를 사용하는 경우:

  • DMA 다시 매핑 호환 디바이스 드라이버가 있는 주변 장치는 자동으로 열거되고 시작됩니다.
  • DMA 다시 매핑과 호환되지 않는 드라이버가 있는 주변 장치는 권한 있는 사용자가 로그인하기 전에 주변 장치를 연결했거나 화면이 잠겨 있는 동안 시작이 차단됩니다. 시스템이 잠금 해제되면 OS에서 주변 장치 드라이버를 시작하고 시스템이 다시 부팅되거나 주변 장치가 분리될 때까지 주변 장치가 정상적으로 작동합니다. 사용자가 화면을 잠그거나 시스템에서 로그아웃하는 경우 주변 장치가 정상적으로 작동합니다.

Windows 버전 및 라이선싱 요구 사항

다음 표에는 커널 DMA(직접 메모리 액세스) 보호를 지원하는 Windows 버전이 나와 있습니다.

Windows Pro Windows Enterprise Windows Pro Education/SE Windows Education

커널 DMA(직접 메모리 액세스) 보호 라이선스 권한은 다음 라이선스에 의해 부여됩니다.

Windows Pro/Pro Education/SE Windows Enterprise E3 Windows Enterprise E5 Windows Education A3 Windows Education A5

Windows 라이선싱에 대한 자세한 내용은 Windows 라이선싱 개요를 참조하세요.

시스템 호환성

커널 DMA 보호에는 UEFI 펌웨어 지원이 필요하며 VBS(가상화 기반 보안)는 필요하지 않습니다.

커널 DMA 보호는 다른 BitLocker DMA 공격 대책과 호환되지 않습니다. 시스템에서 커널 DMA 보호를 지원하는 경우 BitLocker DMA 공격 대응책을 사용하지 않도록 설정하는 것이 좋습니다. 커널 DMA 보호는 외부 주변 디바이스의 유용성을 유지하면서 BitLocker DMA 공격 대책을 통해 시스템에 대한 더 높은 보안 표시줄을 제공합니다.

참고

그래픽 디바이스에 대한 DMA 다시 매핑 지원은 WDDM 3.0 드라이버 모델과 Windows 11 추가되었습니다. Windows 10 이 기능을 지원하지 않습니다.

커널 DMA 보호가 사용하도록 설정되어 있는지 확인

커널 DMA 보호를 지원하는 시스템은 사용자 또는 IT 관리자 구성이 필요하지 않고 기능을 자동으로 사용하도록 설정합니다.

Windows 보안 설정을 사용하여 커널 DMA 보호가 사용하도록 설정된 경우 검사 수 있습니다.

  1. Windows 보안 엽니다.

  2. 디바이스 보안 > Core 격리 세부 정보 > 메모리 액세스 보호를 선택합니다.

    Windows 보안 커널 DMA 보호의 스크린샷

    또는 시스템 정보 데스크톱 앱(msinfo32.exe)을 사용할 수 있습니다. 시스템에서 커널 DMA 보호를 지원하는 경우 커널 DMA 보호 값이 ON으로 설정됩니다.

    시스템 정보의 커널 DMA 보호 스크린샷

    커널 DMA 보호의 현재 상태가 OFF이고 Hyper-V - 펌웨어에서 가상화 사용이아니요인 경우:

    • UEFI 설정으로 다시 부팅
    • Intel 가상화 기술 켜기
    • I/O용 Intel 가상화 기술 켜기(VT-d)
    • Windows로 시스템 다시 부팅

    참고

    Hyper-V Windows 기능을 사용하도록 설정하면 모든 Hyper-V 관련 기능이 숨겨지고 하이퍼바이저가 검색됩니다. Hyper-V에 필요한 기능은 표시되지 않습니다 엔터티는 목록의 맨 아래에 표시됩니다. 즉 , Hyper-V - 펌웨어에서 가상화 사용예로 설정되어 있습니다.

    OEM용 커널 DMA 보호(메모리 액세스 보호)에 설명된 ACPI 커널 DMA 보호 표시 기의 플래그가 펌웨어에 있는 경우에도 IOMMU(펌웨어)에서 Hyper-V 가상화를 사용하도록 설정하려면 커널 DMA 보호를 사용하도록 설정해야 합니다.

    커널 DMA 보호 상태가 꺼져 있는 경우 시스템은 커널 DMA 보호를 지원하지 않습니다.

커널 DMA 보호를 지원하지 않는 시스템의 경우 다른 DMA 보호 수단은 BitLocker 대책 또는 Thunderbolt 3 및 Microsoft Windows 운영 체제의 보안을 참조하세요.

질문과 대답

커널 DMA 보호는 부팅 중에 DMA별 드라이브 공격을 방지하나요?

아니요, 커널 DMA 보호는 OS가 로드된 후에만 DMA 기반 드라이브 공격으로부터 보호합니다. 부팅하는 동안 Thunderbolt 3 포트를 통한 공격으로부터 보호하는 것은 시스템 펌웨어/BIOS의 책임입니다.

특정 드라이버가 DMA 다시 매핑을 지원하는 경우 어떻게 검사 수 있나요?

모든 디바이스와 드라이버가 DMA 다시 매핑을 지원하는 것은 아닙니다. 특정 드라이버가 DMA 다시 매핑에 옵트인된 경우 검사 장치 관리자*의 디바이스 세부 정보 탭에서 DMA 다시 매핑 정책 속성에 해당하는 값을 검사. 값 이 0 또는 1 이면 디바이스 드라이버가 DMA 다시 매핑을 지원하지 않습니다. 값 이 2 이면 디바이스 드라이버가 DMA 다시 매핑을 지원합니다. 속성을 사용할 수 없는 경우 디바이스 드라이버는 DMA 다시 매핑을 지원하지 않습니다. 테스트 중인 디바이스에 대한 드라이버 instance 확인합니다. 일부 드라이버는 디바이스의 위치(내부 및 외부)에 따라 다양한 값을 가질 수 있습니다.

2 값을 보여 주는 Thunderbolt 컨트롤러의 디바이스 세부 정보 스크린샷

PCI 또는 Thunderbolt 3 주변 장치용 드라이버가 DMA 다시 매핑을 지원하지 않는 경우

사용 가능한 경우 주변 장치용 Windows 제공 드라이버를 사용합니다. 주변 장치에 대해 Windows에서 제공하는 클래스 드라이버가 없는 경우 주변 장치 공급업체/드라이버 공급업체에 문의하여 DMA 다시 매핑을 지원하도록 드라이버를 업데이트합니다.

내 시스템의 커널 DMA 보호가 꺼져 있습니다. 특정 디바이스에 대한 DMA 다시 매핑을 설정할 수 있나요?

예. 커널 DMA 보호와 독립적으로 특정 디바이스에 대한 DMA 다시 매핑을 설정할 수 있습니다. 예를 들어 드라이버가 옵트인하고 VT-d(Directed I/O용 가상화 기술)가 켜져 있는 경우 커널 DMA 보호가 꺼져 있더라도 디바이스 드라이버에 대해 DMA 다시 매핑이 사용하도록 설정됩니다.

커널 DMA 보호는 디바이스가 다시 매핑 상태 및 기능에 따라 DMA를 수행할 수 있도록 허용하거나 차단하는 정책입니다.

Microsoft 드라이버는 DMA 다시 매핑을 지원합니까?

USB XHCI(3.x) 컨트롤러, 스토리지 AHCI/SATA 컨트롤러 및 스토리지 NVMe 컨트롤러용 Microsoft 받은 편지함 드라이버는 DMA 다시 매핑을 지원합니다.

PCI가 아닌 디바이스용 드라이버는 DMA 다시 매핑과 호환되어야 합니까?

아니요. USB 디바이스와 같은 비 PCI 주변 장치에 대한 디바이스는 DMA를 수행하지 않으므로 드라이버가 DMA 다시 매핑과 호환될 필요가 없습니다.

엔터프라이즈에서 외부 디바이스 열거형 정책을 사용하도록 설정하려면 어떻게 할까요?

외부 디바이스 열거형 정책은 DMA 다시 매핑과 호환되지 않는 외부 주변 장치를 열거할지 여부를 제어합니다. DMA 다시 매핑과 호환되는 주변 장치는 항상 열거됩니다. 사용자가 로그인(기본값)한 후에만 차단, 허용 또는 허용되지 않는 주변 장치를 사용할 수 있습니다.

정책은 다음을 사용하여 사용하도록 설정할 수 있습니다.

  • 그룹 정책: 커널 DMA 보호와 호환되지 않는 외부 디바이스에 대한 관리 템플릿\System\Kernel DMA Protection\열거형 정책
  • MDM(모바일 장치 관리): DmaGuard 정책