지난 6월 24일, Microsoft는 새로운 운영체제인 Windows 11에 대한 정보를 공개하였습니다.
[https://www.microsoft.com/ko-kr/windows/windows-11]
공개된 정보 중, 보안 관점에서 살펴볼 수 있는 부분이 있었습니다. 바로 최소 시스템 요구 사항입니다. 다음은 Windows 10과 Windows 11의 최소 시스템 요구 사항입니다.
Windows 10 | Windows 11 | |
---|---|---|
프로세서 | 1GHz이상 프로세서 또는 SoC(System on a Chip) | 2개 이상의 코어가 장착된 1GHz 이상의 호환되는 64비트 프로세서 또는 SoC(System on a Chip) |
메모리 | 1GB(32비트) 또는 2GB(64비트) | 4GB RAM |
스토리지 | 16GB(32비트 OS의 경우) 또는 32 GB(64비트 OS의 경우) | 64GB 이상의 저장 디바이스 |
시스템 펌웨어 | N/A | UEFI, 보안 부팅 가능 |
TPM | N/A | TPM(신뢰할 수 있는 플랫폼 모듈) 버전 2.0 |
그래픽 카드 | DirectX 9 이상(WDDM 1.0 드라이버 포함) | DirectX 12 호환 그래픽/WDDM 2.x |
Windows 11에는 기존 Windows 10의 요구사항에는 없던 시스템 펌웨어와 TPM이란 항목이 추가된 것을 확인할 수 있습니다. 대부분의 사람들이 Windows 10을 설치할 수 있었던 것과 달리, TPM 때문에 적지 않은 사람들이 Windows 11 설치 불가 판정을 받기도 했습니다. 이것이 무엇이고, 왜 추가가 되었는지 알아보겠습니다.
Secure Boot
시스템 펌웨어의 'UEFI, 보안 부팅 가능' 조건은 Secure Boot를 위한 것입니다. Secure Boot는 루트킷을 막기 위해 만들어진 보안 기술이기 때문에 이를 이해하려면 먼저 루트킷에 대한 지식이 필요합니다.
루트킷이란 OS와 동일하거나 더 높은 권한을 가지는 악성코드를 뜻합니다. 루트킷은 이러한 권한을 얻기 위해 여러 가지 방법을 사용하는데, 그 방법에 따라 다음과 같이 4가지로 나눠집니다.
-
펌웨어 루트킷 PC의 기본 입출력 시스템이나 기타 하드웨어의 펌웨어를 수정합니다.
-
부트킷 PC의 부트로더를 수정합니다.
-
커널 루트킷 OS의 일부분을 수정하여 OS가 실행될 때 자기 자신도 실행되도록 합니다.
-
드라이버 루트킷 OS가 하드웨어랑 통신할 때 사용하는 드라이버로 가장하여 OS가 실행될 때 자기 자신도 실행되도록 합니다.
이러한 방법들을 사용하여 OS와 동일하거나 더 높은 권한을 가지게 된 루트킷은 매우 위험합니다. OS의 여러 보안 정책을 무시할 수 있으며 몰래 여러 가지 악성 행위들을 할 수 있습니다. 또한 이론적으로는 OS가 루트킷의 탐지를 절대로 불가능하게 하는 것도 가능합니다. 그래서 이러한 루트킷을 막기 위해 OS와는 분리된 보안 요소가 필요하다고 사람들은 생각하였고, 그래서 나온 것이 Secure Boot입니다.
Secure Boot란 OEM(Original Equipment Manufacturer)에서 신뢰하는 소프트웨어만을 사용하여 부팅되도록 하는 보안 기술입니다. 즉 메인보드 칩셋 제조사가 미리 지정한 부트로더나 OS로만 부팅할 수 있도록 강제하는 기술입니다. 따라서 루트킷의 설치는 막지 못하지만, 루트킷이 설치되었다면 이를 탐지하여 더는 부팅이 진행되지 않도록 할 수 있습니다.
그럼 Secure Boot는 어떤 식으로 루트킷이 설치되어있는 것을 확인할까요?
Secure Boot 기능을 지원하는 메인보드 칩셋은 독립된 프로세서와 독립된 저장소를 가지고 있고, 저장소에는 OEM이 미리 등록한 인증서가 기록되어 있습니다. PC 부팅이 시작되면 메인보드 칩셋에서 펌웨어, 부트로더 또는 OS 이미지가 칩셋의 저장소에 있는 인증서로 서명되어 있는지 확인합니다. 이를 통해 각 구성 요소가 수정되지 않았다는 것을 알 수 있습니다.
TPM
TPM(Trusted Platform Module)은 말 그대로 신뢰할 수 있는 플랫폼을 위한 모듈입니다. TPM은 다음과 같은 기능을 지원합니다.
-
하드웨어 난수 생성 / 암호화 키의 안전한 생성
-
암복호화
-
플랫폼 무결성 증명
펌웨어와 OS는 이러한 기능들을 사용하여 OS나 펌웨어가 변조가 안 되었는지 확인해서 플랫폼이 신뢰할 수 있는 환경임을 확인할 수 있습니다. 앞서 언급한 Secure Boot 역시 TPM이 제공하는 기능을 바탕으로 구현이 되어 있습니다.
결론
추가된 두 요구 사항으로 미루어 보았을 때 Microsoft가 ‘Windows 11이 동작하는 모든 컴퓨터가 Secure Boot를 통해 부팅되는 것'을 목표로 삼고 있음을 추론할 수 있습니다. 만약 모든 컴퓨터가 Secure Boot를 통해 부팅된다면 OS, 펌웨어 변조를 통한 공격은 지금보다 더욱 힘들어질 것입니다. 이러한 하드웨어적인 보안 요소들을 OS 제조사에서 강제하게 되면 지금 당장은 혼란이 일어날 수 있으나, 앞으로의 전반적인 보안 향상을 위해 이러한 조치가 필요하다고 생각합니다.