±à¼ÍƼö: |
±¾ÎĽ«´Ó´«Í³
SDL ¿ªÊ¼£¬½éÉÜ°Ù¶È´Ó SDL µ½ DevSecOps µÄÑݽøÀú³Ì¡£È«ÎÄÉæ¼°
SDL µÄÍ´µã¡¢DevSecOps ½¨Éè³õÖÔ¡¢Êµ¼ùÐÎʽ¡¢ÂäµØË¼Â·£¬ÒÔ¼°Â䵨ºóµÄЧ¹ûÓëÊÕÒæ£¬Ò²»á½éÉÜ
DevSecOps ÔÚÔÆÔÉúʱ´úµÄ̽Ë÷˼·ÓëÂ䵨³¡¾°¡£
±¾ÎÄÀ´×ÔÓÚ¹«ÖںŰٶȰ²È«Ó¦¼±ÏìÓ¦ÖÐÐÄ,ÓÉ»ðÁú¹ûÈí¼þAnna±à¼ÍƼö¡£ |
|
1ÇáÁ¿¼¶ SDL£¬°Ù¶ÈµÄǰ DevSecOps ʱ´ú
×÷Ϊһ¼Ò´óÐÍ»¥ÁªÍø¹«Ë¾£¬°Ù¶È¾ß±¸×ÅËùÓдóÐ͹«Ë¾ºÍ»¥ÁªÍø¹«Ë¾µÄµäÐÍÌØµã£ºÒµÎñÌåϵ·±¶à¡¢ÒµÎñÊýÁ¿ÅÓ´ó¡¢ÒµÎñµü´úѸËÙ¡£
ÔÚ°Ù¶ÈÄÚ²¿£¬ÒµÎñÑз¢Ä£Ê½ÓбðÓÚ´«Í³µÄ SDLC Ä£ÐÍ£¬¸ü½Ó½üÓÚ DevOps ģʽ£¬CI/CD ¹¤¾ß¼¯³ÉºÍ×Ô¶¯»¯³Ì¶È¸ß£¬²úÆ·µü´úƵ´Î¶à¡¢ÖÜÆÚ¶Ì¡£

Ãæ¶ÔÕâÑùµÄÒµÎñÑз¢³¡¾°£¬´«Í³Í¨¹ýÊä³öÈËÁ¦µ½ÒµÎñÍŶӣ¬È«Á÷³Ì¸ú½øºÍ½â¾öÒµÎñÑз¢ÉúÃüÖÜÆÚµÄ°²È«ÎÊÌâµÄ·½Ê½ÒѾ²»ÔÙÊʺϡ£°²È«ÍŶӲ»ÄÜ¡¢Ò²²»¿ÉÄܽ«ÈËÁ¦¸²¸Çµ½ËùÓÐÒµÎñ¡£Òò´Ë£¬°²È«ÍŶÓÊÆ±ØÐèÒª¹¹½¨Í¨ÓÃÐԵIJúÆ·°²È«»ù´¡ÉèÊ©£¬½«ÆäǶÈëµ½²úÆ·Ñз¢Á÷³ÌÖУ¬È»ºóÅäºÏÖØµãÒµÎñµÄС·¶Î§°²È«ÆÀ¹À£¬À´ÊµÏָ߿ÉÓᢸß×Ô¶¯»¯µÄÈí¼þÑз¢ÉúÃüÖÜÆÚ°²È«±£ÕÏ¡£
ÔÚ°Ù¶È£¬ÎÒÃǽ«ÕâÖÖ·½Ê½³ÆÖ®ÎªÇáÁ¿¼¶ SDL£¬¼´Í¨¹ýÉÙÁ¿µÄÈËÁ¦Í¶È룬ÒÔ¸ß×Ô¶¯»¯¡¢¸ß CI/CD ¼¯³ÉµÄ·½Ê½½â¾öÒµÎñ²úÆ·µÄ°²È«ÎÊÌâ¡£ÔÚÇáÁ¿¼¶
SDL ½¨Éè³õÆÚ£¬ÎÒÃǸù¾Ýʵ¼ÊÒµÎñ³¡¾°£¬¹¹½¨Á˰ٶȵÄ×Ô¶¯»¯Â©¶´¼ì²âϵͳ£¬²¢½«ÆäǶÈëµ½ÒµÎñ²âÊÔÉÏÏßÁ÷³ÌÖУ¬¾ßÌåͼʾÈçÏ£º

