想低成本保障軟件安全?五大安全任務值得考慮
應用程序的快速交付并非安全的敵人,盡管現(xiàn)在看起來似乎如此。隨著企業(yè)持續(xù)采用云服務和基礎設施,安全卻逐漸被拋之腦后,這是不可取的——尤其是現(xiàn)在持續(xù)集成/持續(xù)交付流水線已成為攻擊者的主要目標。
在應用程序上線后僅僅掃描其安全漏洞是遠遠不夠的。安全的左移方法應該在DevOps團隊開始開發(fā)應用和配置基礎設施的時候就啟動,這樣就可以在漏洞影響范圍更廣和修復成本更昂貴之前解決它們。這就是 DevSecOps 的核心原則。
通過安全左移,企業(yè)可以在用戶受到影響之前識別錯誤配置和其他安全風險。云計算在實現(xiàn) DevOps 方面發(fā)揮了很大作用,因此保護云環(huán)境和工作負載可以捍衛(wèi) CI/CD 流水線的安全,最終保護客戶的安全。
以下是 DevOps 團隊在進行安全左移時應該考慮的5個重要安全任務:
1、 與安全團隊協(xié)作。安全左移是一個重大改變。除了設置合理的流程以及使用合適的工具之外,企業(yè)必須重新思考他們的運作方式,在 CI/CD 流水線中更早地引入軟件測試流程、工具以及相關專業(yè)知識。DevSecOps 并不是簡單地將安全責任塞給開發(fā)人員,而是改變角色和期望,并結合使用合適的工具,實現(xiàn)安全和開發(fā)的平衡。安全從開發(fā)周期的開始就應該擁有比較高的優(yōu)先級,而不是在 SDLC 后期才開始重視。
2、 實現(xiàn)頻繁的自動化測試。安全左移需要盡早且頻繁地測試,通過自動化的代碼測試,開發(fā)人員在工作時就會收到安全問題的提醒,這樣他們能夠在軟件進入生產(chǎn)環(huán)境前糾正問題。掃描漏洞的自動化工具可以降低人工測試中可能出現(xiàn)的人為錯誤的機會,并擴大了覆蓋范圍,以檢查更多的軟件。代碼在開發(fā)過程中的每個階段都會被掃描,因此到 SDLC 后期不會積壓大量待審查的代碼。
安全左移的策略需要將一個或多個工具集成到 CI/CD 流水線中以尋找已知的漏洞以及識別其他安全問題。通常會使用的工具類型包括靜態(tài)應用安全測試(SAST)、動態(tài)應用安全測試(DAST)、交互式應用安全測試(IAST),密鑰檢測和軟件成分分析(SCA)。當然,在決定將哪些新工具引入你的流程之前,你應該首先評估你現(xiàn)有的工具。
3、 在流程中進行滲透測試。雖然自動化測試是 DevSecOps 的必備條件,但僅靠自動化仍然可能存在無法發(fā)現(xiàn)的潛在問題。例如滲透測試等手動安全評估可以通過模擬網(wǎng)絡攻擊來檢查應用程序的安全性。這類額外的測試可以將安全風險降到最低并且可能捕捉到自動化測試無法檢測到的問題。
在進入生產(chǎn)環(huán)境之前,請一位安全工程師來幫助你審查軟件并進行滲透測試以確保所有潛在的問題都已經(jīng)得到緩解。與其在被攻擊者利用之后才知道漏洞的存在,不如直接覆蓋所有的基礎代碼并對其進行額外的測試。
4、 保證你的軟件是最新的。始終采用最新版本的軟件是網(wǎng)絡安全的核心。開發(fā)人員必須確保他們所使用的軟件(操作系統(tǒng)、應用程序框架以及第三方庫等)保持在最新版本,這意味著安全補丁也處于最新狀態(tài)。無論是來自供應商還是開源社區(qū)的軟件,下載軟件更新是保護軟件安全的重要步驟。
5、 尋找安全培訓的機會。開發(fā)人員并非安全專家,但他們在安全應用程序的生產(chǎn)中具有關鍵作用,因此開發(fā)人員也應該了解安全編碼和測試的基本知識。隨著對軟件需求的攀升,開發(fā)人員應該考慮根據(jù)他們的具體角色和需求進行安全培訓。適當?shù)呐嘤柡椭С挚梢詾槟闾峁┧璧谋尘靶畔?,以產(chǎn)生即實用又安全的代碼。
談及軟件安全,沒有任何靈丹妙藥可以完全確保你的代碼永遠安全無虞。通過采用這些實踐,您能夠發(fā)現(xiàn)更多漏洞并且在代碼部署前就打上補丁。