從主流安全開發框架看軟件供應鏈安全保障的落地_第1頁
從主流安全開發框架看軟件供應鏈安全保障的落地_第2頁
從主流安全開發框架看軟件供應鏈安全保障的落地_第3頁
從主流安全開發框架看軟件供應鏈安全保障的落地_第4頁
從主流安全開發框架看軟件供應鏈安全保障的落地_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

從主流平安開發框架看軟件供應鏈平安保障的落地從SolarWinds攻擊到Log4j漏洞,再到近期以反戰名義對開源軟件供應鏈投毒事件,軟件供應鏈平安問題愈演愈烈,因其帶來的巨大危害引發全球關注。尋求有效、可落地的保障方法成為軟件供應鏈相關各方的共同目標。平安開發框架作為軟件開發生命周期中各階段平安實踐、活動和措施的集合,能夠指導使用者提高軟件生產和產品的平安性,并且它們越來越多的將供應鏈因素考慮在內,形成一個不斷完善的保障體系。本文通過對六種主流平安開發框架的最新版本進行分析,總結了共性和差異,歸納了供應鏈平安保障的主要環節,提出了操作指南細化的初步思路。六種框架包括平安軟件開發框架(NISTSSDF)V1.1.軟件聯盟平安軟件框架(BSAFSS)VLl、SAFECode平安軟件開發基本實踐V3、軟件保障成熟度模型(OWASPSAMM)V2.0、平安內建成熟度模型(BSIMM)V12和微軟平安開發生命周期(MSSDL)2022o一、六種主流平安開發框架的異同點六種主流平安開發框架面向開發組織,以軟件的風險管控和漏洞防控為目標,以軟件開發生命周期為主線。框架均采用多級分類的形式:即首先劃分為大類,然后逐級細化,名稱不同,但最終都細化為具體的平安要求或措施,以指導使用者。六種框架的最新版均較多涉及軟件供應鏈平安方面的內容,如第三方組件/開源組件的平安管控、對供應商的平安要求、開發工具和環境的平安防范、構

建部署環境的平安防護、第三方組件漏洞響應等;SSDFV1.1作為應美行政令要求而出臺的高層級實踐框架,參考了其他5個框架的內容。各框架之間也存在著較大的差異,主要差異如表1所示。表1六種平安開發框架的主要差異比照差異方面側重點具體說明輸入/輸出(即生產過程/產品結果)方面考慮輸出SSDF考慮平安實踐結果,而不明確實現的工具、技術和機制等BSAFSS既考慮過程也考慮結果考慮輸入其他4種框架主要考慮輸入,即平安實踐的具體實施平安實踐/活動粒度方面粒度較細SAMM和BS1MM通過總結相關企業的具體保障措施,劃分了3個成熟度級別MSSDL基于自己的實踐,有對應工具和技術方法的說明較為粗略SSDF和BSAFSS以面向結果為主最為粗略SAFECode平安軟件開發基本實踐以概括性說明居多供應鏈安全方面考慮全面SSDF、BSAFSS、SAMM和BSTMM(第三方組件方面主要考慮開源組件)的供應鏈平安實踐幾乎涉及軟件開發生命周期各個階段側重局部內容SAFECode和MSSDL主要考慮第三方/開源組件的平安問題、平安構建。MSSDL作為SAFECode的參與成員,使用其第三方組件平安風險管理(TPC)方法特色內容BSAFSS單獨將供應鏈(SM)作為一大類來考慮,并且考慮了供應鏈數據平安問題二.軟件供應鏈平安保障的主要環節通過對各框架具體內容的分析可以發現,除了自主研發軟件代碼和產品的平安措施外,軟件供應鏈平安保障實踐主要涉及4個環節。1、第三方組件的平安管控作為最終軟件產品的重要組成局部,商業、開源和其他第三方來源組件等〃外來原料〃的平安性是軟件供應鏈平安保障首先要考慮的問題,六種平安開發框架也都將針對第三方/開源組件的保護作為重點。

SAFECode平安軟件開發基本實踐將第三方組件平安風險管理(TPC)作為單獨一局部進行系統描述。TPC管理共有4個步驟:TPC列表維護、評估來自TPC的平安風險、緩解或接受風險、監控變化,每個步驟又包含假設干具體措施,如圖1所示。TPC生命周期管理定義唯一的標識符評估漏洞和實豉補丁/版本升級監控變化響應新漏洞映射組件名稱評價組件的