ͨ¹ýÇáÁ¿¼¶ SDL ½¨É裬ÎÒÃÇÒÔ²»×ã 10 È˵ÄÍŶӹæÄ££¬Ö§³Å°Ù¶È 80% ÒÔÉÏÒµÎñµÄÉÏÏßǰ°²È«¼ì²é£¬²¢ÔÚ¹ýÈ¥µÄ¼¸Äêʱ¼ä£¬±£Ö¤°Ù¶ÈÏßÉÏÒµÎñ°²È«ÎÊÌâÊýÁ¿Ã¿Äê½µµÍ
30% ÒÔÉÏ¡£
µ±È»£¬ÉÏͼÖÐÃèÊöµÄ ÇáÁ¿¼¶ SDL ¼Ü¹¹Ò²´æÔÚһЩÎÊÌâºÍÍ´µã¡£
ËäȻͨ¹ýÔÚ²âÊÔÉÏÏß½×¶ÎǶÈëÁË×Ô¶¯»¯°²È«²âÊÔÁ÷³Ì£¬Äܹ»°ïÖúÒµÎñÔÚÉÏÏß֮ǰÌáǰ·¢ÏÖ°²È«ÎÊÌ⣬½µµÍ°²È«·çÏÕ¡£µ«ÊÇÓÉÓÚÒµÎñÍŶÓÏà¶ÔȱÉÙ°²È«ÒâʶºÍÊÓÒ°£¬¾³£ÎóÈÏΪ±£ÕÏÒµÎñ°²È«Ö»Êǰ²È«ÍŶӵŤ×÷£¬ÈÏΪ×Ô¶¯»¯°²È«²âÊÔÊǰ²È«ÍŶӸøÒµÎñÍŶÓÔö¼ÓµÄ¶îÍ⸺µ£¡£ÔÚÕâÖÖÇé¿öÏ£¬ÒµÎñÍŶÓÔÚÃæ¶Ô×Ô¶¯»¯°²È«²âÊÔÁ÷³Ì¼ì²é³öµÄÎÊÌâʱ£¬Ò²³£³£ÊÇ
case by case µÄ½â¾ö£¬²¢Ã»ÓÐÉî²ã´ÎµÄ½â¾ö°²È«ÒâʶºÍ°²È«±àÂëÏà¹ØµÄÎÊÌâ¡£
¶Ô´Ë£¬ÎÒÃÇÕûÀíÁËÇáÁ¿¼¶ SDL ³õÆÚ½¨ÉèÍê³Éºóؽ´ý½â¾öµÄһЩÎÊÌ⣬²¢¾öÐĽâ¾ö£º
×Ô¶¯»¯°²È«¹¤¾ßºÜÄѸ²¸Çµ½²úÆ·µÄÐèÇóÉè¼Æ½×¶Î¡£
°²È«Ö»¸²¸ÇÁ˲úÆ·Ñз¢µÄ±àÂëºÍ²âÊԽ׶Σ¬²¢Ã»ÓÐʵÏÖÈ«Á´Ìõ¸²¸Ç¡£
¾ø´ó¶àÊý²úÆ·µÄ°²È«´ëÊ©¼¯ÖÐÔÚ²âÊԽ׶Σ¬Á÷³ÌÖͺó¡¢ÐÞ¸´³É±¾¸ß¡¢Ð§Âʵ͡£
½öͨ¹ý×Ô¶¯»¯°²È«¹¤¾ßµÄǶÈ룬ºÜÄÑÓëÒµÎñÍŶӽ¨Á¢°²È«Ðͬ»úÖÆ¡£
·Ç³£¹æÐͰ²È«Â©¶´£¬ºÜÄÑÔÚ²âÊԽ׶νøÐÐ×Ô¶¯»¯·¢ÏÖºÍÊÕÁ²¡£
2 ¹¹½¨ DevSecOps µÄ³õÖÔ
Õë¶ÔÉÏÊöÎÊÌ⣬ÎÒÃÇÆÚÍû¶ÔÇáÁ¿¼¶ SDL ¼Ü¹¹½øÒ»²½ÍêÉÆ£¬½¨ÉèÒ»¸ö²úÆ·Ñз¢È«Á÷³Ì¸²¸Ç¡¢¸ß×Ô¶¯»¯¼¯³É¡¢Ç¿µ÷°²È«ÓëÒµÎñÐͬµÄÒµÎñ°²È«±£ÕÏ¿ò¼Ü¡£
ÎÒÃÇÆÚÍûͨ¹ý²úÆ·Ñз¢È«Á÷³ÌµÄ°²È«´ëÊ©½¨É裬³ÖÐøÌáÉýÒµÎñÍŶÓÏà¹ØÈËÔ±µÄ°²È«Òâʶ¡¢°²È«±àÂëϰ¹ßÒÔ¼°¶Ô°²È«³¡¾°µÄÀí½â£¬ÈÃÒµÎñÔÚ²úÆ·Ñз¢µÄ¸÷¸ö½×¶Î¶¼ÄÜʵÏÖ¸ßЧ¡¢°²È«¡¢¿É¿¿µÄ½»¸¶£¬ÔÚ¸ùÔ´È¥ÏûÃð°²È«Â©¶´ºÍȱÏÝ¡£
ÕâЩ¶¼Óë DevSecOps µÄÀíÄı¶øºÏ£¬ËùÒÔÎÒÃǾö¶¨ÔÚÇáÁ¿¼¶ SDL µÄ»ù´¡ÉÏ£¬¹¹½¨°Ù¶ÈµÄ
DevSecOps¡£
3 °Ù¶È DevSecOps ʵ¼ù
ÎÒÃÇÔÚ½¨Éè DevSecOps ʱ£¬Ö÷Òª²àÖØÒÔÏ·½Ã棺
´òÔì¸ß×Ô¶¯»¯µÄ²úÆ·°²È«¹¤¾ßÁ´£º ÀûÓòúÆ·°²È«¹¤¾ßÔÚ²úÆ·Ñз¢µÄ¸÷¸ö½×¶Î½øÐÐ×Ô¶¯»¯Â©¶´ÍÚ¾ò£¬¿ìËÙ·¢ÏÖ©¶´µÄͬʱȷ±£²»»á½µµÍÑз¢Ð§ÂÊ
ÔÚÈ«¹«Ë¾·¶Î§ÄÚµÄÂ䵨£º Éè¼ÆÆÕÊÊÐԵġ¢Äܹ»¸²¸Ç°Ù¶ÈËùÓÐÒµÎñ²¢ÕæÕýÂ䵨µÄ DevSecOps ¿ò¼Ü
DevSecOps °²È«ÔËÓª£º ¶Ô¸÷¸ö²úÆ·°²È«¹¤¾ß½øÐа²È«ÄÜÁ¦½¨ÉèÓ빤³Ì»¯ÔËÓª£¬²¢Ö§³ÖÌØ¶¨ÒµÎñÏߵ͍֯»¯ÐèÇó
ÔÆÔÉú³¡¾°µÄ̽Ë÷£º ÔÚÔÆÔÉú»ù´¡¼Ü¹¹±ä¸ï´óÇ÷ÊÆÏ£¬Ì½Ë÷°Ù¶È DevSecOps ÓëÔÆÔÉú³¡¾°µÄÈÚºÏÓëÂ䵨´ëÊ©¡£
ºó±ßµÄÕ½ڻᰴÕÕÕâ¸ö˳ÐòÖðÒ»²ûÊö¡£
3.1 ²úÆ·°²È«¹¤¾ßÁ´´òÔì
ÒµÎñ°²È«±£ÕϵĺËÐŤ×÷Ö®Ò»¾ÍÊǽµµÍÏßÉÏ©¶´ÊýÁ¿¡£ÔÚ DevSecOps µÄ½¨ÉèÖУ¬ÏëÒª´ó·ù¶È½µµÍÏßÉÏ©¶´ÊýÁ¿£¬ÆäºËÐÄÊǹ¹½¨ºÍÀûÓúø÷ÖÖ×Ô¶¯»¯Â©¶´·¢¾ò¹¤¾ß£¬²¢½«ÆäÓë
CI/CD ½øÐÐ×Ô¶¯»¯¼¯³É£¬È·±£Ö´ÐЩ¶´·¢¾òµÄʱ»ú׼ȷ¡¢¼°Ê±£¬²¢ÇÒ²»»áÓ°ÏìÑз¢Ð§ÂÊ¡£
ÔÚÎÒÃǵĽâ¾ö·½°¸ÖУ¬Ö÷񻃾¼°µ½ DAST¡¢SAST¡¢IAST¡¢RASP µÈ¹¤¾ßµÄÉè¼ÆÓëʵÏÖ£¬¸ÐÐËȤµÄͬѧ¿ÉÒÔÔĶÁ֮ǰ·¢¹ýµÄÏà¹ØÎÄÕ£º
DAST
·Ö²¼Ê½ Web ©¶´É¨Ãè·þÎñ½¨Éèʵ¼ùϵÁСª¡ªÉ¨Ãè¼Ü¹¹Ñݽø¼°ÒªµãÎÊÌâ½â¾öʵ¼ù
·Ö²¼Ê½ Web ©¶´É¨Ãè·þÎñ½¨Éèʵ¼ù¡ªºâÁ¿Ö¸±ê¼°½â¾öʵ¼ù£¨2£©
SAST
ÆóÒµ¼¶×Ô¶¯»¯´úÂ밲ȫɨÃèʵս
¹¹½¨ÆóÒµ¼¶Ñз¢°²È«±àÂë¹æ·¶
IAST/FAST
»ÒºÐ×Ô¶¯»¯Â©¶´ÍÚ¾òʵ¼ù
RASP
¿ªÔ´Ó¦ÓÃÔËÐÐʱ×ÔÎÒ±£»¤½â¾ö·½°¸ - OpenRASP
3.2 ¹«Ë¾·¶Î§ÂäµØÊµ¼ù
3.2.1 ×ÜÌåÂäµØË¼Â·
ÔÚ°Ù¶È£¬²úÆ·Ñз¢Á÷³Ì±»³éÏó³É¡°ÐèÇ󡱡¢¡°¿ª·¢¡±¡¢¡°´úÂë×¼È롱¡¢¡°²âÊÔ¡±¡¢¡°ÉÏÏß & ÑéÖ¤¡±Îå¸ö½×¶Î¡£Ã¿¸ö½×¶Î¶¼ÓÐÍêÉÆÇÒÑϸñµÄ¹æ·¶ºÍÒªÇó£¬ÀýÈçÔÚ´úÂë×¼Èë½×¶Î£¬ÒªÇóÕýʽÌá½»µÄ´úÂë±ØÐëÑϸñ×ñѰٶȴúÂë·ç¸ñ¹æ·¶£¬·ñÔò²»ÔÊÐíÌá½»´úÂë¡£ÕâЩ¹æ·¶±£Ö¤Á˰ٶȵIJúÆ·Äܹ»ÓÅÖÊ¡¢¸ßЧºÍÎȶ¨µÄ½»¸¶£¬ÎÒÃdzÆÖ®ÎªÑз¢¹¤³Ì¹æ·¶ÐÔÄ£ÐÍ£¬ÏÂÎļò³Æ¹¤³Ì¹æ·¶ÐÔÄ£ÐÍ¡£
°Ù¶È¹¤³Ì¹æ·¶ÐÔÄ£Ðͽ«²úÆ·Ñз¢¸÷¸ö½×¶ÎµÄ¹æ·¶ºÍ´ëÊ©µÄÍê³É¶ÈÁ¿»¯Îª·ÖÊý£¬ÒÔ²úÆ·ºÍ´úÂë²Ö¿âµÄά¶È½øÐÐͳ¼ÆºÍ¹«Ê¾£¬²¢ÔÚ¹«Ë¾²ãÃæ½¨Á¢Á˹¤³Ì¹æ·¶ÐÔÆÀ·Ö»ù×¼Ïß¡£
ÎÒÃÇÔÚ˼¿¼ÈçºÎÉè¼ÆºÍÂ䵨 DevSecOps ÔÚ¸÷¸öÑз¢½×¶ÎµÄ°²È«ÄÜÁ¦Ê±£¬·¢ÏÖ DevSecOps
µÄÄÚºËÓ빤³Ì¹æ·¶ÐÔÄ£ÐÍÊǸ߶ÈÏàËÆµÄ£¬¶¼ÊÇͨ¹ýÔÚ²úÆ·Ñз¢µÄ¸÷¸ö½×¶ÎÉè¼Æ¹æ·¶¡¢¹¤¾ß¡¢¼ì²é£¬À´ÌáÉýÑз¢Ð§ÂÊ¡¢²úÆ·ÖÊÁ¿¡¢¹¤³ÌÊ¦ËØÑø¡£
ÔÙÒ»´ÎµÄ²»Ä±¶øºÏ£¬´ÙʹÎÒÃǾö¶¨ÒÀÍÐÓڰٶȹ¤³Ì¹æ·¶ÐÔÄ£Ð͹¹½¨°Ù¶ÈµÄ DevSecOps Ä£ÐÍ£¬Íƶ¯
DevSecOps ¹¤¾ßÁ´ÓëÏà¹Ø¹æ·¶µÄÂäµØÊµÊ©£¬²¢½èÖúÓڰٶȹ¤³Ì¹æ·¶ÊµÏÖ¿ìËÙÍÆ¹ã DevSecOps
µ½È«¹«Ë¾µÄЧ¹û¡£
°Ù¶È¹¤³Ì¹æ·¶ÐÔÄ£ÐÍÒªÇóËùÓнÓÈëµÄ¹æ·¶¡¢¹¤¾ß¡¢·½·¨¶¼Òª¾ß±¸¸ß×Ô¶¯»¯ÒÔ¼°¸ß CI/CD ¼¯³ÉµÄÄÜÁ¦£¬ÕâÒ»µãʵ¼ÊÎÒÃÇÔÚ
SDL ʱ´ú¾ÍÒѾÍê³É¡£ËùÒÔÔÚÂ䵨 DevSecOps ʱ£¬ÎÒÃÇÖ»ÐèÒª°´ÕÕ¸ÃÄ£Ð͵ıê×¼£¬½«¸÷Ïî²úÆ·°²È«¹¤¾ß¡¢²úÆ·°²È«´ëʩת»»Îª¿ÉÁ¿»¯¡¢·Ö²½ÊµÊ©µÄ°²È«¼ì²éÏî¡£
ͨ¹ý½«°²È«¼ì²éÏîºÏÀí·ÅÖÃÔÚ²úÆ·Ñз¢µÄ¸÷¸ö½×¶ÎÖУ¬ÎÒÃÇʵÏÖÁËÑз¢È«Á´Ìõ¸²¸Ç£º

