¾÷µ¥ÀÌÆ® ÀÌÀü¿¡´Â TLS Ŭ¶óÀ̾ðÆ® ÀÎÁõ ºñÈ°¼ºÈ·Î ºü¸¥ Àӽà Á¶Ä¡ ÇÊ¿ä
[º¸¾È´º½º ±è¿µ¸í ±âÀÚ] ¿ÀÇÂSSL(OpenSSL)¿¡¼ Ư¼öÇÏ°Ô Á¦ÀÛµÈ À̸ÞÀÏ ÁÖ¼Ò¸¦ ÅëÇØ X.509 ÀÎÁõ¼ È®ÀÎ °úÁ¤ Áß Æ®¸®°ÅµÉ ¼ö ÀÖ´Â ¹öÆÛ ¿À¹ö·±(buffer overrun) Ãë¾àÁ¡ 2°ÇÀÌ ¹ß°ßµÆ´Ù.
¡ãOpenSSL ·Î°í[À̹ÌÁö=OpenSSL]
OpenSSLÀº À¥ºê¶ó¿ìÀú¿Í À¥ ¼¹ö °£ µ¥ÀÌÅ͸¦ ¾ÈÀüÇÏ°Ô ÁÖ°í¹Þ±â À§ÇÑ ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝÀ» ¿ÀǼҽº·Î ±¸ÇöÇÑ º¸¾È ¶óÀ̺귯¸®·Î º¸¾ÈÀÌ ÇÊ¿äÇÑ ´ëºÎºÐÀÇ Åë½Å¿¡¼ ³Î¸® »ç¿ëµÇ°í ÀÖ´Ù.
À̽ºÆ®½ÃÅ¥¸®Æ¼ ½ÃÅ¥¸®Æ¼´ëÀÀ¼¾ÅÍ(ÀÌÇÏ ESRC)´Â ¿ÀÇÂSSL¿¡¼ À̹ø¿¡ ¹ß°ßµÈ ¡âCVE-2022-3786 ¡âCVE-2022-3602 µî 2°³ÀÇ Ãë¾àÁ¡Àº ÇöÀç X.509 ÀÎÁõ¼¿¡¼ À̸ÞÀÏ ÁÖ¼Ò À̸§ Á¦¾àÀ» ó¸®Çϴµ¥ »ç¿ëµÇ´Â Punycode Çص¶ ±â´ÉÀÇ ÀϺο¡ Á¸ÀçÇϸç, ÀÌ´Â OpenSSL 3.0.0¿¡¼ µµÀÔµÆ´Ù°í ¹àÇû´Ù.
OpenSSLÆÀÀº Áö³´Þ ¸» OpenSSL¿¡ ½É°¢ÇÑ Á¦·Îµ¥ÀÌ Ãë¾àÁ¡ÀÌ ¹ß°ßµÆÀ¸¸ç 11¿ù 1ÀÏ ÆÐÄ¡¸¦ °ø°³ÇÏ°Ú´Ù°í »çÀü¿¡ °øÁöÇß´Ù. ÇÏÁö¸¸ °ø°³µÈ ³»¿ë¿¡´Â Ãë¾àÁ¡ÀÇ ½É°¢µµ°¡ ¡®½É°¢(Critical)¡¯¿¡¼ ¡®³ôÀ½(High)¡¯À¸·Î ÇÏÇâ Á¶Á¤µÆ´Ù. ÀÌ´Â OpenSSL ³»ºÎ º¸¾ÈÁ¤Ã¥¿¡¼ ÀϹÝÀûÀÎ »óȲ¿¡¼ ¿ø°ÝÄÚµå ½ÇÇàÀÌ µÇ´Â °æ¿ì¸¦ ¡®½É°¢(Critical)¡¯À¸·Î ºÐ·ùÇϴµ¥, À̹ø Ãë¾àÁ¡ÀÇ °æ¿ì Á¦ÇÑµÈ ÀϺΠ»óȲ¿¡¼¸¸ °¡´ÉÇϸç ÃֽŠÇ÷§Æû¿¡¼´Â ¿À¹öÇ÷Π°ü·Ã º¸È£Á¶Ä¡°¡ Á¸ÀçÇØ ½É°¢µµ¸¦ ¡®³ôÀ½(High)¡¯À¸·Î ÇÏÇâ Á¶Á¤Çß´Ù°í ¹àÇû´Ù.
CVE-2022-3602 Ãë¾àÁ¡Àº ossl_punycode_decode ÇÔ¼ö°¡ Ç»´ÏÄÚµå(Punycode)¸¦ µðÄÚµùÇÒ ¶§ 4¹ÙÀÌÆ®°¡ ¿À¹öÇ÷ΠµÇ¸ç ¿ø°ÝÄÚµå ½ÇÇàÀÌ °¡´ÉÇϵµ·Ï Çã¿ëÇÑ´Ù. ÇØ´ç ±â´ÉÀº Ŭ¶óÀ̾ðÆ® ȤÀº ¼¹ö°¡ x.509 ÀÎÁõ¼ÀÇ À¯È¿¼ºÀ» °Ë»çÇϵµ·Ï ±¸¼ºµÉ ¶§ È£ÃâµÈ´Ù. °ø°ÝÀÚ´Â À̸ÞÀÏ ÁÖ¼Ò Çʵ忡 µµ¸ÞÀο¡ Ç»´ÏÄڵ尡 Æ÷ÇÔµÈ Æ¯¼öÇÏ°Ô Á¶ÀÛµÈ ÀÎÁõ¼¸¦ ÅëÇØ ÇØ´ç Ãë¾àÁ¡À» ¾Ç¿ëÇÒ ¼ö ÀÖ´Ù.
Ç»´ÏÄÚµå(Punycode)¶õ DNS À̸§À» ÀÌÇØÇÏ°í °ü¸®ÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇØ ¸ðµç IDN(Integrated Digital Network)ÀÌ ÀÎÄÚµùµÇ´Â ASCII ¹®ÀÚÀÇ ½ÃÄö½º´Ù. Ç»´ÏÄÚµåÀÇ ¸ñÀûÀº ºñ ASCII ¹®ÀÚ¸¦ Æ÷ÇÔÇÑ À¥ ÁÖ¼Ò¸¦ ºÐ¼®ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀ¸·Î, DNS´Â ¾Æ½ºÅ° ¹®ÀÚ¸¸ Ãë±ÞÇÒ ¼ö Àִµ¥, ÀÌ·¯ÇÑ ÇѰ踦 ±Øº¹Çϱâ À§ÇØ ¸¸µé¾îÁ³´Ù. IDNÀº ºñ ASCII ¹®ÀÚ·Î ±¸¼ºµÈ ÃÖ¼Ò 1°³ ÀÌ»óÀÇ ¶óº§À» Áö´Ñ FQDN(Fully Qualified Domain Name)À¸·Î, ¿µ¾î Áß½ÉÀÇ µµ¸ÞÀÎ À̸§À» º¸¿ÏÇØ ºñ ¿µ¾î±Ç ±¹°¡ÀÇ ÀÚ±¹¾î¸¦ ÀÎÅÍ³Ý ÁÖ¼Ò Ã¼°è¿¡ µµÀÔÇÑ °ÍÀ» ÀǹÌÇÑ´Ù.
°ø°ÝÀÚ°¡ ÇØ´ç Ãë¾àÁ¡À» ¾Ç¿ëÇϱâ À§Çؼ´Â µÎ °¡Áö °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. ù ¹ø°´Â ¾Ç¼º Punycode ¹®ÀÚ¿·Î ¡®nameConstraints¡¯ Çʵ带 Æ÷ÇÔÇÏ´Â CA(ÀÎÁõ±â°ü) ÀÎÁõ¼ ¶Ç´Â Áß°³ ÀÎÁõ¼¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. À̶§ Punycode ¹®ÀÚ¿Àº ¡®xn--¡¯¸¦ Á¦¿ÜÇÏ°í ÃÖ¼Ò 512¹ÙÀÌÆ®¸¦ Æ÷ÇÔÇØ¾ß ÇÑ´Ù. µÎ ¹ø°´Â SmtpUTF8Mailbox ¹®ÀÚ¿À» ÁöÁ¤ÇÏ´Â SubjectAlternateName(SAN) otherName Çʵ尡 Æ÷ÇÔµÈ leaf ÀÎÁõ¼¸¦ ¸¸µé¾î¾ß ÇÑ´Ù.
CVE-2022-3786 Ãë¾àÁ¡Àº x.509 ÀÎÁõ¼ È®ÀÎ ¹× À̸§ Á¦¾à °Ë»ç¿¡¼ buffer overrunÀÌ Æ®¸®°ÅµÉ ¼ö ÀÖ´Ù. ÀÌ Ãë¾àÁ¡Àº ÀÎÁõ¼ üÀÎ ¼¸í È®ÀÎ ÈÄ ¹ß»ýÇϸç, CA°¡ ¾ÇÀÇÀûÀÎ ÀÎÁõ¼¿¡ ¼¸íÇ߰ųª ½Å·ÚÇÒ ¼ö ÀÖ´Â ¹ß±ÞÀÚ¿¡ ´ëÇÑ °æ·Î¸¦ ±¸¼ºÇÏÁö ¸øÇß´õ¶óµµ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÀÎÁõ¼¸¦ Áö¼ÓÀûÀ¸·Î È®ÀÎÇØ¾ß ÇÑ´Ù. °ø°ÝÀÚ´Â ÀÎÁõ¼ÀÇ À̸ÞÀÏ ÁÖ¼Ò¸¦ Á¶ÀÛÇØ ½ºÅÿ¡ ÀÖ´Â ¡®.¡¯ ¹®ÀÚ(10Áø¼ö 46)¸¦ Æ÷ÇÔÇÏ´Â ÀÓÀÇÀÇ ¹ÙÀÌÆ® ¼ö¸¦ ¿À¹öÇ÷ÎÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌ·Î ÀÎÇØ ¼ºñ½º °ÅºÎ°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.
À̹ø Ãë¾àÁ¡Àº ½Å·ÚÇÒ ¼ö ¾ø´Â Ãâó¿¡¼ ¹ÞÀº X.509 ÀÎÁõ¼¸¦ È®ÀÎÇÏ´Â ¸ðµç OpenSSL 3.0 ÀÀ¿ë ÇÁ·Î±×·¥Àº Ãë¾àÇÑ °ÍÀ¸·Î °£ÁÖµÅ¾ß ÇÑ´Ù. ¿©±â¿¡´Â TLS Ŭ¶óÀ̾ðÆ® ¹× TLS Ŭ¶óÀ̾ðÆ® ÀÎÁõÀ» »ç¿ëÇϵµ·Ï ±¸¼ºµÈ TLS ¼¹ö°¡ Æ÷ÇԵȴÙ. À̹ø Ãë¾àÁ¡À¸·Î ¿µÇâÀ» ¹Þ´Â ¿ÀÇÂSSL ¹öÀüÀº OpenSSL 3.0.0~3.0.6 ¹öÀüÀÌ´Ù. ´Ù¸¸ OpenSSL 1.0.2¿Í OpenSSL 1.1.1 ¹× ±âŸ ÀÌÀü ¹öÀüÀº ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù.
À̽ºÆ®½ÃÅ¥¸®Æ¼´Â À̹ø Ãë¾àÁ¡¿¡ ´ëÇØ OpenSSL 3.0.7 ¹öÀüÀ¸·Î ¾÷µ¥ÀÌÆ®¸¦ Çϸé ÇØ°áÇÒ ¼ö ÀÖ´Ù°í ¹àÈ÷¸ç. OpenSSL ¾÷µ¥ÀÌÆ® ÁÖ¼Ò¸¦ ¾È³»Çß´Ù. ¶ÇÇÑ, ¾÷µ¥ÀÌÆ® ÀÌÀü¿¡ TSL ¼¹ö¸¦ ¿î¿µÇÏ´Â »ç¿ëÀÚ´Â »ç¿ëÀÚ ½º½º·Î°¡ ȨÆäÀÌÁö ¾÷µ¥ÀÌÆ®¸¦ ÅëÇÑ ¼öÁ¤»çÇ×À» Àû¿ëÇÒ ¶§±îÁö TLS Ŭ¶óÀ̾ðÆ® ÀÎÁõ ºñÈ°¼ºÈ¸¦ ÅëÇØ ÀÓ½ÃÁ¶Ä¡ÇÒ ¼ö ÀÖ´Ù.
[±è¿µ¸í ±âÀÚ(boan@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>