Windows 8 및 10에서 보안 부팅이 작동하는 방식과 Linux에 대한 의미
게시 됨: 2022-01-29최신 PC에는 "보안 부팅" 기능이 활성화되어 있습니다. 이것은 기존 PC BIOS를 대체하는 UEFI의 플랫폼 기능입니다. PC 제조업체가 "Windows 10" 또는 "Windows 8" 로고 스티커를 PC에 부착하려는 경우 Microsoft는 보안 부팅을 활성화하고 몇 가지 지침을 따르도록 요구합니다.
불행히도, 그것은 또한 꽤 번거로울 수 있는 일부 Linux 배포판을 설치하는 것을 방지합니다.
보안 부팅이 PC의 부팅 프로세스를 보호하는 방법
보안 부팅은 Linux 실행을 더 어렵게 만들기 위해 설계된 것이 아닙니다. 보안 부팅을 활성화하면 실질적인 보안 이점이 있으며 Linux 사용자도 이점을 누릴 수 있습니다.
기존 BIOS는 모든 소프트웨어를 부팅합니다. PC를 부팅하면 사용자가 구성한 부팅 순서에 따라 하드웨어 장치를 확인하고 해당 장치에서 부팅을 시도합니다. 일반적인 PC는 일반적으로 전체 Windows 운영 체제를 부팅하는 Windows 부트 로더를 찾아 부팅합니다. Linux를 사용하는 경우 BIOS는 대부분의 Linux 배포판에서 사용하는 GRUB 부트 로더를 찾아 부팅합니다.
그러나 루트킷과 같은 맬웨어가 부트 로더를 대체할 수 있습니다. 루트킷은 아무 것도 잘못되었다는 표시 없이 일반 운영 체제를 로드할 수 있으며 시스템에서 완전히 보이지 않고 감지할 수 없습니다. BIOS는 맬웨어와 신뢰할 수 있는 부트 로더의 차이점을 알지 못합니다.
보안 부팅은 이를 중지하도록 설계되었습니다. Windows 8 및 10 PC는 UEFI에 저장된 Microsoft 인증서와 함께 제공됩니다. UEFI는 부트 로더를 시작하기 전에 확인하고 Microsoft에서 서명했는지 확인합니다. 루트킷이나 다른 맬웨어가 부트 로더를 대체하거나 이를 변조하는 경우 UEFI는 부팅을 허용하지 않습니다. 이렇게 하면 맬웨어가 부팅 프로세스를 가로채고 운영 체제에서 자신을 숨기는 것을 방지할 수 있습니다.
Microsoft에서 Linux 배포판의 보안 부팅을 허용하는 방법
이 기능은 이론적으로 맬웨어로부터 보호하도록 설계되었습니다. 따라서 Microsoft는 어쨌든 Linux 배포판을 부팅할 수 있는 방법을 제공합니다. 그렇기 때문에 Ubuntu 및 Fedora와 같은 일부 최신 Linux 배포판은 보안 부팅이 활성화된 경우에도 최신 PC에서 "정상 작동"합니다. Linux 배포판은 Microsoft Sysdev 포털에 액세스하기 위해 $99의 일회성 요금을 지불할 수 있습니다. 여기에서 부트로더 서명을 신청할 수 있습니다.
Linux 배포판에는 일반적으로 "shim" 서명이 있습니다. shim은 단순히 Linux 배포판의 기본 GRUB 부트 로더를 부팅하는 작은 부트 로더입니다. Microsoft 서명 shim은 Linux 배포판에서 서명한 부트 로더를 부팅하는지 확인한 다음 Linux 배포판이 정상적으로 부팅되는지 확인합니다.
Ubuntu, Fedora, Red Hat Enterprise Linux 및 openSUSE는 현재 보안 부팅을 지원하며 최신 하드웨어에서 조정 없이 작동합니다. 다른 사람들이 있을 수 있지만 이것들은 우리가 알고 있는 것입니다. 일부 Linux 배포판은 철학적으로 Microsoft의 서명 신청에 반대합니다.
보안 부팅을 비활성화하거나 제어하는 방법
이것이 보안 부팅의 전부였다면 PC에서 Microsoft가 승인하지 않은 운영 체제를 실행할 수 없었을 것입니다. 그러나 구형 PC의 BIOS와 같은 PC의 UEFI 펌웨어에서 보안 부팅을 제어할 수 있습니다.
보안 부팅을 제어하는 두 가지 방법이 있습니다. 가장 쉬운 방법은 UEFI 펌웨어로 이동하여 완전히 비활성화하는 것입니다. UEFI 펌웨어는 서명된 부트 로더를 실행하고 있는지 확인하지 않으며 모든 것이 부팅됩니다. 모든 Linux 배포판을 부팅하거나 보안 부팅을 지원하지 않는 Windows 7을 설치할 수도 있습니다. Windows 8 및 10은 잘 작동하지만 보안 부팅이 부팅 프로세스를 보호하는 보안 이점을 잃게 됩니다.

