網(wǎng)絡(luò)安全行政命令:保護(hù)軟件供應(yīng)鏈
美國(guó)于2021年5月12日發(fā)布了《關(guān)于改善國(guó)家網(wǎng)絡(luò)安全》的第14028號(hào)行政命令(EO),明確要求美國(guó)聯(lián)邦政府加強(qiáng)軟件供應(yīng)鏈安全管控。為響應(yīng)號(hào)召,國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)于2021年6月25日發(fā)布了《Definition of Critical Software UnderExecutive Order(EO)14028(行政命令14028下的“關(guān)鍵軟件”定義)》,并于2021年7月9日發(fā)布了《SecurityMeasures for “EO-Critical Software” Use Under Executive Order(EO)14028(“EO關(guān)鍵軟件”使用的安全措施)》,這表明美國(guó)正逐步推進(jìn)EO行政命令的執(zhí)行。按照下圖《EO第4節(jié)任務(wù)及時(shí)間線》,美國(guó)正逐步發(fā)布“關(guān)鍵軟件”的相關(guān)要求及指南,并推進(jìn)其最終落實(shí),預(yù)計(jì)將于2022年5月基本完成。

新的行政命令有助于培養(yǎng)一種更加協(xié)作和統(tǒng)一的網(wǎng)絡(luò)安全方法,這種方法強(qiáng)調(diào)了保護(hù)軟件的重要性。
確保軟件供應(yīng)鏈安全
行政命令的第四部分很重要占整個(gè)命令的25%。雖然最終的細(xì)節(jié)需要幾個(gè)月的時(shí)間來(lái)確定,但美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)已經(jīng)開始了初步指導(dǎo)方針的制定過(guò)程,從關(guān)鍵軟件的定義和關(guān)鍵軟件類別的列表開始。最近,NIST概述了關(guān)鍵軟件的安全措施,包括軟件代碼自動(dòng)化測(cè)試的最低標(biāo)準(zhǔn)。
隨著網(wǎng)絡(luò)安全問(wèn)題已成為全球安全性問(wèn)題,我國(guó)也在網(wǎng)絡(luò)安全方面不斷發(fā)布相關(guān)政策以確保網(wǎng)絡(luò)及數(shù)據(jù)等安全。國(guó)內(nèi)外不斷發(fā)布的關(guān)于保護(hù)軟件供應(yīng)鏈的最佳實(shí)踐的指南,要求軟件供應(yīng)商應(yīng)該考慮如何影響他們的業(yè)務(wù),以及他們?cè)谖磥?lái)幾個(gè)月可能需要實(shí)施哪些更改。
開發(fā)環(huán)境安全性:
軟件開發(fā)環(huán)境必須具有與軟件運(yùn)行環(huán)境相同或更高的安全控制。這將需要重要且持續(xù)的安全流程,從建立身份驗(yàn)證和訪問(wèn)的程度到采用數(shù)據(jù)加密和審核信任關(guān)系。
一致性和公開:
關(guān)鍵要素是要求供應(yīng)商證明符合訂單中概述的安全編碼指南。這意味著開發(fā)環(huán)境必須可由政府或其他客戶審核。這可能會(huì)使標(biāo)準(zhǔn)化第三方審計(jì)得到發(fā)展,幫助供應(yīng)商在銷售過(guò)程中節(jié)省時(shí)間。
一個(gè)關(guān)鍵元素是呼吁供應(yīng)商證明符合訂單中概述的安全編碼指南。這意味著政府或其他客戶應(yīng)該對(duì)開發(fā)環(huán)境進(jìn)行審核。這可能會(huì)帶來(lái)標(biāo)準(zhǔn)化第三方審計(jì)的發(fā)展,使供應(yīng)商在銷售過(guò)程中節(jié)省時(shí)間。同時(shí),對(duì)發(fā)現(xiàn)的安全漏洞及時(shí)披露有助于強(qiáng)化網(wǎng)絡(luò)安全防御。
軟件材料清單:
隨著安全風(fēng)險(xiǎn)意識(shí)的提高,政府現(xiàn)在要求軟件中包含的內(nèi)容透明化??紤]到現(xiàn)代軟件主要由現(xiàn)有代碼組成,其中大部分來(lái)自開源庫(kù)。由于大多數(shù)開源代碼都包含漏洞(我們的研究發(fā)現(xiàn) 70% 的應(yīng)用程序包含開源庫(kù)中的漏洞),因此組織不可能在不評(píng)估其應(yīng)用程序的開源組件的安全性的情況下聲稱其軟件是安全的。SBOM 強(qiáng)制組織分析他們使用的源代碼,并對(duì)其軟件(包括任何開源組件)的安全性負(fù)責(zé)。
隨著安全風(fēng)險(xiǎn)意識(shí)的增強(qiáng),政府現(xiàn)在要求對(duì)軟件中包含的內(nèi)容透明化??紤]到現(xiàn)代軟件主要是由現(xiàn)有的代碼組成的,這些代碼大部分來(lái)自開源碼庫(kù)。由于大多數(shù)開源代碼都包含漏洞(研究發(fā)現(xiàn)70%的應(yīng)用程序在開源代碼庫(kù)中都包含漏洞),如果沒(méi)有評(píng)估其應(yīng)用程序的開放源代碼組件的安全性,企業(yè)就不能宣稱其軟件是安全的。這就要求企業(yè)應(yīng)通過(guò)靜態(tài)代碼檢測(cè)或SCA等分析所用源代碼的安全性,并對(duì)它們的軟件(包括任何開放源碼組件)的安全性負(fù)責(zé)。
自動(dòng)化應(yīng)用程序測(cè)試:
使用自動(dòng)化工具如靜態(tài)代碼檢測(cè)工具(或類似流程)來(lái)檢查已知和潛在漏洞并對(duì)其進(jìn)行修復(fù)有助于減少軟件安全漏洞。這些工具應(yīng)該定期運(yùn)行,或者至少在產(chǎn)品、版本或更新發(fā)布之前運(yùn)行。甚至在DevsecOps中這些工具需要集成到開發(fā)過(guò)程中。
在NIST(國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所)關(guān)于關(guān)鍵軟件安全的指南中,建議使用自動(dòng)化測(cè)試、靜態(tài)和動(dòng)態(tài)分析以及安全編碼技術(shù)的使用進(jìn)行威脅建模。
合規(guī)性和補(bǔ)救:
要求在命令之前采購(gòu)軟件的機(jī)構(gòu)在必要時(shí)通過(guò)補(bǔ)救來(lái)遵守規(guī)定。這實(shí)際上是軟件供應(yīng)商面臨的最大障礙之一,因?yàn)樾迯?fù)包括“安全債務(wù)”(未經(jīng)測(cè)試的代碼或未解決的缺陷)的舊軟件是困難和耗時(shí)的。供應(yīng)商通常會(huì)選擇從頭開始重寫軟件,而不是緩解問(wèn)題。
Software是現(xiàn)代世界的核心和引擎,一切都建立在代碼基礎(chǔ)之上,這意味著代碼危險(xiǎn)將一切都置于危險(xiǎn)之中。最近對(duì)Colonial Pipeline和SolarWinds的網(wǎng)絡(luò)攻擊不僅表明了軟件供應(yīng)鏈的弱點(diǎn),同時(shí)也看出了一次網(wǎng)絡(luò)攻擊可以造成的破壞有多巨大。
加強(qiáng)軟件供應(yīng)鏈安全不但可以確保軟件穩(wěn)定運(yùn)行可信賴,也是筑牢網(wǎng)絡(luò)安全根基的方法之一。通過(guò)提高軟件自身安全性,幫助網(wǎng)絡(luò)系統(tǒng)抵御那些繞過(guò)安全查殺軟件的惡意病毒,提高網(wǎng)絡(luò)系統(tǒng)“抗毒”能力。
參讀鏈接:
https://www.darkreading.com/vulnerabilities-threats/cybersecurity-executive-order-securing-the-software-supply-chain