ͬʱµÃÒæÓڸ߶È×Ô¶¯»¯µÄ°²È«¹¤¾ßÁ´Ö§³Å£¬ËäÈ»ÎÒÃÇÔÚÑз¢Á÷³ÌÖÐÉî¶ÈǶÈëÁ˺ܶలȫ¼ì²éÏµ«ÊÇÒÀÈ»¿ÉÒÔÂú×ã
DevOps ʱ´ú²úÆ·¿ìËÙµü´úµÄÐèÇó¡£ÀýÈ磬ÎÒÃǽ«µÚÈý·½¸ßΣ×é¼þ¡¢°²È«±àÂë¹æ·¶µÈ°²È«¼ì²éÏîǶÈëµ½´úÂë×¼Èë½×¶Î£¬×Ô¶¯»¯É¨ÃèÈÎÎñ¿ÉÒÔÔÚ·ÖÖÓ¼¶Íê³É£¬ÍêÈ«²»»áÓ°Ïì´úÂëµÄÕý³£Ìá½»¡£

ÏÂÃæµÄÕ½ڣ¬ÎÒÃÇ»á½éÉÜÔÚ DevSecOps Â䵨¹ý³ÌÖУ¬ÔÚ¸÷¸öÑз¢½×¶ÎÉæ¼°µ½µÄһЩ¾ßÌ尲ȫ´ëÊ©ºÍ°²È«¹¤¾ß¡£
3.2.2 ÐèÇó½×¶Î
ÐèÇóÉè¼Æ°²È«½â¾ö·½°¸
ÔÚ DevOps ģʽÏ£¬ÐèÇó¡¢Éè¼Æ½×¶Îͨ³£ÊÇÕû¸öÑз¢ÖÜÆÚÖÐ×îÁé»îÇÒÄÑÒÔ¿ØÖƵġ£ÓÉÓÚÒµÎñÁ¿ÅÓ´ó¡¢ÒµÎñ¿ìËÙµü´úµÄÌØµã£¬ºÜ¶à´«Í³²úÆ·°²È«´ëÊ©È磺Íþв½¨Ä£¡¢°²È«Éè¼ÆÆÀÉó¡¢ÒµÎñÉè¼Æ°²È«ÆÀ¹ÀµÈ¹¤×÷ÄÑÒÔ¸²¸Çµ½ËùÓÐÒµÎñ¡£
¶Ô´Ë£¬ÔÚ°Ù¶È DevSecOps ·½°¸ÖУ¬ÎÒÃÇÕë¶Ô²»Í¬ÒµÎñ³¡¾°ÌṩÁËһϵÁа²È«½â¾ö·½°¸£¬¸²¸Ç Web
ÒµÎñ¡¢App ÒµÎñ¡¢IoT ÒµÎñ¡¢toB ˽Óл¯¡¢Óû§Òþ˽µÈÒµÎñ³¡¾°£¬»ùÓÚ¶àÄê SDL °²È«¾Ñé»ýÀÛ£¬¶Ô¸÷¸öÒµÎñÖÐÈÝÒ׳öÏÖ·çÏյĵط½ÌṩÁËͳһ»¯µÄ°²È«½â¾ö·½°¸£¬ÕâЩ·½°¸ÓеÄÊǹ淶Լ¶¨£¬ÓеÄÊÇ
bad case ö¾Ù£¬»¹ÓеÄÊÇ»ùÓÚ°²È« SDK µÄ½â¾ö·½°¸¡£
ͬʱ½«Æä¼¯³Éµ½°Ù¶È¹¤³Ì¹æ·¶Ö¸¶¨µÄÐèÇó¹ÜÀí²úÆ· iCafe£¨¶ÔÍâ°æ±¾£©ÖС£µ±ÒµÎñÏßÑз¢ÈËÔ±¡¢PM ´´½¨ÐèÇó¿¨Æ¬Ê±£¬¿ÉÒÔ¸ù¾Ý×ÔÉíµÄÒµÎñ³¡¾°Ñ¡Ôñ¶ÔÓ¦µÄ°²È«½â¾ö·½°¸£¬²¢ÔÚÑз¢Ç°Íê³É¹æ·¶¡¢°²È«·½°¸µÄѧϰ£¬´Ó¶øÔÚÑз¢±àÂë½×¶Î¾¡¿ÉÄܱÜÃâÕâЩÎÊÌâ¡£

