安全即代碼:在不斷增長的云使用中創(chuàng)建新的網(wǎng)絡(luò)安全范式
譯文隨著越來越多的數(shù)據(jù)遷移到云端,越來越多的組織采用云計算,我們也越來越需要相應(yīng)地改進(jìn)網(wǎng)絡(luò)安全策略。正在考慮的一個改進(jìn)策略就是谷歌一直在積極推廣的安全即代碼(SaC)。很多組織一直支持這種相對新生但很有前景的網(wǎng)絡(luò)安全方法。
在 2022 年初,谷歌云副總裁兼首席信息安全官 Phil Venable 確定了推動云采用和增強安全性需求的大趨勢。其中一個趨勢是軟件定義基礎(chǔ)設(shè)施的興起,這使得有必要將安全配置編碼為可在應(yīng)用程序開發(fā)和部署期間引入的代碼。
這意味著組織可以分析其安全配置并在必要時實施更改,并更快地重新部署應(yīng)用,同時持續(xù)監(jiān)視其安全配置以確保它們符合組織的安全策略。
安全即代碼的興起
安全即代碼于 2020 年作為資源工具集引入,旨在幫助保護(hù)軟件開發(fā)生命周期。此后,它獲得了一定程度的牽引力。由于它能產(chǎn)生具有持續(xù)可驗證控件的可分析安全配置,現(xiàn)在正慢慢被采納為現(xiàn)代安全態(tài)勢的一部分。
SaC 將安全性作為 DevOps 的關(guān)鍵部分進(jìn)行集成,通過確定開發(fā)過程中需要安全控制的地方來建立有效的安全控制。它要求開發(fā)人員在代碼中指定基礎(chǔ)架構(gòu)平臺和配置,而不是在代碼完成后對其進(jìn)行處理,從而確保經(jīng)濟高效地實施安全檢查和測試,這樣就可以避免延遲和對代碼和基礎(chǔ)結(jié)構(gòu)進(jìn)行不必要的更改。
正如谷歌副總裁Phil Venables所言,安全即代碼的優(yōu)勢在于提供與組織確定滿足獨特安全要求所必需的安全配置相對應(yīng)的安全配置。雖然許多安全漏洞是由于意外和未知風(fēng)險而發(fā)生的,但也有些安全漏洞是由于組織未能部署特定的安全控制引起的,如果他們仔細(xì)分析其需求并不斷測試其安全態(tài)勢有效性,他們就可以部署這些安全控制。
SaC 與基礎(chǔ)架構(gòu)即代碼策略相關(guān)聯(lián),該策略源于從手動流程轉(zhuǎn)向更有效地保護(hù)軟件定義的網(wǎng)絡(luò)和系統(tǒng)(尤其是虛擬機、容器及其相關(guān)軟件)的需求。
安全專家認(rèn)為,隨著組織繼續(xù)轉(zhuǎn)向云原生基礎(chǔ)設(shè)施,他們將更需要安全即代碼。以基于邊界系統(tǒng)為首的傳統(tǒng)系統(tǒng)被認(rèn)為不可持續(xù),并且對困擾軟件定義云網(wǎng)絡(luò)的快速演變的威脅效率較低。所以安全即代碼也被稱為未來應(yīng)用程序安全的燃料。
如何實施
安全即代碼并不難實現(xiàn)。執(zhí)行此操作的一種基本方法是在 CI/CD 管道和代碼中設(shè)置安全規(guī)則、工具、策略、測試、掃描和代理,這需要在提交一段代碼時自動進(jìn)行測試。因此,必要時,開發(fā)人員可以對安全測試結(jié)果進(jìn)行評估和糾正。
SaC的主要目標(biāo)是在開發(fā)團隊編寫代碼時持續(xù)執(zhí)行安全測試,以確保在準(zhǔn)備代碼時(而不是在完成后)修復(fù)問題并優(yōu)化性能。如果做得好,組織可以節(jié)省更多的時間、精力和資源。
有些人錯誤地將 SaC 等同于 DevSecOps,但它只是其中的一部分——朝著 DevOps 中集成安全性邁出了相當(dāng)大的一步。它不是DevSecOps,但它涉及許多與DevSecOps框架一致的組件。這些組件分別是訪問控制和策略管理、漏洞掃描和安全測試。
訪問控制和策略管理——SaC 實施的第一步關(guān)鍵是定義訪問控制和策略管理。組織需要制定正式的治理決策和策略遵守系統(tǒng),為安全需求提供明確的參考。有了這個,開發(fā)團隊可以專注于關(guān)鍵功能,因為他們可以將授權(quán)卸載到外部庫(符合既定的安全策略)。
這既加快了開發(fā)過程,也不會影響安全性,從而建立安全策略的中央存儲庫和開發(fā)人員可以通過該平臺監(jiān)控和驗證授權(quán)的通用平臺。
漏洞掃描——這是關(guān)于驗證應(yīng)用程序每個組件的安全性及其在應(yīng)用程序的整個生命周期中的部署。用于確定漏洞的威脅情報不必由組織本身開發(fā)。它可以基于 OWASP 漏洞和其他威脅情報源或網(wǎng)絡(luò)安全框架。
但是,漏洞掃描必須是一個自動且持續(xù)的過程,才能具有可持續(xù)性和有效性。例如,跨站點腳本和 SQL 注入的檢測可能很復(fù)雜、重復(fù)且乏味。但是SaC 實施需要自動化和連續(xù)性。
安全測試——最后,SaC 需要有一個安全測試組件來檢測可能導(dǎo)致應(yīng)用程序完整性、可用性以及其包含或處理的數(shù)據(jù)的隱私或機密性的問題。需要明確的是,安全測試不是漏洞測試的冗余。安全驗證不僅僅是檢測和堵塞可能被威脅參與者利用的安全漏洞。它還解決了配置錯誤、數(shù)據(jù)不安全、暴露公司機密的可能性、應(yīng)用程序錯誤和不可接受的停機時間。
重大變化和優(yōu)勢
安全即代碼并非旨在取代組織用于保護(hù)其 IT 資產(chǎn)的網(wǎng)絡(luò)安全系統(tǒng)。它側(cè)重于提供更深入的信息去保護(hù)應(yīng)用程序安全性。首先,它能夠快速、全面地適應(yīng)安全要求的變化。隨著安全性在整個開發(fā)生命周期中不斷得到重視,開發(fā)人員可以獲得更高的安全可見性,并通過確保及時的自動安全修復(fù)來降低與應(yīng)用程序修補和網(wǎng)絡(luò)攻擊損害相關(guān)的成本。
此外,SaC 還制定了一個框架,可促進(jìn)安全、開發(fā)和運營團隊之間更好的協(xié)作。它與許多網(wǎng)絡(luò)安全專家倡導(dǎo)的“左移”目標(biāo)一致。最終,這些將縮短發(fā)布周期、降低成本和無縫操作,不僅使組織受益,還能使客戶受益。更快的產(chǎn)品發(fā)布、安全補丁和其他應(yīng)用更新以及更好的整體安全性可以創(chuàng)造更好的客戶體驗。
擁抱SaC也不是一個復(fù)雜的過程。想要避免處理太多技術(shù)細(xì)節(jié)去進(jìn)行試錯運行以實現(xiàn)最佳配置的組織可以轉(zhuǎn)向第三方安全即代碼解決方案。領(lǐng)先的安全公司提供面向 SaC 或 SaC 的解決方案,這些解決方案可與現(xiàn)有開發(fā)人員工具無縫運行,以解決編碼錯誤、配置問題、安全漏洞和泄露的機密。這些解決方案可以全面掃描安全問題,實現(xiàn)可靠的策略實施,進(jìn)行實時驗證,并呈現(xiàn)操作測試結(jié)果。
總結(jié)
同樣,安全即代碼不能替代現(xiàn)有的全面安全狀況管理系統(tǒng)。它強調(diào)了在應(yīng)用程序開發(fā)過程中更加重視安全性的必要性,以便在應(yīng)用程序和整體企業(yè) IT 的安全性方面創(chuàng)造更多價值。雖然部分人可能將其視為額外的安全負(fù)擔(dān),但它創(chuàng)造的優(yōu)勢和好處肯定超過了采用新的網(wǎng)絡(luò)安全范式的挑戰(zhàn)。
原文標(biāo)題:??Security as Code: Creating a New Cybersecurity Paradigm Amid Growing Cloud Use??,作者:Evan Morris