Windows 11의 드라이버 서명 요구 사항: 사용자 자유를 제한하고 사용자 경험을 해치는 보안 기능

세계에서 가장 널리 사용되는 데스크톱 운영 체제인 Windows 11은 분명 여러 문제점을 안고 있습니다. 하지만 이러한 문제점에도 불구하고, Windows 11은 마이크로소프트 운영 체제 중 가장 완성도가 높은 버전입니다. 물론 많은 사용자들이 Windows 10을 최대한 오래 사용 하거나 리눅스로 갈아타게 만드는 불편한 기능들이 추가되긴 했지만 말입니다 . 그럼에도 불구하고, 저는 Windows의 한 가지 측면이 항상 마음에 걸렸습니다. 바로 운영 체제가 드라이버를 로드하기 전에 디지털 서명을 요구하는 마이크로소프트의 오랜 정책입니다.

Windows 11 복구 환경

간단히 말해, 드라이버는 하드웨어나 소프트웨어가 Windows와 상호 작용할 수 있도록 하는 저수준 코드(대개 운영 체제 커널에서 실행됨)입니다. 서명된 드라이버에는 신뢰할 수 있는 기관(예: Microsoft 자체 인증서 또는 과거에는 Microsoft에서 승인한 인증 기관)의 암호화 서명이 포함되어 있으며, Windows는 드라이버 실행을 허용하기 전에 이 서명의 진위성과 무결성을 검증합니다. 이러한 드라이버 서명 구현은 수십 년에 걸쳐 발전하여 필수적인 게이트키퍼 역할을 했으며, 이중적인 특성을 가지고 있습니다.

한편으로는 악성코드가 (적절한 인증서 없이는 도용될 수 있는) 심층적인 공격을 차단하여 보안을 확실히 향상시키지만, 다른 한편으로는 사용자 제어를 제한하고 Microsoft 규정 준수를 요구합니다. 사용자의 자유를 침해하는 측면도 있지만, 분명한 장점도 있습니다. Windows 최고의 보안 기능 중 하나이지만, 그 존재 자체가 본질적으로 소비자를 침해하는 것입니다.

운전자 서명이란 무엇인가요?

드라이버 서명은 Microsoft 또는 다른 신뢰할 수 있는 기관에서 장치 드라이버에 부여하는 디지털 인증서입니다. 이 서명은 드라이버가 정품이며 장치 제조업체에서 배포한 이후 변조되거나 수정되지 않았음을 Windows에 알려줍니다. 드라이버의 무결성과 안정성을 보장하는 디지털 인증이라고 생각하면 됩니다.

즉, 드라이버 게시자의 신원을 확인하고 소프트웨어가 변조되지 않았는지 확인하는 방법입니다. 드라이버는 운영 체제 내부에서 깊숙이 작동하기 때문에, 드라이버가 악성이거나 불안정할 경우 시스템 충돌이나 보안 취약점과 같은 심각한 문제를 일으킬 수 있으므로 이는 매우 중요합니다.

서명된 드라이버를 설치하면 Windows는 드라이버 설치를 허용하기 전에 서명을 확인합니다. 서명이 유효하면 해당 드라이버가 Microsoft 또는 다른 신뢰할 수 있는 기관에서 테스트 및 인증을 받았으며 설치가 안전함을 의미합니다. 서명이 유효하지 않거나 누락된 경우 Windows는 드라이버가 안전하지 않거나 시스템과 호환되지 않을 수 있다는 경고를 표시합니다.

운전자 서명이 중요한 이유는 무엇입니까?

  1. 안전: 시스템을 위험에 빠뜨릴 수 있는 악성 또는 변조된 드라이버의 설치를 방지합니다.
  2. 안정: 드라이버가 Windows와 호환되고 시스템 문제를 일으키지 않는지 확인합니다.
  3. 참고: 해당 드라이버가 Microsoft 또는 신뢰할 수 있는 다른 당사자에 의해 테스트 및 인증되었음을 나타냅니다.

일반적으로 드라이버 서명은 시스템을 맬웨어로부터 보호하고 안정성과 신뢰성을 보장하는 중요한 보안 메커니즘입니다. 따라서 서명된 드라이버만 설치하는 것이 가장 좋습니다.

오랜 보호의 역사

LatencyMon에서 드라이버 결과를 확인하세요

드라이버 서명은 마이크로소프트 의 코드 무결성 보안 기능 의 핵심 구성 요소로 , 윈도우 비스타 시대 에 처음 도입되어 윈도우 10 버전 1607 부터 의무화되었습니다. 이 개념은 간단합니다. 윈도우 커널 (일명 "링 0")에서 실행되는 모든 코드는 신뢰할 수 있는 기관의 유효한 디지털 서명을 받아야 합니다. 마이크로소프트 공식 문서에 따르면 , 코드 무결성은 "드라이버 또는 시스템 파일이 메모리에 로드될 때마다 무결성을 검증하여 운영 체제 보안을 향상"시키며, 64비트 윈도우 에서는 "커널 모드 드라이버에 디지털 서명이 필수적"입니다. 실제로 이는 윈도우가 공인된 인증서로 서명되지 않은 드라이버는 로드하지 않는다는 것을 의미합니다.