3.2.3 ¿ª·¢ / ´úÂë×¼Èë½×¶Î
¹©Ó¦Á´°²È«¼ì²â
¹©Ó¦Á´°²È«¼ì²âÖ÷Òª¾Û½¹µÚÈý·½´úÂëÒýÈ빫˾ÄÚ²¿µÄ°²È«ÐÔ¼ì²â¡£
°Ù¶ÈµÄ²úÆ·´úÂëÍйÜÔÚÄÚ²¿´úÂëÍÐ¹ÜÆ½Ì¨£¬Òò´Ë¹©Ó¦Á´°²È«¼ì²âÒ²Ó¦¸ÃÎ§ÈÆ´úÂëÍÐ¹ÜÆ½Ì¨Õ¹¿ª£¬³ýÁËÔÚÑз¢Á÷³ÌÖÐǶÈëÐÂÔö´úÂë¼ì²âÒÔÍ⣬ÎÒÃÇ»¹Õë¶Ô´æÁ¿µÄ´úÂëʵÏÖ¼ì²âÓ빤µ¥×·×Ù±Õ»·£¬ÎªµÚÈý·½´úÂë·çÏÕ¿ìËÙ¡¢ÓÐЧÊÕÁ²Ìṩ×î±ã½ÝµÄͨµÀ¡£
ÕûÌå¼ì²â¼Ü¹¹Îª£º

