2011년 10월, 자유소프트웨어재단(FSF)은 마이크로소프트가 UEFI(통합 확장 펌웨어 인터페이스)라는 새로운 기술을 활용해 다른 운영체제가 컴퓨터에서 부팅되지 못하도록 차단하려는 것 아니냐고 추측한 바 있습니다. 실제로 마이크로소프트는 몇 달 앞서 윈도우 8이 단 8초 만에 부팅되는 모습을 공개하며 화제를 모았습니다. 그렇다면 리눅스 사용자들은 걱정해야 할까요?
문제의 핵심은 무엇인가?

한 대의 컴퓨터에서 윈도우와 리눅스를 함께 사용하는 사용자라면 지금이야말로 목소리를 낼 때입니다. UEFI 자체에는 문제가 없지만, 이 아키텍처에 포함된 '시큐어 부트(Secure Boot)' 기능이 윈도우 8 컴퓨터에서 다른 운영체제의 부팅을 사실상 불가능하게 만들 수 있습니다.
시큐어 부트는 원래 악성 부트로더가 시스템의 핵심 구성 요소를 훼손하는 것을 막기 위해 도입된 보안 기능입니다. 그러나 문제는 이 부팅 방식이 리눅스의 부팅 구조와 호환되지 않는다는 점입니다. 게다가 애플이 이 기술을 회피하거나 호환하는 새로운 OS를 준비하고 있는지에 대한 소식도 아직 없습니다.
윈도우 8 인증 요구 사항
인증 요구 사항에 따라, 앞으로 윈도우 8을 탑재하려는 모든 PC는 UEFI 아키텍처를 채택하고 시큐어 부트를 통해 윈도우 8을 부팅할 수 있어야 합니다. 이러한 표준화에는 우려가 따릅니다. 마이크로소프트의 새로운 요구 사항을 충족하는 배포판이 등장하지 않는 한, 리눅스는 점점 설치 환경에서 밀려날 수밖에 없기 때문입니다.
물론 배포판 쪽에서 대응하는 것이 어려운 일은 아닙니다. 하지만 컴퓨터에 설치하려는 운영체제를 수정하도록 강요하지 않고도 UEFI를 구현할 다른 방법이 충분히 있었을 것입니다. 애초에 부트로더 악성코드가 얼마나 많기에 이런 조치가 필요했는지도 의문입니다. 이미 일부 메인보드 제조사들이 유사한 위협에 대한 보호 기능을 제공하고 있다는 점을 감안하면 더욱 그렇습니다.
자유소프트웨어재단(FSF)의 우려
자유소프트웨어재단은 윈도우 8 인증 요건이 최신 PC에 자유 운영체제를 설치하는 것을 가로막을 수 있다고 지적했습니다. 재단은 현재 서명을 받는 청원을 진행 중이며, 이 청원은 마이크로소프트에게 UEFI의 '시큐어 부트' 기능이 자유 소프트웨어와 운영체제가 정상적으로 실행될 수 있는 방식으로 구현될 것을 요구합니다. 또한 PC 제조업체들이 해당 기능을 비활성화할 수 있는 옵션을 포함해야 한다고 명시하고 있습니다. 이를 통해 리눅스 같은 자유 소프트웨어가 어떤 컴퓨터에서든 구동될 수 있도록 하자는 취지입니다.
마이크로소프트의 입장

논란이 커지자 마이크로소프트도 결국 입장을 밝혔습니다. 회사 측은 하드웨어 프로토타입에 이미 메인보드 수준에서 시큐어 부트를 비활성화할 수 있는 옵션이 포함되어 있다고 설명했습니다. 다만 시큐어 부트가 꺼진 상태에서도 윈도우 8을 정상적으로 실행할 수 있을지는 여전히 불확실합니다.
더욱이 마이크로소프트는 간접적으로나마, 회사가 직접 출시하지 않은 특정 플랫폼에서는 해당 옵션이 빠질 수 있다는 점을 인정했습니다. 즉, 어떤 OEM이라도 시큐어 부트 비활성화 옵션을 생략할 수 있으며, 이는 자유 운영체제가 없는 세상으로 가는 첫걸음이 될 수 있다는 뜻입니다.
대안은 이미 존재한다
많은 사람들이 간과하고 있지만, 일부 OEM들은 이미 부트로더 공격에 대응하는 솔루션을 구현해 왔습니다. 이들 솔루션은 운영체제가 로드되는 과정 자체를 방해하지 않습니다. 시큐어 부트처럼 메인보드에 내장된 칩을 통해 인증을 수행하면서도, 운영체제가 기본 부트 코드를 변경하도록 강요하지 않는 방식입니다.
운영체제 개발 전문가라고 하기는 어렵지만, 같은 목표를 달성할 수 있는 다른 방법이 분명히 존재한다는 것은 알고 있습니다. 그렇다면 왜 마이크로소프트는 OEM들에게 획일적인 표준 아키텍처 도입을 강요하는 시큐어 부트를 선택했을까요? 여러분의 생각을 댓글로 남겨주세요!
Photo Credit: BIOS Configuration Screen – Microsoft