보안 부팅을 추가로 사용자 지정할 수도 있습니다. Secure Boot가 제공하는 서명 인증서를 제어할 수 있습니다. 새 인증서를 설치하고 기존 인증서를 제거할 수 있습니다. 예를 들어, PC에서 Linux를 실행한 조직은 Microsoft의 인증서를 제거하고 그 자리에 조직의 자체 인증서를 설치할 수 있습니다. 그런 다음 해당 PC는 해당 특정 조직에서 승인하고 서명한 부트 로더만 부팅합니다.
개인도 이 작업을 수행할 수 있습니다. 자신의 Linux 부트 로더에 서명하고 PC가 개인적으로 컴파일하고 서명한 부트 로더만 부팅할 수 있도록 할 수 있습니다. 이것이 보안 부팅이 제공하는 제어 및 기능의 종류입니다.
Microsoft가 PC 제조업체에 요구하는 것
Microsoft는 PC 공급업체가 PC에 멋진 "Windows 10" 또는 "Windows 8" 인증 스티커를 원하는 경우 보안 부팅을 활성화하도록 요구하지 않습니다. Microsoft는 PC 제조업체가 특정 방식으로 이를 구현하도록 요구합니다.
Windows 8 PC의 경우 제조업체에서 보안 부팅을 끌 수 있는 방법을 제공해야 했습니다. Microsoft는 PC 제조업체가 사용자의 손에 보안 부팅 킬 스위치를 제공할 것을 요구했습니다.
Windows 10 PC의 경우 더 이상 필수 사항이 아닙니다. PC 제조업체는 보안 부팅을 활성화하고 사용자에게 비활성화할 수 있는 방법을 제공하지 않도록 선택할 수 있습니다. 그러나 실제로 이 작업을 수행하는 PC 제조업체는 없습니다.
마찬가지로 PC 제조업체는 Windows가 부팅할 수 있도록 Microsoft의 기본 "Microsoft Windows Production PCA" 키를 포함해야 하지만 "Microsoft Corporation UEFI CA" 키를 포함할 필요는 없습니다. 이 두 번째 키는 권장됩니다. Microsoft가 Linux 부트 로더에 서명하는 데 사용하는 두 번째 선택적 키입니다. Ubuntu의 설명서는 이에 대해 설명합니다.
다시 말해 모든 PC가 보안 부팅을 켠 상태에서 서명된 Linux 배포판을 부팅할 필요는 없습니다. 다시 말하지만 실제로 이 작업을 수행한 PC는 본 적이 없습니다. 아마도 어떤 PC 제조업체도 Linux를 설치할 수 없는 유일한 노트북 라인을 만들고 싶어하지 않을 것입니다.
현재로서는 최소한 주류 Windows PC에서는 원하는 경우 보안 부팅을 비활성화할 수 있어야 하며 보안 부팅을 비활성화하지 않더라도 Microsoft에서 서명한 Linux 배포판을 부팅해야 합니다.
Windows RT에서 보안 부팅을 비활성화할 수 없지만 Windows RT가 작동하지 않음
관련: Windows RT란 무엇이며 Windows 8과 어떻게 다릅니까?
위의 모든 사항은 표준 Intel x86 하드웨어의 표준 Windows 8 및 10 운영 체제에 해당됩니다. ARM은 다릅니다.
Windows RT(다른 장치 중에서 Microsoft의 Surface RT 및 Surface 2에 탑재된 ARM 하드웨어용 Windows 8 버전)에서는 보안 부팅을 비활성화할 수 없습니다. 오늘날에도 Windows 10 Mobile 하드웨어, 즉 Windows 10을 실행하는 휴대폰에서는 보안 부팅을 비활성화할 수 없습니다.
Microsoft는 ARM 기반 Windows RT 시스템을 PC가 아닌 "장치"로 생각하기를 원했기 때문입니다. Microsoft가 Mozilla에게 말했듯이 Windows RT는 "더 이상 Windows가 아닙니다."
그러나 Windows RT는 이제 죽었습니다. ARM 하드웨어용 Windows 10 데스크톱 운영 체제 버전이 없으므로 더 이상 걱정할 필요가 없습니다. 그러나 Microsoft가 Windows RT 10 하드웨어를 다시 가져오면 해당 하드웨어에서 보안 부팅을 비활성화할 수 없을 것입니다.
이미지 크레디트: 대사 기지, John Bristowe