莊元勛
保障軟件供應鏈安全不只是某個部門的事,而是需要成為企業(yè)整體發(fā)展戰(zhàn)略計劃的一部分,并讓負責人都能理解這樣做的原因。為了確保軟件供應鏈順暢平穩(wěn)運行,組織首先要做的一件事就是制定一項嚴密的安全防護計劃,并聘請專職的首席安全官(CISO)來制定和落地這項計劃,而不是只是將計劃發(fā)布出來而已。
很多企業(yè)長期以來只關(guān)注自身網(wǎng)絡(luò)安全的防護,而忽略了供應商產(chǎn)品的安全狀況,導致未經(jīng)過嚴格安全認證與審核的訪問進入企業(yè),這會帶來巨大風險。確保供應鏈的可觀察性必不可少,軟件供應鏈天然具有復雜性,只有通過持續(xù)的監(jiān)控分析,企業(yè)才能保證它們的安全進化和發(fā)展,并確保長期可用性和安全性。
大多數(shù)企業(yè)對開發(fā)人員在研發(fā)時的開源代碼引用和軟件依賴關(guān)系缺乏足夠了解。如果不能有效清點軟件中的所有第三方組件,當嚴重的零日漏洞突然發(fā)生時,組織將無法了解自己是否會受到影響,哪些應用會受到影響,以及影響的嚴重性如何。如果組織部署了軟件供應鏈管理系統(tǒng),就能夠準確判斷威脅態(tài)勢,并立即開始補救,避免安全事件發(fā)生。
軟件材料清單(SBOM)最近備受行業(yè)關(guān)注,但應用SBOM只是基礎(chǔ),目的是可以了解軟件產(chǎn)品的各個組成部分。更關(guān)鍵的是,企業(yè)應該基于已發(fā)現(xiàn)漏洞情報信息進行威脅分析,對識別出的各種威脅進行分類,并以此創(chuàng)建威脅處置流程。通過不斷重復上述工作,企業(yè)還可以不斷完善威脅處置流程。
在供應鏈合作中,通過遵循零信任原則,企業(yè)可以更好地審核供應鏈服務(wù)的安全性,所有對于系統(tǒng)的訪問都會建立在身份、端點和服務(wù)等一系列角色基礎(chǔ)上,必須得到安全策略一致的驗證和授權(quán)之后才能進行。
企業(yè)應重視開發(fā)安全運營(DevSecOps),方法是將安全檢查工作列為開發(fā)人員必須完成的任務(wù)之一。無論是軟件設(shè)計過程中的威脅建模、錯誤修復還是封堵代碼中的安全漏洞,應用安全問題都需要被開發(fā)人員優(yōu)先考慮,并成為其日常開發(fā)工作的一部分。如果這部分工作要求沒有完成,就意味著其整個開發(fā)工作不能結(jié)項。
及時進行安全補丁和軟件版本更新是構(gòu)建安全軟件供應鏈的重要步驟。為了保證第三方軟件及開發(fā)者值得信賴,在部署安全補丁和版本升級之前,還需要有適當?shù)拇胧﹣韺ζ溥M行安全審查和監(jiān)控。
企業(yè)在構(gòu)建安全軟件供應鏈時應該貫徹安全編程和測試實踐,因為它有助于在開發(fā)過程的早期階段識別和緩解安全漏洞,保護整個軟件系統(tǒng)免受攻擊。這一點很重要,因為軟件供應鏈往往涉及多個第三方合作伙伴,所有開發(fā)團隊及人員均應該遵守一直的安全編程要求。
科學的備份機制是防止數(shù)據(jù)竊取和勒索攻擊的最后一條防線。如果企業(yè)大量應用了云計算技術(shù),定期進行離線代碼備份工作將非常重要。企業(yè)應該定期審查軟件服務(wù)提供商,尤其是提供關(guān)鍵應用組件、銷售系統(tǒng)、財務(wù)系統(tǒng)的提供商。一旦發(fā)現(xiàn)存在風險,就應該及時手動執(zhí)行離線的數(shù)據(jù)備份或數(shù)據(jù)恢復。
企業(yè)了解軟件供應鏈是否安全的最好方法就是制作一份檢查清單,并以此進行安全狀態(tài)檢查。檢查清單可以讓每個人都成為安全把關(guān)員,從而打造一條安全的軟件供應鏈。不同類型企業(yè)對供應鏈安全檢查的要求會有差異,但清單通常應包括以下8個檢查點:訪問控制、安全存儲、加密、安全傳輸、漏洞管理、定期更新、跟蹤系統(tǒng)和糾正措施。
軟件系統(tǒng)的安全性取決于其生命周期中的最薄弱環(huán)節(jié)。隨著現(xiàn)代軟件供應鏈的全球化趨勢發(fā)展,跨不同平臺和多個數(shù)據(jù)集進行協(xié)作開發(fā)的需求急劇加大。雖然許多企業(yè)組織已采用了基于云的協(xié)作開發(fā)平臺,但目前軟件供應鏈上協(xié)同溝通的最常見方式還通過郵件、電子表格和社交工具。企業(yè)應該購置統(tǒng)一的安全開發(fā)協(xié)作平臺來降低隱患。
保障數(shù)字化業(yè)務(wù)的安全開展已經(jīng)得到業(yè)界普遍認同,企業(yè)組織也正在投入很多資源打造安全的軟件供應鏈,并取得了一定的進展,但人依然是整個軟件供應鏈中最薄弱的因素。因此,企業(yè)需要加強內(nèi)、外部軟件工程師的安全意識教育,幫助他們提高對新工具、新技術(shù)和新威脅的認識。