7°¡Áö »õ·Î¿î °ø°Ý¹ý ³ª¿Í¡¦¿¬±¸ÀÚµé°ú »ý»ê¾÷ü »çÀÌ ÀÇ°ß »ó¹ÝµÅ
[º¸¾È´º½º ¹®°¡¿ë ±âÀÚ] º¸¾È Àü¹®°¡µéÀÌ ¾Ç¸í ³ôÀº CPU Ãë¾àÁ¡ÀÎ ¸áÆ®´Ù¿î(Meltdown)°ú ½ºÆåÅÍ(Spectre)¸¦ °ø°ÝÇÒ ¼ö ÀÖ´Â ¹æ¹ý 7°¡Áö¸¦ °ø°³Çß´Ù. ÀÌÁß ¸î °¡Áö´Â ÇöÁ¸ÇÏ´Â ÆÐÄ¡·Îµµ ¹æ¾îÇÒ ¼ö ¾ø´Ù°í Çϴµ¥, ÀÎÅÚ ÃøÀº ÀÌ¿¡ µ¿ÀÇÇÏÁö ¾Ê¾Ò´Ù.
[À̹ÌÁö = iclickart]
¸áÆ®´Ù¿î°ú ½ºÆåÅÍ´Â ÀÎÅÚ, AMD, ARM µîÀ» À§½Ã·Î ÇÑ ¼¼°è ¿©·¯ ±â¾÷µéÀÌ ¸¸µç ÇÁ·Î¼¼¼¿¡¼ ¹ß°ßµÈ Ãë¾àÁ¡µéÀÌ´Ù. ÇÁ·Î¼¼¼ÀÇ ¼º´É Çâ»óÀ» À§ÇØ ¼³°è ´Ü°è¿¡¼ºÎÅÍ µµÀÔÇÑ ±âº» ¸ÅÄ¿´ÏÁò¿¡¼ºÎÅÍ ¹ß»ýÇÑ °ÍÀ¸·Î, ¼º°øÀûÀ¸·Î ÀͽºÇ÷ÎÀÕ ÇÒ °æ¿ì Àåºñ ¸Þ¸ð¸®·ÎºÎÅÍ ¹Î°¨ÇÑ Á¤º¸¸¦ ÈÉÃÄ°¥ ¼ö ÀÖ°Ô ÇØÁØ´Ù.
¸áÆ®´Ù¿î°ú ½ºÆåÅÍ°¡ Á¦ÀÏ Ã³À½ ¹ß°ßµÈ °Ç ¿ÃÇØ 1¿ùÃÊ. ±×¶§ºÎÅÍ Áö±Ý±îÁö À¯»çÇϰųª °°Àº Áٱ⿡ ÀÖ´Â ¡®º¯Á¾¡¯µéÀÌ °è¼ÓÇؼ µîÀåÇß´Ù. ÇÁ·Î¼¼¼ Á¦Á¶»ç¸¸ÀÌ ¾Æ´Ï¶ó ÀÌ Ãë¾àÁ¡¿¡ ¿µÇâÀÌ ÀÖ´Â IT ¾÷üµéµµ ±×¿¡ µû¶ó ¿©·¯ ÆÐÄ¡¸¦ ¹ßÇ¥Çß´Ù. ±×·¯¸é¼ Áß·ÐÀº ¡°»ç½Ç»ó ¸áÆ®´Ù¿î°ú ½ºÆåÅÍ Ãë¾àÁ¡Àº ½ÇÁ¦ °ø°Ý¿¡ È°¿ëÇϱâ Èûµé´Ù¡±´Â ÂÊÀ¸·Î ±â¿ì´Â µí Çß´Ù.
±×·± °¡¿îµ¥ º§±â¿¡¿Í ¿À½ºÆ®¸®¾Æ, ¹Ì±¹ÀÇ ¿©·¯ ´ëÇÐ ±â°ü¿¡ ¼Ò¼ÓµÈ ¿¬±¸¿øµéÀÌ ÆÀÀ» ÀÌ·ï ¸áÆ®´Ù¿î°ú ½ºÆåÅÍ¿¡ ´ëÇÑ ¿¬±¸¸¦ ´õ ±íÀÌ ÀÖ°Ô ÁøÇàÇß´Ù. ÀÌÁß ÀϺδ Áö³ 1¿ùÀÇ ¸áÆ®´Ù¿î ¹× ½ºÆåÅÍ Ãë¾àÁ¡ÀÇ ¹ß°ß¿¡ Âü¿©Çϱ⵵ Çß¾ú°í, ±× ÈÄ¿¡ ¹ß°ßµÈ º¯Á¾µéÀ» ¹ß±¼Çϱ⵵ Çß¾ú´Ù.
Çö´ëÀÇ CPUµéÀÌ ÆÛÆ÷¸Õ½º¸¦ ³ôÀ̱â À§ÇØ »ç¿ëÇÏ´Â ±â¼ú Áß Çϳª´Â, CPU·Î Àü´ÞµÇ´Â º¹ÀâÇÏ°í ´Ù¾çÇÑ ¸í·ÉµéÀ» º¸´Ù ÀÛ°í °£´ÜÇÑ ¸¶ÀÌÅ©·Î ¿ÀÆÛ·¹À̼ÇÀ¸·Î ÂÉ°³´Â °ÍÀÌ´Ù. °¢°¢ÀÇ ¸¶ÀÌÅ©·Î ¿ÀÇÁ·¹À̼ÇÀÌ Ã³¸®µÇ¸é, ±× °á°ú°¡ CPUÀÇ ±¸Á¶Àû »óÅÂ(architectural state)·Î Àü´ÞµÈ´Ù. ÇÏÁö¸¸ ÀϺδ ±¸Á¶Àû »óÅ·ΠÀü´ÞµÇÁö ¾Ê´Âµ¥, ÀÌ·± °É ÀϽÃÀûÀÎ ¸í·É(transient instruction)À̶ó°í ÇÑ´Ù.
¡°ÀϽÃÀûÀÎ ¸í·ÉÀ» ½ÇÇàÇÏ´Â °ÍÀÌ ±¸Á¶Àû »óÅ¿¡ ¿µÇâÀ» ÁÖÁö ¾ÊÀ¸¸ç, ±×·¯¹Ç·Î ±¸Á¶ÀûÀ¸·Î °üÂûÇÒ ¼ö ÀÖ´Â °Ô ¾Æ´ÏÁö¸¸, ¸¶ÀÌÅ©·Î ±¸Á¶Àû »óÅÂ(microarchitectural state)´Â ¹Ù²ð ¼ö ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î ÀÌ ÀϽÃÀûÀÎ ¸í·ÉÀ» °ø°Ý¿¡ È°¿ëÇÏ´Â °Ô °¡´ÉÇÕ´Ï´Ù. ¸¶ÀÌÅ©·Î ±¸Á¶Àû »óŸ¦ ÀÏ¹Ý ±¸Á¶Àû »óÅ·Πº¯°æ½ÃÄÑ ¹Î°¨ÇÑ Á¤º¸¸¦ ÃßÃâÇÏ´Â °ÍÀÌÁÒ. ÁÖ·Î °ø°ÝÀ» ½±°Ô ¼º°ø½ÃÄÑÁÖ´Â CPU ij½Ã¸¦ È°¿ëÇÏ´Â °Ô º¸ÅëÀÌÁö¸¸, ij½Ã¿¡ ±¹ÇѵǾî ÀÖ´Â °Ç ¾Æ´Õ´Ï´Ù.¡±
¿¬±¸¿øµéÀº ÀÌ·¯ÇÑ ¡®ÀϽÃÀûÀÎ ¸í·É °ø°Ý¡¯ ±â¹ýÀ» °è¼ÓÇؼ ÆÄ°íµé´Ù°¡ µÎ °¡Áö »õ·Î¿î ¸áÆ®´Ù¿î º¯Á¾À» ¹ß°ßÇß´Ù. ¸áÆ®´Ù¿îPK(Meltdown-PK)¿Í ¸áÆ®´Ù¿îBR(Meltdown-BR)·Î, ÀüÀÚ´Â ÀÎÅÚ ÇÁ·Î¼¼¼µé¿¡¼¸¸ ¹ß°ßµÇ´Â º¸¾È Å° °ü·Ã Ãë¾àÁ¡ÀÌ°í, ÈÄÀÚ´Â ÀÎÅÚ°ú AMD ÇÁ·Î¼¼¼µé¿¡ ¿µÇâÀÌ ÀÖ´Â, ¹Ù¿îµå È®ÀÎ °ü·Ã Ãë¾àÁ¡ÀÌ´Ù.
½ºÆåÅÍÀÇ °æ¿ì À̹ø ¿¬±¸¿¡¼ »õ·Ó°Ô µîÀåÇÑ ¡®º¯Á¾¡¯ ȤÀº ¡®»õ °ø°Ý¹ý¡¯ÀÌ ´Ù¼¸ °¡Áö³ª ¹ß°ßµÆ´Ù. ÀüºÎ ½ºÆåÅÍPHT(Spectre-PHT, Pattern History Table) ¹× ½ºÆåÅÍBTB(Spectre-BTB, Branch Target Buffer)¿Í °ü·ÃÀÌ ÀÖ´Â °ÍÀ̶ó°í ÇÑ´Ù. ÀÎÅÚ, AMD, ARM ÇÁ·Î¼¼¼µé¿¡¼ °í·ç ¹ß°ßµÇ¾ú´Ù.
¿¬±¸¿øµéÀº ÇöÁ¸ÇÏ´Â ½ºÆåÅÍ ¹× ¸áÆ®´Ù¿î ¹æ¾î¹ýÀ» À̹ø¿¡ ¹ß°ßµÈ »õ·Î¿î °ø°Ý¹ýÀ» ´ëÀÀÇØ Æò°¡Çϱ⵵ Çß´Ù. ±× °á°ú ¡®¾ÈÁ¤ÀûÀÎ ´ëÃ¥ÀÌ µÇÁö ¸øÇÑ´Ù¡¯´Â °á·ÐÀ» ³»·È´Ù. ¡°ÀϺΠÀϽÃÀû ¸í·É °ø°ÝÀÇ °æ¿ì, ÇöÁ¸ÇÏ´Â ÆÐÄ¡µé·Î ¹æ¾îÇÒ ¼ö ¾ø´Â °ÍÀ¸·Î ³ªÅ¸³µ½À´Ï´Ù. ¹°·Ð ÀüºÎ ¹æ¾î°¡ ºÒ°¡´ÉÇÏ´Ù´Â °Ç ¾Æ´Õ´Ï´Ù¸¸, ±×·³¿¡µµ Ãß°¡ÀûÀÎ ¹æ¾î ´ëÃ¥ÀÌ ÇÊ¿äÇÏ´Ù´Â »ç½Ç¿¡´Â º¯ÇÔÀÌ ¾ø½À´Ï´Ù.¡±
ÇÏÁö¸¸ ÀÎÅÚÀº ÇØ¿Ü º¸¾È Àü¹® ¸ÅüÀÎ ½ÃÅ¥¸®Æ¼À§Å©(SecurityWeek)¸¦ ÅëÇØ ¡°ÇöÁ¸ÇÏ´Â ÆÐÄ¡³ª ¹æ¾îÃ¥µéÀ» Á¦´ë·Î Àû¿ëÇϱ⸸ ÇÑ´Ù¸é À̹ø¿¡ ¹ß°ßµÈ 7°¡Áö °ø°Ý¹ý ¶ÇÇÑ ¸·À» ¼ö ÀÖ´Ù¡±°í ¹Ý¹ÚÇß´Ù. ±×·¯¸é¼µµ ¡°°í°´ º¸È£¸¦ ÃÖ¿ì¼± °¡Ä¡·Î ¿©±â´Â ÀÎÅÚ¿¡°Ô ÀÌ·± ±ÍÁßÇÑ ¿¬±¸ ÀڷḦ °øÀ¯ÇØÁֽŠ¿©·¯ ´ëÇÐ ±â°üÀÇ Àü¹®°¡µé¿¡°Ô Áø½ÉÀ¸·Î °¨»çÇÏ´Ù¡±°í µ¡ºÙÀ̱⵵ Çß´Ù.
ARM ¿ª½Ã ¡°»õ·Ó°Ô ¹ß°ßµÈ ½ºÆåÅÍ ¹× ¸áÆ®´Ù¿î ÀͽºÇ÷ÎÀÕÀº ARMÀÌ ÀÌÀü¿¡ ¹ßÇ¥ÇÑ ÆÐÄ¡¿Í ±Ç°í »çÇ×, ¾È³»¹® µîÀ» ÅëÇØ ÃæºÐÈ÷ ÇØ°á °¡´ÉÇÏ´Ù¡±´Â ÀÔÀåÀÓÀ» ¹àÇû´Ù.
ÇÑÆí º¸°í¼ Àüü ³»¿ëÀº PDF·Î Á¤¸®µÇ¾î ÀÖÀ¸¸ç ¿©±â(https://arxiv.org/pdf/1811.05441.pdf)¼ ´Ù¿î·Îµå°¡ °¡´ÉÇÏ´Ù.
3ÁÙ ¿ä¾à
1. ¸áÆ®´Ù¿î°ú ½ºÆåÅÍÀÇ ¾Ç¸ùÀº °è¼ÓµÈ´Ù. ¿¹°ßµÈ °Íó·³.
2. À̹ø¿¡ ¿©·¯ ´ëÇÐÀÌ °øµ¿À¸·Î ¿¬±¸ÇØ 7°¡Áö »õ·Î¿î ÀͽºÇ÷ÎÀÕ ¹æ¹ý °³¹ßÇÔ.
3. ¿¬±¸ÀÚµéÀº ¡°±âÁ¸ ÆÐÄ¡ ¹«¼Ò¿ë¡±, ÀÎÅÚ°ú ARMÀº ¡°±âÁ¸ ÆÐÄ¡·Î ÃæºÐÈ÷ ¹æ¾î °¡´É¡±
[±¹Á¦ºÎ ¹®°¡¿ë ±âÀÚ(globoan@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>