¢Â Á¦¸ñ
Microsoft Internet ExplorerÀÇ createTextRange() ¿ø°Ý ÄÚµå ½ÇÇà ¹®Á¦
¢Â °³¿ä
ÀϺΠMicrosoft Internet Explorer ¹öÀü¿¡´Â ÀÓÀÇÀÇ ¿ø°Ý ÄÚµå ½ÇÇàÀÌ °¡´ÉÇÑ Ãë¾àÁ¡ÀÌ Á¸ÀçÇÑ´Ù. ÇØ´ç Ãë¾àÁ¡Àº Internet Explorer°¡ "createTextRange()" ¸Þ½îµå¸¦ È£ÃâÇÏ´Â °úÁ¤¿¡¼ ¹ß»ýÇÏ´Â ¸Þ¸ð¸® Corruption ErrorÀÌ ¿øÀÎÀÌ µÈ´Ù. °ø°ÝÀÚ´Â createTextRange() ¸Þ½îµå¸¦ Æ÷ÇÔÇÏ¿© Àß Á¶ÀÛµÈ À¥ ÆäÀÌÁö¸¦ ÅëÇØ¼ ¿ø°ÝÀ¸·Î Internet Explorer¸¦ Å©·¡½¬(crash)½ÃŰ°Å³ª ÀÓÀÇÀÇ Äڵ带 ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
¢Â °ø°ÝÀ¯Çü
Ãë¾àÁ¡À» ÀÌ¿ëÇÑ ¿ø°Ý ÄÚµå ½ÇÇà
¢Â ÇØ´ç½Ã½ºÅÛ
Internet Explorer 5.01 Service Pack 4 on Microsoft Windows 2000 Service Pack 4
Internet Explorer 6 Service Pack 1 on Microsoft Windows 2000 Service Pack 4
Internet Explorer 6 Service Pack 1 on Microsoft Windows XP Service Pack 1
Internet Explorer 6 for Microsoft Windows XP Service Pack 2
Internet Explorer 6 for Microsoft Windows Server 2003 and Microsoft Windows Server 2003 Service Pack 1
Internet Explorer 6 for Microsoft Windows Server 2003 for Itanium-based Systems, Microsoft Windows Server 2003 with SP1 for Itanium-based Systems
Internet Explorer 6 for Microsoft Windows Server 2003 x64 Edition, and Microsoft Windows XP Professional x64 Edition
Internet Explorer 6 Service Pack 1 on Microsoft Windows 98, on Microsoft Windows 98 SE, or on Microsoft Windows Millennium Edition
¢Â ¿µÇâ
°ø°ÝÀÚ´Â Ãë¾àÁ¡À» ÀÌ¿ëÇÏ¿© Internet Explorer¸¦ Å©·¡½¬(crash)½Ãų ¼ö ÀÖÀ¸¸ç, ÀÓÀÇÀÇ ÄÚµå ½ÇÇàÀ» ÅëÇØ ½Ã½ºÅÛÀÇ ¿ÏÀüÈ÷ Á¦¾î±ÇÀ» ȹµæÇÒ ¼ö ÀÖ´Ù.
¢Â ¼³¸í
ÇØ´ç Ãë¾àÁ¡Àº "createTextRange()" ¸Þ½îµå »ó¿¡¼ ¹ß»ýÇÏ´Â ÇÁ·Î±×·¥ µðÀÚÀλóÀÇ ¿À·ùÀÌ´Ù.
ÀÌ "createTextRange()"´Â ¼±ÅÃÇÑ ¹üÀ§ ¶Ç´Â ¹®¼ Àüü ¿µ¿ªÀ» ÇϳªÀÇ °´Ã¼·Î ¸¸µé¾î ÀÌ ¾È¿¡¼ ´Ù¾çÇÑ ¹®ÀÚ¿ Á¶ÀÛ ¹× ű×ÀÇ º¯ÇüÀ» °¡´ÉÇÏ°Ô ¸¸µå´Â TextRange °´Ã¼¸¦ »ý¼ºÇÏ´Â DHTML(dynamic HTML) ¸Þ½îµåÀÌ´Ù.
* Microsoft Internet Explorer createTextRange() Code Execution (CVE-2006-1359)
°ø°ÝÀÚ´Â ÇØ´ç Ãë¾àÁ¡À» ÀÌ¿ëÇÏ´Â ¾ÇÀÇÀûÀÎ À¥ ÆäÀÌÁö¸¦ ÀÛ¼ºÇÏ¿©, À¥ »çÀÌÆ®¸¦ ÅëÇØ »ç¿ëÀÚÀÇ ¹æ¹®À» À¯µµÇϰųª, ÇØ´ç À¥ ÆäÀÌÁö¿Í ¿¬°áµÈ ¾ÇÀÇÀûÀÎ ¸µÅ©¸¦ E-Mail ¶Ç´Â ¸Þ½ÅÀú¸¦ ÅëÇØ¼ Àü´ÞÇÏ´Â ¹æ¹ýÀ¸·Î ÇØ´ç Ãë¾àÁ¡À» µµ¿ëÇÒ ¼ö ÀÖ´Ù.
½ÇÁ¦ °ø°Ý Äڵ忡¼´Â "createTextRange()" ¸Þ½îµå¸¦ È£ÃâÇÏ´Â °úÁ¤¿¡¼ ´ë·®ÀÇ µ¥ÀÌÅÍ(NOP+Shellcode)·Î Heap ¸Þ¸ð¸® ¿µ¿ªÀ» ä¿ìµµ·Ï ¸¸µç´Ù. ÀÌ °úÁ¤¿¡¼ ½Ã½ºÅÛÀÇ ¸Þ¸ð¸® »ç¿ëÀÌ ±Þ°ÝÇÏ°Ô Áõ°¡ÇÏ´Â ¸ð½ÀÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
75BB1E24 SHR ECX,2
75BB1E27 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] ** µ¥ÀÌÅÍ º¹»ç
ECX ·¹Áö½ºÅÍÀÇ À߸øµÈ µð·¹ÆÛ·±½º(dereference)·Î ÀÎÇÏ¿©, ½Ã½ºÅÛÀÇ EIP ·¹Áö½ºÅÍ °ªÀÌ Á¸ÀçÇÏÁö ¾Ê°Å³ª ¶Ç´Â ÀÓÀÇÀÇ Æ¯Á¤ ¸Þ¸ð¸® °ªÀ¸·Î µ¤¾î¾²±â(Overwrite) µÈ´Ù.
±× °á°ú, Internet Explorer°¡ ¾Õ¼ Heap ¸Þ¸ð¸®¿¡ ä¿öÁø NOP+Shellcode ºÎºÐÀ» °¡¸®Å°°Ô µÇ°í °ø°ÝÀÚ°¡ »ðÀÔÇØ ³õÀº ÀÓÀÇÀÇ Äڵ带 ½ÇÇàÇÏ°Ô µÇ´Â °ÍÀÌ´Ù.
7D5322B1 MOV ECX,DWORD PTR DS:[EDI]
7D5322B3 PUSH EAX
7D5322B4 PUSH mshtml.7D4A1CA8
7D5322B9 PUSH EDI
7D5322BA CALL DWORD PTR DS:[ECX]
¢Â Â÷´ÜÁ¤º¸
Æ®·¯½º°¡µå(TrusGuard)´Â ÇØ´ç Ãë¾àÁ¡ÀÇ ¾Ë·ÁÁø °ø°Ý¿¡ ´ëÀÀÇϰí ÀÖ´Ù.
¢Â ÇØ°áÃ¥
ÇöÀç ÇØ´ç Ãë¾àÁ¡¿¡ ´ëÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»çÀÇ Á¤½Ä ÆÐÄ¡´Â Á¦°øµÇ°í ÀÖÁö ¾Ê´Ù.
Àӽà Á¶Ä¡ ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
1. ÀÎÅͳݰú ·ÎÄà ÀÎÆ®¶ó³Ý º¸¾È ¿µ¿ª¿¡¼ Active ScriptingÀ» ÇØÁ¦Çϰųª ¶Ç´Â »ç¿ëÀÚÀÇ È®ÀÎÀ» ¹Þµµ·Ï Internet ExplorerÀÇ º¸¾È ¼³Á¤À» ¼öÁ¤ÇÑ´Ù.
2. ÇØ´ç Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏÁö ¾Ê´Â ÀÎÅÍ³Ý ÀͽºÇ÷¯ ¿ÜÀÇ Å¸ ºê¶ó¿ìÀú(¸ðÁú¶ó ÆÄÀÌ¾îÆø½º, ¿ÀÆä¶ó)¸¦ »ç¿ëÇϵµ·Ï ÇÑ´Ù.
À§ÀÇ ¾Ë·ÁÁø °ø°Ý¿¡ ´ëÇÑ ÀÓ½ÃÀûÀÎ ¹æ¾îÃ¥Àº ±Ùº»ÀûÀÎ ÇØ°áÃ¥ÀÌ µÇÁö ¾ÊÀ¸¹Ç·Î Á¤½Ä ÆÐÄ¡°¡ ¸±¸®ÁîµÇ¸é ¹Ýµå½Ã ½Ã½ºÅÛ¿¡ Àû¿ëÇÏ¿©¾ß ÇÑ´Ù.
Microsoft Security Advisory(¿µ¹®)
http://www.microsoft.com/technet/security/advisory/917077.mspx