다른 운영 체제와 마찬가지로 커널( ntoskernel.exe , 또는 Windows NT 커널 )은 최고 권한을 가진 운영 체제의 핵심 부분이므로, 이 영역에서 승인되지 않은 코드가 실행되는 것을 방지하는 것이 매우 중요합니다. 디지털 서명은 드라이버가 특정 개발자에 의해 배포되었으며 이후 변조되지 않았음을 보장합니다. 간단히 말해, 서명되지 않았거나 악의적으로 수정된 드라이버는 기본적으로 설치되지 않으며, 보안 관점에서 이는 소비자와 기업 모두를 보호하는 좋은 조치입니다.

실제로 이는 정식 하드웨어 공급업체와 개발자가 드라이버 서명 절차를 거친다는 것을 의미합니다. 최신 Windows 에서는 일반적으로 확장 검증 인증서를 발급받고 Microsoft 에 드라이버를 제출하여 승인을 받습니다. 이러한 승인 없이 커널에서 코드를 실행하려고 하면 " Windows에서 이 장치에 요청된 드라이버의 디지털 서명을 확인할 수 없습니다."와 같은 오류 메시지가 표시됩니다. 이는 악성코드가 루트킷이나 악성 드라이버를 설치하여 시스템을 완전히 제어하는 ​​공격을 방지합니다. 최신 64비트 Windows 에서는 장치 드라이버를 로드하는 것이 커널에서 임의 코드를 실행하는 유일하게 지원되는 방법이며, 서명되지 않은 실행 파일은 완전히 차단됩니다.

관리자 계정은 어떨까요? 관리자 계정조차도 예외는 아닙니다. 사용자와 관계없이 64비트 Windows 에서는 서명되지 않은 드라이버를 설치할 수 없습니다 . 이를 비활성화하는 유일한 방법은 부팅 시 "드라이버 서명 강제 적용 비활성화" 옵션을 사용하는 것인데, 이 옵션은 다음 부팅 시 초기화됩니다. 또는 bcdedit를 사용하여 검증 프로세스를 완전히 비활성화할 수도 있습니다. 이는 Microsoft 에서 제공하는 안전 장치이므로 컴퓨터 소유자라 하더라도 우회해서는 안 됩니다.

Microsoft는 수년에 걸쳐 요구 사항을 강화해 왔습니다.

Microsoft는 더욱 원활하고 안전한 사용자 환경을 제공하기 위해 수년에 걸쳐 Windows 운영 체제 요구 사항을 점진적으로 강화해 왔습니다. 이러한 요구 사항 변화는 지속적인 기술 발전, 성능 향상, 그리고 증가하는 보안 위협에 대한 보호 강화의 필요성을 반영합니다. Microsoft는 새로운 Windows 버전을 출시할 때마다 시스템을 효율적으로 실행하는 데 필요한 최소 사양을 높이고 있으며, 특히 프로세서, RAM(Random Access Memory), 저장 공간, 그리고 TPM(Trusted Platform Module)과 같은 최신 기술 지원에 중점을 두고 있습니다.

이러한 요구 사항 강화는 사용자에게 직접적인 영향을 미칩니다. 일부 사용자는 이전 기기에서 최신 버전의 Windows를 실행할 수 없을 수 있기 때문입니다. 그러나 이러한 조치를 통해 Microsoft는 새롭고 향상된 기능을 도입하고, 전반적인 시스템 성능을 향상시키며, 더 높은 수준의 보안을 제공할 수 있습니다. 예를 들어 Windows 11의 일부 고급 기능을 사용하려면 특정 명령어를 지원하는 최신 프로세서와 함께 향상된 보안 및 데이터 보호를 위한 TPM 2.0 모듈이 필요합니다.

또한, 엄격한 요구 사항을 통해 Microsoft는 최신 기기 지원 및 최신 기술과의 호환성 향상에 집중하여 전반적으로 더 나은 사용자 경험을 제공할 수 있습니다. 이러한 변화는 구형 기기를 사용하는 사용자에게는 다소 불편을 초래할 수 있지만, 기기를 업그레이드하거나 새 기기를 구매하는 사용자는 Windows 운영 체제에서 최상의 성능과 보안을 누릴 수 있습니다.

이는 장치 드라이버를 검사하는 간단한 도구로 시작되었습니다.

Windows 2000의 드라이버 검증기를 위한 그래픽 사용자 인터페이스

