취약점 정보

2011년 1월 마이크로소프트(MicroSoft) 윈도우 그래픽 렌더링 엔진 취약점 공개

TACHYON & ISARC 2011. 1. 6. 15:12

1. 개 요

 

해외시각으로 2011년 1월 4일 마이크로소프트(MS)사에서 윈도우 그래픽 렌더링 엔진(Windows Graphics Rendering Engine)의 제로데이(Zero-Day) 취약점이 공개되었다. 해당 취약점으로 인해 공격자는 원격지에서 특정 코드에 대한 실행이 가능하며, 관리자 권한에 대한 획득이 가능하다고 알려졌다.


◇ 참고 사이트

 - http://www.microsoft.com/technet/security/advisory/2490606.mspx
 - http://nakedsecurity.sophos.com/2011/01/05/zero-day-windows-exploit/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+nakedsecurity+%28Naked+Security+-+Sophos%29
 - http://www.f-secure.com/weblog/archives/00002081.html


2. 취약점 발표 내용 및 예방 조치

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 :
http://support.microsoft.com/kb/2490606


Fixit 다운로드 URL에 접속한 후 위 그림의 "문제 자동 해결"을 클릭하여 "MicrosoftFixit50590.msi" 파일을 다운로드 한 후 설치할 수 있도록 한다.

위에서 설명한 임시 해결 방안들은 공식 보안패치가 발표되기 이전에 말 그대로 임시적인 해결방법들이다. 공식 보안패치가 발표되면 해당 보안패치를 적용할 수 있도록 하자.


특정 취약점에 대한 보안패치가 공개되지 않은 상태에서 발생하는 제로데이(Zero-Day)공격은 사전차단이 어렵다. 때문에 사용자들은 ▶공식적인 보안패치가 발표될 때까지 위에서 설명한 임시 해결 방법들의 수행과 함께 반드시 ▶사용 중인 백신을 최신 엔진 및 패턴 버전으로 유지함과 동시에 실시간 감시 기능을 사용할 수 있도록 해야 한다.