µðÁöÅПÀÓ½º

 


[¾Ë¾Æº¾½Ã´Ù] ¼ÒÇÁÆ®¿þ¾î ¾ÈÀü¼º ºÐ¼®±â¹ý

ÇÁ¸°Æ® ÆäÀ̽ººÏ Æ®À§ÅÍ Ä«Ä«¿À½ºÅ丮
'SW, ¿Ï¼ºµµ´Â ³ôÀÌ°í À§Çèµµ´Â ÃÖ¼ÒÈ­'
°³¹ßSW ¿À·ù¤ýÃë¾à¼º ºÐ¼®ÇØ »çÀüÁ¶Ä¡

±Û·Î¹ú±â¾÷ Á᫐ µµ±¸¤ý±â¼ú¤ý¹æ¹ý·Ð ÅõÀÚ È®´ë
È­ÀÌÆ®¤ýºí·¢¤ý±×·¹À̹ڽº ¹æ½Ä ºÐ·ù¡¦ Ư¼º´Þ¶ó
µ¿ÀûºÐ¼® ÀÏȯÀÎ '°áÇÔÁÖÀÔ' ¹æ½Ä ¸¹ÀÌ Ã¤ÅõÅ



IT±â¼úÀÌ ±Þ¼ÓÇÏ°Ô ¹ßÀüÇϸ鼭 ¼ÒÇÁÆ®¿þ¾î(SW)´Â ¿ì¸® ÀÏ»ó»ýÈ°¿¡¼­ ¾îµð¿¡¼­³ª ½±°Ô Á¢ÇÏ°í È°¿ëÇÒ ¼ö ÀÖ´Â µµ±¸°¡ µÆ½À´Ï´Ù. ¿©Çà ¹× ÃâÀå¿¡ ÀÚÁÖ ÀÌ¿ëÇÏ´Â ºñÇà±â´Â ÀÚµ¿Ç×¹ýÀåÄ¡¿Í ºñÇà°üÁ¦½Ã½ºÅÛÀÇ ÅëÁ¦¸¦ ÅëÇØ ¿î¿µµÇ°í ÀÚµ¿Â÷´Â ±³ÅëÅëÁ¦ Á¦¾î½Ã½ºÅÛ¿¡ ÀÇÇØ ½ÅÈ£¿¡ µû¶ó ¿îÇàµË´Ï´Ù. ¶Ç Ãâ¤ýÅð±Ù ½Ã ¸¹ÀÌ ÀÌ¿ëÇÏ´Â ÁöÇÏöµµ ÅëÁ¦½Ã½ºÅÛ¿¡ ÀÇÇØ ½Â°´µéÀ» ½Ç¾î ³ª¸£°í ÀÖ½À´Ï´Ù.

ÀÌ·¯ÇÑ »ç¶÷µéÀÇ »îÀ» Æí¸®ÇÏ°Ô ÇÏ´Â ±â¹Ý ½Ã¼³µéÀÇ ½Ã½ºÅÛµéÀº SW¿¡ ÀÇÇØ ¿î¿µµÇ´Â °ÍÀ¸·Î ¾î¶»°Ô º¸¸é SW´Â ¿ì¸® »ýÈ° Àü¹ÝÀ» °ü¸®ÇÏ°í Áö¿øÇÏ´Â °ÍÀ» ³Ñ¾î¼­ ÅëÁ¦ÇÏ°í Á¶Á¾ÇÏ´Â ¿ªÇÒ±îÁö ¼öÇàÇÑ´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áö³­ÇØ °³ºÀÇß´ø ¸î¸î ºí·Ï¹ö½ºÅÍ ¿µÈ­µé¿¡¼­´Â ÄÄÇ»ÅÍ ÇØÅ·¿¡¼­ºÎÅÍ Á¦¾îÀåÄ¡ ¿À·ù¸¦ ÀÌ¿ëÇØ »çȸ±â¹ÝÀ» ¸¶ºñ½ÃÅ°´Â ³»¿ëÀ» ÁÖ·Î ´Ù·é ¹Ù Àִµ¥, ÀÌ´Â »ç¿ë ¹üÀ§°¡ È®´ëµÇ¸é¼­ ±× À§Ç輺ÀÌ Ä¿Áö°í ÀÖ´Â SWÀÇ ¿À·ù ¹× Ãë¾à¼º°ú Á÷Á¢ ¿¬°üµÅ ÀÖ½À´Ï´Ù.