Microsoft가 장치 드라이버에 디지털 서명을 의무화하려는 움직임은 2000년대 중반, 스파이웨어, 루트킷, 운영 체제 안정성에 대한 우려가 커지면서 시작되었습니다. Windows XNUMX부터 Driver Verifier는 명령줄 프로그램으로, 장치 드라이버의 불법 기능을 테스트하고 오류를 감지하는 데 사용되었으며, Windows XP 출시와 동시에 그래픽 사용자 인터페이스로 업데이트되었습니다. 당시에는 드라이버 서명 기능이 존재했지만 엄격하게 요구되는 것은 아니었습니다. 다만 그룹 정책 옵션을 통해 설치를 완전히 차단하거나, 사용자에게 경고하지만 설치를 허용하거나, 또는 자동으로 설치하도록 설정할 수 있었습니다.

하지만 윈도우 64비트 버전이 출시되면서 상황이 바뀌었습니다. 윈도우 비스타(그리고 제한적이지만 윈도우 XP 64비트 버전 에서도 자체 서명 인증서 사용이 가능했습니다 )부터 64비트 윈도우 시스템에서는 커널 모드 정의 서명이 필수화되었습니다. 이는 커널 패치 보호(PatchGuard)라고도 불리는 광범위한 보안 강화 조치의 일환이었습니다. 비스타 64비트 버전에 서명을 의무화한 것은 당시 논란을 불러일으켰지만, 마이크로소프트의 목표는 악성코드의 특정 유형을 제거하고, 당시 보도에 따르면 디지털 저작권 관리(DRM)를 보호하는 것이었습니다.

장치 드라이버 서명 요구 사항이 여러 업계의 이해관계와 부합한다는 것은 공공연한 사실이며, 당시 마이크로소프트는 이를 통해 기업들이 자사 드라이버를 배포하려면 라이선스 비용을 지불하도록 사실상 강제할 수 있었습니다. 그렇지 않으면 대부분의 장치에 해당 드라이버가 설치되지 않았을 것입니다. 그 이후로 요구 사항은 훨씬 엄격해졌으며, 앞서 언급했듯이 Windows 10 버전 1607에서는 모든 드라이버에 마이크로소프트 인증서로 서명해야 합니다.

Windows 11은 새 시스템에 UEFI 보안 부팅 과 TPM 모듈을 기본적으로 요구하여 부팅 프로세스와 정의의 안정성을 크게 향상시킵니다. 다시 말해, 최신 Windows는 마이크로소프트라는 중앙 기관이 어떤 저수준 코드가 실행될지 결정합니다. 그 결과, 공격자가 침입하기 훨씬 어려워졌으며, 마이크로소프트(및 몇몇 인증서 제공업체)는 Windows 플랫폼의 게이트키퍼 역할을 효과적으로 수행합니다.

Microsoft는 어떤 대가를 치르더라도 커널을 보호하려고 노력합니다.

Microsoft는 Windows 운영 체제의 보안을 강화하기 위해 끊임없이 노력하고 있으며, 커널 보호는 최우선 과제입니다. 커널은 운영 체제의 핵심이며, 커널이 침해되면 기기를 완전히 장악하게 됩니다. 이러한 이유로 Microsoft는 다층적인 보호 기능을 통해 커널에 대한 무단 접근을 차단하는 기술과 소프트웨어에 막대한 투자를 하고 있습니다.

이러한 노력에는 커널 무단 수정을 방지하는 커널 패치 보호(Kernel Patch Protection)와 민감한 프로세스를 안전한 가상 환경에서 격리하는 가상화 기반 보안(Virtualization-Based Security)과 같은 기술이 포함됩니다. Microsoft는 또한 커널을 손상시키려는 시도를 실시간으로 탐지하는 고급 분석 도구를 개발하고 있습니다.

커널 보호는 특히 사이버 공격 방식이 진화함에 따라 지속적인 과제입니다. 따라서 마이크로소프트는 윈도우 의 보안과 신뢰성을 보장하기 위해 보안 메커니즘을 지속적으로 업데이트하고 개선하는 데 전념하고 있습니다. 이러한 노력은 사용자 데이터와 장치의 무결성을 유지하는 데 있어 커널의 핵심적인 역할을 마이크로소프트가 인식하고 있음을 반영합니다.

일반 개발자도 사용할 수 없다는 뜻이더라도요.

Windows 11에서 Windows 사용자 폴더를 표시합니다.

드라이버 서명 적용이 Windows 운영 체제의 보안을 크게 향상시켰다는 강력한 주장이 있습니다. 서명되지 않은 드라이버를 차단함으로써 루트킷이나 커널 수준 맬웨어와 같이 바이러스 백신 소프트웨어가 감지하지 못하는 모든 유형의 디지털 공격이 차단됩니다. 과거에는 최첨단 맬웨어 중 상당수가 메모리에 접근하거나 시스템을 심층적으로 변경하기 위해 드라이버로 위장하려고 시도했습니다. 오늘날 맬웨어는 도난당하거나 유출된 디지털 인증서를 보유하지 않는 한 완전히 패치된 64비트 Windows 시스템에 드라이버를 로드할 수 없습니다. 이는 Windows XP 시절보다 훨씬 높은 장벽입니다. 부팅 시 서명되지 않은 드라이버가 발견되면 시스템이 시작되지 않습니다.