¹©Ó¦Á´¼ì²âϵͳÖеĵÚÈý·½¸ßΣÈí¼þʶ±ðÖ÷ÒªÒÀÍÐÓÚÖ¸ÎÆÆ¥Åä¼¼Êõ£¬Ö÷Òª·ÖΪ´úÂëÖ¸ÎÆÊ¶±ðÓë°ü¹ÜÀí½âÎöÁ½ÖÖ¡£´úÂëÖ¸ÎÆÊ¶±ðÀàËÆÓÚ´«Í³µÄÕýÔòÆ¥Å䣻°ü¹ÜÀí½âÎöÔòÊÇÕë¶Ô²»Í¬°ü¹ÜÀíÎļþ£¬ÀýÈç
java µÄ pom.xml¡¢gradle£¬nodejs µÄ package.json µÈ£¬×öÓï·¨½âÎö£¬»ñÈ¡µ½ÒýÈëµÄ°üÃûÓë°æ±¾ºÅ¡£´úÂëÖ¸ÎÆÊ¶±ð©±¨ÂÊÏà¶Ô¸ü¸ß£¬°ü¹ÜÀí½âÎö»ñÈ¡µÄ°üÃûͨ³£ÎªÀà¿âÃû£¬ÓëµÚÈý·½Èí¼þµÄͨÓÃÃû³Æ´æÔÚ²îÒ죬ÐèÒª¸ù¾Ýʵ¼ÊÓ¦Óó¡¾°×ö½øÒ»²½µÄÊÊÅäºÍ¼æÈÝ¡£
µÚÈý·½Èí¼þµÄ©¶´±»Íâ½ç±¬³öºó£¬¹¥»÷Õß¿ÉÄÜÔÚ¶Ìʱ¼äÄÚ½øÐй¥»÷£¬Èç¹û¹©Ó¦Á´¼ì²âÎÞ·¨×öµ½¿ìËÙÏìÓ¦£¬½«»áʹµÃÕû¸ö¹©Ó¦Á´°²È«¼ì²âµÄЧ¹û´ó´óÕÛ¿Û£¬Òò´ËÎÒÃÇͬ²½½¨ÉèÁËÊµÊ±Ö¸ÎÆÉ¨ÃèÓëÈí¼þ²éѯÄÜÁ¦¡£Í¨¹ý´òͨÏßÉϹ¤µ¥ÏµÍ³£¬ÎÒÃÇ¿ÉÒÔÔÚ·ÖÖÓ¼¶Íê³É©¶´´úÂ붨λÓëÍÆËÍ£¬²¢ÊµÏÖ
80% ÒÔÉÏ´úÂë¿âÔÚÒ»ÌìÄÚ¸üÐÂÐÞ¸´¡£ÒÔ fastjson ×é¼þΪÀý£¬ÔÚ 19 ÄêºÍ 20 ÄêµÄ¼¸´Î©¶´±¬·¢ÖУ¬ÎÒÃÇÔÚ·ÖÖÓ¼¶±ãÍê³É´óÁ¿Ê¹ÓÃ
fastjson ×é¼þµÄ´úÂë¿â¶¨Î»Ó빤µ¥ÍÆËÍ£¬²¢ÔÚÌì¼¶µÄʱ¼äÄÚÍÆ¶¯ÒµÎñ´úÂëÍê³ÉÐÞ¸´£¬±Õ»·Ð§¹ûÊ®·ÖÃ÷ÏÔ¡£
°²È«±àÂë¹æ·¶¼ì²é
°²È«±àÂë¹æ·¶¼ì²éÖ÷Òª¾Û½¹ÓÚ°Ù¶ÈÄÚ²¿Éú²úµÄ´úÂëµÄ°²È«ÐÔ¼ì²â¡£
Çø±ðÓÚÓÚ´«Í³°×ºÐ°²È«É¨Ã裬°²È«±àÂë¹æ·¶¼ì²éÖÎÀí°×ºÐ©¶´µÄ˼·ÊÇÏÈͨ¹ýÖÆ¶¨Ïà¹ØµÄ»ùÓÚ°²È«»ù´¡¿âµÄ°²È«±àÂë¹æ·¶£¬ÒªÇóÒµÎñÞðÆúһЩΣÏյıàÂëϰ¹ß£¬±ÈÈç¸÷ÖÖÆ´½Óд·¨¡¢µ÷Óò»°²È«µÄĬÈÏ
API µÈ£¬Ê¹Óð²È« SDK ÖÐµÄ API ʵÏÖÏà¹ØµÄ¹¦ÄÜ£¬´Ó¶ø½µµÍд³ö©¶´µÄ·çÏÕ¡£
Ó빩ӦÁ´°²È«¼ì²âÀàËÆ£¬°Ù¶È°²È«±àÂë¹æ·¶¼ì²éÒ²¼¯³ÉÔÚ¹«Ë¾ÄÚ²¿Ñз¢¹¤¾ßÁ´ÖС£

