[º¸¾È´º½º ¿øº´Ã¶ ±âÀÚ] ½ÃÅ¥¾î ÄÚµù(Secure Coding)À̶õ ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇÏ´Â °úÁ¤¿¡¼ ÄÚµù ½Ã¿¡ °³¹ßÀÚÀÇ ½Ç¼ö³ª ¿À·ù, ¾àÁ¡ ¶Ç´Â Ãë¾àÁ¡ÀÌ »ðÀÔµÇÁö ¾Êµµ·Ï ÇÁ·Î±×·¡¹Ö ÇÔÀ¸·Î½á »çÀü¿¡ ¾ÇÀÇÀûÀÎ »çÀ̹ö °ø°ÝÀ» Â÷´ÜÇϱâ À§ÇÑ ÀÛ¾÷ÀÔ´Ï´Ù.
¨Ï iclickart
ÀÌ¿¡ ¹Ì±¹Àº 2002³â ¿¬¹æÁ¤º¸º¸¾È°ü¸®¹ý(FISMA)À» Á¦Á¤ÇØ ½ÃÅ¥¾î ÄÚµùÀ» Àǹ«ÈÇßÀ¸¸ç, ¿ì¸®³ª¶óÀÇ °æ¿ì 2012³â 12¿ùºÎÅÍ SW °³¹ß ´Ü°èºÎÅÍ º¸¾È Ãë¾àÁ¡À» Á¦°ÅÇÏ´Â ¡®SW °³¹ß º¸¾È Àǹ«Á¦¡¯°¡ ½ÃÇàµÆ½À´Ï´Ù.
À̸¦ À§ÇÑ ´ëÇ¥ÀûÀÎ ½ÃÅ¥¾î ÄÚµù °¡À̵å·Î´Â CERT¿¡¼ ¹ßÇ¥ÇÏ´Â ½ÃÅ¥¾î ÄÚµù °¡À̵尡 ÀÖÀ¸¸ç, OWASP(The Open Web Application Security Project)¶ó´Â Á¶Á÷À» ÅëÇؼ Á¦°øµÇ´Â ½ÃÅ¥¾î ÄÚµù °¡ÀÌµå µîÀÌ ÀÖ½À´Ï´Ù.
±×·¯³ª Á÷Á¢ ÄÚµùÀ» ÇÏ´Â °³¹ßÀÚ ÀÔÀå¿¡¼´Â Ãë¾àÁ¡À» ÇϳªÇϳª °í·ÁÇÏ´Â ÇÁ·Î±×·¡¹ÖÀ̶õ ½Ã°£µµ ¸¹ÀÌ °É¸®°í ½Ç¼ö³ª ÆÇ´Ü ¿À·ùµµ °³À﵃ ¼ö Àֱ⠶§¹®¿¡ ¼Ò½º Äڵ带 ½ºÄ³´×(Scanning)Çؼ Ãë¾àÁ¡À» ã¾Æ³»´Â ¼Ö·ç¼ÇÀ» Àû¿ëÇÏ´Â Ãß¼¼ÀÔ´Ï´Ù.
´ëÇ¥ÀûÀÎ »ó¿ë ¼Ö·ç¼ÇÀ¸·Î Sparrow, Code Inspector µîÀÌ ½ÃÁß¿¡ ¸¹ÀÌ Á¦°øµÇ°í ÀÖÁö¸¸, ¼Ò½º Äڵ尡 °ø°³µÇ¾î ´©±¸³ª ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ°í ¹èÆ÷ÇÒ ¼ö ÀÖ´Â °ø°³ ¼ÒÇÁÆ®¿þ¾î·Îµµ ¼Ò½º ÄÚµå Ãë¾àÁ¡À» Á¡°ËÇϴ ȯ°æÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
¡â Sparrow : Æļö´åÄÄ »çÀÇ ½ÇÇàÀÇ¹Ì ±â¹Ý Á¤Àû ºÐ¼® µµ±¸
¡â Code Inspector : ½´¾î¼ÒÇÁÆ®Å×Å© »çÀÇ ¼Ò½º ÄÚµå ±â¹ÝÀÇ ÄÚµù ±ÔÄ¢ ÀÚµ¿ °Ë»ç µµ±¸
°¡·É Jenkins, FindBugs, FindSecurityBugs, PMD¿Í °°Àº °ø°³ ¼ÒÇÁÆ®¿þ¾î¸¦ È°¿ëÇÑ ¼ÒÇÁÆ®¿þ¾î º¸¾È ¾àÁ¡À» ºÐ¼®ÇÏ°í ¸®Æ÷ÆÃÇÒ ¼ö ÀÖÀ¸¸ç, À̸¦ ¹Ý¿µÇÑ Äڵ带 Çü»ó°ü¸® ¼¹ö¿¡ ¹Ý¿µÇÒ ¼ö ÀÖ½À´Ï´Ù.
¡â Jenkins : Áö¼ÓÀûÀÎ ÅëÇÕ CI(Continuous Integration) µµ±¸
¡â FindBugs : ÀÚ¹Ù ÄÚµåÀÇ Á¤Àû ºÐ¼® ±â´ÉÀ» Á¦°øÇÏ´Â µµ±¸
¡â FindSecurityBugs : ÀÚ¹Ù À¥ ¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ º¸¾È °¨»ç¸¦ Áö¿øÇÏ´Â Ç÷¯±×ÀÎ µµ±¸
¡â PMD : ÀÚ¹Ù ÇÁ·Î±×·¥ÀÇ ¼Ò½ºÄڵ带 ºÐ¼®ÇØ ÇÁ·Î±×·¥ÀÇ ºÎÀûÀýÇÑ ºÎºÐÀ» ã¾Æ³»°í ¼º´ÉÀ» ³ôÀ̵µ·Ï µµ¿ÍÁÖ´Â °ø°³¼ÒÇÁÆ®¿þ¾î Á¡°Ë µµ±¸
¹«¾ùº¸´Ùµµ ½ÃÅ¥¾î ÄÚµùÀ» Áö¼ÓÀûÀ¸·Î ¹Ý¿µÇϱâ À§Çؼ´Â, SVN°ú °°Àº ÄÚµå Çü»ó °ü¸® µµ±¸¿Í ¿¬µ¿ÇÏ´Â ÀÚµ¿È Å×½ºÆ® ÀÎÇÁ¶ó¸¦ ±¸ÃàÇÏ´Â °ÍÀÌ ÇÊ¿äÇϸç, ÁÖ±âÀûÀ¸·Î Jenkins¿Í °°Àº CI µµ±¸¿¡ Ç÷¯±×ÀÎ µÈ °ø°³ ¼ÒÇÁÆ®¿þ¾î ¹× »ó¿ë ¼ÒÇÁÆ®¿þ¾î¸¦ ÅëÇØ ¼ÒÇÁÆ®¿þ¾î º¸¾È¾àÁ¡ °ü·Ã ºÐ¼®À» ½Ç½ÃÇÏ°í, ºÐ¼®µÈ °á°ú¸¦ ¸®Æ÷ÆÃÇÏ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù.
¡â SVN(Subversion) : ¼ÒÇÁÆ®¿þ¾î ¹öÀü °ü¸® ½Ã½ºÅÛÀ¸·Î½á °³¹ßÀÚµéÀÇ ¼Ò½º°ü¸®¸¦ Æí¸®ÇÏ°Ô Á¦°øÇϱâ À§ÇÑ µµ±¸
±×·¯³ª ÀÌ¿Í °°Àº ¼ÒÇÁÆ®¿þ¾î º¸¾È¾àÁ¡ ºÐ¼® µµ±¸´Â ¿Ïº®ÇÏÁö ¾ÊÀ¸¸ç, ¼ÒÇÁÆ®¿þ¾î°¡ ½ÇÇàµÇÁö ¾Ê°í ¼Ò½ºÄÚµå »óÅ¿¡¼ Ãë¾àÇÑ ºÎºÐÀ» ã´Â Á¤ÀûºÐ¼®Àº ¿ÀŽÀÌ Á¸ÀçÇϱ⠸¶·ÃÀÔ´Ï´Ù. Áï, Á¤±âÀûÀÎ ºÐ¼® °á°ú°¡ º¸°íµÉ ¶§¸¶´Ù ¿ÀŽ ¿©ºÎ¸¦ È®ÀÎÇÏ°í, ±× ³»¿ëÀ» ´ÙÀ½ ºÐ¼®¿¡ ¹Ý¿µÇÏ´Â µîÀÇ ²ÙÁØÇÑ °ü¸®°¡ ÇÊ¿äÇÕ´Ï´Ù.
¶ÇÇÑ, ¼ºñ½º¿Í Ç÷§Æû Ư¼º µî¿¡ µû¶ó Ãë¾àÁ¡ÀÇ Á¾·ù¿Í ³»¿ëÀÌ ´Þ¶óÁö¹Ç·Î, ½ÃÅ¥¾î ÄÚµùÀ» ±âº»ÀûÀ¸·Î °¡Á®°¡µÇ, ¿©·¯ ȯ°æ ¿äÀÎÀ» °í·ÁÇÑ Ãë¾àÁ¡ Á¡°Ë ¹× °ü¸®°¡ ÇÊ¿äÇÕ´Ï´Ù.
[±èº´±¸ Çѱ¹ÀüÀÚÅë½Å¿¬±¸¿ø(bkkim05@etri.re.kr)]
½ÃÅ¥¾î ÄÚµùÀº °ø°ø±â°ü¿¡¼ »ç¾÷±Ô¸ð¿¡ µû¶ó Àǹ« Àû¿ë ´ë»óÀÔ´Ï´Ù. ÀϹÝÀûÀÎ À¥ °³¹ßÀÚµéÀÌ º¸¾ÈÄÚµù Áï, ½ÃÅ¥¾î ÄÚµùÀ» ÇÏÁö ¾Ê±â ¶§¹®¿¡ À¥ ÇØÅ·ÀÌ ºó¹øÈ÷ ¹ß»ýÇÏ°í ÀÖ½À´Ï´Ù. ½ÃÅ¥¾î ÄÚµùÀ» Àß ÇÏ·Á¸é ½ÃÅ¥¾î ÄÚµù °ü·Ã Ã¥À̳ª ÇàÀںΠ¹× KISA¿¡¼ ¹ß°£ÇÑ ½ÃÅ¥¾î ÄÚµù °¡À̵带 ÂüÁ¶ÇÏ¿© ÀÍÈ÷´Â ¹æ¹ýÀÌ °¡Àå È¿À²ÀûÀ̶ó°í »ý°¢ÇÕ´Ï´Ù. ½ÃÅ¥¾î ÄÚµù °¡À̵带 º¸½Ã¸é ±×¸® ¾î·ÆÁö ¾Ê°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Â ¼öÁØÀ¸·Î Ãë¾àÇÑ Äڵ带 ¾ÈÀüÇÑ º¸¾È ÄÚµå·Î Àû¿ëÇÏ´Â ¿¹°¡ ³ª¿Í ÀÖ½À´Ï´Ù. º°µµÀÇ ¼Ö·ç¼ÇÀ» ÀÌ¿ëÇÏ¿© ½ÃÅ¥¾î ÄÚµùÀ» Àû¿ëÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.
[¿À¿øö À¯´ÏÆ÷ÀÎÆ® ºÎÀå(k5172@hanmail.net)]
¡¡
º¸¾ÈÀÌ °ÈµÊ¿¡ µû¶ó¼ ½ÃÅ¥¾î ÄÚµùÀÌ Àǹ«ÈÇÏ°Ô µÇ¾ú´Âµ¥, ±âÁ¸ÀÇ °³¹ßÀڵ鿡°Ô´Â Àͼ÷ÇÏÁö ¾Ê¾Æ ¿©·¯ °¡Áö ºÒÆíÇÔÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ °³¹ßµµ Áß¿äÇÏÁö¸¸ º¸¾ÈÀÇ Á߿伺¿¡ ´ëÇÑ ºñÁßÀÌ ³ô¾ÆÁ³±â ¶§¹®¿¡ ½ÃÅ¥¾îÄÚµùÀ» ¹«½ÃÇÒ ¼ö ¾øÀ» °ÍÀÔ´Ï´Ù. ½ÃÅ¥¾îÄÚµù Àü¹® ÀηÂÀ» ¾ç¼ºÇÏ°í ÀÏ󸮸¦ ºÐ¾÷ÈÇÏ¸é º¸´Ù È¿À²ÀûÀÎ °³¹ß°úÁ¤ÀÌ ÀÌ·ç¾îÁú ¼ö ÀÖÀ» °ÍÀ¸·Î º¾´Ï´Ù.
[Çѱ¹»ê¾÷±â¼úº¸È£Çùȸ Áß¼Ò±â¾÷±â¼úÁöÅ´¼¾ÅÍ]
¡¡
°³¹ßÀÚ°¡ ½ÃÅ¥¾î ÄÚµù¿¡ Àͼ÷ÇÏ°Ô ÇÏ·Á¸é ¿ì¼±Àº °³¹ßÀÚµéÀÌ ÄÄÆÄÀÏÇÏ°í ºôµå¸¦ ¼ö½Ã·Î ÇϵíÀÌ º¸¾È Á¡°Ëµµ ¼ö½Ã·Î ÇÏ¸é¼ Äڵ忡 Ç°Áú ¹®Á¦°¡ ÀÖ´Â °Íó·³ º¸¾È ¹®Á¦°¡ ÀÖ´ÂÁö¸¦ Áö¼ÓÀûÀ¸·Î Á¡°ËÇÏ´Â ¼ö¹Û¿¡´Â ¾ø½À´Ï´Ù. ¶ÇÇÑ, °³¹ß ÇÁ·Î¼¼½º »ó¿¡¼ ÀÏÁ¤ º¸¾È Ç°Áú¿¡ µµ´ÞÇÏÁö ¾Ê°Å³ª, ½É°¢ÇÑ º¸¾È Ãë¾àÁ¡ÀÌ ÀÖ´Â °æ¿ì¿¡´Â ÇØ´ç À̽´¸¦ ÇØ°áÇÒ ¶§±îÁö ¼ºñ½º ¿ÀÇÂÀ» Áö¿¬Åä·Ï ÇÏ°í, ÀÌ¿¡ ´ëÇÑ ¼º°ú °ü¸®¸¦ Áö¼ÓÇÏ´Â °Íµµ ÇÊ¿äÇÕ´Ï´Ù. ¹°·Ð, ½ÃÅ¥¾î ÄÚµù°ú ÁؼöÇØ¾ß ÇÒ ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ±³À°µµ Áö¼ÓÇؾ߰ÚÁÒ.
[¹ÚÇü±Ù Çѱ¹IBM ½ÇÀå]
¡¡
°¡Àå È¿°úÀûÀÎ ¹æ¹ýÀ¸·Î ¼Ò°³µå¸± °ÍÀÌ ½ÃÅ¥¾îÄÚµù Á¡°Ë µµ±¸¸¦ °³¹ßȯ°æ¿¡ ÅëÇÕÇÏ¿© È°¿ëÇϽô °Ì´Ï´Ù. ´Ü¼øÈ÷ ¼Ò½ºÄÚµå Á¡°ËÀ¸·Î ±×Ä¥ °ÍÀÌ ¾Æ´Ï¶ó °³¹ßÀÚµéÀÇ ÄÚµù ½À°üÀ» º¸¾ÈÀ» °í·ÁÇϵµ·Ï ¹Ù¸£°Ô °¡Á®°¡´Â °ÍÀÌ ÇÊ¿äÇÏ°í, ±×·¯±â À§Çؼ´Â À̸¦ °¡À̵åÇØ ÁÙ ÀÚµ¿È µµ±¸°¡ Å« µµ¿òÀÌ µË´Ï´Ù. ¿ÀǼҽº³ª »ó¿ë Á¦Ç°À» ÅëÇØ Áö¼ÓÀûÀ¸·Î °ËÁõÀ» ¼öÇàÇϵµ·Ï Çϸé ÀÚ¿¬½º·´°Ô ½ÃÅ¥¾î ÄÚµùÀÌ ½À°üÀ¸·Î üµæµË´Ï´Ù.
¶Ç ÇÑ °¡Áö´Â Çѱ¹ÀÎÅͳÝÁøÈï¿ø, Æļö´åÄÄ µî¿¡ °³¼³µÇ¾î ÀÖ´Â ½ÃÅ¥¾î ÄÚµù ±³À°¿¡ Âü¿©Çϵµ·Ï µ¶·ÁÇؼ °³¹ßº¸¾È¿¡ ´ëÇÑ °ü½ÉÀ» ³ô¿©Áֽô °Íµµ ¸Å¿ì È¿°úÀûÀÎ ¹æ¹ýÀÔ´Ï´Ù.
[ÀÌÀç¿ë Æļö´åÄÄ PA»ç¾÷º»ºÎ ÆÀÀå(jaeyonglee@fasoo.com)]
[¿øº´Ã¶ ±âÀÚ(boanone@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>