최신 온라인 게임용 부정행위 방지 시스템은 윈도우 드라이버 서명 요구 사항의 주요 수혜자가 되었습니다. 많은 경쟁 게임에서, 고도화된 부정행위 개발자들은 사용자 모드에서 부정행위 방지 도구에 탐지되지 않도록 커널 모드에서 부정행위 프로그램을 실행하려고 시도합니다. 이것이 바로 Easy-Anti Cheat, Faceit, Riot Vanguard를 비롯한 많은 부정행위 방지 솔루션이 자체 커널 드라이버를 설치하는 이유입니다. 이러한 부정행위 방지 프로그램은 관리자 사용자보다 높은 권한으로 작동하여(관리자조차도 서명되지 않은 드라이버를 설치할 수 없다는 것을 기억하세요) 시스템에서 부정행위를 감시하고, 게임 메모리 접근을 차단하고, 게임 코드가 변조되지 않았는지 확인합니다. 드라이버 서명은 개발자들이 게임을 보호하기 위해 구축하는 이러한 방어벽의 핵심 요소입니다. 윈도우는 제대로 서명되지 않은 드라이버를 거부하기 때문에, 부정행위 개발자는 단순히 사용자 지정 커널 드라이버를 만들어 임의로 로드하여 부정행위 방지 시스템을 우회할 수 없습니다. 운영 체제가 이를 허용하지 않기 때문입니다.

Valorant 화면에 있는 모델의 AI 분류

이에 대응하여 치트 제공업체와 악성코드 개발자들은 드라이버 강제 적용의 효과를 입증할 수 있는 취약점을 찾았습니다. 흔히 사용되는 기법 중 하나는 BYOVD(Bring Your Own Vulnerable Driver, 취약한 드라이버를 직접 가져오는 방식)로, 공격자는 이미 알려진 취약점을 포함하는 서명된 드라이버를 찾아 사용합니다. 정식 드라이버가 로드되고 Windows에서 승인되면, 해당 드라이버의 취약점을 악용하여 커널에서 코드를 실행합니다. 한 예로 Lenovo Mapper 드라이버를 악용하여 서명되지 않은 치트 드라이버를 배포하고 Riot의 Vanguard가 수행하는 TPM 검사를 비활성화하는 방식이 있습니다.

이 모든 것은 DMA(Direct Memory Access) 공격 및 부정 행위와도 관련이 있습니다. DMA는 하드웨어 장치가 CPU를 우회하여 시스템 메모리에 직접 접근할 수 있도록 하며, 잠재적으로 보조 컴퓨터가 게임 메모리에서 읽거나 쓸 수 있도록 허용합니다. 하지만 Windows는 IOMMU를 사용하여 승인되지 않은 PCIe 장치의 메모리 접근을 차단하는 DMA 커널 보호 기능을 제공합니다. DMA 리매핑 호환 드라이버를 사용하는 장치만 이 기능을 사용할 수 있으며, 이 드라이버 기능 역시 Microsoft의 서명 강제 적용의 일부로 보호됩니다. 여기에 Windows 시작 전에 부팅 시 악성코드나 치트 로더가 삽입되는 것을 방지하는 보안 부팅과 TPM 기반 부팅 방지 기능을 더하면 사용자가 제어하는 ​​컴퓨터라는 점을 고려할 때 상당히 안전한 환경을 구축할 수 있습니다.

이 기술은 게임 부정행위에만 국한되지 않습니다. 드라이버를 악용하여 시스템 보안 기능을 비활성화하고 커널에 악성 코드를 심는 랜섬웨어 사례는 수없이 많습니다. 이로 인해 공격 영역이 운영 체제에서 마이크로소프트가 검증하고 서명한 저수준 코드로 이동하게 됩니다. 맬웨어 개발자는 사용자 기기에 이미 설치된 기존 드라이버를 악용해야 하는데, 이는 널리 사용되는 드라이버에서 취약점을 발견하거나 사용자를 속여 해당 취약점이 있는 소프트웨어를 설치하게 하는 것을 의미합니다.

드라이버 서명 적용은 포괄적인 보안 아키텍처의 한 요소일 뿐이며, 그 자체로는 모든 것을 차단하기에 충분하지 않습니다. 하지만 Microsoft에서 사용하는 다른 기술들과 결합하면 보안 수준을 크게 높일 수 있다는 것은 부인할 수 없습니다. 도난당한 인증서는 감지 및 해지되기 전까지 차용된 시간 동안 작동하며, 하드웨어적인 해결책 또한 종종 효과가 없습니다.

운전자의 서명이 소비자에게 불리한 것으로 간주되는 이유는 무엇입니까?

