¾ÆÇÁ¸®Ä«TV, ÇØ´ç Ãë¾àÁ¡ ÇöÀç Á¶Ä¡...±â¾÷¿¡¼ XSS Ãë¾àÁ¡ À§Çèµµ ³ô¿©¾ß
[º¸¾È´º½º ±è°æ¾Ö] À¥»çÀÌÆ®¸¦ ÀÌ¿ëÇÏ´Ù º¸¸é ´Ù¾çÇÑ Ãë¾àÁ¡ÀÌ ¹ß°ßµÈ´Ù. ±×Áß¿¡¼µµ °¡Àå ¸¹ÀÌ ¹ß°ßµÇ°í, ¹Ýº¹ÀûÀ¸·Î ¹ß»ýÇÏ´Â Ãë¾àÁ¡ Áß Çϳª°¡ ¹Ù·Î Cross-Site Scripting(ÀÌÇÏ XSS) Ãë¾àÁ¡ÀÌ´Ù.
¾ÆÇÁ¸®Ä«TV, XSS Ãë¾àÁ¡ ¹ß°ß
±â¾÷ÀÇ À¥»çÀÌÆ®¿¡¼µµ XSS Ãë¾àÁ¡ÀÌ Á¾Á¾ ¹ß°ßµÇ´Âµ¥, ¾Õ¼ ¿µ¾î±³À° »çÀÌÆ®¿Í ÆÄÀÏ°øÀ¯ »çÀÌÆ®, ¼îÇθô, ¹æ¼Û»ç, ¿ÀǼҽº ÇÁ·Î±×·¥, ºí·Î±× µî¿¡¼µµ XSS Ãë¾àÁ¡ÀÌ ¹ß°ßµÅ º»Áö¸¦ ÅëÇØ º¸µµµÈ ¹Ù ÀÖ´Ù. ÃÖ±Ù¿¡´Â ¾ÆÇÁ¸®Ä«TV Àå¾Ö/¹ö±×½Å°í °Ô½ÃÆÇ¿¡¼ °³ÀÎÁ¤º¸°¡ Å»ÃëµÉ ¼ö ÀÖ´Â XSS Ãë¾àÁ¡ÀÌ ¹ß°ßµÆ´Ù.
À̸¦ º»Áö¿¡ Á¦º¸ÇÑ Á¶¼ºÁØ ¾¾´Â ¡°¾ÆÇÁ¸®Ä«TV¸¦ ÀÌ¿ëÇÏ´Ù°¡ ¹ö±×¸¦ ½Å°íÇÒ »óȲÀÌ »ý°å´Âµ¥ ±Û ÀÛ¼º Áß ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ Á¦´ë·Î ÇÊÅ͸µÇÏÁö ¾Ê¾Æ ¹ß»ýÇÏ´Â XSS Ãë¾àÁ¡À» ¹ß°ßÇß´Ù¡±¸ç ¡°¾ÆÇÁ¸®Ä«TVÀÇ °æ¿ì ÄíÅ°¸¦ ÅëÇØ ·Î±×ÀÎ ±ÇÇÑÀ» °®°Ô µÇ´Â °ÍÀ¸·Î ÃßÁ¤µÇ´Âµ¥, ÇØ´ç Ãë¾àÁ¡À» ¾Ç¿ëÇÏ¸é »ç¿ëÀÚÀÇ °³ÀÎÁ¤º¸°¡ Å»ÃëµÇ°Å³ª ±ÝÀüÀûÀÎ ÇÇÇØ·Î À̾îÁú ¼ö ÀÖ´Ù. µû¶ó¼ Ư¼ö¹®ÀÚ¸¦ ÇÊÅ͸µÇØ html entity·Î ġȯÇÔÀ¸·Î½á º¸¿ÏÁ¶Ä¡¸¦ ÃëÇØ¾ß ÇÑ´Ù¡±°í ¼³¸íÇß´Ù.
ÇØ´ç Ãë¾àÁ¡Àº ¾ÆÇÁ¸®Ä«TV Àå¾Ö/¹ö±×½Å°í °Ô½ÃÆÇ ±Û¾²±â ±â´ÉÀÇ ¸µÅ© ÀԷ¶õ¿¡¼ ¹ß°ßµÆ´Ù. ½ºÅ©¸³Æ®°¡ »ðÀÔµÈ °Ô½Ã±Û¿¡ µé¾î°¡¼ ¸µÅ©¹Ú½º¸¦ Ŭ¸¯Çϸé ÀÚ¹Ù½ºÅ©¸³Æ®°¡ ½ÇÇàµÇ´Âµ¥, ÀÌ´Â ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ Á¦´ë·Î ÇÊÅ͸µÇÏÁö ¾Ê¾Æ ¹ß»ýÇÏ´Â °ÍÀ¸·Î Á¦º¸ÀÚ´Â ºÐ¼®Çß´Ù.
ÀÌ·Î ÀÎÇØ °ø°ÝÀÚ´Â XSS Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏ´Â À¥»çÀÌÆ®¸¦ ÀÌ¿ëÇØ ÀÚ½ÅÀÌ ¸¸µç ¾ÇÀÇÀûÀÎ ½ºÅ©¸³Æ®¸¦ ÀÏ¹Ý »ç¿ëÀÚÀÇ ÄÄÇ»ÅÍ¿¡ Àü´ÞÇØ ½ÇÇà½Ãų ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ °ø°Ý¹æ¹ýÀ» ÅëÇØ »ç¿ëÀÚ ÄíÅ°¸¦ ÈÉÃļ ÇØ´ç »ç¿ëÀÚ ±ÇÇÑÀ¸·Î ·Î±×ÀÎÇϰųª ºê¶ó¿ìÀú¸¦ Á¦¾îÇÒ ¼öµµ ÀÖ´Ù.
ÇØ´ç Ãë¾àÁ¡¿¡ ´ëÇØ ¾ÆÇÁ¸®Ä«TV °ü°èÀÚ´Â ¡°ÁÖ±âÀûÀÎ ¼Ò½ºÄÚµå º¸¾È °Ë¼ö¿Í ¸ðÀÇÇØÅ·À» ÁøÇàÇÔ¿¡µµ ÀÌ·¯ÇÑ Ãë¾àÁ¡ÀÌ ¹ß°ßµÇ¾î Á˼۽º·´°Ô »ý°¢ÇÑ´Ù¡±¸ç ¡°ÇØ´ç Ãë¾àÁ¡¿¡ ´ëÇؼ± ÇöÀç Á¶Ä¡ ¿Ï·áÇßÀ¸¸ç, ´õ¿í öÀúÇÑ º¸¾È °Ë¼ö¸¦ ÁøÇàÇØ ÃßÈÄ ÀÌ¿Í °°Àº »óȲÀÌ ¹ß»ýÇÏÁö ¾Êµµ·Ï ½Å°æ¾²°Ú´Ù¡±°í ¹àÇû´Ù.
Çѱ¹ÀÎÅͳÝÁøÈï¿ø ȨÆäÀÌÁö °³¹ßº¸¾È ¾È³»¼¿¡ µû¸£¸é ÇØ´ç Ãë¾àÁ¡ÀÇ º¸¾È´ëÃ¥À¸·Î Server.HTMLEncode() ¸Þ¼Òµå¸¦ ÀÌ¿ëÇØ Æ¯¼ö¹®ÀÚ¸¦ Entity ÇüÅ·Πº¯°æÇϰųª, htmlspecialchars()¸¦ ÀÌ¿ëÇØ Æ¯¼ö¹®ÀÚ¸¦ Entity ÇüÅ·ΠġȯÇϰųª strip_tags() ÇÔ¼ö¸¦ ÀÌ¿ëÇØ ¹®ÀÚ¿·ÎºÎÅÍ HTML ÅÂ±×¿Í PHP ű׸¦ Á¦°ÅÇÏ¸é µÈ´Ù°í ¾È³»ÇÏ°í ÀÖ´Ù.
´Ü°ñ Ãë¾àÁ¡ XSS, ¿Ö ÀÚ²Ù ¹Ýº¹µÇ³ª?
ÀÌ´Â ºñ´Ü ¾ÆÇÁ¸®Ä«TV¸¸ÀÇ ¹®Á¦´Â ¾Æ´Ï´Ù. ¾Õ¼ ¾ð±ÞÇÑ ¹Ù¿Í °°ÀÌ ¿©·¯ ±â¾÷¿¡¼ ¹Ýº¹ÀûÀ¸·Î ¹ß»ýÇÏ°í ÀÖ´Ù. ±×·¸´Ù¸é ÀÌ·¯ÇÑ Ãë¾àÁ¡ÀÌ ÀÚ²Ù ¹ß»ýÇÏ´Â ÀÌÀ¯´Â ¹«¾ùÀϱî?
ÀÌ¿¡ ´ëÇØ ³ëºê·¹ÀÌÅ© ¹ÚÂùÁÖ ¼ö¼®Àº ¡°°¡Àå ±Ùº»ÀûÀÎ ¹®Á¦´Â »çÀÌÆ® ÀÌ¿ëÀÚ¸¦ À§ÇØ ÆíÀDZâ´ÉÀÌ ¸¹Àº ÆäÀÌÁö¸¦ ±¸¼ºÇÏ´Ùº¸´Ï ÇØ´ç ±â´ÉÀ» Áö¿øÇÏ´Â ¸î¸î ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚÀÇ ºê¶ó¿ìÀú¿¡¼ ½ÇÇàµÇ¾î ¹®Á¦°¡ ¹ß»ýÇÏ´Â °Í¡±À̶ó¸ç ¡°°³¹ß´Ü°è¿¡¼ Áö¼ÓÀûÀÎ Å×½ºÆ®¿Í ÁÖ±âÀûÀÎ »çÀÌÆ® Á¡°ËÀÌ ÀÌ·ç¾îÁ®µµ ¿©·¯ °¡Áö ¾ð¾î°¡ Áö¿øµÇ´Â À¥ ȯ°æ¿¡¼ÀÇ ³µ¶È¶óµçÁö ¿ìȸ¸¦ À§ÇÑ Æí¹ýµéÀÌ Áõ°¡ÇÏ°í ÀÖ¾î ¹æ¾î¿¡ ¾î·Á¿òÀÌ ÀÖ´Ù¡±°í ¹àÇû´Ù.
ÀÌ¾î ±×´Â ¡°´ëÀÀ¹æ¹ýÀº °á±¹ ÇØ´ç ±â´ÉÀ» °¡Áö°í ÀÖ´Â °Ô½ÃÆÇ¿¡¼ ƯÁ¤ ½ºÅ©¸³Æ®°¡ »ç¿ëÀÚ È¯°æ(ºê¶ó¿ìÀú)¿¡¼ µ¿ÀÛÇÏÁö ¾Ê°Ô ¿¹¿Ü󸮸¦ ÇØÁà¾ß ÇÑ´Ù¡±¸ç ¡°º¸¾È´ã´çÀÚ´Â À¥ ¹æȺ® XSS °ø°Ý ·ê Á¤Ã¥ ¾÷µ¥ÀÌÆ®¿Í ÇÔ²² ¿ÜºÎ¿¡¼ Ãë¾àÁ¡ Á¡°Ë½Ã ²Ä²ÄÇÏ°Ô Á¡°ËÇØ¾ß ÇÏ°í, °³¹ßÀÚ´Â °³¹ß´Ü°è¿¡¼ ¸ðµç ÆäÀÌÁö¿¡ XSS °ø°Ý¿¡ ´ëÇÑ ÇÊÅ͸µÀ» Àß ¸¸µé¾î¾ß ÇÑ´Ù¡±°í °Á¶Çß´Ù.
½ÃÅ¥¸®Æ¼ Ç÷¯½º ¹ÚÇü±Ù ´ëÇ¥´Â ¡°ÇöÀç À¥ Ãë¾àÁ¡ Áß¿¡¼ XSS Ãë¾àÁ¡ÀÌ SQLi¿Í ´õºÒ¾î 1, 2À§¸¦ ´Þ¸®°í ÀÖÀ» ¸¸Å °¡Àå ¸¹ÀÌ ¹ß°ßµÇ´Â Ãë¾àÁ¡¡±À̶ó¸ç ¡°±×·¯³ª SQLi°¡ À¥À» ÅëÇØ ±â¾÷ÀÇ µ¥ÀÌÅͳª ¼¹ö¸¦ Á÷Á¢ °ø°ÝÇÒ ¼ö ÀÖ¾î ¸Å¿ì ½É°¢ÇÑ Ãë¾àÁ¡À¸·Î Æò°¡µÇ´Â ¹Ý¸é, XSS Ãë¾àÁ¡Àº ±â¾÷ÀÇ µ¥ÀÌÅͳª ¼¹öº¸´Ù´Â ÇØ´ç ¼ºñ½º¸¦ »ç¿ëÇÏ´Â °³ÀÎÀ» Ÿ±êÀ¸·Î Çϱ⠶§¹®¿¡ ¾Æ¹«·¡µµ ´ú ½É°¢ÇÏ°Ô »ý°¢ÇÏ´Â °æÇâÀÌ ³ô´Ù. ±×·¯³ª ÃÖ±Ù °ø°Ý°æÇâÀ» »ìÆ캸¸é ½Ã½ºÅÛ¿¡ ´ëÇÑ Á÷Á¢ÀûÀÎ °ø°Ýº¸´Ù´Â °³ÀÎÀ» Ÿ±êÀ¸·Î ÇÑ °ø°ÝÀÌ Å©°Ô À¯ÇàÇÏ°í ÀÖ´Ù. ÀÌÁ¦´Â XSS Ãë¾àÁ¡ÀÇ À§Çèµµ¸¦ ±â¾÷¿¡¼ »óÇâÁ¶Á¤ÇØ¾ß ÇÑ´Ù¡±°í ´çºÎÇß´Ù.
¸ðµç Ãë¾àÁ¡À» 100% ÇØ°áÇÏ´Â °ÍÀº Çö½ÇÀûÀ¸·Î ºÒ°¡´ÉÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª °³¹ßº¸¾È ¹× À¥ º¸¾Èü°è¸¦ ¼³°èÇϴµ¥ ÀÖ¾î °í°´°ú ±â¾÷ÀÇ ºñÁî´Ï½º À§Çèµµ¸¦ º¸´Ù Á¤È®È÷ Æò°¡ÇØ ´ëÀÀÇÏ´Â °ÍÀÌ ¸Å¿ì Áß¿äÇϸç, ±×·± °üÁ¡¿¡¼ XSS Ãë¾àÁ¡Àº »õ·Ó°Ô Æò°¡ÇØ¾ß ÇÒ Ãë¾àÁ¡À̶ó´Â °Ô ¹Ú ´ëÇ¥ÀÇ ¼³¸íÀÌ´Ù.
[±è°æ¾Ö ±âÀÚ(boan3@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>