ÀÌ¿¡ ±Û·Î¹ú ±â¾÷µéÀ» Áß½ÉÀ¸·Î SWÀÇ ¾ÈÀü¼ºÀ» Çâ»ó½ÃÅ°±â À§ÇØ ¸¹Àº ¿¹»ê°ú ÀηÂÀ» ÅõÀÔÇÏ´Â ÇÑÆí ´Ù¾çÇÑ ºÐ¼®µµ±¸¿Í ±â¼úÀ» È°¿ëÇÏ´Â µî Àû±Ø ´ëÀÀÇÏ°í ÀÖ½À´Ï´Ù. ÃÖ±Ù¿¡´Â °³¹ß °úÁ¤¿¡¼­ºÎÅÍ ¾ÈÀüÇÑ SW °³¹ß ¹æ¹ý·ÐÀ» Àû¿ë, ¹ß»ý °¡´ÉÇÑ º¸¾È À§ÇùÀ» ÃÖ¼ÒÈ­Çϱâ À§ÇÑ ³ë·ÂÀ» ±â¿ïÀÌ°í ÀÖ½À´Ï´Ù. ¿À´ÃÀº ÇöÀç È°¿ëµÇ°í ÀÖ´Â SW ¾ÈÁ¤¼º ºÐ¼®¹æ¹ý¿¡ ´ëÇؼ­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.

¡Þ´Ù¾çÇÑ SW¾ÈÀü¼º ºÐ¼®±â¹ý=SW¾ÈÀü¼º ºÐ¼® ±â¹ýÀº Å©°Ô È­ÀÌÆ®¹Ú½º Å×½ºÆÃ(white box testing)°ú ºí·¢¹Ú½º Å×½ºÆÃ(black box testing)À¸·Î ³ª´­ ¼ö ÀÖ½À´Ï´Ù. È­ÀÌÆ®¹Ú½º Å×½ºÆÃÀº ºÐ¼® ´ë»óÀÌ µÇ´Â SWÀÇ ¼Ò½ºÄڵ带 ´ë»óÀ¸·Î Ãë¾à¼ºÀÌ ¹ß»ý °¡´ÉÇÑ ÆÐÅÏÀ» ºÐ¼®, ¹öÆÛ¿À¹öÇÃ·Î¿ì ¹× Æ÷¸Ë½ºÆ®¸µ Ãë¾àÁ¡ µîÀ» Á¡°ËÇÔÀ¸·Î½á SW°¡ ÀûÀýÇÏ°Ô µ¥ÀÌÅ͸¦ ó¸®ÇÏ´ÂÁö¸¦ Á¡°ËÇÏ´Â ¹æ½ÄÀÔ´Ï´Ù.


