해외시각으로 2011년 1월 4일 마이크로소프트(MS)사에서 윈도우 그래픽 렌더링 엔진(Windows Graphics Rendering Engine)의 제로데이(Zero-Day) 취약점이 공개되었다. 해당 취약점으로 인해 공격자는 원격지에서 특정 코드에 대한 실행이 가능하며, 관리자 권한에 대한 획득이 가능하다고 알려졌다.
Microsoft Security Advisory (2490606) Vulnerability in Graphics Rendering Engine Could Allow Remote Code Execution
공격자는 윈도우 그래픽 렌더링 엔진의 취약점을 통해 임의의 코드를 실행 후 프로그램에 대한 설치 및 각종 데이터에 대한 보기, 변경, 삭제가 가능할 수 있다고 한다.
또한, 해당 취약점은 이미 지난 2010년 12월에 개최된 POC 2010 컨퍼런스에서 Moti Joseph 와 Xu Hao에 의해 공개된 바 있으며, 악의적으로 조작된 썸네일 이미지를 처리하는 과정에서 발생할 수 있다고 한다.
※ 썸네일 이미지
썸네일 이미지란 원본의 이미지를 축소하여 작은 크기의 이미지로 만드는 것을 말한다.
[영향을 받는 소프트웨어]
- Windows XP Service Pack 3 - Windows XP Professional x64 Edition Service Pack 2 - Windows Server 2003 Service Pack 2 - Windows Server 2003 x64 Edition Service Pack 2 - Windows Server 2003 with SP2 for Itanium-based Systems - Windows Vista Service Pack 1 and Windows Vista Service Pack 2 - Windows Vista x64 Edition Service Pack 1 and Windows Vista x64 Edition Service Pack 2 - Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2 - Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2 - Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2
[영향을 받지 않는 소프트웨어]
- Windows 7 for 32-bit Systems - Windows 7 for x64-based Systems - Windows Server 2008 R2 for x64-based Systems - Windows Server 2008 R2 for Itanium-based Systems
[임시 해결 방안]
해당 취약점에 대한 보안패치가 발표되기 전에 아래와 같은 임시 해결 방안을 수행하여 취약점에 따른 피해 발생을 줄일 수 있다.
참고로 해당 임시 해결 방안은 shimgvw.dll의 Access Control List(ACL)를 수정하는 것이며, 아래의 명령어를 명령 프롬프트 창(CMD)에서 수행하도록 한다.
Windows XP and Windows Server 2003 (32비트): - Echo y| cacls %WINDIR%\SYSTEM32\shimgvw.dll /E /P everyone:N
Windows XP and Windows Server 2003 (64비트): - Echo y| cacls %WINDIR%\SYSTEM32\shimgvw.dll /E /P everyone:N - Echo y| cacls %WINDIR%\SYSWOW64\shimgvw.dll /E /P everyone:N
Windows Vista and Windows Server 2008 (32비트): - takeown /f %WINDIR%\SYSTEM32\SHIMGVW.DLL - icacls %WINDIR%\SYSTEM32\SHIMGVW.DLL /save %TEMP%\SHIMGVW_ACL.TXT - icacls %WINDIR%\SYSTEM32\SHIMGVW.DLL /deny everyone:(F)
Windows Vista and Windows Server 2008 (64비트): - takeown /f %WINDIR%\SYSTEM32\SHIMGVW.DLL - takeown /f %WINDIR%\SYSWOW64\SHIMGVW.DLL - icacls %WINDIR%\SYSTEM32\SHIMGVW.DLL /save %TEMP%\SHIMGVW_ACL32.TXT - icacls %WINDIR%\SYSWOW64\SHIMGVW.DLL /save %TEMP%\SHIMGVW_ACL64.TXT - icacls %WINDIR%\SYSTEM32\SHIMGVW.DLL /deny everyone:(F) - icacls %WINDIR%\SYSWOW64\SHIMGVW.DLL /deny everyone:(F)
위와 같은 임시 해결방안을 수행할 경우 미디어 파일에 대한 실행에 문제가 있을 수 있다고 한다.
[임시 해결 방안에 대한 복원 방법]
위와 같은 임시 해결 방안을 통해 해당 취약점에 대한 대비를 이미 수행한 사용자의 경우 공식적인 보안패치가 발표되면 아래와 같은 방법을 통해 복원 과정을 거친 후 보안패치를 적용할 수 있도록 한다.
Windows XP and Windows Server 2003 (32비트): - cacls %WINDIR%\SYSTEM32\shimgvw.dll /E /R everyone
Windows XP and Windows Server 2003 (64비트): - cacls %WINDIR%\SYSTEM32\shimgvw.dll /E /R everyone - cacls %WINDIR%\SYSWOW64\shimgvw.dll /E /R everyone
Windows Vista and Windows Server 2008 (32비트): - icacls %WINDIR%\SYSTEM32 /restore %TEMP%\SHIMGVW_ACL.TXT
Windows Vista and Windows Server 2008 (64비트): - icacls %WINDIR%\SYSTEM32 /restore %TEMP%\SHIMGVW_ACL32.TXT - icacls %WINDIR%\SYSWOW64 /restore %TEMP%\SHIMGVW_ACL64.TXT
[Microsoft Fix it]
마이크로소프트에서는 해당 취약점에 대해 임시적인 대응 방안으로 Fixit 또한 배포중에 있다. 아래의 URL에서 다운로드가 가능하다.
Fixit 다운로드 URL에 접속한 후 위 그림의 "문제 자동 해결"을 클릭하여 "MicrosoftFixit50590.msi" 파일을 다운로드 한 후 설치할 수 있도록 한다.
위에서 설명한 임시 해결 방안들은 공식 보안패치가 발표되기 이전에 말 그대로 임시적인 해결방법들이다. 공식 보안패치가 발표되면 해당 보안패치를 적용할 수 있도록 하자.
특정 취약점에 대한 보안패치가 공개되지 않은 상태에서 발생하는 제로데이(Zero-Day)공격은 사전차단이 어렵다. 때문에 사용자들은 ▶공식적인 보안패치가 발표될 때까지 위에서 설명한 임시 해결 방법들의 수행과 함께 반드시 ▶사용 중인 백신을 최신 엔진 및 패턴 버전으로 유지함과 동시에 실시간 감시 기능을 사용할 수 있도록 해야 한다.