±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁ˰²È«¿ª·¢ÉúÃüÖÜÆÚ£¨SDL£©ÊÇʲô£¿°²È«Éè¼ÆºËÐÄÔÔò,STRIDEÍþв½¨Ä£·½·¨µÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×ÔÓÚnsfocus£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
°²È«¿ª·¢ÉúÃüÖÜÆÚ£¨SDL£©ÊÇÒ»¸ö°ïÖú¿ª·¢ÈËÔ±¹¹½¨¸ü°²È«µÄÈí¼þºÍ½â¾ö°²È«ºÏ¹æÒªÇóµÄͬʱ½µµÍ¿ª·¢³É±¾µÄÈí¼þ¿ª·¢¹ý³Ì¡£
°²È«Ó¦ÓôӰ²È«Éè¼Æ¿ªÊ¼£¬Èí¼þµÄ°²È«ÎÊÌâºÜ´óÒ»²¿·ÖÊÇÓÉÓÚ²»°²È«µÄÉè¼Æ¶øÒýÈëµÄ£¬Î¢ÈíÓöàÄêµÄ¾Ñé×ܽá³öÁ˰²È«¿ª·¢ÉúÃüÖÜÆÚ£¨SDL£©£¬²¢Ìá³öÁ˹¥»÷Ãæ×îС»¯¡¢STRIDEÍþв½¨Ä£µÈ¶àÖÖ·½·¨¸¨Öú°²È«ÈËÔ±¶ÔÈí¼þ½øÐа²È«Éè¼Æ¡£°²È«Éè¼Æ¶ÔÓÚÈí¼þ°²È«µÄÖØÒªÐÔÓÈΪ¿É¼û¡£
Ò»¡¢°²È«¿ª·¢ÉúÃüÖÜÆÚ£¨SDL£©ÊÇʲô£¿
SDL½éÉÜ
°²È«¿ª·¢ÉúÃüÖÜÆÚ£¨SDL£©¼´Security Development Lifecycle£¬ÊÇÒ»¸ö°ïÖú¿ª·¢ÈËÔ±¹¹½¨¸ü°²È«µÄÈí¼þºÍ½â¾ö°²È«ºÏ¹æÒªÇóµÄͬʱ½µµÍ¿ª·¢³É±¾µÄÈí¼þ¿ª·¢¹ý³Ì¡£
×Ô2004ÄêÆð£¬Î¢Èí½«SDL×÷Ϊȫ¹«Ë¾µÄ¼Æ»®ºÍÇ¿ÖÆÕþ²ß£¬SDLµÄºËÐÄÀíÄî¾ÍÊǽ«°²È«¿¼ÂǼ¯³ÉÔÚÈí¼þ¿ª·¢µÄÿһ¸ö½×¶Î:ÐèÇó·ÖÎö¡¢Éè¼Æ¡¢±àÂë¡¢²âÊÔºÍά»¤¡£´ÓÐèÇó¡¢Éè¼Æµ½·¢²¼²úÆ·µÄÿһ¸ö½×¶Îÿ¶¼Ôö¼ÓÁËÏàÓ¦µÄ°²È«»î¶¯£¬ÒÔ¼õÉÙÈí¼þÖЩ¶´µÄÊýÁ¿²¢½«°²È«È±ÏݽµµÍµ½×îС³Ì¶È¡£°²È«¿ª·¢ÉúÃüÖÜÆÚ
(SDL)ÊDzàÖØÓÚÈí¼þ¿ª·¢µÄ°²È«±£Ö¤¹ý³Ì£¬Ö¼ÔÚ¿ª·¢³ö°²È«µÄÈí¼þÓ¦Óá£
SDL°²È«»î¶¯
¼òµ¥À´Ëµ£¬SDLÊÇ΢ÈíÌá³öµÄ´Ó°²È«½Ç¶ÈÖ¸µ¼Èí¼þ¿ª·¢¹ý³ÌµÄ¹ÜÀíģʽ£¬ÔÚ´«Í³Èí¼þ¿ª·¢ÉúÃüÖÜÆÚ (SDLC)
µÄ¸÷¸ö½×¶ÎÔö¼ÓÁËһЩ±ØÒªµÄ°²È«»î¶¯£¬Èí¼þ¿ª·¢µÄ²»Í¬½×¶ÎËùÖ´Ðеݲȫ»î¶¯Ò²²»Í¬£¬Ã¿¸ö»î¶¯¾ÍËãµ¥¶ÀÖ´ÐÐÒ²¶¼ÄܶÔÈí¼þ°²È«Æðµ½Ò»¶¨×÷Óᣵ±È»È±ÉÙÌØ¶¨µÄ°²È«»î¶¯Ò²»á¶ÔÈí¼þµÄ°²È«ÐÔ´øÀ´Ó°Ïì¡£