ÔÚÕâÖÖģʽÏ£¬Ò»Ìõ¹æ·¶¼ì²é¹æÔòÊÇÕâÑùµÄ£º
[Ç¿ÖÆ ][PHPSEC017]
ÔÚÇëÇóÍøÂç×ÊԴʱ£¬²»µÃÆ´½ÓºÍ´øÈëÍⲿ±äÁ¿¡£ÈçÐè´øÈëµÄ£¬Ê¹Óð²È«»ù´¡¿âµÄ SafeCurlÀàÍê³ÉÏà¹Ø¹¦ÄÜ
¹ØÓÚ¸ÃÖÎÀí´ëÊ©ºÍ°²È«¹¤¾ßµÄ¹¹½¨£¬¿ÉÒÔÔĶÁ£º¹¹½¨ÆóÒµ¼¶Ñз¢°²È«±àÂë¹æ·¶
3.2.4 ²âÊÔ½×¶Î
ÔÚ²âÊԽ׶Σ¬ÎÒÃÇÖ÷ҪǶÈëÁËÉÏÏßǰ°²È«»ù×¼²âÊÔ£¬Ò²¾ÍÊÇÊÐÃæÉÏ DevSecOps ·½°¸Ö÷ÒªÐû´«µÄ²¿·Ö£¬¼´¸÷ÖÖ°²È«¹¤¾ßÁ´µÄʹÓã¬×÷Ϊ²úÆ·ÉÏÏßǰµÄ×îºóÒ»¸ö¶µµ×¹¤×÷¡£
ÔÚ°Ù¶È£¬ÎÒÃǹ¹½¨ÁË£ººÚºÐɨÃ裨DAST£©¡¢°×ºÐɨÃ裨SAST£©¡¢»ÒºÐɨÃ裨IAST/FAST£©¡¢RASP
µÈ²úÆ·°²È«¹¤¾ßÁ´£¬²¢½«ÕâЩ¹¤¾ß×öµ½×Ô¶¯»¯³Ì¶È¼«¸ß£¬¼õÉÙÒµÎñ²ÎÓëµÄÄѶȣ¬ÊµÏÖÒ»´ÎÅäÖÃÓÀ¾ÃÔËÐеÄЧ¹û¡£

ÖµµÃ×¢ÒâµÄÊÇ£¬RASP ¼¼Êõ£¨https://rasp.baidu.com£©³ýÁËÔÚÔâÊÜÍⲿ¹¥»÷ʱ¿ÉÒÔ½øÐй¥»÷ʶ±ð£¬»¹¿ÉÒÔ´ÓһЩ³ÌÐò´íÎóÖÐÓÐЧʶ±ð³ö©¶´¡£Òò´ËÔÚÎÒÃǵÄʵ¼ùÖУ¬RASP
²úÆ·±»´óÁ¿²¿ÊðÔÚ²âÊÔ»·¾³ÖУ¬ÔÚ¶ÔÒµÎñÏßÍêȫ͸Ã÷µÄÇé¿öÏ£¬°ïÖúÒµÎñÏßÌáǰ·¢ÏÖ©¶´¡¢·çÏÕ¡£