드라이버 서명 적용은 Windows와 같은 운영 체제가 시스템에 설치된 드라이버가 신뢰할 수 있고 변조되지 않았는지 확인하기 위해 따르는 보안 조치입니다.

하지만 왜 일부 사람들은 이러한 움직임을 "소비자 반대"로 보는 걸까?

답은 여러 가지에 있습니다.

  • 선택의 자유 제한: 서명 적용은 사용자가 신뢰하는 드라이버라도 Microsoft 또는 다른 공인 기관에서 디지털 서명하지 않았다는 이유로 설치하지 못하게 할 수 있습니다. 이는 사용자가 원하는 하드웨어와 소프트웨어를 선택할 수 있는 자유를 제한합니다.
  • 오래된 장치 지원의 어려움: 제조업체는 종종 구형 기기의 드라이버 업데이트를 중단합니다. 구형 기기용 드라이버가 서명되지 않은 경우, 사용자는 드라이버 서명을 강제하는 최신 운영 체제에서 해당 드라이버를 사용할 수 없습니다. 이로 인해 구형 기기가 여전히 잘 작동하더라도 사용자는 새 하드웨어를 구매해야 합니다.
  • 서명을 받는 데 드는 비용: 디지털 서명을 얻는 것은 특히 개인 개발자나 소규모 사업체의 경우 비용이 많이 들 수 있습니다. 이는 혁신을 저해하고 특수 기기나 희귀 기기용 새 드라이버 개발을 어렵게 만들 수 있습니다.
  • 호환성 문제: 서명된 드라이버가 다른 하드웨어나 소프트웨어와의 호환성 문제를 일으키는 경우가 있습니다. 특히 IT 전문가가 아닌 사용자는 이러한 문제를 파악하고 해결하는 데 어려움을 겪을 수 있습니다.
  • 대기업의 독점: 운전자 서명을 요구하는 것은 대기업이 소기업이나 개인 개발자에 비해 불공평한 이점을 제공한다고 여겨집니다. 대기업은 디지털 서명을 쉽게 얻을 수 있는 자원을 가지고 있는 반면, 개인 개발자는 어려움을 겪을 수 있습니다.

간단히 말해, 운전자 서명 시행은 보안을 강화하기 위한 것이지만, 선택의 자유를 제한하고, 오래된 기기에 대한 지원을 어렵게 만들고, 비용을 증가시키고, 호환성 문제를 일으키고, 대기업의 독점을 강화하는 등 소비자에게 부정적인 영향을 미칠 수 있습니다.

따라서 운전자 서명을 강제하는 데 따른 보안상의 이점은 소비자와 혁신에 미치는 부정적인 영향과 균형을 이루어야 합니다.

이는 특정 기기에서 무엇을 실행할 수 있고, 무엇을 실행할 수 없는지에 대한 것입니다.

여러 PC와 전자 부품이 있는 테이블

드라이버 서명이 보안에 그렇게 유익하다면, 무엇이 소비자에게 불리하게 작용할까요? 이러한 비판은 이 보안 메커니즘이 사용자의 자유와 시스템 제어권을 심각하게 제한한다는 사실에서 비롯됩니다. 보안과 개방성 사이에는 암묵적인 상충 관계가 존재하며, 마이크로소프트는 후자보다는 보안에 크게 의존합니다. 마이크로소프트는 운영 체제가 마이크로소프트가 검증한 저수준 코드만 신뢰하는 모델을 채택했습니다. 이는 업계의 이익과 부합하는 방식으로 권한을 중앙 집중화하고 인증을 통해 수익을 창출하는 방식입니다.

드라이버 서명 강제 적용 비활성화 문제로 돌아가서, 개인 용도의 맞춤형 드라이버를 개발하는 것은 (자신의 하드웨어든 자신이 소유한 장치든) 번거로운 일입니다. "드라이버 서명 강제 적용 비활성화" 시작 옵션을 사용하여 보안 검사를 완전히 비활성화하거나, Windows의 서명 테스트 모드를 활성화해야 하는데, 둘 다 그다지 편리하지 않습니다. 일반적으로 생각하는 "소유권"과는 달리, 사용자는 컴퓨터를 완전히 소유하고 있는 것이 아닙니다. 커널 수준에서 Microsoft가 제어권을 유지합니다.

게다가 대기업이나 자원이 풍부한 개발자만이 드라이버 서명 요구 사항을 쉽게 충족할 수 있습니다. 최신 버전의 Windows용으로 제대로 서명된 드라이버를 얻으려면 개발자는 EV(전자 값 서명) 인증서를 취득해야 하는데, 이를 위해서는 엄격한 신원 및 하드웨어 코드 검증이 필요하며 매년 수백 달러의 비용이 발생합니다. 노트패드++는 이러한 코드 서명 문제의 대표적인 예로 , 사용자 수준 애플리케이션이 마이크로소프트의 연간 인증서 비용 지불 거부로 인해 영향을 받았습니다. 이와 동일한 개념이 드라이버에도 적용됩니다.

