[±Û·Î¹ú-Biz 24] ÀÎÅÚ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¿¡¼ »õ·Î¿î º¸¾È Ãë¾àÁ¡ ¹ß°ß
ÀÎÅÚÀÇ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼¿¡¼ »õ·Î¿î º¸¾È Ãë¾àÁ¡ÀÌ ¹ß°ßµÆ´Ù°í ·ç¸¶´Ï¾Æ º¸¾Èȸ»çÀÎ ºñÆ®µðÆæ´õ°¡ ¹àÇû´Ù.
7ÀÏ(ÇöÁö½Ã°£) ÇÁ¶û½º ¶óÇÁ·¹½º¿¡ µû¸£¸é ºñÆ®µðÆæ´õ´Â ÀÎÅÚ¿¡ º¸¾È Ãë¾àÁ¡ Á¤º¸¸¦ Á¦°øÇÏ°í 1³â ÀÌ»ó °áÇÔÀ» ¼öÁ¤Çϱâ À§ÇØ ÀÎÅÚ°ú Çù·ÂÇß´Ù°í ¹àÇû´Ù.
ÀÌ °áÇÔÀº ÇÁ·Î¼¼¼ ¼º´ÉÀ» Çâ»ó½ÃÅ°±â À§ÇÑ Æ¯Á¤ ¸ÞÄ¿´ÏÁòÀ» ÀÌ¿ëÇϱ⠶§¹®¿¡ ¾Ç¿ëÇϱⰡ ¸Å¿ì ¾î·Á¿ì³ª ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ À©µµ ¿î¿µ üÁ¦°¡ ¼³Ä¡µÈ ÄÄÇ»ÅÍ¿¡¸¸ ÇØ´çµÈ´Ù.
ºñÆ®µðÆæ´õÀÇ °³ºó Èú ºÎ»çÀåÀº "ÀÌ·¯ÇÑ °ø°ÝÀ» ÅëÇØ ¹üÁËÀÚµéÀº ±â¾÷°ú °³Àο¡ ÀÇÇØ °¡Àå Àß º¸È£µÇ´Â °¡Àå Áß¿äÇÑ
Á¤º¸¸¦ ¹ß°ßÇÏ°í µµ³, Çù¹Ú, Æı« ¹× ½ºÆÄÀÌ ÇàÀ§¸¦ ÇÒ ¼ö ÀÖÀ» °Í"À̶ó°í ¸»Çß´Ù. ¶Ç ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼ÀÇ ¼³°è¿¡ ÀÖ¾î ±âÁ¸
¾àÁ¡À» ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î µå·¯³µ´Ù. ÀÌ °áÇÔÀ» »ç¿ëÇÏ¸é ¾ÏÈ£¿Í ±âŸ ±â¹Ð Á¤º¸¿Í °°ÀÌ ¿î¿µ üÁ¦ÀÇ Ä¿³Î ¸Þ¸ð¸®¿¡ ÀúÀåµÈ ¸ðµç Á¤º¸¿¡
¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù´Â °Ô ±×ÀÇ ¼³¸íÀÌ´Ù.
ºñÆ® µðÆæ´õ´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿Í ±âŸ ¾÷°è ÆÄÆ®³Ê°¡ ¼öÁ¤ ÇÁ·Î±×·¥À» °Ô½ÃÇ߰ųª ¿©ÀüÈ÷ À§ÇèÀ» Æò°¡ÇÏ°í ÀÖ´Ù°í ¹àÇû´Ù.
´ëºÎºÐÀÇ ÄÄÇ»ÅÍ¿¡¼ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼¸¦ ¼³°èÇÒ ¶§ º¸¾È Ãë¾àÁ¡ÀÌ ¹ß°ßµÇ°í ÀÖ¾î À̹øÀÌ Ã³À½Àº ¾Æ´Ï¶ó´Â °Ô °ü·Ã ¾÷°èÀÇ ¼³¸íÀÌ´Ù.
2018³â 3¿ù À̽º¶ó¿¤ ÄÄÇ»ÅÍ º¸¾È ȸ»çÀÎ CTS ·¦½º´Â ÀÎÅÚÀÇ ÁÖ¿ä °æÀïÀÚÀÎ AMDÀÇ Æ¯Á¤ ÇÁ·Î¼¼¼¿¡ ´ëÇÑ ÁÖ¿ä º¸¾È
°áÇÔÀ» ¹ß°ßÇß´Ù°í ¹ßÇ¥Çß´Ù. ¶Ç ¸î ÁÖ Àü¿¡´Â ÀÎÅÚ, ARM ¹× AMD´Â ½ºÆåÅÍ ¹× ¸áÆ® ´Ù¿îÀ̶ó´Â ÁÖ¿ä °áÇÔÀÌ ¹ß°ßµÇ¾î ¾÷°è
ÀüüÀÇ À§ÇèÀ» Á¦ÇÑÇϱâ À§ÇØ ÀÌ¹Ì ¼³Ä¡µÈ ÇÁ·Î¼¼¼¿¡ º¸¾È ÆÐÄ¡¸¦ ½ÇÇàÇß´Ù.
±âÁ¸ ¹æ¾î ±â´ÉÀ» ¿ìȸÇÏ´Â »õ·Î¿î ½ºÆåÅÍ±Þ CPU Ãë¾àÁ¡ ¹ßÇ¥¡¦ºñÆ®µðÆæ´õ
SWAPGS Ãë¾àÁ¡À¸·Î ÀÎÇØ °ø°ÝÀÚ´Â Ä¿³Î ¸Þ¸ð¸® ÁÖ¼ÒÀÇ ³»¿ë¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. ÀÌ¿¡ ´ëÇØ ÃÖ±Ù ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿Í ÀÎÅÚÀº ¿ÏÈ Á¶Ä¡¸¦ ÃëÇß´Ù.
º¸¾È ¿¬±¸¿øµéÀº ÃֽŠCPUÀÇ ÃßÃø ½ÇÇà(speculative execution) ¸ÞÄ¿´ÏÁòÀ» ¾Ç¿ëÇØ º¸¾È °æ°è¸¦ Çã¹°°í Ä¿³Î ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» À¯ÃâÇÏ´Â »õ·Î¿î ¹æ¹ýÀ» ¹ß°ßÇß´Ù. ÀÌ »õ·Î¿î ±â¼úÀº SWAPGS¶ó´Â ½Ã½ºÅÛ ¸í·ÉÀ» ¾Ç¿ëÇØ ½ºÆåÅÍ¿Í °°Àº ÀÌÀüÀÇ ÃßÃø ½ÇÇà Ãë¾àÁ¡¿¡ ´ëÇÑ ¿ÏÈ Á¶Ä¡¸¦ ¿ìȸÇÒ ¼ö ÀÖ´Ù.
ÀÌ Ãë¾àÁ¡Àº º¸¾È¾÷üÀÎ ºñÆ®µðÆæ´õ ¿¬±¸¿øµé¿¡ ÀÇÇØ ¹ß°ßµÆÀ¸¸ç, ¾à 1³â Àü¿¡ ÀÎÅÚ¿¡ º¸°íµÆ´Ù. ÀÌÈÄ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â Áö³´Þ ÆÐÄ¡ È¿äÀÏ¿¡ ÀÌ¿¡ ´ëÇÑ ¿ÏÈ Á¶Ä¡¸¦ ¹ßÇ¥Çß´Ù.
.
.
.
À©µµ¿ì, SWAPES Ãë¾àÁ¡¿¡ °¡Àå Ãë¾à
ÀÌ °ø°ÝÀÌ Èï¹Ì·Î¿î Á¡Àº ÀÚü °¡»ó ÁÖ¼Ò °ø°£¿¡¼ Ä¿³Î ¸Þ¸ð¸®¸¦ ¿ÏÀüÈ÷ °Ý¸®ÇØ¾ß ÇÏ´Â KPTI(Kernel Page Table Isolation) ¸ÅÄ¿´ÏÁòÀ» Æ÷ÇÔÇØ ±âÁ¸ÀÇ ¸ðµç ¼ÒÇÁÆ®¿þ¾î ¿ÏÈ Á¶Ä¡¸¦ ¿ìȸÇØ ½ºÆåÅÍ¿Í ¸áÆ®´Ù¿î°ú À¯»çÇÑ °ø°Ý¿¡ ´ëÇÑ ´ëÀÀÀ» ´õ¿í ¾î·Æ°Ô ÇÑ´Ù´Â °ÍÀÌ´Ù.
¿¬±¸¿øµéÀº ¿î¿µÃ¼Á¦°¡ SWAPGS¸¦ »ç¿ëÇÏ´Â ¹æ½ÄÀ¸·Î °¡Àå ½¬¿î ´ë»óÀ̾ú±â ¶§¹®¿¡ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì¿¡ ´ëÇÑ Å×½ºÆ®¿¡ ÁßÁ¡À» µ×´Ù. ÀÌ ¹®Á¦´Â CVE-2019-1125 ½Äº°ÀÚ·Î ÁöÁ¤µÆ´Ù.
¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ´ëº¯ÀÎÀº À̸ÞÀÏÀ» ÅëÇØ ¡°¿ì¸®´Â ¾÷°è Àü¹ÝÀÇ ¹®Á¦¸¦ ¾Ë°í ÀÖÀ¸¸ç, °í°´À» º¸È£Çϱâ À§ÇØ ¿ÏÈ Á¶Ä¡¸¦ °³¹ßÇÏ°í Å×½ºÆ®Çϱâ À§ÇØ Ä¨ Á¦Á¶¾÷ü¿Í Çù·Â¾÷ü¿Í ±ä¹ÐÈ÷ Çù·ÂÇÏ°í ÀÖ´Ù. ¿ì¸®´Â 7¿ù¿¡ º¸¾È ¾÷µ¥ÀÌÆ®¸¦ ¹ßÇ¥ÇßÀ¸¸ç, À©µµ¿ì ¾÷µ¥ÀÌÆ®¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤ÇÏ°í º¸¾È ¾÷µ¥ÀÌÆ®¸¦ Àû¿ëÇÑ °í°´Àº ÀÚµ¿À¸·Î º¸È£µÈ´Ù"°í ¸»Çß´Ù.
ÀÌ °áÇÔ¿¡ ´ëÇÑ ¿ÏÈ Á¶Ä¡´Â 7¿ù À©µµ¿ì ÆÐÄ¡¿¡ Æ÷ÇÔµÆÁö¸¸ ºñÆ®µðÆæ´õ°¡ ¹é¼¸¦ ¹ßÇ¥ÇÏ°í ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ º¸¾È ±Ç°í¸¦ ¹ßÇ¥ÇÑ 8¿ù 6ÀϱîÁö ¼¼ºÎ »çÇ×À» ¹àÈ÷Áö ¾Ê¾Ò´Ù.
ºñÆ®µðÆæ´õ ¿¬±¸¿øÀº ¸®´ª½º Ä¿³Î¿¡ ´ëÇÑ ºü¸¥ ºÐ¼® °á°ú, °ø°Ý¿¡ »ç¿ëµÉ ¼ö ÀÖ´Â °¡Á¦Æ®°¡ Æ÷ÇԵǾî ÀÖÁö¸¸ NMI(Non-Maskable Interrupt) Çڵ鷯 ³»ºÎ¿¡ ÀÖ´Ù°í ¹àÇû´Ù. µû¶ó¼ ¸®´ª½º¿¡¼´Â °ø°ÝÇϱ⠺Ұ¡´ÉÇÏÁö´Â ¾ÊÁö¸¸ ¾î·Á¿ï °ÍÀ̶ó°í º»´Ù°í ¸»Çß´Ù.
·¹µåÇÞÀº ÀÚ»çÀÇ Á¦Ç°ÀÌ ÀÌ·ÐÀûÀ¸·Î Ãë¾àÇÏ´Ù´Â »ç½ÇÀ» È®ÀÎÇßÁö¸¸ ±Ç°í¿¡ µû¸£¸é, ÇöÀç ¸®´ª½º Ä¿³ÎÀ» ½ÇÇàÇÏ´Â ½Ã½ºÅÛ¿¡¼ ¼º°øÀûÀ¸·Î ¾Ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¾ø´Ù. ±×·³¿¡µµ ºÒ±¸ÇÏ°í ·¹µåÇÞÀº Ä¿³Î ¾÷µ¥ÀÌÆ®¸¦ ¹ßÇ¥ÇßÀ¸¸ç ÀÌ ¿ÏÈÁ¶Ä¡°¡ ÀÌ ¹®Á¦ÀÇ ¿µÇâÀ» ¹Þ´Â À¯ÀÏÇÑ ÀÎÅÚ ¹× AMD CPU¿¡ ¾à°£ÀÇ ¼º´É¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ´Ù°í ¾ð±ÞÇß´Ù.
ºñÆ®µðÆæ´õ ¿¬±¸¿øµéÀº ÇÏÀÌÆÛ-V Ä¿³Î°ú Á¨ ÇÏÀÌÆÛ¹ÙÀÌÀú(Xen hypervisor) Ä¿³Î¿¡ ´ëÇÑ ºü¸¥ ºÐ¼® °á°ú, SWAPGS ¸í·ÉÀÌ »ç¿ëµÇÁö ¾Ê¾Ò±â ¶§¹®¿¡ ¾Ç¿ëÀÌ ºÒ°¡´ÉÇÑ °ÍÀ¸·Î ³ªÅ¸³µ´Ù. ÀÌ ¿¬±¸¿øµéÀº ¡°´Ù¸¥ ¿î¿µÃ¼Á¦¿Í ÇÏÀÌÆÛ¹ÙÀÌÀú´Â Á¶»çµÇÁö ¾Ê¾ÒÁö¸¸, ¹ßÇ¥¸¦ Á¶Á¤ÇÏ´Â µ¿¾È ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â ¸ðµç °ü·Ã ´ç»çÀÚ¿¡°Ô ÀÌ Ãë¾àÁ¡¿¡ ´ëÇØ ¾Ë·È´Ù.
¼ÒÇÁÆ®¿þ¾î¸¦ ÅëÇÑ SWAPGS °ø°Ý ¿ÏÈ Á¶Ä¡
½ºÆåÅÍ ¹öÀü 1°ú ¸¶Âù°¡Áö·Î »õ·Î¿î SWAPGS °ø°ÝÀº ¼ÒÇÁÆ®¿þ¾î¿¡¼ Á÷Á¢ ¿ÏÈÇÒ ¼ö ÀÖÀ¸¸ç, ¸¶ÀÌÅ©·Î ÄÚµå ¾÷µ¥ÀÌÆ®°¡ ÇÊ¿äÇÏÁö ¾Ê´Ù. ¶§¹®¿¡ ÀÎÅÚÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ Ãë¾àÁ¡ °ø°³ Á¶Á¤À» ÁÖµµÇÏ°Ô Çß´Ù.
ÀÎÅÚÀº À̸ÞÀÏÀ» ÅëÇØ ¡°ÀÎÅÚÀº Çù·Â¾÷ü¿Í ÇÔ²² ¼ÒÇÁÆ®¿þ¾î ¼öÁØ¿¡¼ ¹®Á¦°¡ ´õ Àß ÇØ°áµÇ°í ÀÖÀ¸¸ç, ¿¬±¸¿øµéÀ» ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿Í ¿¬°á½ÃÄ×´Ù¡±¸ç, ¡°Á¦Ç°°ú µ¥ÀÌÅ͸¦ Á» ´õ ¾ÈÀüÇÏ°Ô º¸È£Çϱâ À§ÇØ ¿¡ÄÚ ½Ã½ºÅÛÀÌ ÇÔ²² ÀÛµ¿ÇØ¾ß Çϸç ÀÌ ¹®Á¦´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡ ÀÇÇØ Á¶Á¤µÇ°í ÀÖ´Ù¡±°í ¹àÇû´Ù.
ÀÌ°ÍÀº ½ºÆåÅÍ ¹× ¸áÆ®´Ù¿î °áÇÔÀÌ ¹ßÇ¥µÈ 2018³â 1¿ù ÀÌÈÄ, ¸¹Àº ¼öÀÇ CPU Ãë¾àÁ¡°ú º¯ÇüÀÌ ¹ß»ýÇß´Ù. º¸¾È ¿¬±¸ Ä¿¹Â´ÏƼ´Â ÃֽŠÇÁ·Î¼¼½º ¹× ±âŸ Çϵå¿þ¾î ±¸¼º ¿ä¼Ò°¡ Àú ¼öÁØ¿¡¼ ÀÛµ¿ÇÏ´Â ¹æ½ÄÀ» ÀÚ¼¼È÷ »ìÆ캸¸é ´õ ¸¹Àº º¸¾È ¹®Á¦°¡ ¹ß°ßµÉ ¼ö ÀÖ´Ù°í ¿ì·ÁÇß´Ù. [email protected]