3.2.5 ÉÏÏß & ÑéÖ¤½×¶Î
ĿǰÉÏÏß & ÑéÖ¤½×¶ÎÖ÷ÒªÊÇÒªÇóÒµÎñÏß½øÐа²È«²úÆ·¡¢°²È«·À»¤ÄÜÁ¦µÄ½ÓÈ룬Ö÷񻃾¼°µ½£ºÈÕÖ¾±¸·Ý¡¢ÏßÉϰæ
RASP¡¢¼¯ÍÅ WAF µÈ£¬È·±£²úÆ·ÏßÉÏÔËÐÐʱ°²È«¡£
3.3 DevSecOps °²È«ÔËÓª
µ±ÎÒÃÇÍê³ÉÕû¸öÑз¢È«Á´ÌõµÄ¸²¸ÇÖ®ºó£¬ºóÐøµÄ¹¤×÷±äµÃÏà¶Ô±È½Ï¼òµ¥£¬¿ÉÒÔ½«ÓÐÏÞµÄÈËÁ¦Í¶Èëµ½¹¤¾ßÁ´°²È«ÄÜÁ¦½¨Éè¡¢²úÆ·Ïß
DevSecOps ¶¨ÖÆ»¯ÐèÇó¡¢ÖصãÒµÎñ³¡¾°°²È«½â¾ö·½°¸Öƶ¨ÓëʵʩÖС£Í¨¹ý¾«Ï¸»¯µÄ°²È«ÔËÓª£¬È·±£ DevSecOps
µÃÒÔ׼ȷ¡¢¸ßÖÊÁ¿µÄʵʩ¡£
3.4 DevSecOps ÔÆÔÉú³¡¾°Ì½Ë÷
CNCF ½«ÔÆÔÉú¶¨ÒåΪÖÂÁ¦ÓÚ°ïÖúÆóÒµÔÚ¹«ÓÐÔÆ¡¢Ë½ÓÐÔÆºÍ»ìºÏÔÆµÈÐÂÐͶ¯Ì¬»·¾³Öй¹½¨ÓëÔËÐпɵ¯ÐÔÀ©Õ¹Ó¦ÓõÄÒ»ÖÖ¼¼Êõ£¬°üÀ¨ÈÝÆ÷¡¢Î¢·þÎñÒÔ¼°²»¿É±ä»ù´¡ÉèÊ©µÈ¡£
Ïà±ÈÓÚ´«Í³µÄ»ù´¡¼Ü¹¹Ä£ÐÍ£¬¹¹½¨ÓÚÔÆÔÉú¼¼ÊõÖ®ÉϵÄÑз¢Ä£ÐÍÄܹ»ÊµÏÖÓ¦Óõ¯ÐÔ¡¢¿ÉÀ©Õ¹²¿Ê𣬲¢ÇÒ¿ª·¢ºÍ½»¸¶Ò²¸ü¼ÓÃô½Ý¡£µ«Óë´Ëͬʱ£¬ÓÉÓÚ»ù´¡Èí¼þ×ÔÓÉÒýÈ룬ӦÓÿìËÙµü´ú£¬¾µÏñµÄ»ñÈ¡¡¢ÈÝÆ÷µÄ²¿Êð¸ü¼ÓÁé»î£¬ÔÆÔÉú²úÆ·Ñз¢¹ý³ÌÖÐʵ¼ÊÉϾßÓиü¶àDZÔڵݲȫ·çÏÕ¡£±ÈÈçµ±»ù´¡¾µÏñÖÐÒýÈëÁ˶ñÒâ×é¼þ»òÕ߸ßΣ×é¼þÕâÖÖ³¡¾°£¬´«Í³µÄ²úÆ·°²È«´ëÊ©Ó빤¾ßÁ´ºÜÄÑ¶ÔÆä½øÐзçÏÕÖÎÀíÓëÊÕÁ²¡£
Òò´Ë£¬ÎÒÃÇÐèÒª½« DevSecOps ÓëÔÆÔÉúÉî¶È½áºÏ£¬¶ÔÔÆÔÉú¼¼ÊõϹ¹½¨µÄÑз¢Á÷³Ì½øÐгÖÐø¹Ü¿Ø£¬¸üºÃµØÔÚÑз¢Á´ÌõÖб£»¤ÒµÎñ°²È«¡£

ÔÆÔÉúʱ´úÏ£¬ÎÒÃÇÔÚ DevSecOps ·½°¸ÖÐÔö¼ÓÁ˾µÏñ°²È«É¨Ãè¡¢°²È«·Ö·¢¡¢¾µÏñÇ©ÃûÓëÔËÐÐʱ¼à¿ØµÈ²úÆ·°²È«´ëÊ©£¬ÕâЩÓëÔÓеÄÓ¦Óòã
DevSecOps ¹²Í¬¹¹³ÉÁËÒ»ÌõÍêÕûµÄ DevSecOps °²È«7¹Ü¿ØÁ´Â·¡£¾µÏñɨÃè¿ÉÒÔͨ¹ýÅäÖÃÊÇ·ñ×è¶Ï£¬À´ÏÞÖÆ°üº¬¸ßΣ©¶´µÄ¾µÏñÉÏÏߣ»°²È«·Ö·¢¿ÉÒÔ±£Ö¤¾µÏñ·Ö·¢°²È«£¬¶øÔËÐÐʱ¼à¿ØÔòÄÜÕë¶ÔÏßÉÏÈÝÆ÷ΣÏÕ²Ù×÷¡¢·Ç·¨ÍøÂçÁ¬½ÓµÈ½øÐÐ×è¶Ï¡£¾ßÌåµÄ¹Ü¿Ø·½°¸ÈçÏ£º