Windows 로드 방식을 변경하는 다양한 옵션을 보여주는 시작 설정의 스크린샷

하지만 이 요구 사항은 일반 소비자가 서명된 드라이버 업데이트를 받지 않은 구형 기기를 사용하지 못하게 할 수도 있습니다. 예를 들어 Windows 11 PC에 연결하려는 구형 PC 주변 기기가 있다고 가정해 보겠습니다. 해당 드라이버가 Windows XP 시대 버전이고 디지털 서명이 없는 경우, 해당 기기는 완전히 차단됩니다. 서명 적용을 비활성화하거나(이 경우 여러 문제가 발생할 수 있습니다) 기기를 폐기할 수 있습니다. 과거에는 드라이버를 직접 수정할 수 있었지만, 관련 비용과 복잡성 때문에 요즘은 DIY 솔루션이 거의 사용되지 않습니다.

사실, 커뮤니티 구성원들이 직접 문제를 해결하려 할 때조차도 역효과가 빠르게 나타날 수 있습니다. 시스템 팬을 제어하는 ​​데 사용되는 대표적인 드라이버로는 InpOut32와 WinRing0이 있습니다. InpOut32는 Riot의 Vanguard와 충돌하기 때문에 많은 개발자들이 WinRing0을 선택했고, 이것이 Fan Control과 같은 도구의 핵심이 되었습니다. 그러나 2020년에 WinRing0에서 심각한 보안 취약점이 발견되었고 , 이로 인해 몇 년 후 Windows Defender에 의해 차단되어 해당 드라이버에 의존하는 애플리케이션은 더 이상 사용할 수 없게 되었습니다.

이 문제는 마이크로소프트가 인정할 만한 유효한 드라이버를 개발하고 유지하는 데 드는 비용으로 인해 더욱 심화됩니다. 다음은 이 문제를 잘 보여주는 The Verge 기사의 일부입니다.

SignalRGB의 설립자인 티모시 선은 보안 위험이 훨씬 더 복잡하다고 설명합니다. "WinRing0가 시스템 전체에 설치되기 때문에 사용자 시스템에 처음 설치된 버전에 의존하고 있다는 것을 알게 되었습니다. 이로 인해 다른 애플리케이션이 잠재적으로 취약한 버전을 설치했는지 확인하기가 매우 어려웠고, 우리의 노력에도 불구하고 사용자를 위험에 빠뜨렸습니다."라고 그는 말합니다.
그래서 그의 회사는 자체 RGB 인터페이스에 투자했고, 결국 0년에 WinRing2023을 폐기하고 자체 SMBus 드라이버를 채택했습니다. 하지만 Sun을 포함하여 제가 이야기를 나눈 개발자들은 이것이 막대한 비용이 드는 제안이라는 데 동의합니다.
Sun은 "감히 말씀드리자면, 개발 과정이 까다로웠고 상당한 엔지니어링 자원이 필요했습니다."라고 말했습니다. OpenRGB의 Adam Honsey는 "소규모 오픈소스 프로젝트는 이러한 방향으로 나아갈 재정적 여력도 부족하고, 마이크로소프트 커널 개발에 필요한 전문 지식도 부족합니다."라고 말했습니다.

WingRing0의 개발자인 OpenLibSys는 요즘 활동이 없는 것으로 보이며, 동일한 드라이버가 업데이트되더라도 Microsoft의 엄격한 지침에 따라 서명을 승인받을 가능성은 낮습니다. Microsoft는 또한 이 드라이버에 의존하는 애플리케이션이 얼마나 많은지 알고 있었습니다(Razer Synapse, SteelSeries Engine 등 여러 애플리케이션도 이 드라이버를 사용). 따라서 2025년 지원 중단 전까지 몇 년 더 사용할 수 있을 것으로 예상했습니다.

리눅스는 어떤가요?

Linux는 Windows나 macOS만큼 널리 사용되지는 않지만, 특히 개발자와 IT 전문가에게는 강력하고 안정적인 선택입니다. Linux는 매우 유연하고 사용자 정의가 가능하여 운영 체제를 완벽하게 제어하려는 사용자에게 이상적입니다. 또한 Linux는 안전하고 안정적인 운영 체제로 간주되며, 다른 운영 체제보다 맬웨어와 바이러스에 덜 취약합니다.

Linux 사용을 고려하고 있다면 Ubuntu, Fedora, Debian 등 다양한 배포판이 있다는 점을 알아두는 것이 중요합니다. 각 배포판은 고유한 기능과 도구를 갖추고 있으므로 자신의 필요와 요구 사항에 가장 적합한 배포판을 선택하는 것이 중요합니다. 예를 들어 Ubuntu는 사용하기 쉽고 널리 사용 가능하여 초보자에게 인기 있는 반면, Fedora는 최신 기술을 경험하고 싶은 사용자에게 좋은 선택입니다.

