윈도우 11 인사이더 프리뷰가 공개됐습니다. 마이크로소프트는 인텔 8세대 코어 프로세서, AMD 라이젠 2000 시리즈 프로세서부터 윈도우 11을 지원한다고 했다가 기준을 낮춰 인텔 7세대 코어 프로세서, AMD는 젠1 아키텍처의 CPU부터 윈도우 11을 지원한다고 밝혔는데요.
이 요구 조건은 일반적인 사용에 한정된 것입니다. 인사이더 프리뷰 버전의 Dev 채널과 베타 채널에서는 CPU와 TPM 2.0 지원 등의 조건은 없습니다. 그리고 이렇게 조건을 높게 잡은 이유는 보안과 안정성, 호환성 유지를 위해서라고 설명합니다. 보다 정확히 말하면 이렇습니다.
1. 보안을 강화하면서 VBS/HVCI를 갖춘 새 하드웨어가 필요
2. 운영체제 안정성을 높인 윈도우 드라이버 모델의 지원
3. 애플리케이션 호환성 유지
여기서 1번을 봅시다. VBS는 Virtualization-Based Security의 줄임말로 가상화 기반 보안 기술입니다. 윈도우의 Hyper-V를 이용해 보안 수준을 높이는 구조입니다. 가상화 기술은 운영체제에서 애플리케이션으로 실행하는 가상화 소프트웨어(VM웨어 같은 것), 운영체제가 작동하는 기반인 하이퍼바이저(베어메탈)의 두 가지가 있습니다. Hyper-V는 두번째에 속하는 고급 가상화 소프트웨어로 윈도우 10/11에 기본 탑재되며, VBS는 Hyper-V를 사용해 OS의 더 중요한 부분인 VSM(Virtual Secure Module)과 일반 윈도우 OS를 분리해서 실행합니다.
그리고 VSM을 시작할 때 드라이버나 OS 코드 등이 제대로 서명됐는지를 확인하는 방법이 HVCI(Hypervisor-Enforced Code Integrity)입니다. 이를 통해 운영체제의 중요 부분을 안전하게 지킬 수 있습니다. 각각의 가상 머신은 서로 다른 메모리 공간에서 실행돼, 윈도우에 악성 코드가 침입되도 VSM으로 보안 유지되는 커널에 침입하기가 어려워집니다. 마이크로소프트는 VBS와 HVCI를 사용하면 악성 코드의 공격을 60% 정도 막을 수 있다고 설명합니다.
VBS와 HVCI는 윈도우 10 초기 버전에는 없었으나 나중에 추가됐고, 사용자가 기능을 선택할 수 있습니다. OEM 제조사에 따라서는 이 기능을 기본적으로 활성화해서 출시하는 경우도 있습니다. 마이크로소프트의 서피스 시리즈는 전부 이 기능들이 켜진 채로 출시됩니다. 직접 켜고 싶다면 윈도 우 보안->장치 보안->코어 격리->세부 정보->메모리 무결성을 고르면 됩니다.
윈도우 11은 VBS와 HVCI가 기본적으로 활성화됩니다. 그래서 보안이 강화되 악성 코드를 더욱 잘 막게 됩니다. 하지만 VBS와 HVCI에 맞춰 하드웨어 요구 스펙이 높아집니다. 이런 기능을 지원하려면 인텔 VT나 AMD의 AMD-V 같은 가상화 가속 기능을 지원하며, VT나 AMD-V 확장 명령인 SLAT(Second Level Address Translation)를 지원해야 합니다. 또 TPM 2.0도 지원하고 UEFI 메모리 보고, HVCI 지원 장치 드라이버가 필요합니다. 요새 계속 이야기가 나오는 TPM 2.0도 이 VBS를 위한 것입니다.
또 HVCI를 지원하려면 MBEC (Mode-Based Execute Control)이라는 가상화 기술 확장 명령 준수를 권장합니다. CPU가 MBEC를 지원하면 하이퍼바이저가 코드 상태를 확인하는 속도가 빨라집니다. 인텔은 MBEC(Mode-based execute control for EPT), AMD는 GMET(Guest Mode Execute Trap), 퀄컴은 Arm TTS2UXN(Translation table stage 2 Unprivileged Execute-never)라고 합니다. CPU가 이들 명령어를 지원하면 HVCI를 써도 성능 저하가 거의 없지만, 그렇지 않다면 CPU 부하가 늘어나 그만큼 성능이 떨어집니다. 인텔 CPU 중 MBEC를 지원하는 건 7세대 코어 프로세서 카비레이크 이상이고, AMD는 젠2 아키텍처부터입니다. 이렇게 보면 마이크로소프트가 왜 CPU 요구 조건을 까다롭게 잡았는지를 아시겠지요.
다만 마이크로소프트는 젠1에서도 윈도우 11을 지원한다고 말했습니다. AMD-V GMET는 젠2부터 지원하니, 젠1에서 HVCI를 사용한다면 성능 저하는 어쩔 수 없을 걸로 보입니다. 사용자 입장에서 VBS와 HVCI 지원을 통해 시스템 안정성은 높아지지만, 구형 하드웨어를 갖고 있는 사람들은 불만을 가질 수밖에 없겠죠. 또 MS가 자세한 설명 없이 무턱대고 구형 하드웨어에서 지원하지 않는다고 잘라 말한 것도 문제이긴 합니다.
보안문제때문이라고 첨언만 했어도 좋았을텐데.. 아무설명이 없는건 쫌 그랬죠