Ekoparty ÄÁÆÛ·±½º¿¡¼ ÇØÅ· ½Ã¿¬ÇØ
[º¸¾È´º½º È£¾ÖÁø] º¸¾È ¿¬±¸ÀÚ µÎ »ç¶÷ÀÌ ASP.NET À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¾ÏÈ£ÈµÈ ¼¼¼Ç ÄíÅ°¸¦ ó¸®ÇÏ´Â ¹æ½Ä Áï, °ø°ÝÀÚ°¡ »ç¿ëÀÚÀÇ ¿Â¶óÀÎ ¹ðÅ· ¼¼¼ÇÀ» °¡·Îä Ãë¾à¼ºÀ» Áö´Ñ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ´Ù¸¥ ½É°¢ÇÑ ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ°Ô ÇÏ´Â Ãë¾àÁ¡À» ÀÌ¿ëÇÑ ÇØÅ·¿¡ ¼º°øÇß´Ù°í ¿Ü½ÅÀº º¸µµÇß´Ù.
Thai Duong°ú Juliano Rizzo´Â ÃÖ±Ù ¾Æ¸£ÇîƼ³ª¿¡¼ °³ÃÖµÈ Ekoparty ÄÁÆÛ·±½º¿¡¼ ¼ö ¹é¸¸ °³ÀÇ À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡ ¿µÇâÀ» ¹ÌÄ¡´Â ÀÌ ¹ö±×¿¡ ´ëÇØ ±¸Ã¼ÀûÀ¸·Î ³íÀÇÇϸç À̸¦ Á÷Á¢ ÇØÅ·ÇÏ´Â ½Ã¿¬À» ¼±º¸¿´´Ù.
¡ã Thai Duong°ú Juliano Rizzo°¡ ASP.NETÀ» ÇØÅ·ÇÏ´Â ½Ã¿¬À» ¼±º¸ÀÌ°í ÀÖ´Ù. @º¸¾È´º½º
¿Ü½Å¿¡ µû¸£¸é ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®(Microsoft)ÀÇ À¯¸íÇÑ À¥ ÇÁ·¹ÀÓ¿öÅ© ASP.NET¿¡¼ AES ¾ÏÈ£È ¾Ë°í¸®ÁòÀ» ½á ÀÌµé ¾ÖÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÀÚ ¼¼¼Ç Áß¿¡ Á¤º¸¸¦ ÀúÀåÇϴµ¥ ¾µ ¸ñÀûÀ¸·Î »ý¼ºÇÏ´Â ÄíÅ°ÀÇ ¹«°á¼ºÀ» º¸È£ÇÏ´Â °úÁ¤¿¡¼ ¹®Á¦°¡ ³ªÅ¸³´Ù.
Duong°ú Rizzo´Â ÀÌ °ø°Ý¿¡ ¾²±â À§ÇØ Æеù ¿À¶óŬ ÀͽºÇ÷ÎÀÕ(Padding Oracle Exploit)À̶ó´Â Àü¿ë ÅøÀ» °³¹ßÇß´Ù. À̹ø °ø°ÝÀº 2002³â Serge Vaudenay°¡ Eurocrypt¿¡¼ ÀÌ¿Í °ü·Ã ÁÖÁ¦¸¦ ´Ù·é ³í¹®À» Á¦½ÃÇÑ ÀÌÈÄ ¾Ë·ÁÁø ±â¹ýÀ» ÀÀ¿ëÇÑ °ÍÀÌ´Ù.
ÀÌ »ç·Ê¿¡¼ ASP.NETÀÌ AES¸¦ ±¸ÇöÇÏ´Â °úÁ¤¿¡¼ ÄíÅ°¿¡ µç ¾ÏÈ£È µ¥ÀÌÅÍ°¡ º¯°æµÆÀ» ¶§ ±× ¿À·ù¸¦ ó¸®ÇÏ´Â ¹æ½Ä¿¡ ¹ö±×°¡ ÀÖ´Ù. ¾ÏÈ£È ÅؽºÆ®°¡ º¯°æµÆ´Ù¸é Ãë¾à ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¿À·ù¸¦ ¹ß»ý½ÃÅ°´Âµ¥ À̸¦ ÅëÇØ °ø°ÝÀÚ´Â ÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¾ÏÈ£Çص¶(º¹È£È) ÇÁ·Î¼¼½º ÀÛµ¿ ¹æ½Ä¿¡ °üÇØ ÀϺΠÁ¤º¸¸¦ ¾ò°Ô µÈ´Ù. ¿À·ù°¡ ¸¹À»¼ö·Ï µ¥ÀÌÅ͵µ ¸¹´Ù´Â ¶æÀÌ´Ù. ±×¸®°í ÀÌµé ¿À·ù¸¦ ÃæºÐÈ÷ µé¿©´Ùº» °ø°ÝÀÚ´Â ÀÛÀº ¾ÏÈ£È Å°¸¦ ÃßÃøÇس»´Âµ¥ ÇÊ¿äÇÑ ¹ÙÀÌÆ® ¼ö¸¦ ¸¸µé ¼ö ÀÖ´Â µ¥ÀÌÅ͸¦ ÃæºÐÈ÷ È®º¸ÇÒ ¼ö ÀÖ´Ù.
ÀÌ °ø°Ý ¹æ½ÄÀ» ¾²¸é ÀºÇà °èÁÂ, »çȸº¸Àå¹øÈ£(SSN) ¶Ç´Â ¾ÏÈ£ Å° µî ¼ÒÁßÇÑ ÀڷḦ ´ã°í ÀÖÀ» ¼öµµ ÀÖ´Â, ¿³º»(sniffed) ÄíÅ°¸¦ Çص¶ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. °ø°ÝÀÚ´Â Áß¿äÇÑ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀÎÁõ ƼÄÏÀ» ¸¸µé°Å³ª ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¾ÏÈ£È API¸¦ ¾²´Â ´Ù¸¥ ÇÁ·Î¼¼½º¸¦ ¾Ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
Duong°ú Rizzo´Â ¿ÃÇØ À̺¸´Ù ¸ÕÀú JavaServer Faces¿Í ±âŸ À¥ ÇÁ·¹ÀÓ¿öÅ©¸¦ ´ë»óÀ¸·Î ÀÌ¿Í ºñ½ÁÇÑ ÀÏÀ» ¹ú¿© ±× °á°ú¸¦ ºí·§ÇÞ À¯·´(Black Hat Europe)¿¡¼ ¹ßÇ¥ÇÑ ¹Ù ÀÖ´Ù. µÑÀº ¿¬±¸¸¦ °è¼ÓÇØ ASP.NETÀÌ µ¿ÀÏÇÑ À¯ÇüÀÇ °ø°Ý¿¡ Ãë¾àÇÏ´Ù´Â Á¡À» ¹àÇô³Â´Ù.
ÀÌ °ø°Ý À¯ÇüÀº Æеù ¿À¶óŬ °ø°Ý(Padding Oracle Attack)À¸·Î ¾Ë·ÁÁ® ÀÖÀ¸¸ç ¸¹Àº ¾ÖÇø®ÄÉÀ̼ÇÀÌ ±×·¯ÇϵíÀÌ ¾ÏÈ£ ºí·Ï üÀÎ ¸ðµå(cipher-block chaining, CBC) ¸ðµå¸¦ ½á¼ ¾Ïȣȸ¦ ÇÏ´Â À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡ ±â¹ÝÀ» µÎ°í ÀÖ´Ù.
ºí·Ï ¾ÏÈ£(Block cipher)¿¡¼´Â ¾ÏÈ£ÈÇÏ´Â ¸Þ½ÃÁö¸¦ -¿¹¸¦ µé¾î 8¹ÙÀÌÆ® µî- ÁöÁ¤µÈ Å©±âÀÇ ºí·Ï ¿©·¯ °³·Î ÂÉ°³¾ß ÇÑ´Ù. ¸Þ½ÃÁö°¡ Ç×»ó 8¹ÙÀÌÆ® Å©±â¿¡ ¾ö¹ÐÇÏ°Ô µé¾î¸Â´Â °ÍÀº ¾Æ´Ï±â ¶§¹®¿¡ ÁöÁ¤ Å©±â¿¡ µµ´ÞÇÏ·Á¸é Æеù(Padding)ÀÌ ÇÊ¿äÇÑ °æ¿ì°¡ ÀûÁö ¾Ê´Ù.
Duong°ú Rizzo°¡ ASP.NETÀ» ´ë»óÀ¸·Î ½ÇÇàÇÑ °ø°ÝÀÇ ÀüÁ¦ Á¶°ÇÀº À¥ »çÀÌÆ®¿¡ ¾Ïȣȸ¦ ±¸ÇöÇÒ ¶§ ÅؽºÆ®¸¦ º¹È£ÈÇÒ »Ó ¾Æ´Ï¶ó Àü¼ÛÀÚ¿¡°Ô ¾ÏÈ£È ÅؽºÆ®¿¡ µç ÆеùÀÌ À¯È¿ÇÑÁö ¿©ºÎ¸¦ ¾Ë¸®´Â ¸Þ½ÃÁöµµ Á¦°øÇÏ´Â ¿À¶óŬÀÌ ÀÖ¾î¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù.
ÆеùÀÌ À¯È¿ÇÏÁö ¾ÊÀº °æ¿ì Àü¼ÛÀÚ´Â Á¢¼öÇÑ ¿À·ù ¸Þ½ÃÁö¿¡¼ ÇØ´ç »çÀÌÆ®ÀÇ º¹È£È ÇÁ·Î¼¼½º ÀÛµ¿ ¹æ½Ä¿¡ ´ëÇØ ¾ó¸¶°£ Á¤º¸¸¦ ¾ò°Ô µÈ´Ù. Duong°ú Rizzo´Â ¼º°ø ½Ã°£ÀÌ Æø³ÐÀº Â÷À̸¦ º¸ÀÏ ¼ö ÀÖÁö¸¸ ASP.NET ¾ÖÇø®ÄÉÀ̼ÇÀ» ´ë»óÀ¸·Î ÇÑ ÀÌ °ø°ÝÀº 100% ½Å·Úµµ¸¦ º¸ÀÎ´Ù°í ¸»Çß´Ù. ÀÌ °ø°Ý¿¡¼ ½ÇÁ¦·Î Á¦¾à ¿ä¼Ò´Â ¼¹ö ¼Óµµ¿Í °¡¿ë ´ë¿ªÆøÀÌ´Ù.
¶ÇÇÑ °ø°ÝÀÚ´Â ºÎ ä³Î(side-channel) ´©Ãâ·Î È®º¸ÇÑ Á¤º¸¸¦ ÀÌ¿ëÇØ ¿À·ù ¸Þ½ÃÁö¸¦ ±â´Ù¸®Áö ¾Ê°íµµ ÀÌ °ø°Ý ±â¹ýÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
DuongÀº ¡°°ø°Ý ½Å·Úµµ°¡ 100%¶ó´Â Á¡, ´Ù½Ã ¸»ÇØ ÀÌ °ø°ÝÀ» °³½ÃÇϱ⸸ Çϸé À̸¦ Ÿ±êÀ¸·Î ÀͽºÇ÷ÎÀÕÇÒ ¼ö ÀÖ´Ù´Â Á¡À» ¿°µÎ¿¡ µÖ¾ß ÇÑ´Ù¡±¸ç ¡°ÀÌ´Â ´ÜÁö ½Ã°£ ¹®Á¦ÀÏ »Ó¡±À̶ó°í ¹àÇû´Ù. ±×´Â ¶Ç ¡°°ø°ÝÀÚ°¡ ¿îÀÌ ÁÁ´Ù¸é ¸î ÃÊ ¾È¿¡ ¾î¶² ASP.NET À¥»çÀÌÆ®µç Å»ÃëÇÒ ¼ö ÀÖ´Ù¡±¸ç ¡°°ø°Ý Æò±Õ ¿Ï·á ½Ã°£Àº 30ºÐÀ¸·Î ÀÌÁ¦±îÁö °É¸° °¡Àå ±ä ½Ã°£Àº 50ºÐ ¹Ì¸¸¡±À̶ó°í µ¡ºÙ¿´´Ù.
ASP.NETÀº ÇöÀç Àαâ ÀÖ´Â À¥ ÇÁ·¹ÀÓ¿öÅ©·Î Duong°ú Rizzo´Â ¿Â¶óÀÎ ¾ÖÇø®ÄÉÀÌ¼Ç Áß 25%´Â ASP.NETÀ» ÀÌ¿ëÇØ Á¦À۵ȴٰí Ãß»êÇß´Ù. ÇÏÁö¸¸ ±â¾÷°ú ±ÝÀ¶ ¼ºñ½º ¾÷°èÀÇ °æ¿ì ±× ¼öÄ¡´Â ÈξÀ ³ô¾Æ Àü¹®°¡µéÀº ¿Â¶óÀÎ ¹ðÅ·°ú ÀüÀÚ»ó°Å·¡ µîÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÀÌ °ø°ÝÀÇ ÁÖ¿ä Ÿ±êÀÌ µÉ °ÍÀ¸·Î ¿ì·ÁÇÏ°í ÀÖ´Ù.
[È£¾ÖÁø ±âÀÚ(is@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(http://www.boannews.com/) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>