操作風險等價替換對壽命終結

進行監控創言TPC生命周期管理定義唯一的標識符評估漏洞和實豉補丁/版本升級監控變化響應新漏洞映射組件名稱評價組件的

操作風險等價替換對壽命終結

進行監控創言BoM內部使用交互風險剖面

變化貢獻給社區/

供應商貢獻給社區/

供應商響應策唔變化逵過代碼緩葬貢獻給社區/

供應商響應策唔變化至受風險其他幾種框架關于第三方組件的平安要求也符合圖1模型中的步驟,只是對某些方面的措施進行了細化,例如:第三方組件列表維護方面框架考慮了來源信息和依賴關系的記錄與分析、BSAFSSSM.2-2/SM.2-3.SAMMSB1/SB2/SB3.BSIMMSR2.4/SE3.6),以及第三方組件的獲取、批準、符合性、保存和維護、SAMMSA3、MSSDL開源軟件風險管理實踐1)等要求;風險評估方面框架考慮了第三方組件的平安漏洞檢測及發現SBSAFSSVM.1-3.SAMMSTI、BSIMMCR1.2SMSSDL開源軟件風險管理實踐2)、平安性評估(BSIMMSFD2.1)、使用復雜性評估(SAMMSA2)等實踐;風險緩解方面框架考慮了第三方組件漏洞的公開和修復、BSAFSSVM.l-3/VM3)、打補丁(BSAFSSVN.l、SAMMEMI)、控制開源風險(BSIMMSR3.1、MSSDL開源軟件風險管理實踐3和4)等措施;在生命周期監管方面框架考慮了監控第三方組件的生命終止(BSAFSSEL.1-3)、定期替換已終止的第三方應用及依賴關系(SAMM0M2)等內容。小結:所有框架對第三方/開源組件的維護、風險評估和緩解(特別是平安漏洞的檢測和修復渚B有詳細的措施"余SSDF和BSIMM外也都提到了對組件生命周期變化的監控。它們都把第三方/開源組件的風險管控放在重要位置,而且已具備系統性的管控措施。2、針對供應商的平安要求如果說第三方組件是供應鏈中重要的原材料,軟件供應商無疑就是其中最主要的主觀因素。提高供應商的平安意識、能力,對其進行必要的平安要求,也是供應鏈平安中不可或缺的一環。平安開發框架中對供應商的平安要求主要包括對供應商進行評估并簽署安全協議、要求供應商使用一致的平安方法并對其進行培訓I、明確供應商的平安事件響應責任等5個方面,詳細如表2所示。表2平安開發框架中對供應商的平安要求分類具體內容收集供應商信息并評估BSAFSS:識別并收集笫三方組件供應商的信息(SM.2-1)SAMM:對供應商進行評估,了解其優勢和劣勢(SR1)BS1MM:收集供應商額外信息,了解其對組織合規要求的支持情況(CP3.1)與供應商簽署平安協議SSDF:與提供商業組件的第三方溝通需求,以進行軟件重用(P0.L3)BSAFSS:將平安需求整合到供應商合同、策略和標準中(SM.2-4)SAMM:與供應商討論平安責任(SR2)BSIMM:軟件平安性SLA(SR2.5/CP2.4)、個人身份信息(PII)責任(CP1.2)平安方法一致性要求SAMM:與供應商保持一致的軟件開發實踐(SR3)BS1MM:政策策略統一(CP3.2)、平安設計模式統一(SFD3.1)、平安標準統一(SR3.2)對供應商進行平安培訓SAMM:培訓意識(EG1)、定制化培訓(EG2)、標準化平安指導(EG3)BSIMM:為供應商或外包人員提供培訓(T3.2)供應商的漏洞管理和事件響應職責BSAFSS:供應商維護漏洞管理計劃和披露流程(VM.1/VM.3)、及時發布補丁或更新(VN.1)、終止軟件服務及相關風險和措施的告知(EL1-2)BSIMM:事件響應機制中包括與重要供應商建立溝通渠道(CMVML1)小結:多個框架都要求對供應商進行評估和簽署平安協議;BSIMM對供應商的要求最為全面,涉及所有5個方面;上述這些對供應商的要求貫穿于軟件開發生命周期的全過程,在平安層面將供應商與組織捆綁在一起。3.軟件基礎設施的平安性軟件產品的基礎設施包括開發、構建、部署、運維等過程中所使用的工具和環境等,這些設施一般由第三方提供,近年來發生的供應鏈攻擊事件也多與其相關,如Codecov供應鏈攻擊事件,因此它們的平安性也成為目前關注的焦點。6種平安開發框架對各階段基礎設施的平安性也有較為詳細的要求:?開發工具和環境的平安性方面框架考慮了開發環境的隔離、開發終端的加固(SSDFPO.5.1/PO.5.2);內部代碼庫和加密服務密鑰保護、最新版開發工具的使用、開發框架的平安配置、開發環境訪問的強身份認證(BSAFSSDE.1-2/DE.1-3/DE.2-1/DE.2-2/IA.1-1);開發環境平安質量評估、SDK之類的庫和組件及系統的平安性評估(SAMMSA1/AA1)等措施。?平安構建方面框架考慮了使用最新版本和批準的編譯器等構建工具、SAFECode實踐、MSSDL實踐8)、對構建工具進行檢查驗證及強制執行平安基線、SAMMSB1/SB3),選擇適當的編譯特性并進行平安配置、BSAFSSDE.2-3/DE.2-4/DE.2-5),構建過程的自動化(SAMMSB2)等措施。?部署和運維環境的平安性方面框架考慮了容器和虛擬化環境的使用編排及部署自動化(BSAFSSDE.2-6、SAMMSD2、BSIMMSE2.7)、部署的平安檢查和平安配置(BSAFSSDE.2-6、SAMMSD2、BSIMMAA1.1/SE2.2).確保安裝在正確硬件和授權用戶的機制(BSAFSSSM.6-1)、可部署工件風險數據的發布(BSIMMCMVM3.6)、主機網絡及云平安能力保障(BSIMMSE1.2/SE2.6),基礎運維設施平安的驗證(BSIMMCMVM3.5)等措施。小結:BSAFSS和SAMM在3個方面均有涉及;SSDF更關注開發和編譯環境的平安;BSIMM在部署和運維環境平安方面的實踐更多一些,特別是運維;SAFECode和MSSDL主要對平安構建進行了要求。雖然各有側重,但所有框架都有對基礎設施平安保護的要求,并且相信后續版本中此類措施會越來越多。4.軟件自身平安性的保護軟件(包括補丁)的偽造和篡改同樣是供應鏈攻擊的主要手段之一。軟件完整性保護就是通過驗證軟件來源、授權、完整性等信息的一致性來防止此類問題的機制,代碼簽名和來源信息驗證是其中最為主要的方法;此外,補丁的平安性也是軟件自身保護的重要局部。框架的相關措施包括:?軟件完整性保護方面措施包括建立代碼簽名和第三方工件簽名之類的軟件完整性保障機制(SSDFPS.2.1/PS3.1,BSAFSSSM.4-1、SAMMSD3、BSIMMSE2.4/SE3.2),軟件來源數據的收集維護及驗證BSAFSSSM.4-2,BSIMMSE2.4)、每個交付產品特定軟件版本的唯一標識(BSAFSSSM.4-3)等。?補丁平安性防護方面措施包括對補丁進行功能和平安測試(BSAFSSVN.1-3),通過可信和自動化渠道交付補丁(SSDFRV2.2、BSAFSSVN.2-1)、對補丁進行簽名以確保其完整性(BSAFSSVN.2-2)、追蹤打補丁流程對SLA的合規情況(SAMMEM3)等。小結:多數框架對軟件完整性保護進行了要求,并遵循主流的防篡改方法;在補丁平安性防護方面,BSAFSS從測試、傳輸、防篡改等角度進行了要求,最為全面。三、平安開發框架主要指導作用思考平安開發框架以軟件開發生命周期為主線,基于組織和企業的實踐和操作經驗,并將供應鏈相關的平安措施納入,目前各類平安開發框架的內容也較為豐富,對軟件供應鏈平安保障工作具有一定的指導作用,主要表達在以下兩占,/WX?一是在直接使用方面,鑒于框架不同的編制背景,軟件供應鏈平安決策和策略制定等相關人員可更多的參考結果導向框架的內容,關注目標和效

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論