전반적으로 Linux는 다른 운영체제에 비해 많은 장점을 제공하는 훌륭한 운영체제입니다. 하지만 처음에는 사용법을 익히는 것이 다소 어려울 수 있으며, 특히 Windows나 macOS에 익숙하다면 더욱 그렇습니다. 하지만 조금만 노력하면 Linux는 여러분의 요구를 충족할 수 있는 강력하고 안정적인 운영체제임을 알게 될 것입니다.

완전히 다른 정신

리눅스 커널 업데이트

Windows와 달리 Linux는 오픈 소스 운영 체제입니다. 커널에서 무엇을 실행할 수 있는지 결정하는 단일 중앙 기관이 없습니다. Linux 배포판은 모듈 서명을 강제할 수 있습니다(특히 보안 부팅이 활성화된 경우; 일부 배포판은 커널 모듈에 키 서명을 요구합니다). 하지만 궁극적으로는 사용자가 커널을 재컴파일하거나 이러한 검사를 비활성화할 수 있습니다. 이것이 바로 Windows에서처럼 Linux에 안티치트 소프트웨어를 배포할 수 없는 여러 이유 중 하나입니다.

Linux에서 루트 수준 접근 권한을 가진 치터는 전능한 것으로 간주됩니다. 이들은 커널을 재컴파일하여 안티 치트 후크를 제거하거나, 중앙 서명 기관 없이도 자체 커널 모듈을 로드할 수 있습니다. 많은 치터들이 탐지를 피하기 위해 /root 디렉터리에서 루트 권한으로 치트를 실행한다는 점을 고려하면, 게임 개발자들이 안티 치트 소프트웨어를 Linux로 포팅하는 데 그다지 적극적이지 않은 이유를 알 수 있습니다. 게임이 루트 접근 권한을 요구하더라도(Windows에서 단순한 안티 치트 프로그램보다 더 나쁠 것입니다), "fakeroot" 환경에서 실행하면 게임이 루트 접근 권한이 없는 경우에도 루트 권한이 있는 것처럼 인식하게 할 수 있습니다.

이 모든 것은 리눅스의 개방적인 특성으로 인해 어떠한 방어 수단도 동등한 권한을 가진 공격으로 대응할 수 있음을 의미하며, 이러한 현실은 현재 리눅스 게임의 현실에도 반영되어 있습니다. 많은 인기 게임들이 리눅스에서 플레이할 수 있지만(종종 윈도우에서보다 훨씬 더 나은 경우도 있습니다), 결과적으로 많은 경쟁 게임들은 리눅스에서 아예 실행되지 않습니다. 이러한 개념은 악성코드에도 적용되지만, 리눅스에서 악성코드가 발생하는 상황은 상당히 다릅니다.

Valorant "부정행위 감지, 매치 종료" 화면

Microsoft의 드라이버 서명 강제 적용은 기업에 매력적입니다. Windows는 커널을 잠금으로써 이러한 제한 없이는 더 개방적인 시스템에서는 불가능했을 수준의 보안 및 제어 기능(치트 방지, 맬웨어 방지 등)을 제공합니다. 많은 게이머와 기업에게 이러한 절충안은 일부 사용자에게는 실망스러울 수 있지만, 그만한 가치가 있는 경우가 많습니다. Linux 사용자는 비교할 수 없는 제어 기능을 누리지만, 바로 이러한 자유로움 때문에 클라이언트 측 치트 방지 메커니즘은 대개 쓸모가 없습니다. Linux 컴퓨터에서 Windows가 누리는 이러한 보안 이점을 활용하려면 애초에 Windows를 떠나고 싶게 만들었던 것과 동일한 제한 사항이 다시 적용됩니다.

중앙 인증 기관이 없음에도 불구하고 Linux 사용자가 안전하게 유지되는 이유는 여러 가지가 있습니다. Linux의 고급 사용자 권한 시스템, 보안 취약점이 발견되면 신속하게 패치를 제공하는 오픈소스 커뮤니티(xz-utils와 같은 주요 익스플로잇이 유출되더라도), 낮은 시장 점유율로 인해 공격 대상으로서 매력도가 낮다는 점, 그리고 검증된 저장소를 통해 주로 설치되는 소프트웨어 패키지 등의 이유로 Windows 사용자를 공격 대상으로 삼는 것만큼 매력적이지 않습니다.

자유와 안보: 항상 이루기 어려운 방정식

종종 이런 의문이 제기됩니다. 자유와 안보 사이에서 균형을 이룰 수 있을까요? 답은 간단하지 않습니다. 현실은 최대한의 자유를 얻는 것이 최대한의 안보를 보장하는 것과 때로는 상충될 수 있으며, 그 반대의 경우도 마찬가지라는 점을 인식하게 합니다.