ͼ1£ºÎ¢ÈíSDL°²È«»î¶¯¼òͼ
ÎÒÔø½ñÓÐÐҲμӹý΢Èí°²È«×¨¼ÒMichael Howard¼°Taha Mir¹ØÓÚSDL¼°Íþв½¨Ä£µÄÅàѵ£¬×÷Ϊ¡¶Èí¼þ°²È«¿ª·¢ÉúÃüÖÜÆÚ¡·Ò»ÊéµÄ×÷Õߣ¬Michael
Howard²»Ö»Ò»´ÎÇ¿µ÷£¬°²È«ÅàѵÊÇSDL×îºËÐĵĸÅÄÈí¼þÊÇÓÉÉè¼ÆÈËÔ±Éè¼Æ£¬´úÂëÊÇÓпª·¢ÈËÔ±±àд¡£Í¬Ñù£¬´ó²¿·ÖÈí¼þ±¾ÉíµÄ°²È«Â©¶´Ò²ÊÇÓÉÉè¼Æ¼°±àÂëÈËÔ±ÒýÈ룬ËùÒÔ¶ÔÈí¼þ¿ª·¢¹ý³ÌÖеļ¼ÊõÈËÔ±½øÐа²È«ÅàѵÕâµãÖÁ¹ØÖØÒª¡£
¿ÉÒÔ¿´µ½ÔÚÕû¸öSDLÖÜÆÚÖУ¬³ýÁ˰²È«ÅàѵÕâÏî»î¶¯£¬»¹ÔÚÈí¼þ·¢²¼ºóÔö¼ÓÁ˰²È«Ó¦¼±ÏìÓ¦µÄÏà¹Ø»î¶¯£¬¶øÄ¿Ç°¹úÄÚ´ó¶àÊý¹«Ë¾Ä¿Ç°ÒѾ»ù±¾ÉϾ߱¸Á˰²È«Ó¦¼±ÏìÓ¦µÄ»î¶¯ºÍÖ°Äܲ¿ÃÅ£¬Í¬Ê±°üÀ¨°²È«±àÂë¹æ·¶¡¢´úÂëÉ󼯡¢ÉøÍ¸²âÊԵȰ²È«»î¶¯Ò²¶¼ÒѾ»ù±¾¾ß±¸ÉõÖÁ¸ö±ðÆóÒµÒѾ±È½Ï³ÉÊì¡£µ«ÔÚÈí¼þÉè¼Æ½×¶ÎµÄ°²È«»î¶¯ÔòÏà¶Ô½ÏÉÙ£¬¾ÝÎÒÁ˽â½ö¸ö±ð´óÐÍ¿ç¹úÆóÒµ²ÅÓµÓа²È«Éè¼ÆµÈÏà¹ØµÄ°²È«»î¶¯¡£¶ø¸ù¾Ý΢Èí¶àÄêµÄʵ¼ùºÍ¾Ñ飬Èí¼þµÄ°²È«ÎÊÌâºÜ´óÒ»²¿·ÖÊÇÓÉÓÚ²»°²È«µÄÉè¼Æ¶øÒýÈëµÄ¡£ÔÚÉè¼Æ½×¶ÎÔì³ÉµÄ°²È«È±ÏÝÔÚºóÆÚÐÞ¸´µÄ³É±¾ºÍʱ¼ä¶¼Ïà¶Ô½Ï¸ß¡£STRIDEÍþв½¨Ä£µÄ´´Ê¼ÈËÖ®Ò»Taha
MirÔøËµ¹ý¡°safer applications begin with secure design¡±£¬¼´°²È«Ó¦ÓôӰ²È«Éè¼Æ¿ªÊ¼£¬ÏàÓ¦µÄ΢ÈíSDLÒ²Ìá³öÁËÈô¸ÉºËÐĵݲȫÉè¼ÆÔÔò£¬²¢Ìá³öÁËÈç¹¥»÷Ãæ×îС»¯¡¢STRIDEÍþв½¨Ä£µÈ¶àÖÖ·½·¨¸¨Öú°²È«ÈËÔ±¶ÔÈí¼þ½øÐа²È«Éè¼Æ£¬±¾ÎľÍÕë¶Ôµ±Ç°¹úÄÚÆóÒµÔÚÈí¼þÉè¼Æ½×¶Î°²È«»î¶¯·¢Õ¹Ïà¶ÔǷȱµÄ°²È«Éè¼Æ½øÐÐ̽ÌÖ¡£
¶þ¡¢°²È«Éè¼ÆºËÐÄÔÔò
SDL°²È«Éè¼ÆºËÐÄÔÔò:
Attack Surface Reduction£º¹¥»÷Ãæ×îС»¯
Basic Privacy: »ù±¾Òþ˽
Least Privilege: ȨÏÞ×îС»¯
Secure Defaults: ĬÈϰ²È«
Defense in Depth£º×ÝÉî·ÀÓù
Threat Modeling£ºÍþв½¨Ä£
2.1 ¹¥»÷Ãæ×îС»¯
¹¥»÷ÃæÊÇÖ¸³ÌÐòÈκÎÄܱ»Óû§»òÕ߯äËü³ÌÐòËù·ÃÎʵ½µÄ²¿·Ö£¬ÕâЩ±©Â¶¸øÓû§µÄµØ·½ÍùÍùÒ²ÊÇ×î¿ÉÄܱ»¶ñÒâ¹¥»÷Õß¹¥»÷µÄµØ·½¡£
¹¥»÷Ãæ×îС»¯¼´ÊÇÖ¸¾¡Á¿¼õÉÙ±©Â¶¶ñÒâÓû§¿ÉÄÜ·¢ÏÖ²¢ÊÔͼÀûÓõĹ¥»÷ÃæÊýÁ¿¡£Èí¼þ²úÆ·µÄÊܹ¥»÷ÃæÊÇÒ»¸ö»ìºÏÌ壬²»½ö°üÀ¨´úÂë¡¢½Ó¿Ú¡¢·þÎñ£¬Ò²°üÀ¨¶ÔËùÓÐÓû§Ìṩ·þÎñµÄÐÒé¡£ÓÈÆäÊÇÄÇЩδ±»ÑéÖ¤»òÕßÔ¶³ÌµÄÓû§¶¼¿ÉÒÔ·ÃÎʵ½µÄÐÒ飬°²È«ÈËÔ±ÔÚ¹¥»÷Ãæ×îС»¯Ê±Ê×ÏÈÒª¶Ô¹¥»÷Ãæ½øÐзÖÎö£¬¹¥»÷Ãæ·ÖÎö¾ÍÊÇö¾ÙËùÓзÃÎÊÈë¿â¡¢½Ó¿Ú¡¢ÐÒéÒ»¼Á¿ÉÖ´ÐдúÂëµÄ¹ý³Ì£¬´Ó¸ß²ã´ÎÀ´Ëµ£¬¹¥»÷Ãæ·ÖÎö×ÅÖØÓÚ:
½µµÍĬÈÏÖ´ÐеĴúÂëÁ¿
ÏÞÖÆ¿É·ÃÎʵ½´úÂëµÄÈËÔ±·¶Î§
ÏÞ¶¨¿É·ÃÎʵ½´úÂëµÄÈËÔ±Éí·Ý
½µµÍ´úÂëÖ´ÐÐËùÐèȨÏÞ
³£¼ûµÄ¹¥»÷Ãæ·ÖÎö¼¼ÇÉÈçϱí:
Higher Attack
Surface |
Lower Attack
Surface |
On by default |
Off by default |
Open socket |
Close socket |
UDP |
TCP |
Anonymous access |
Authenticated
user access |
Constantly on |
On as needed |
Internet accessible |
Local subnet
accessible
|
±í1 ¹¥»÷Ãæ·ÖÎö³£Óü¼ÇÉ
¹¥»÷Ãæ×îС»¯ÔÚ΢ÈíµÄÓ¦ÓÃʵ¼ùʾÀý:
Windows |
RPCÐèÒªÈÏÖ¤¡¢·À»ðǽĬÈÏ´ò¿ª |
iis6.0¡¢7.0 |
ʹÓÃNetwork serviceȨÏÞÔËÐУ¬Ä¬ÈÏ¹Ø±Õ |
Sql server 2005
/2008 |
xp_cmdshell´æ´¢¹ý³ÌĬÈϹرգ¬Ä¬Èϲ»¿ª·ÅÔ¶³ÌÁ´½Ó |
VS2005/2008 |
Web serverºÍsql
serverĬÈϽö±¾µØ·ÃÎÊ |
±í2 ¹¥»÷Ãæ×îС»¯Î¢Èíʵ¼ùʾÀý
2.2 »ù±¾Òþ˽
Óû§Ê¹ÓÃÈí¼þʱÎ޿ɱÜÃâ¸öÈËÐÅÏ¢±»ÊÕ¼¯¡¢Ê¹ÓÃÉõÖÁ·Ö·¢£¬ÆóÒµÔòÓÐÔðÈκÍÒåÎñ½¨Á¢±£»¤¸öÈËÐÅÏ¢µÄ±£»¤´ëÊ©£¬µÖÓùµÐ¶Ô¹¥»÷ÐÐΪ£¬È·±£Óû§»ù±¾Òþ˽µÄ°²È«ÐÔ¡£Òþ˽°²È«Êǽ¨Á¢¿ÉÐÅÈÎÓ¦ÓóÌÐòµÄ¹Ø¼üÒòËØ¡£
ÔÚÈí¼þÉè¼ÆÊ±¿¼ÂÇÓû§»ù±¾Òþ˽µÄ±ØÒªÐÔ¼°ÒâÒåÓÐ:
ÂÄÐз¨Âɹ涨ºÍÒåÎñ
Ôö¼Ó¿Í»§µÄÐÅÀµ
·ÀÖ¹¶ÂÈû²¿Êð
¶ÔÓÚÌØÊâµÄÈí¼þ»òÕßÈ«ÇòÐԵIJúÆ·£¬Éè¼ÆÈËÔ±ÐèÒªÃ÷È·Èí¼þµÄÐÐΪ¼°Õë¶ÔÈËȺ¡£ÓÈÆäÒª¿¼Âǵ±µØ¹ú¼ÒµÄ·¨ÂÉ·¨¹æ£¬ÈçÃÀ¹ú¶ùÍ¯ÍøÂ·Òþ˽±£»¤·¨COPPA(Children¡¯s
Online Privacy Protection Act)µÈ£¬ÆóÒµÔÚ¿ª·¢²úÆ·¡¢·þÎñʱÓбØÒªÖƶ¨Ã÷È·µÄÒþ˽׼Ôò£¬¶Ô»ñÈ¡¡¢¼Ç¼Óû§Òþ˽µÄÏà¹Ø²úÆ·ÐèÓÐÃ÷È·µÄÒªÇóºÍÖ¸µ¼½¨Òé¡£
Tips:
Ö»ÊÕ¼¯³ÌÐò±ØÐëÓõ½µÄÒþ˽Êý¾Ý£¬²¢Ã÷È·¸æÖªÓû§²¢Õ÷µÃÓû§Í¬Òâ;
΢Èí¶ÔÓÚÓû§Òþ˽Êý¾ÝÈçÃÜÂë¡¢¿ÚÁîµÈ¾ùÐèÒª¼ÓÃÜ´æ´¢£¬×îµÍÒªÇóÊÇsha256+salt£¬¶ÔÓÚ¸ü¸ßÒªÇóµÄÔòʹÓÃPBKDF2Ëã·¨¼ÓÃÜ´æ´¢;
2.3 ȨÏÞ×îС»¯
Èç¹ûÒ»¸öÓ¦ÓóÌÐò»òÍøÕ¾±»¹¥»÷¡¢ÆÆ»µ£¬È¨ÏÞ×îС»¯»úÖÆÄܹ»ÓÐЧµÄ½«Ç±ÔÚËðº¦×îС»¯¡£³£¼ûµÄȨÏÞ×îС»¯Êµ¼ùÈç:
ÆÕͨ¹ÜÀíÔ±/ϵͳ¹ÜÀíÔ±µÈ½ÇÉ«¹ÜÀí
ÎļþÖ»¶ÁȨÏÞ/Îļþ·ÃÎÊȨÏ޵ȷÃÎÊ¿ØÖÆ
½ø³Ì/·þÎñÒÔËùÐè×îСÓû§È¨ÏÞÔËÐÐ
ÔÚ½øÐÐÈí¼þÉè¼ÆÊ±£¬°²È«Éè¼ÆÈËÔ±¿ÉÒÔÆÀ¹ÀÓ¦ÓóÌÐòµÄÐÐΪ¼°¹¦ÄÜËùÐèµÄ×îµÍÏÞ¶ÈȨÏÞ¼°·ÃÎʼ¶±ð£¬´Ó¶øºÏÀí·ÖÅäÏàÓ¦µÄȨÏÞ¡£Èç¹û³ÌÐòÌØ¶¨Çé¿ö±ØÐëÒª½Ï¸ß¼¶±ðµÄȨÏÞ£¬Ò²¿ÉÒÔ¿¼ÂÇÌØÈ¨¸³Óè¼°ÊͷŵĻúÖÆ¡£¼´±ã³ÌÐòÔâµ½¹¥»÷£¬Ò²¿ÉÒÔ½«Ëðʧ½µµ½×îµÍ¡£
Tips:
WindowsϵͳÖÐÍøÂç½ø³Ì¡¢±¾µØ·þÎñ¡¢Óû§½ø³ÌµÄȨÏÞ¶¼½ÏµÍÇÒ»¥Ïà¶ÀÁ¢£¬·Ö±ðΪNETWORK SERVICE¡¢LOCAL
SERVICE¡¢userȨÏÞ£¬Ö»ÓкËÐĵÄÖØÒª½ø³ÌʵÓÃSYSTEMȨÏÞ;
×îа汾µÄOffice³ÌÐò´ò¿ª²»¿ÉÐÅÀ´Ô´µÄÎĵµÊ±£¬Ä¬ÈÏʱ²»¿É±à¼µÄ£¬Í¬Ê±Ò²ÊÇĬÈϲ»¿ÉÖ´ÐдúÂëµÄ£¬¼´Ê¹´æÔÚ»º³åÇøÒç³ö©¶´£¬Ò²²»»áÖ´ÐÐshellcodeµÈ¶ñÒâ´úÂë;
2.4 ĬÈϰ²È«
ĬÈϰ²È«ÅäÖÃÔÚ¿Í»§ÊìϤ°²È«ÅäÖÃÑ¡Ïî֮ǰ²»½öÓÐÀûÓÚ¸üºÃµÄ°ïÖú¿Í»§ÕÆÎÕ°²È«ÅäÖþÑ飬ͬʱҲ¿ÉÒÔÈ·±£Ó¦ÓóÌÐò³õʼ״̬Ï´¦Óڽϰ²È«×´Ì¬¡£¶ø¿Í»§¿É¸ù¾Ýʵ¼ÊʹÓÃÇé¿ö¶ø¾ö¶¨Ó¦ÓóÌÐò°²È«ÓëÒþ˽µÄµÈ¼¶Ë®Æ½ÊÇ·ñ½µµÍ¡£
Tips:
ÔÚWin 7Ö®ºóµÄWindows²Ù×÷ϵͳÖУ¬DEP(Êý¾ÝÖ´Ðб£»¤)ĬÈÏÊÇ¿ªÆôµÄ¡£Óû§¿ÉÉèÖÃÑ¡Ïî¸Ä±äDEPµÄ״̬;
Win 10ĬÈÏÆôÓð²È«·À»¤Èí¼þWindows Defender£¬Óû§¿ÉÑ¡Ôñ¹Ø±Õ;
2.5 ×ÝÉî·ÀÓù
ÓëĬÈϰ²È«Ò»Ñù£¬×ÝÉî·ÀÓùÒ²ÊÇÉè¼Æ°²È«·½°¸Ê±µÄÖØÒªÖ¸µ¼Ë¼Ïë¡£×ÝÉî·ÀÓù°üº¬Á½²ãº¬Ò壺Ê×ÏÈ£¬ÒªÔÚ¸÷¸ö²»Í¬²ãÃæ¡¢²»Í¬·½ÃæÊµÊ©°²È«·½°¸£¬±ÜÃâ³öÏÖÊè©£¬²»Í¬°²È«·½°¸Ö®¼äÐèÒªÏ໥ÅäºÏ£¬¹¹³ÉÒ»¸öÕûÌ壻Æä´Î£¬ÒªÔÚÕýÈ·µÄµØ·½×öÕýÈ·µÄÊÂÇ飬¼´£ºÔÚ½â¾ö¸ù±¾ÎÊÌâµÄµØ·½ÊµÊ©Õë¶ÔÐԵݲȫ·½°¸¡£
×ÝÉî·ÀÓù²¢²»ÊÇͬһ¸ö°²È«·½°¸Òª×öÁ½±é»ò¶à±é£¬¶øÊÇÒª´Ó²»Í¬µÄ²ãÃæ¡¢²»Í¬µÄ½Ç¶È¶Ôϵͳ×ö³öÕûÌåµÄ½â¾ö·½°¸¡£
Tips:
Õë¶ÔXSSµÄ·À»¤£¬³ýÁËÒª¶ÔÓû§ÊäÈëµÄÌØÊâ·ûºÅ½øÐйýÂË£¬»¹ÒªÇø·ÖÊÇ·ñÊǸ»Îı¾½ø¶ø½øÐÐÏàÓ¦±àÂë²Ù×÷£¬ÔÚÊäÈëʱ¹ýÂ˵ÄͬʱÔÚÊä³öʱҲ½øÐйýÂ˲Ù×÷¡£
¼´Ê¹×öÁËÊ®×ãµÄ¹ýÂË¡¢±àÂëµÈ°²È«·À»¤£¬ÎªÁ˸üÒ»²½È·±£»º½âXSS¹¥»÷£¬WebÕ¾µãÒ²¿ÉÒÔ¶ÔCookieÆôÓÃHTTP-OnlyÊôÐÔ£¬È·±£¼´Ê¹·¢ÉúXSS¹¥»÷£¬Ò²¿ÉÒÔ×èֹͨ¹ý½Å±¾·ÃÎÊCookieµÄ²Ù×÷¡£
2.6 Íþв½¨Ä£
Íþв½¨Ä£ÊÇÒ»ÖÖ·ÖÎöÓ¦ÓóÌÐòÍþвµÄ¹ý³ÌºÍ·½·¨¡£ÕâÀïµÄÍþвÊÇÖ¸¶ñÒâÓû§¿ÉÄÜ»áÊÔͼÀûÓÃÒÔÆÆ»µÏµÍ³£¬ºÍÎÒÃdz£ËµµÄ©¶´²¢²»Ïàͬ¡£Â©¶´ÊÇÒ»¸öÌØ¶¨µÄ¿ÉÒÔ±»ÀûÓõÄÍþв£¬È绺³åÇøÒç³ö¡¢sql×¢ÈëµÈ¡£
×÷ΪSDLÉè¼Æ½×¶ÎµÄÒ»²¿·Ö°²È«»î¶¯£¬Íþв½¨Ä£ÔÊÐí°²È«Éè¼ÆÈËÔ±¾¡ÔÚµÄʶ±ðDZÔڵݲȫÎÊÌⲢʵʩÏàÓ¦»º½â´ëÊ©¡£ÔÚÉè¼Æ½×¶Î°ÑDZÔÚµÄÍþв·¢ÏÖÓÐÖúÓÚÍþвµÄÈ«ÃæºÍ¸üÓÐЧµÄ½â¾ö£¬Í¬Ê±Ò²ÓÐÖúÓÚ½µµÍ¿ª·¢ºÍºóÆÚά»¤µÄ³É±¾¡£Íþв½¨Ä£µÄÒ»°ãÁ÷³ÌÈçÏÂ:
Óëϵͳ¼Ü¹¹Ê¦¼°Éè¼ÆÈËÔ±¹µÍ¨£¬Á˽âÉè¼ÆÏêÇé
ʹÓóÉÊìµÄÍþв½¨Ä£·½·¨·ÖÎöµ±Ç°Éè¼ÆÇ±ÔڵݲȫÎÊÌâ
Ìá³ö°²È«½¨Òé¼°¶ÔDZÔÚÍþвµÄ»º½â´ëÊ©
¶Ô°²È«Éè¼Æ½øÐÐÑéÖ¤²¢¶ÔÕû¸öÉè¼Æ·½°¸½øÐлع˲¢ÔÙ´ÎÈ·ÈÏ
΢ÈíʹÓõÄÍþв½¨Ä£·½·¨ÊÇSTRIDEÍþв½¨Ä£·½·¨¡£ÎªÁ˱ãÓÚ°²È«ÈËÔ±¿ìËÙ±ã½ÝµÄ½øÐÐÍþв½¨Ä££¬Î¢Èí¿ª·¢»ùÓÚSTRIDEÍþв½¨Ä£·½·¨µÄSDL
Threat Modeling Tool[2]Íþв½¨Ä£¹¤¾ß£¬¸Ã¹¤¾ß¿ÉÒÔ°ïÖú°²È«ÈËÔ±»Êý¾ÝÁ÷ͼ¡¢·ÖÎöÍþв¡¢Éú³É²¢µ¼³öÍþв½¨Ä£±¨¸æ¡£
Èý¡¢STRIDEÍþв½¨Ä£·½·¨
3.1 STRIDE½éÉÜ
STRIDEÍþв½¨Ä£ÊÇÓÉ΢ÈíÌá³öµÄÒ»ÖÖÍþв½¨Ä£·½·¨£¬¸Ã·½·¨½«ÍþвÀàÐÍ·ÖΪSpoofing£¨·Â𣩡¢Tampering£¨´Û¸Ä£©¡¢Repudiation£¨µÖÀµ£©¡¢Information
Disclosure£¨ÐÅϢй©£©¡¢Denial of Service£¨¾Ü¾ø·þÎñ£©ºÍ Elevation
of Privilege£¨È¨ÏÞÌáÉý£©¡£ÕâÁùÖÖÍþвµÄÊ××ÖĸËõд¼´ÊÇSTRIDE£¬STRIDEÍþвģÐͼ¸ºõ¿ÉÒÔº¸ÇĿǰ¾ø´ó²¿·Ö°²È«ÎÊÌâ¡£´ËÍ⣬STRIDEÍþв½¨Ä£·½·¨ÓÐ×ÅÏêϸµÄÁ÷³ÌºÍ·½·¨¡£
3.2 Íþв½¨Ä£Á÷³Ì
STRIDEÍþв½¨Ä£µÄÒ»°ãÁ÷³ÌÈçÏÂ:
»æÖÆÊý¾ÝÁ÷ͼ
ʶ±ðÍþв
Ìá³ö»º½â´ëÊ©
°²È«ÑéÖ¤