¹Ý¸é ºí·¢¹Ú½º Å×½ºÆÃÀº SWÀÇ ÀԷºο¡ µ¥ÀÌÅ͸¦ ÁÖÀÔÇÏ°í SWÀÇ µ¿ÀÛÀ» ¸ð´ÏÅ͸µÇÏ´Â ¹æ¹ýÀ» ÅëÇØ ¾ÈÀü¼ºÀ» Á¡°ËÇÕ´Ï´Ù. ºí·¢¹Ú½º Å×½ºÆÃÀº ¼Ò½ºÄڵ尡 ¹Ýµå½Ã ÇÊ¿ä ¾øÀ¸¸ç È­ÀÌÆ®¹Ú½º Å×½ºÆÃÀÌ ¹ß°ßÇÏÁö ¸øÇÏ´Â ¿¹¿Ü»óȲÀ» À¯¹ß½Ãų ¼ö ÀÖÀ¸³ª ¼º°øÀûÀÎ ¾ÈÀü¼ººÐ¼®À» À§ÇØ ´Ù¾çÇÑ ÇüÅÂÀÇ Å×½ºÆÃÀ» ¼öÇàÇØ¾ß Çϱ⠶§¹®¿¡ ¸·´ëÇÑ ½Ã°£°ú ºñ¿ëÀÌ ¼Ò¿äµË´Ï´Ù. µû¶ó¼­ È¿À²ÀûÀÎ Å×½ºÆÃÀ» À§ÇØ ÀÚµ¿È­µÈ ¾ÈÀü¼º ºÐ¼®µµ±¸°¡ ÀÌ¿ëµÇ°í ÀÖÀ¸¸ç ÀÌ¿Í °ü·ÃµÈ ¿øõ±â¼ú°³¹ßÀ» À§ÇÑ ¿¬±¸µéÀÌ ÁøÇàµÇ°í ÀÖ½À´Ï´Ù.
SWÀÇ ¾ÈÀü¼ºÀ» ºÐ¼®Çϱâ À§Çؼ­´Â ºÐ¼® ´ë»ó SW°¡ Á¦°øÇØÁÖ´Â ÀÚ¿øÀÇ ¼öÁØ¿¡ µû¶ó ºÐ¼® ¹æ¹ýÀ» °áÁ¤Çϴµ¥ ½ÇÇàÇÁ·Î±×·¥¸¸ Á¦°øµÇ´Â °æ¿ì¿¡´Â ºí·¢¹Ú½º Å×½ºÆÃÀ», ¼Ò½ºÄڵ尡 Á¦°øµÇ´Â °æ¿ì¿¡´Â È­ÀÌÆ®¹Ú½º Å×½ºÆÃÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶§¹®¿¡ SW °³¹ßÀÚ ÀÔÀå¿¡¼­´Â È­ÀÌÆ® ¹Ú½º Å×½ºÆðú ºí·¢¹Ú½º Å×½ºÆà ¸ðµÎ Àû¿ëÀÌ °¡´ÉÇÑ °ÍÀÌÁö¿ä. ÃÖ±Ù¿¡´Â ºí·¢¹Ú½º Å×½ºÆðú ¸®¹ö½º ¿£Áö´Ï¾î¸µ(reverse engineering) ±â¼úÀ» Á¢¸ñÇÑ ±×·¹À̹ڽº Å×½ºÆÃ(gray box testing)ÀÌ µîÀå, º¸´Ù Á¤È®ÇÑ ºÐ¼®À» À§ÇÑ µµ±¸·Î »ç¿ëµÇ°í ÀÖ½À´Ï´Ù. ¢º

¡Þ°¡Àå ´ëÇ¥ÀûÀÎ È­ÀÌÆ®¹Ú½º¿Í ºí·¢¹Ú½º Å×½ºÆÃ=¼Ò½ºÄڵ带 ´ë»óÀ¸·Î ½ÇÇàµÇÁö ¾Ê´Â ȯ°æ¿¡¼­ ºÐ¼®À» ¼öÇàÇØ Á¤Àû ºÐ¼®(static analysis)À̶ó°í ºÒ¸®´Â È­ÀÌÆ®¹Ú½º Å×½ºÆÃÀº ºÐ¼®°¡°¡ Äڵ帮ºä¸¦ ÅëÇØ ¼öÇàÇϱ⵵ Çϳª ÀϹÝÀûÀ¸·Î PREfast, Flawfinder, ITS4, RATS µîÀÇ Á¤ÀûºÐ¼® µµ±¸¸¦ È°¿ëÇÕ´Ï´Ù. È­ÀÌÆ®¹Ú½º Å×½ºÆÃÀº ¼Ò½ºÄڵ带 ´ë»óÀ¸·Î ¹ß»ý °¡´ÉÇÑ ¸ðµç °æ¿ì¿¡ ´ëÇØ ¼öÇà, ºÐ¼® ¹üÀ§°¡ ³Ð¾î »ó´ëÀûÀ¸·Î ¸¹Àº Ãë¾à ¿ä¼ÒµéÀ» ¹ß°ßÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù.

±×·¯³ª Á¤ÀûºÐ¼® µµ±¸µéÀ» ÅëÇØ ºÐ¼®µÈ °á°ú´Â ¼ö¸¹Àº ¿À·ù ¸Þ½ÃÁö¸¦ »êÃâ, º¸¾ÈÀü¹®°¡°¡ °¢°¢ÀÇ ¿À·ù ¸Þ½ÃÁö¿¡ ´ëÇÑ ÁøÀ§¿©ºÎ¸¦ ÆÇ´ÜÇØ¾ß Çϱ⠶§¹®¿¡ »ó´çÇÑ ºñ¿ë ºÎ´ãÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀÌ ´ÜÁ¡ÀÔ´Ï´Ù. ÀÌ ¶§¹®¿¡ ¿À·ù ¸Þ½ÃÁöÀÇ Á¤È®µµ¸¦ Çâ»ó½ÃÅ°´Â °ÍÀÌ Á¤ÀûºÐ¼® ¿¬±¸ ºÐ¾ßÀÇ °¡Àå Áß¿äÇÑ ¿ä¼Ò·Î ºÎ°¢µÇ°í ÀÖÀ¸¸ç ÀÌ¿¡ ´ëÇÑ ¿¬±¸µµ ´Ù¾çÇÏ°Ô ÁøÇàµÇ°í ÀÖ½À´Ï´Ù.

