為何公司需要關(guān)注軟件供應(yīng)鏈安全?
譯文
【51CTO.com快譯】攻擊者闖入并篡改復(fù)雜軟件開發(fā)供應(yīng)鏈中的軟件,通過注入惡意代碼來威脅供應(yīng)鏈遠(yuǎn)端的目標(biāo)時,就會發(fā)生軟件供應(yīng)鏈攻擊。這些注入的惡意代碼可用于通過獲取系統(tǒng)權(quán)限或直接投放惡意有效載荷或后門程序包,進(jìn)一步篡改代碼。軟件供應(yīng)鏈攻擊利用已建立的系統(tǒng)驗(yàn)證渠道的漏洞,獲得系統(tǒng)的特權(quán)訪問,并破壞大型網(wǎng)絡(luò)和數(shù)據(jù)庫。
軟件供應(yīng)鏈基本上是指開發(fā)軟件產(chǎn)品所涉及的一切,包括所有組件、軟件包和代碼庫?,F(xiàn)代軟件產(chǎn)品包含依靠其他代碼的大量依賴項(xiàng),因此查明哪些漏洞破壞哪些軟件產(chǎn)品和工具可能是一項(xiàng)頗具挑戰(zhàn)性的技術(shù)活。
安全軟件供應(yīng)鏈有滯后,安全事件難免會發(fā)生
由于軟件供應(yīng)鏈安全方面的問題或錯誤,迄今為止發(fā)生過多起安全行為。比如說,2017年的NotPetya和Equifax數(shù)據(jù)泄密事件影響了數(shù)百萬用戶。這表明了軟件供應(yīng)鏈攻擊的潛在規(guī)模及其對惡意網(wǎng)絡(luò)活動的戰(zhàn)略實(shí)用性。
很多時候,公司也不及時披露軟件或網(wǎng)絡(luò)遭到了破壞,從而使整個客戶和合作伙伴生態(tài)系統(tǒng)岌岌可危。比如2017年Kingslayer Windows日志管理軟件遭到攻擊事件:中國攻擊者盯上了這款Windows IT管理應(yīng)用程序,注入了有效簽名的惡意代碼,惡意代碼可以通過更新或下載該應(yīng)用程序進(jìn)行傳播。那次攻擊破壞了全球各地的諸多系統(tǒng),包括大學(xué)、國防企業(yè)、政府組織、銀行、IT及電信公司以及其他企業(yè)。
之所以發(fā)生這種情況,是由于該惡意軟件安裝了一個輔助軟件包,該軟件包可以上傳和下載文件,執(zhí)行惡意程序,并運(yùn)行任意的外殼命令。一家國防承包商在其環(huán)境中發(fā)現(xiàn)一款軟件在ping已知是不良IP的IP地址后,察覺了這起攻擊?,F(xiàn)在,如果警惕的軟件供應(yīng)鏈安全和管理機(jī)制部署到位,本可以避免這種情況。好消息是,隨著DevSecOps和Gitops方面取得進(jìn)展,這成為了現(xiàn)實(shí)。
您應(yīng)了解軟件環(huán)境中的一切
作為開發(fā)人員,您應(yīng)了解自身環(huán)境中的內(nèi)容,發(fā)現(xiàn)可能帶來安全問題(比如許可證問題或依賴項(xiàng)漏洞)的任何軟件問題,并盡快打上補(bǔ)丁。容器是軟件供應(yīng)鏈中必不可少的一部分,使補(bǔ)丁工作變得很順暢。容器讓您可以輕松重新構(gòu)建、測試并重新部署到您的環(huán)境中,沒有任何停機(jī)時間。
如果公司在這方面積極主動,可以借助自動代碼掃描和補(bǔ)丁確保容器層面的最佳安全。當(dāng)然,很多時候說起來容易做起來難,因?yàn)檐浖艿罆饾u變得很復(fù)雜。但主動打補(bǔ)丁可以在任何重大數(shù)據(jù)泄露發(fā)生之前及時解決大多數(shù)安全問題。
大多數(shù)開源項(xiàng)目并不遵循嚴(yán)格的組織結(jié)構(gòu),而是依靠自我組織和協(xié)作方法來推動軟件創(chuàng)新和發(fā)展。這可能是確保真正的軟件安全供應(yīng)鏈面臨的主要問題。
現(xiàn)在有了GitOps,運(yùn)營團(tuán)隊(duì)不僅可以將基礎(chǔ)架構(gòu)定義為代碼,還可以通過提交人們可共同審核和批準(zhǔn)的合并請求進(jìn)行部署和更改。開發(fā)應(yīng)用程序時,GitOps使得在持續(xù)交付服務(wù)器上進(jìn)行持續(xù)集成變得無處不在。團(tuán)隊(duì)致力于構(gòu)建產(chǎn)品時,這有助于融入DevSecOps實(shí)踐。
GitHub上確保安全軟件供應(yīng)鏈的工具
雖然許多公司使用Github來托管代碼,但是有一項(xiàng)名為依賴關(guān)系圖(dependency graph)的功能可以進(jìn)行掃描、進(jìn)行安全分析,包括許可證方面的信息和針對易受攻擊的依賴項(xiàng)的安全警報。比如說,如果團(tuán)隊(duì)添加的一個新依賴項(xiàng)有漏洞,或者在現(xiàn)有的依賴項(xiàng)中發(fā)現(xiàn)了一個新漏洞,他們會收到警報,可以通過打補(bǔ)丁來解決。
Github還有一項(xiàng)自動功能,一個名為Dependabot的自動機(jī)器人向用戶發(fā)送自動合并請求,以表明用戶已針對易受攻擊的依賴項(xiàng)升級到了補(bǔ)丁版本。Github的許多企業(yè)用戶都在使用Dependabot和GitHub依賴關(guān)系圖來了解它們在使用哪些依賴項(xiàng)、存在的漏洞、如何打補(bǔ)丁以及回到正常工作模式。用戶可以使用Github的語義代碼分析引擎CodeQL發(fā)現(xiàn)整個代碼庫中的漏洞,該引擎使用戶可以像查詢數(shù)據(jù)那樣查詢代碼。
原文標(biāo)題:Why Companies Need To Pay Attention To Software Supply Chain Security,作者:Vishal Chawla
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

































