오늘 우리는 Windows 사용자에 관한 최신 PrintNightmare 위기에 대해 이야기하고 PC를 보호하기 위한 몇 가지 권장 사항을 제공할 것입니다. Windows 인쇄 대기열에 있는 치명적인 취약점입니다. 미국 사이버 보안 및 기반 시설 보안국(CISA)은 이에 대한 성명을 발표했고 그 이후로 모두가 다른 얘기를 하고 있습니다. 오늘 우리는 이 문제를 A부터 Z까지 논의합니다.
PrintNightmare: 어떻게 시작되었나요?
마이크로소프트는 지난 6월 8일 “Windows Print Spooler Remote Code Execution Vulnerability”라는 제목의 CVE-2021-1675를 공개했다. 그 당시에는 악용되기 전에 식별되어 쉽게 고칠 수 있는 사소한 위협으로 보였습니다. 그러므로 걱정할 이유가 없었다.
그런 다음, 세계의 주요 보안 기관은 CVE-2021-1675에 대한 주요 업데이트를 경고하는 성명을 발표하기 시작했습니다. 이러한 메시지는 사용자와 조직이 이 위협으로부터 자신을 보호하기 위한 조치를 즉시 채택할 것을 촉구했습니다. 같은 기간에 Microsoft는 PrintNightmare라는 별명을 가진 취약점 CVE-2021-34527을 게시했습니다.
Microsoft는 Windows 인쇄 스풀러에 영향을 주는 원격 코드 실행 취약점에 CVE-2021-34527을 할당했습니다. 여기에서 더 많은 정보를 얻으십시오: https://t.co/OarPvNCX7O
— Microsoft 보안 인텔리전스(@MsftSecIntel) 2021년 7월 2일
고위험 등급을 받은 CVE-2021-1675와 달리 PrintNightmare는 원격 코드 실행이 가능하여 처음부터 치명적 취약성 등급을 받았습니다. 그 이후로 몇 가지 업데이트가 있었고 Microsoft는 이 문제에 대해 24시간 내내 노력해 왔습니다. 그 동안 최종 솔루션을 기다리는 동안 위험을 완화하기 위한 몇 가지 권장 사항을 찾을 수 있었습니다.
PrintNightmare는 무엇입니까?
문제는 Windows 인쇄 대기열, 특히 이름에서 알 수 있듯이 시스템에 새 프린터를 설치할 수 있도록 하는 RpAddPrinterDriverEx()의 기능에 있습니다. 인쇄 관리자는 액세스를 제한하지 않지만 인증된 모든 사용자가 원격으로 사용할 수 있습니다.
그렇다면 사용자가 원격으로 프린터를 설치할 수 있는 문제는 무엇이며 PrintNightmare를 그렇게 위험하게 만드는 것은 무엇입니까? 프린터 설치에 대해 이야기할 때 드라이버를 참조합니다. 누군가 권한 없이 드라이버를 설치할 수 있다면 많은 악성 요소가 포함될 수 있습니다. 따라서 시스템에 대한 액세스 권한을 얻고 RpAddPrinterDriverEx()를 사용하여 악성 코드를 실행하는 공격자는 권한을 상승시키고 손상된 시스템에 페이로드를 전송하며 PC를 완전히 제어할 수도 있습니다.
인쇄 관리자는 모든 Windows 버전에 존재하는 구성 요소이므로 Microsoft는 운영 체제 설치가 PrintNightmare를 사용하는 공격에 취약하다는 것을 나타냅니다. 따라서 Windows 버전이 무엇이든 원칙적으로 시스템은 PrintNightmare에 노출되므로 자신을 보호하기 위한 조치를 취해야 합니다.
PrintNightmare로부터 자신을 보호하는 방법은 무엇입니까?
PrintNightmare를 수정하는 Microsoft 패치가 이미 있지만 실제로는 효과적이지 않습니다.
그러나 이에 들어가기 전에 처음에 언급한 것을 기억하고 CVE-2021-1675와 CVE-2021-34527을 구별해야 합니다. 전자의 경우 Microsoft는 이미 이 취약점의 특정 위험을 완화하는 수정 사항을 발표했습니다. 그러나 이러한 패치는 CVE-2021-34527과 관련된 문제를 해결하지 않습니다.
한편, 어제 Microsoft는 공식적으로 더 이상 지원되지 않는 일부 버전을 포함하여 다양한 Windows 버전용 PrintNightmare용 패치를 출시했습니다.
- KB5004945: Windows 10 20H1, 20H2 및 21H.
- KB5004946: Windows 10 버전 1909
- KB5004947: Windows 10 버전 1809 및 Windows Server 2019
- KB5004949: Windows 10 버전 1803
- KB5004950: Windows 10 버전 1507
- KB5004951: Windows 7 SP1 및 Windows Server 2008 R2 SP1
- KB5004958: Windows 8.1 및 Windows Server 2012
- KB5004959: 윈도우 서버 2008 SP2
이 릴리스 이후에 나쁜 소식이 들리기 시작했으며 일부 사용자는 공식 패치가 불완전하고 효과가 없다고 주장합니다.
0Patch는 PrintNightmare에 대해 효과적인 것으로 입증된 비공식 패치를 출시했지만 공식 Microsoft 패치를 적용하면 0patch에서 개발한 패치의 영향이 완화되므로 시스템은 이 보안 문제를 기반으로 한 공격에 다시 한 번 취약해집니다.
PrintNightmare에 대해 0patch를 사용하는 경우 7월 6일 Windows 업데이트를 적용하지 마십시오! 로컬 공격 벡터를 수정하지 않을 뿐만 아니라 원격 벡터도 수정하지 않습니다. 그러나 localspl.dll을 변경하여 문제를 수정하는 패치 적용을 중지합니다. https://t.co/osoaxDVCoB
— 0패치(@0패치) 2021년 7월 7일
마이크로소프트는 이 문제를 해결하기 위해 노력하고 있다고 밝혔지만 그 동안 0patch의 패치가 제공되는 보호가 이미 충분하기 때문에 0patch의 패치를 사용하는 경우 Windows의 자동 업데이트를 허용하지 않는 것이 좋습니다. 또 다른 가능성은 각 시스템에서 필요하지 않은 인쇄 서비스를 비활성화하는 것입니다. 예를 들어 서버는 인쇄 서버가 아닌 경우 보안상의 이유로 이러한 서비스를 비활성화해야 합니다. 그리고 끝점에 관해서는 정확히 동일합니다. 특히 인쇄하지 않는 시스템에 대해 이야기하는 경우 인쇄와 관련된 활성 서비스를 최소로 줄이십시오.
인쇄 대기열 서비스의 현재 상태를 확인하려면 PowerShell 콘솔을 열고 명령줄에 Get-Service -Name Spooler를 입력해야 합니다. 결과적으로, 우리는 그것의 현재 상태를 얻을 것입니다. 서비스가 꺼져 있거나 비활성화된 것으로 표시되는 경우 해당 시스템에서 PrintNightmare 문이 닫혀 있기 때문에 걱정할 필요가 없습니다. 서비스가 활성화된 경우 인쇄 서버에 대해 이야기하지 않는 한 두 가지 가능성이 있습니다. 이 경우 서비스가 작동을 중지하므로 이러한 조치를 적용할 수 없습니다.
첫 번째는 의심할 여지 없이 가장 과감하며 해당 시스템에서 인쇄하지 않는 경우에만 사용할 수 있습니다. 서비스 상태를 확인하는 데 사용하는 것과 동일한 Powershell 콘솔에서 다음 명령을 입력해야 합니다.
서비스 중지 – 이름 스풀러 – 강제
Set-Service -Name 스풀러 -StartupType 비활성화됨
첫 번째는 Windows 인쇄 서비스를 즉시 중지하고 두 번째는 시스템을 재부팅한 후 다시 로드되지 않도록 구성을 수정합니다. Microsoft가 PrintNightmare를 영구적으로 수정하는 패치를 출시하면 이 명령으로 다시 활성화할 수 있습니다.
Set-Service -Name 스풀러 -StartupType 활성화됨
이렇게 하면 시스템을 재부팅한 후 해당 시스템에서 다시 정상적으로 인쇄할 수 있습니다.
두 번째 방법은 시스템의 인쇄 서버 기능만 비활성화하는 것입니다. 이렇게 하면 시스템에서 계속 인쇄할 수 있지만 네트워크의 다른 컴퓨터 및 장치에 대한 인쇄 서버 기능은 더 이상 사용할 수 없습니다. 이렇게 하려면 로컬 그룹 정책 편집기에 액세스해야 하며 로컬 컴퓨터 정책 > 컴퓨터 구성 > 관리 템플릿 > 프린터로 이동하여 인쇄 작업 관리자가 클라이언트 연결을 수락하도록 허용 항목을 찾아야 합니다.
그런 다음 두 번 클릭하고 상태를 확인합니다. PrintNightmare 위험을 방지하려면 비활성화되어야 합니다. 따라서 Not Configured 또는 Enabled로 설정되어 있으면 이 값을 변경하고 시스템을 재부팅하십시오.
PrintNightmare용 Microsoft 패치를 이미 설치했다면 어떻게 됩니까?
이 글을 읽을 때쯤이면 이미 공식 Microsoft 패치를 설치했을 가능성이 있습니다. 문제는 PrintNightmare 문제를 해결하지 못한다는 것입니다. 이러한 경우 Windows 레지스트리 설정을 변경해야 합니다. 이를 수행하는 가장 빠른 방법은 콘솔(명령 프롬프트)을 열고 다음 명령을 입력하는 것입니다.
“HKEY_LOCAL_MACHINE 소프트웨어 정책 Microsoft Windows NT 프린터 PointAndPrint” / v RestrictDriverInstallationToAdministrators / t REG_DWORD / d 1 / f
표시된 대로 정확하게 입력하면 복사 및 붙여넣기를 수행할 수 있습니다. 길이로 인해 분할되지만 단일 명령이라는 점에 유의하십시오.
원칙적으로 이러한 조치는 이미 필요한 수준의 보안을 제공해야 하지만 Microsoft가 최종 솔루션을 게시할 때까지 기다려야 하는 것이 사실입니다.