³ýÁËÔö¼ÓһЩ×Ô¶¯»¯µÄ¼ì²éºÍ¼à¿ØÒÔÍ⣬ÎÒÃÇ»¹ÔÚ×ÅÁ¦Íƶ¯¾µÏñ²Ö¿âͳһ»¯¡¢»ù´¡¾µÏñ±ê×¼»¯µÈ£¬±ÜÃâÏßÉÏÔËÐÐʱ»·¾³¹ýÓÚ·ÖÉ¢£¬½µµÍºóÆÚÖÎÀíÓë¹Ü¿Ø³É±¾¡£
³ýÁËÉÏÊöÄÚÈÝ£¬ÎÒÃÇÒ²ÔÚ¹Ø×¢ K8s µÈ±àÅŹ¤¾ß±¾ÉíµÄ°²È«ÐÔ£¬ËÞÖ÷»úÉÏÈÝÆ÷Èí¼þȨÏÞÉèÖã¬ÒÔ¼°Äں˰²È«µÈ¡£
½« DevSecOps Ó¦Óõ½ÔÆÔÉú»¯¼Ü¹¹ÖУ¬Èð²È«ÓëÒµÎñ¸ü¼Ó½ôÃܵØÁªÏµÔÚÒ»Æð£¬½«»áÊÇÔÆÔÉúʱ´úÌáÉýÒµÎñ°²È«ÖÊÁ¿¡¢½µµÍÒµÎñ°²È«·çÏպͺóÆÚ°²È«³É±¾µÄ×îÓŽ⣬Ҳ¿ÉÄÜÊÇΨһ½â¡£
4 DevSecOps ½¨ÉèÊÕÒæ
ͨ¹ý DevSecOps µÄÂ䵨£¬ÎÒÃÇ´Ó¹ýÈ¥½öÔÚ²âÊԽ׶μì²éת±äΪ²úÆ·Ñз¢È«Á÷³ÌµÄ°²È«±£ÕÏ£¬½øÒ»²½ÌáÉýÁËÑз¢Ð§ÂÊ¡¢°²È«ÎÊÌâ¼ì³öЧÂÊ£¬½µµÍÁ˰²È«ÎÊÌâµÄÐÞ¸´³É±¾£¬²¢ÌáÉýÁ˲úÆ·°²È«ÖÊÁ¿ÒÔ¼°ÒµÎñÍŶӵİ²È«ËØÑø¡£
´ËÍ⣬ҵÎñÏßÔÚ¸÷¸öÑз¢½×¶Î¶¼ÄÜ¿´µ½°²È«Ïà¹ØµÄ´ëÊ©£¬°²È«´ëÊ©ºÍÑз¢´ëÊ©½øÐÐÈںϣ¬Ôö½ø°²È«Ðͬ£¬¸üÄܹ»ÈÃÒµÎñÏßÒâʶµ½²úÆ·°²È«²¢²»Ö»Êǰ²È«ÍŶӵÄÊÂÇ飬¶øÊDzúÆ·Ïß¡¢°²È«ÍŶÓÒ»ÆðÐͬµÄ½á¹û£¬Sec
ºÍ Dev¡¢Ops Ò»Ñù£¬¶¼ÊÇÑз¢¹ý³ÌÖбØÐëÒª×öµÄ¹¤×÷¡£
×ܵÄÀ´Ëµ£¬Í¨¹ý DevSecOps µÄÂ䵨£¬ÎÒÃÇ»ñµÃÁË£º
´òÔìÁ˸²¸ÇÑз¢È«Á´ÌõµÄ²úÆ·°²È«¿ò¼Ü£¬ºóÐø¿ÉÒÔ»ùÓÚÕâ¸ö¿ò¼Ü½øÐвúÆ·°²È«´ëÊ©À©Õ¹£¬±ÈÈ罫Òþ˽ºÏ¹æÒªÇóÈÚÈë
DevSecOps ÐèÇó½×¶ÎÖÐ
ÌáÉýÁËÑз¢Ð§ÂÊ¡¢°²È«ÎÊÌâ¼ì³öЧÂÊ£¬½µµÍÁËÐÞ¸´³É±¾
ÌáÉýÁ˲úÆ·°²È«ÖÊÁ¿ÒÔ¼°ÒµÎñÍŶӵİ²È«ËØÑø
´ó·ù¶È½µµÍÏßÉÏ©¶´·çÏÕ£¬×Ô DevSecOps Â䵨ºó£¬ÏßÉÏ·çÏյõ½Á˽øÒ»²½ÊÕÁ²
5ÎÄÕÂ×ܽá
±¾ÎÄ´Ó´«Í³ SDL ʱ´úµÄÍ´µã³ö·¢£¬²ûÊöÁËÎÒÃǽ¨Éè DevSecOps µÄ³õÖÔ£¬²¢·ÖÏíÁË°Ù¶È DevSecOps
ÔÚ¸÷¸öÑз¢½×¶ÎµÄ½¨Éè¡¢ÂäµØË¼Â·Ó밲ȫʵ¼ù£¬ÒÔ¼°Ïà¹Ø¹¤¾ßÁ´´òÔì¾Ñé¡£×îºó½éÉÜÁËÎÒÃǽ¨Éè DevSecOps
µÄÏà¹ØÊÕÒæÓëЧ¹û¡£Ï£Íû±¾ÎĶԶÁÕßÓÐËù°ïÖú¡£
|