ͼ2: STRIDEÍþв½¨Ä£Á÷³Ì
3.2.1 Êý¾ÝÁ÷ͼ
Êý¾ÝÁ÷ͼ(Data Flow Diagrams)°üº¬ÍⲿʵÌå(External Entity)¡¢´¦Àí¹ý³Ì(Process)¡¢Êý¾ÝÁ÷(Data
Flow)¡¢Êý¾Ý´æ´¢(Data Store)£¬°²È«ÈËÔ±Óëϵͳ¼Ü¹¹Ê¦¼°Éè¼ÆÈËÔ±¹µÍ¨£¬Á˽âÉè¼ÆÏêÇé²¢»³öÊý¾ÝÁ÷ͼºó»¹ÐèÒª±ê×¢ÐÅÈα߽磨Trust
Boundary£©£¬Õë¶Ô¼òµ¥µÄWebÓ¦ÓõÄÊý¾ÝÁ÷ͼÈçÏÂ:

ͼ3: Êý¾ÝÁ÷ͼʾÀý¼°ÔªËØÀàÐÍ
3.2.2ʶ±ðÍþв
STRIDEÍþв½¨Ä£·½·¨ÒѾÃ÷È·ÁËÿ¸öÊý¾ÝÁ÷Í¼ÔªËØ¾ßÓв»Í¬µÄÍþв£¬ÆäÖÐÍⲿʵÌåÖ»ÓзÂð£¨S£©¡¢µÖÀµ£¨R£©Íþв£¬Êý¾ÝÁ÷Ö»Óд۸ģ¨T£©¡¢ÐÅϢй¶£¨I£©¡¢¾Ü¾ø·þÎñ£¨D£©Íþв£¬´¦Àí¹ý³ÌÓÐËùÓÐÁùÖÖ£¨STRIDE£©Íþв£¬´æ´¢¹ý³ÌÓд۸ģ¨T£©¡¢ÐÅϢй¶£¨I£©¡¢¾Ü¾ø·þÎñ£¨D£©Íþв£¬µ«Èç¹ûÊÇÈÕÖ¾ÀàÐÍ´æ´¢Ôò»¹ÓеÖÀµ£¨R£©Íþв¡£¾ßÌå¿ÉÒÔ¶ÔÕÕÈçϱí¸ñ½øÐÐÍþвʶ±ð:
ÔªËØ |
S |
T |
R |
I |
D |
E |
ÍⲿʵÌå |
¡Ì |
|
¡Ì |
|
|
|
´¦Àí¹ý³Ì |
¡Ì |
¡Ì |
¡Ì |
¡Ì |
¡Ì |
¡Ì |
Êý¾Ý´æ´¢ |
|
¡Ì |
£¿ |
¡Ì |
¡Ì |
|
ÍⲿʵÌå |
|
¡Ì |
|
¡Ì |
¡Ì |
|
3.2.3 »º½â´ëÊ©
¸ù¾Ý²»Í¬µÄÊý¾ÝÁ÷Í¼ÔªËØ¼°Íþв£¬ÏàÓ¦µÄ»º½â´ëʩҲ²»Ïàͬ¡£Èç±¾ÎÄʾÀýÊý¾ÝÁ÷ͼÖÐÍⲿʵÌåÓû§µÄ·ÂðÍþв£¬Æä»º½â´ëÊ©¼òµ¥À´Ëµ¾ÍÊǶÔÓû§Éí·Ý½øÐÐÈÏÖ¤¡£¶ÔÓÚÒ»¸öWebÓ¦ÓÃÀ´Ëµ£¬»º½â·ÂðÍþв²»½öÐèÒª½ÏÇ¿µÄÈÏÖ¤»úÖÆ£¬»¹ÐèÒª·ÀÖ¹¶ñÒâ¹¥»÷ÕßÓñ©Á¦ÆÆ½â¡¢¿ÚÁî²Â²âµÈ·½·¨ÈƹýÈÏÖ¤´Ó¶øÔì³É·ÂðÓû§µÄÍþв¡£Èç¹û±ÊÕßÀ´Ìá³ö¸ÃÓû§·ÂðÍþвµÄ»º½â´ëÊ©µÄ»°£¬Ïêϸ´ëÊ©ÈçÏÂ:
¶ÔÓû§·ÃÎʽøÐÐÕʺÅÃÜÂë¡¢Ö¤ÊéµÈÉí·ÝÈÏÖ¤;
Óû§ÕʺÅÃÜÂëÈÏÖ¤¹ý³ÌÖУ¬Èç¹û³öÏÖÈý´ÎÃÜÂë´íÎó£¬ÔòÔö¼ÓÑéÖ¤Âë»úÖÆ¡£ÊäÈëÑéÖ¤ÂëÇÒÕýÈ·ÔÙ½øÐÐÉí·ÝÈÏÖ¤;
µ±Óû§ÈÏÖ¤5´ÎºóÈÔÈ»Ñé֤ʧ°Ü£¬ÔòÔÚ30·ÖÖÓÄÚ½ûÖ¹¸ÃÕʺŵǼ;
Óû§ÃÜÂë±ØÐë°üº¬Êý×Ö¡¢×Öĸ¼°ÌØÊâ×Ö·û£¬ÇÒ³¤¶ÈÔÚ8λÒÔÉÏ£¬Èç¹ûÒµÎñ°²È«ÐèÒªÔòÔö¼ÓÃÜÂë¹ýÆÚ»úÖÆ£¬Ã¿¸ô6¸öÔÂÌáÐÑÓû§ÐÞ¸ÄÃÜÂë;
ÔÚÌá³ö»º½â´ëʩʱ£¬ÓеÄʱºò²»½öÒª¿¼Âǰ²È«ÎÊÌ⣬ͬʱҲҪ¿¼ÂÇÈí¼þµÄÒ×ÓÃÐÔ£¬ËùÒÔ²»Í¬µÄÍþв£¬²»Í¬µÄÓ¦Óó¡¾°¡£Æä»º½â´ëÊ©Ò²ÒªËæÖ®¶ø¸Ä±äÒÔÌá¸ßÓ¦Óð²È«µÄͬʱҲÄܸøÓû§´øÀ´½ÏºÃµÄ½»»¥ÌåÑé¡£
΢Èí¶ÔÓÚ³£ÓõÄÍþв¸ø³öÁËÆä³£Óõıê×¼»º½â´ëÊ©£¬²¢ÔÚ¾ßÌåʵʩʱÒѽ«³£ÓõĻº½â·½°¸¼°´ëÊ©¼¯³ÉΪ¶ÀÁ¢µÄ½â¾ö·½°¸»òÕß´úÂëÄ£¿é¡£¿ÉÒÔ·½±ãͬÀàÓ¦ÓÃÖ±½ÓʹÓá£
ÍþвÀàÐÍ |
»º½â´ëÊ© |
¼¼Êõ·½°¸ |
·Âð(S) |
ÈÏÖ¤ |
KerberosÈÏÖ¤
PKIϵͳÈçSSL / TLSÖ¤Êé
Êý×ÖÇ©Ãû |
´Û¸Ä(T) |
ÍêÕûÐÔ±£»¤ |
·ÃÎÊ¿ØÖÆ
ÍêÕûÐÔУÑé |
µÖÀµ(R) |
ÈÕÖ¾Éó¼Æ |
Ç¿ÈÏÖ¤
°²È«ÈÕÖ¾¡¢Éó¼Æ |
ÐÅϢй¶(I) |
±£ÃÜÐÔ |
¼ÓÃÜ
·ÃÎÊ¿ØÖÆÁбí |
¾Ü¾ø·þÎñ(D) |
¿ÉÓÃÐÔ |
·ÃÎÊ¿ØÖÆÁбí
¹ýÂË
Èȱ¸·Ý |
ȨÏÞÌáÉý(E) |
ÊÚȨÈÏÖ¤ |
ÊäÈëУÑé
Óû§×é¹ÜÀí
·ÃÎÊ¿ØÖÆÁбí |
3.2.4 °²È«ÑéÖ¤
ÔÚÍþв½¨Ä£Íê³Éºó£¬ÐèÒª¶ÔÕû¸ö¹ý³Ì½øÐлعˣ¬²»½öҪȷÈÏ»º½â´ëÊ©ÊÇ·ñÄܹ»ÕæÕý»º½âDZÔÚÍþв£¬Í¬Ê±ÑéÖ¤Êý¾ÝÁ÷ͼÊÇ·ñ·ûºÏÉè¼Æ£¬´úÂëʵÏÖÊÇ·ñ·ûºÏÔ¤ÆÚÉè¼Æ£¬ËùÓеÄÍþвÊÇ·ñ¶¼ÓÐÏàÓ¦µÄ»º½â´ëÊ©¡£×îºó½«Íþв½¨Ä£±¨¸æÁô´æµµ°¸£¬×÷ΪºóÐøµü´ú¿ª·¢¡¢ÔöÁ¿¿ª·¢Ê±Íþв½¨Ä£µÄ²Î¿¼ÒÀ¾Ý¡£
ËÄ¡¢×ܽá
SDLµÄºËÐÄÀíÄîÊǽ«°²È«¿¼ÂǼ¯³ÉÔÚÈí¼þ¿ª·¢µÄÿһ¸ö½×¶Î:ÐèÇó·ÖÎö¡¢Éè¼Æ¡¢±àÂë¡¢²âÊÔºÍά»¤¡£´ÓÐèÇó¡¢Éè¼Æµ½·¢²¼²úÆ·µÄÿһ¸ö½×¶Îÿ¶¼Ôö¼ÓÁËÏàÓ¦µÄ°²È«»î¶¯£¬ÒÔ¼õÉÙÈí¼þÖЩ¶´µÄÊýÁ¿²¢½«°²È«È±ÏݽµµÍµ½×îС³Ì¶È¡£±¾ÎÄÖØµã½éÉÜÁËÉè¼Æ½×¶ÎµÄ°²È«»î¶¯Ö¸µ¼Ë¼Ïë¼°STRIDEÍþв½¨Ä££¬µ«SDLµÄÆäËü½×¶ÎµÄ²»Í¬°²È«»î¶¯Ò²Í¬Ñù¶ÔÈí¼þ°²È«ÓÐ×ÅÖØÒªÓ°Ï졣ͬʱ±¾ÎĽéÉܵݲȫÉè¼ÆÔÔò½öΪָµ¼Ë¼Ï룬°²È«Éè¼ÆÈËÔ±»¹ÐèÒªÕÆÎÕÒ»¶¨µÄ°²È«¹¥·À֪ʶ£¬¾ß±¸Ò»¶¨µÄ°²È«¹¥·À¾Ñé²ÅÄܸüºÃµÄÉè¼Æ³ö°²È«µÄ·½°¸¼°Èí¼þÓ¦Óá£ÁíÍâ¸ù¾Ý±ÊÕß¾Ñ飬ÔÚʵ¼ÊµÄ°²È«Éè¼Æ¹¤×÷ÖУ¬¶ÔÓÚ²»Í¬Èí¼þ¼°Ó¦Óó¡¾°ÆäÃæÁٵݲȫÎÊÌâÒ²²»Í¬¡£Ëæ×Å»¥ÁªÍøÊ±´ú·¢Õ¹£¬Ä¿Ç°ÒѾ²»ÔÚÊǵ¥´¿µÄÈí¼þʱ´úÁË£¬ÀàËÆÍ¨ÐÅÉ豸¡¢Òƶ¯¶ËÓ¦Óá¢ÖÇÄÜÓ²¼þ¡¢Ôƶˡ¢´óÊý¾ÝµÈÐÂÐÎ̬µÄÓ¦Óö¼ÃæÁÙµÄ×ÔÉíÌØÓеݲȫÎÊÌâ¡£°²È«Éè¼ÆÈËÔ±Òª¿¼ÂǵÄÒ²Òª¸ü¶à£¬µ«°²È«Éè¼ÆµÄºËÐÄÔÔò»¹ÊÇÏà²îÎÞ¼¸¡£ÓÉÓÚÆª·ù¼°±ÊÕß¾ÑéÓÐÏÞ£¬±¾ÎÄËùÊöÈçÓв»Í×Ö®´¦¿ÉÒÔÓë±ÊÕßÁªÏµ½»Á÷¡£ |