ºí·¢¹Ú½º Å×½ºÆÃÀº ½ÇÇàÇÁ·Î±×·¥À» ´ë»óÀ¸·Î ¿ÜºÎÀÇ ÀԷºο¡ ´Ù¾çÇÑ ÀÔ·ÂÀ» ÁÖÀÔÇØ ÇÁ·Î±×·¥À» µ¿ÀûÀ¸·Î ºÐ¼®ÇÑ´Ù°í Çؼ­ µ¿ÀûºÐ¼® ¶Ç´Â °­°Ç¼º Å×½ºÆÃ(robustness testing)À¸·Î ĪÇØÁö±âµµ ÇÕ´Ï´Ù. ÀÌ ±â¹ýÀº ½ÇÇàÇÁ·Î±×·¥ÀÇ ¿ÜºÎ¿¡ ³ëÃâµÈ ÀÀ¿ëÇÁ·Î±×·¥ÀÎÅÍÆäÀ̽º(API)¤ý³×Æ®¿öÅ©¤ýÆÄÀϤý»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º(UI) µî¿¡ ´ëÇØ ÇÁ·Î±×·¥ÀÌ ¿¹»óÄ¡ ¸øÇÑ ´Ù¾çÇÑ °ªÀ» ÀÔ·Â, ¾ÈÀü¼ºÀ» Á¡°ËÇÕ´Ï´Ù. µ¿ÀûºÐ¼®Àº ÇÁ·Î±×·¥À» ½ÇÁúÀûÀ¸·Î ±¸µ¿Çϸ鼭 Ãë¾àÁ¡À» ºÐ¼®ÇÑ´Ù´Â Á¡¿¡¼­ Á¤ÀûºÐ¼®¿¡ ºñÇØ Á¤È®¼ºÀ» ³ôÀÏ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖÀ¸³ª ½ÇÇà¿¡ µû¸¥ ½ÇÁ¦ ºÐ¼®¿¡ ½Ã°£ÀÌ ¸¹ÀÌ ¼Ò¿äµÇ´Â µ¥´Ù ¹ß»ý °¡´ÉÇÑ ¸ðµç °æ¿ì¸¦ Á¡°ËÇß´ÂÁö ¿©ºÎ¸¦ ÀÎÁöÇϱ⠾î·Æ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù.

ÇöÀç ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®(MS) µî SW °³¹ß¾÷üµéÀÌ º¸´Ù ¾ÈÀüÇÑ ½Ã½ºÅÛ °³¹ß°ú SWÀÇ Ç°Áú Çâ»óÀ» À§ÇØ µ¿ÀûºÐ¼®ÀÇ ÀÏȯÀÎ °áÇÔÁÖÀÔ ºÐ¼®À» ¸¹ÀÌ È°¿ëÇÏ°í ÀÖ½À´Ï´Ù. °áÇÔÁÖÀÔ ºÐ¼®ÀÇ ÀýÂ÷´Â ¿ì¼± °áÇÔÀ» ÁÖÀÔÇÒ ´ë»ó ÇÁ·Î±×·¥ÀÇ ¿ÜºÎ ÀÎÅÍÆäÀ̽º ¼±ÅÃÇÏ°í, ¼±ÅÃµÈ ¿ÜºÎ ÀÎÅÍÆäÀ̽º¿¡ °áÇÔÀ» À¯¹ßÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅ͸¦ ÁÖÀÔÇØ °á°ú °ª ¹× ÀÌ»óÇö»óÀ» ¸ð´ÏÅ͸µ ÇÏ´Â ¹æ½ÄÀÔ´Ï´Ù.

ÀÌÈ«¼®±âÀÚ redstone@