윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT
윈도11 의 코어 격리 및 메모리 무결성 기능

이 기능은 가상화 기반 보안을 사용하는 장치에서, 메모리 무결성을 지키기 위한 기능이다. 아래와 같이 활성화할 수 있다.

설정 → 개인 정보  및 보안 → Windows 보안 → 장치 보안 → 코어 격리 세부 정보 → 메모리 무결성

사용자 삽입 이미지

쉽게 말해 악의적인 코드가 실행되는걸 방지하기 위해 가상화 기능을 사용한다. 가상화 기능을 사용하면 각각의 프로세스를 완벽하게 분리할 수 있다. 그냥 아예 다른 운영체제인것처럼 작동할 수 있으니 말이다. 이를 VBS (Virtualization-Based Security)라고 부른다. 이를 구현하려면 커널 안에 VSM(Virtual Secure Module)을 두고 이 모듈 위에 각각의 커널을 올린다. 여기에 더해 HVCI(Hypervisor-Enforced Code Integrity)를 사용해 서명된 프로그램만 실행하도록 하면 원하지 않는 코드가 실행될 수는 없을 것이다.

이 기능을 구현하는데에는 최소 가상화기능이 지원되는 CPU만 있으면 되지만, 더 빨리 실행되기 위해서는 IOMMU(Input/Output Memory Management Unit), SLAT(Second Level Address Translation)를 지원해야 하고, HVCI 를 고성능으로 지원하려면 MBEC (Mode-Based Execute Control)기능을 CPU 에서 지원해야 한다. MBEC 는 인텔에서는 MBEC(Mode-based execute control for EPT), AMD는 GMET(Guest Mode Execute Trap)이라고 부른다. MBEC 를 지원하는 CPU가 Intel Kaby Lake, AMD Zen 2 부터다.

CPU가 MBEC 를 지원하지 않아도 HVCI 기능을 지원할 수 있지만 눈에띄게 느려진다. HVCI 를 끄고 사용하면 괜찮아진다. 이게 Intel Kaby Lake 미만, AMD Zen 2 미만의 CPU는 윈도11에서 지원하지 않는다고 말하는 이유중 하나다.

VBS 의 모든 기능 활성화하려면 Kaby Lake 및 이를 지원하는 마더보드에서는 최신 바이오스를 사용해야 하고, 최신 드라이버를 사용해야 한다. 바꿔말하면 Kaby Lake 에는 VBS 의 모든 기능이 안되는 경우가 있다는 의미다. VBS 를 제대로 지원하기 위한 사양은 아래에 나와있다.

https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-vbs

----
https://note.com/visit_6654/n/nf04dd3fe7cd0
https://note.com/visit_6654/n/n3652faf50464

https://learn.microsoft.com/en-us/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity