|
|
|
|
|
| Writing Secure Code 2nd Edition
|
 |
|
|
|
|
|
|
|
 |
 |
³×Æ®¿öÅ© ȯ°æ¿¡¼ ¾ÈÀüÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç Äڵ带 ÀÛ¼ºÇϱâ À§ÇÑ ½Ç¹«¿¡ ÀûÇÕÇÑ Àü·«°ú ±â¼ú.. ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼ ÃßõÇÏ´Â µµ¼!
¡°Áö³ 20³â µ¿¾È ÄÄÇ»ÅÍ »ê¾÷Àº ¿ì¸® »îÀÇ ¹æ½Ä¿¡ Å« º¯È¸¦ °¡Á®¿Ô´Ù. ±×°ÍÀº ¿ø°Ý Åë½ÅÀ¸·ÎºÎÅÍ ¿îÀÓ¿¡ °ü·ÃµÈ ÀºÇà ¾÷¹«¿¡ À̸£±â±îÁö ¸ðµç Áß¿äÇÑ ÀÎÇÁ¶óÀÇ ºÎºÐÀ¸·Î¼ »ç¿ëµÇ°í ÀÖ°í °³ÀÎ °Ç° ±×¸®°í ÀçÁ¤ ±â·Ï°ú °°Àº ¸Å¿ì ¹æ´ëÇÑ ¾çÀÇ ¹Î°¨ÇÑ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇϰí ÀÖ´Ù. ¾ÈÀüÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µå´Â °ÍÀº ¹Ì·¡¸¦ º¸È£Çϱâ À§ÇØ Áö±Ý±îÁö ÇØ¿Ô´ø °Íº¸´Ù ´õ Áß¿äÇØÁö°í ÀÖ´Ù. ¸ðµç ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ´Â ¸ðµç °³¹ß ÇÁ·ÎÁ§Æ®¿¡ º¸¾ÈÀ» °í·ÁÇϰí Ãß°¡ÇÏ´Â ¹æ¹ýÀ» ¹è¿ö¾ß¸¸ ÇÑ´Ù. °í°´¿¡°Ô ½Å·Ú¸¦ ÁÙ ¼ö ÄÄÇ»ÅÍ È¯°æÀ» Á¦°øÇÒ ¼ö ÀÖµµ·Ï µµ¿òÀ» ÁÖ°í ¶ÇÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼ Àб⸦ ÃßõÇϰí ÀÖ´Â ÀÌ Ã¥ ¡°¾ÈÀüÇÑ ÄÚµå ÀÛ¼º ±â¼ú¡±Àº ¿Ã¹Ù¸£°Ô º¸¾ÈÀ» Àû¿ëÇÒ ¼ö ÀÖµµ·Ï °³¹ßÀÚ¿¡°Ô ÇÊ¿äÇÑ Åä´ë¸¦ Á¦°øÇÑ´Ù.¡±
- ºô °ÔÀÌÃ÷ -
ÀÌ Ã¥ÀÇ ÁÖÁ¦
- Çö´ë¿¡ ÀÖ¾î¼ º¸¾È : º¸¾È ½Ã½ºÅÛ°ú º¸¾È ÇØµ¿ ÁöħÀ» À§ÇØ ÇÊ¿ä, »õ·Î Ãß°¡µÈ °Í: ¾ÈÀüÇÑ ÄÚµå ÀÛ¼º ±â¼ú°ú À§Çù ¸ðµ¨À» ÀÌ¿ëÇÑ °³¹ß
- ¾ÈÀüÇÑ ÄÚµù ±â¹ý : °ø°øÀÇ Àû #1 - ¹öÆÛ ¿À¹ö·±, Àû¹ýÇÑ Á¢±Ù Á¦¾î °áÁ¤, ÃÖ¼Ò ±ÇÇÑÀ¸·Î ½ÇÇà, ¾ÏÈ£È °áÁ¡, ±â¹Ð µ¥ÀÌÅÍ º¸È£ ±×¸®°í ±Ô¹üÀûÀÎ ´ëÇà ¹®Á¦, »õ·Î¿î °Í: À¯ÇØÇÑ ÀÔ·Â ±ÝÁö, µ¥ÀÌÅͺ£À̽º ÀÔ·Â ÇØ°á, »çÀÌÆ®°£ ½ºÅ©¸³Æ® ¹®Á¦¸¦ Æ÷ÇÔÇÑ À¥ ±â¹Ý ¿À·ù ±×¸®°í ±¹Á¦È ¹®Á¦
- ´õ¿í ´õ ¾ÈÀüÇÑ ÄÚµå ÀÛ¼º ±â¼ú : ¼ÒÄÏ º¸¾È, ¾ÈÀüÇÑ DCOM, ActiveX ±×¸®°í RPC ¾ÖÇø®ÄÉÀ̼Ç, ¼ºñ½º °ÅºÎ °ø°ÝÀ¸·ÎºÎÅÍ º¸È£ ±×¸®°í ÆÄÀÏ ½Ã½ºÅÛ ¹®Á¦, »õ·Î Ãß°¡µÈ °Í: ¾ÈÀüÇÑ ÄÚµå ÀÛ¼º ±â¼ú°ú Microsoft .NET ÄÚµå °³¹ß
- Ưº°ÇÑ ÁÖÁ¦ : ¾ÈÀüÇÑ ¾ÖÇø®ÄÉÀ̼Ç, ¾ÈÀüÇÑ ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡ ±×¸®°í Àû¹ýÇÑ ½Ç½ÀÀ» À§ÇÑ ¾ö°ÝÇÑ ÇÁ·Î¼¼½º, »õ·Î Ãß°¡µÈ °Í: º¸¾È ÄÚµå °ËÅä ½ÇÇà, ¾ÖÇø®ÄÉÀ̼ǿ¡ °³ÀÎÁ¤º¸ ±¸Ãà, ¿Ïº®ÇÑ, Åõ¸íÇÑ ±×¸®°í °£°áÇÑ º¸¾È ¹®¼ ÀÛ¼º ±×¸®°í ÀÇ¹Ì ÀÖ´Â ¿À·ù ¸Þ½ÃÁö
- ºÎ·Ï : ¾î¸®¼®À½À» º¯¸íÇÏ´Â À§ÇèÇÑ API ±×¸®°í ±× API¸¦ ¹ÏÁö ¸øÇÏ´Â ÀÌÀ¯, »õ·Î Ãß°¡µÈ °Í: ¼³°èÀÚ, °³¹ßÀÚ ±×¸®°í Å×½ºÅ͸¦ À§ÇÑ º¸¾È üũ ¸®½ºÆ®
ÀúÀÚ ¼Ò°³ Michael Howard Microsoft PressÀÇ Designing Secure Web-Based Application for Microsoft Windows 2000ÀÇ ÀúÀÚÀ̰í Writing Secure CodeÀÇ °øµ¿ ÀúÀÚ Áß ÇÑ »ç¶÷ÀÌ´Ù. Microsoft À©µµ¿ì °³¹ß ÆÀ ³»¿¡ Secure Windows InitiativeÀÇ ÀÏ¿øÀ¸·Î º¸¾È ¼³°è, ÇÁ·Î±×·¡¹Ö, ±×¸®°í Å×½ºÆ®¸¦ ´ã´çÇß´Ù. ¶ÇÇÑ Microsoft Security Push SeriesÀÇ ¼³°èÀÚ Áß ÇÑ »ç¶÷ÀÌ´Ù.
David LeBlanc Writing Secure CodeÀÇ °øµ¿ ÀúÀÚÀ̰í Trustworthy Computing InitiativeÀÇ Áß¿äÇÑ ±¸¼º¿ø Áß ÇÑ »ç¶÷ÀÌ´Ù. ±×¸®°í ³×Æ®¿öÅ© º¸¾È, ³×Æ®¿öÅ© °¨»ç µµ±¸ ÀÛ¼º, ±×¸®°í ³»ºÎ Å×½ºÆ® ºÎ¹®¿¡¼ ¾÷¹«¸¦ Çϰí ÀÖ´Ù. |
| |
 |
 |
ÀÎÅͳÝÀÇ ¹ß´ÞÀº Á¤º¸ ±³·ùÀÇ °¡¼ÓÈ¿Í ´õºÒ¾î »ýȰÀÇ ¿©·¯ ºÎºÐ¿¡ Á÷Á¢ÀûÀÎ ¿µÇâÀ» ³¢Ä¡´Â ÇÙ½É ÀÎÇÁ¶ó°¡ µÇ¾ú´Ù. ÀüÀÚ »ó°Å·¡, ÀüÀÚ ±ÝÀ¶°ú °°Àº °³ÀÎÀ̳ª ±â¾÷»Ó¸¸ ¾Æ´Ï¶ó, Ç×°ø, ¿î¼Û, ¿¡³ÊÁö, ±¹¹æ°ú °ü·ÃµÇ´Â ½Ã½ºÅÛµéÀÌ ÀÎÅͳݰú ¿¬µ¿µÊ¿¡ µû¶ó ÀÎÅͳÝÀº »çȸ Àüü¸¦ Á¦¾îÇÏ´Â ½Å°æ¸Á ½Ã½ºÅÛÀ¸·Î ÀÚ¸®¸¦ Àâ¾Æ°¡°í ÀÖ´Ù. ÀÎÅͳÝÀ» ÅëÇÑ ±¤¹üÀ§ÇÑ ¿µ¿ªµéÀÇ ¿¬°á ¹× °·ÂÇÑ µµ±¸µéÀº ÄÄÇ»ÆÃ°ú Ä¿¹Â´ÏÄÉÀ̼ÇÀÇ ¾ç»óÀ» ¹Ù²ã ³õ¾Ò´Ù. ±×·¯³ª ÀÌ·¸°Ô Áõ°¡µÈ ¿¬°á¼ºÀ» ÅëÇØ ¾òÀ» ¼ö ÀÖ´Â ¾öû³ ÀÌÁ¡°ú ÇÔ²², º¸¾È À§Çù ¶ÇÇÑ »õ·Î »ý°Ü³ª°Ô µÇ¾ú´Ù. Á¡Á¡ ´õ »óÈ£ °£ÀÇ ¿¬°áÀÌ È°¹ßÇØÁö´Â ¼¼»ó ¼Ó¿¡¼, °³ÀÎÀ̳ª ±â¾÷, Á¤ºÎ ±â°üÀÇ ¼º°øÀ̶õ ½Ç½Ã°£À¸·Î ¾ÈÀüÇÏ°Ô Åë½ÅÇÒ ¼ö ÀÖ´Â ´É·Â¿¡ ´Þ·ÁÀÖ´Ù°íµµ ÇÒ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ÀÎÅͳÝÀ» ÀÌ¿ëÇÏ´Â ¸ðµç »ç¶÷µéÀº º¸¾È »ó ¾ÈÀüÇϰí, ¿î¿ë »ó ¾ÈÁ¤µÈ ÄÄÇ»ÅÍ ½Ã½ºÅÛÀ» ¿¸ÁÇÏ°Ô µÇ¾ú´Ù.
ÀÌ·¯ÇÑ ¿¸ÁÀ» °®°í ÀÖ´Â °³¹ßÀÚ¶ó¸é ÀÌ Ã¥À» ±ÇÇÏ°í ½Í´Ù. ¡°º¸¾È »ó ¾ÈÀüÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µé°í ½ÍÁö¸¸ ¾î¶»°Ô ÇØ¾ß ÇÏ´ÂÁö ¸ð¸£´Â¡± °³¹ßÀڵ鿡°Ô ¡°µî´ë¡± ¿ªÇÒÀ» ÇØ ÁÙ °ÍÀÌ´Ù. ¹«½ÉÄÚ, ȤÀº ¿¹Á¦ Äڵ忡 µû¶ó ÀÛ¼ºµÈ °³¹ß Äڵ尡 ¾î¶»°Ô °ø°Ý´çÇÒ ¼ö ÀÖ´ÂÁö, ±×¸®°í ±×·¯ÇÑ °ø°Ý¿¡ °ßµ®³»±â À§Çؼ´Â ¾î¶»°Ô ¼³°è, ÄÚµù, Å×½ºÆ®, ¹®¼ÈÇÏ´ÂÁö¿¡ ´ëÇØ ÀÚ¼¼ÇÑ ´ëó ¹æ¹ýÀÌ ¿¹Á¦ ¹× ÅÛÇø´°ú ÇÔ²² Á¦°øµÈ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀÇ °³¹ßÀÚ»Ó¸¸ ¾Æ´Ï¶ó ¾ÈÀüÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼³°è, Å×½ºÆ® ¶Ç´Â »ç¿ëÀÚ ¼³¸í¼¸¦ ÀÛ¼ºÇÏ´Â »ç¶÷À̶ó¸é, ÀÌ Ã¥ÀÌ ÇÊ¿äÇÏ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀÌ À¥ ±â¹ÝÀ̰ųª Win32 ±â¹ÝÀ̶ó¸é ÀÌ Ã¥ÀÌ ÇÊ¿äÇÏ´Ù. ¸¶Áö¸·À¸·Î Microsoft .NETÀ» ¹è¿ì°Å³ª ÀÌ À§¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÏ·Á´Â »ç¶÷¿¡°Ôµµ ÀÌ Ã¥¿¡¼ ¹è¿ö¾ß ÇÒ ³»¿ëÀ» ¸¹ÀÌ ¹ß°ßÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ Ã¥Àº 5°³ Part·Î ³ª´©¾îÁ® ÀÖ´Ù. Part 1 ¡°Çö´ë¿¡ ÀÖ¾î¼ º¸¾È¡±Àº, ½Ã½ºÅÛÀÌ º¸È£µÇ¾î¾ß ÇÏ´Â ÀÌÀ¯¿Í ¾ÈÀüÇÑ ½Ã½ºÅÛÀ» ¸¸µé±â À§ÇÑ °¡À̵å¶óÀΰú ºÐ¼® ±â¹ý¿¡ ´ëÇÏ¿© ¼³¸íÇÑ´Ù.
ÀÌ Ã¥ÀÇ ÇÙ½ÉÀº Part 2¿Í 3ÀÌ´Ù. Part 2 ¡°¾ÈÀüÇÑ ÄÚµù ±â¹ý¡±Àº 5Àå¿¡¼ 14Àå±îÁö·Î ÀÌ·ç¾îÁ® ÀÖÀ¸¸ç, À¥ ±â¹ÝÀ̰ųª Win32 ±â¹ÝÀ̶ó¸é, ȤÀº UNIX-±â¹ÝÀÇ ¾î¶² ¾ÖÇø®ÄÉÀ̼ǿ¡µµ Àû¿ëµÇ´Â ÇÙ½ÉÀûÀÎ ÄÚµù ±â¹ýÀ» ´Ù·é´Ù. Part 3 ¡°ÈξÀ ´õ ¾ÈÀüÇÑ ÄÚµå ÀÛ¼º ±â¼ú¡±Àº 15Àå¿¡¼ 18Àå±îÁöÀÇ 4°³ ÀåÀ¸·Î µÇ¾î ÀÖÀ¸¸ç, ³×Æ®¿öÅ© ¾ÖÇø®ÄÉÀ̼ǰú .NET Äڵ忡 ´ëÇØ ´Ù·é´Ù.
Part 4 ¡°Æ¯º°ÇÑ ÁÖÁ¦¡±´Â 19Àå¿¡¼ 24Àå±îÁöÀÇ 6°³ ÀåÀ¸·Î ±¸¼ºµÇ¸ç, ÀÚÁÖ °Å·ÐµÇÁö ¾Ê´Â Å×½ºÆÃ, º¸¾È ¸®ºä, °³ÀÎÁ¤º¸º¸È£, ¾ÈÀüÇÑ ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡ µîÀ» ´Ù·é´Ù. 23Àå¿¡¼´Â ¾î´À ÇÑ Àå¿¡ Á¾¼ÓÇÏÁö ¾Ê´Â ÀϹÝÀûÀÎ °¡À̵å¶óÀÎÀ» ¼³¸íÇÑ´Ù. Part 5 ¡°Appendix¡±´Â À§ÇèÇÑ API, º¸¾È¿¡ ´ëÇÑ ºÎÀûÀýÇÑ º¯¸í, ¼³°èÀÚ, °³¹ßÀÚ, Å×½ºÅ͸¦ À§ÇÑ º¸¾È üũ ¸®½ºÆ®ÀÇ 5°³ ºÎºÐÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. |
| |
| |
 |
 |
| |
|
|
 |
|
|