자유라는 개념은 표현의 자유, 이동의 자유, 신념의 자유 등 여러 측면을 포괄합니다. 그러나 이러한 자유는 제대로 통제되지 않을 경우, 개인이나 집단이 사회의 안보와 안정을 위협하는 데 악용될 수 있습니다. 예를 들어, 표현의 자유는 기본권이지만, 증오와 폭력을 확산하거나 제도에 대한 신뢰를 훼손하는 허위 정보를 조장하는 수단으로 악용될 수 있습니다.

반면, 광범위한 감시, 개인 이동 제한, 정보 접근 제한과 같은 강화된 보안 조치는 개인의 자유를 침해하고 민주 사회의 기반을 훼손할 수 있습니다. 보안에 대한 과도한 강조는 두려움과 자기 검열의 분위기를 조성하여 개인이 박해를 두려워하여 자신의 의견을 표현하거나 권리를 행사하기를 꺼리게 할 수 있습니다.

그렇다면 자유와 안보 사이에서 최적의 균형을 어떻게 찾을 수 있을까요? 해결책은 자유의 범위를 정의하고 안보를 위협하는 데 악용되지 않도록 명확한 통제와 기준을 수립하는 것입니다. 이러한 통제는 위협의 규모에 비례해야 하며, 필요 이상의 통제가 이루어지지 않도록 정기적인 검토를 거쳐야 합니다.

또한, 보안 조치 시행에는 투명성과 책임이 있어야 합니다. 개인은 자신의 권리를 인지하고, 자신의 자유를 침해한다고 생각되는 모든 조치에 이의를 제기할 권리가 있어야 합니다. 또한, 보안이라는 명목으로 권력이 남용되지 않도록 독립적인 감독 체계가 마련되어야 합니다.

간단히 말해, 자유와 안보의 관계는 복잡하고 역동적입니다. 어느 한쪽을 희생해서만 완전히 달성될 수는 없습니다. 둘 사이의 균형을 이루려면 지속적인 대화와 우리를 이끄는 가치와 원칙에 대한 사회적 합의가 필요합니다. 우리는 자유와 안보가 상충되는 목표가 아니라 번영하고 안정적인 사회의 필수 요소임을 항상 기억해야 합니다.

Linux와 Windows의 근본적인 차이점

두 대의 Windows 11 노트북 중 하나는 메모장에서 내보낸 앱 목록을 표시하고 다른 하나는 winget을 사용하여 해당 앱을 가져옵니다.

마이크로소프트의 드라이버 서명 정책은 보안 관점에서 매우 효과적임이 분명합니다. 모든 커널 드라이버에 서명 및 검증을 요구함으로써 마이크로소프트는 악성코드 및 저수준 사기 도구로부터 시스템을 보호하는 데 있어 가장 강력한 소비자 운영 체제 중 하나를 구축했습니다. 윈도우 플랫폼은 사용자와 프로그램이 신뢰할 수 있는 안정적인 운영 체제를 유지하는 독보적인 능력을 가지고 있습니다. 이것이 바로 드라이버 서명 정책이 최고의 보안 기능 중 하나로 꼽히는 이유이며, 탁월한 성능을 발휘 하여 시스템 보호에 상당한 기여를 해왔습니다.

하지만 이러한 보안은 소비자에게 비용을 초래합니다. 중앙 기관의 통제권을 빼앗아 가고, 운영 체제의 기능을 완벽하게 제어할 수 없다는 점은 개방형 컴퓨팅을 중시하는 많은 사람들에게 매력적이지 않습니다. 어떤 의미에서 Windows 11은 커널 코드와 관련하여 사용자를 신뢰할 수 없는 존재로 취급하며, 누구든 (당신을 포함하여) 통제되지 않으면 악의적인 행동을 할 수 있다고 가정합니다.

보안 관점에서 볼 때, 이 특정 기능은 위험 감소의 훌륭한 예입니다. 가장 위험한 공격 경로 중 하나를 크게 차단하기 때문입니다. 그러나 소비자 권리 관점에서 보면, 마이크로소프트가 허용하는 것과 허용하지 않는 것에 묶여 마치 우리가 소유한 하드웨어를 사용하는 대가로 일자리를 빌리는 것처럼 느껴질 수 있습니다. 만약 이 개념이 운영 체제 "보호"에도 적용된다면 어떨까요? 마이크로소프트가 승인하지 않는 시스템 수정 작업을 하는 디블로팅 도구나 프로그램이라면 어떻게 될까요?

일반 사용자에게 드라이버 서명 의무화는 분명 좋은 조치입니다. 하지만 오픈 소스 소프트웨어 개발자들이 소프트웨어를 개발하고 공유하는 데 드는 비용 때문에 플랫폼에서 배제되는 것은 바람직하지 않으며, 특히 윈도우를 통해 하드웨어와 상호 작용하는 저에게는 하드웨어에 대한 진정한 소유권을 느끼지 못하는 것이 옳지 않게 느껴집니다.

댓글이 닫혀있다.