压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

現代軟件開發的基石CI/CD:敏捷與風險并存

如今,軟件的開發不再是由單個開發人員在獨立的機器上來完成,取而代之的情況是,多名開發者可以同時處理同一應用的不同模塊或功能,而互不干擾。這種協作的方式可以讓組織無需等待某個固定的時間才能發布軟件,而是在準備好后立即推出軟件的更新與升級。

CI/CD(持續集成/持續交付)通過對構建過程進行標準化,實現了安全從共享資源向越來越隔離的資源的轉變,并且在每次變更時都會進行自動化檢查,從而加快了軟件的交付速度。隨著CI/CD的出現,自動化和基礎設施即代碼(IaC)變得更加重要,越來越多的第三方(外部供應商)參與其中,新的框架和編程語言也被迅速采用。

敏捷的代價是更高的風險

然而,從精簡和自動化的共享CI/CD管道中獲得的敏捷性,也使得組織更容易成為網絡不法分子所攻擊的目標。

隨著CI/CD功能的不斷升級,企業對其應用的需求也迅速增加。然而這些相互連接的管道已經超出了許多組織的成熟度和自我保護能力所能駕馭的范疇,使得CI/CD成為攻擊者的主要目標。

CI/CD管道中匯集了應用程序代碼、構造工具、第三方組件、機密、身份以及云資源

CI/CD擴大了組織的攻擊面。如今,攻擊者已經十分善于利用此類系統來對軟件供應鏈進行攻擊。而這一點也在2020年備受關注的SolarWinds事件中得到了證明。SolarWinds事件中,與俄羅斯有牽連的Nobelium組織破壞了該IT軟件套件制造商的構建過程,并將惡意代碼植入到應用程序中,從而流向用戶的系統。

根據Palo Alto Network公司在2022年12月的報道,去年間供應鏈攻擊事件的數量就增加了51%。CI/CD管道特別容易出現諸如配置錯誤(可能會暴露敏感信息并成為惡意代碼的入口)和許可憑證(可能會導致橫向移動和CI中毒)之類的問題。

CI/CD管道面臨的多重威脅

目前,常見的初始入侵技術包括:軟件開發生命周期(SDLC)資源的配置錯誤、惡意依賴項以及涉及到內部開發人員的攻擊。

在實踐中,這就意味著攻擊者可以通過操縱CI/CD管道的輸入(包括代碼和配置),來獲得一個攻擊的突破點。隨后攻擊者就可以嘗試著進行橫向移動,通過濫用廣泛的令牌和其他授予資源訪問權限(通常是基于位置的權限,)的錯誤配置,來更加深入地訪問目標系統,并對軟件交付的后續階段進行惡意操作。最終,攻擊者便得以濫用組織的生產資源,破壞交付給第三方的產品,從而傳播攻擊。

另一方面,針對CI/CD基礎設施的攻擊可以幫助攻擊者對構建階段的軟件進行操縱,使得CI/CD基礎設施成為利用終端用戶信任的攻擊面。

相比于更加牢固和監控嚴密的生產環境來說,CI/CD管道更容易成為被攻擊的目標。因為CI/CD管道受到的安全關注往往較少,并且在構建、打包以及部署階段,開發人員所執行的內容也幾乎沒有日志記錄。

眾所周知,相比于直接攻擊生產環境,通過CI/CD管道來注入惡意軟件或利用漏洞要更加容易得手。攻擊者自然也很清楚這一點。

組織內部的攻擊者可以在軟件構建階段通過添加配置來注入惡意的依賴項。由于在軟件的構建階段,缺乏記錄關于代碼操作的詳細日志,所以這些注入相較于惡意配置或源提交來說,是“不可見的”。

除非后續階段對生成的二進制文件進行詳細掃描,否則這些注入代碼會被無聲無息地植入到產品中,而不會被發現。

根據全球開放式Web應用安全計劃(The Open Worldwide Application Security Project,OWASP)的報道,最近針對CI/CD生態系統的濫用事件數量激增,且攻擊的頻率和規模也在逐漸上漲。

防御措施尚未成熟

如今,不法分子正迅速改進技術以“瞄準”CI/CD,而對此的防御措施卻仍處于初步階段,安全團隊仍在努力找尋對風險進行檢測、理解和管理的方法。為了在最佳安全狀態與開發速度之間尋求一個平衡點,安全團隊正在努力尋找最有效的安全控件,以使開發工程能夠在保持敏捷性的前提下,始終處于一個安全的最佳狀態。

現代軟件交付所攜帶的大量組件以及CI/CD不斷增長的復雜性,使軟件供應鏈安全的考慮變得更加復雜。組織必須采取一些涵蓋源完整性、開發完整性、發布完整性、依賴性以及訪問控制的深度防御措施。

例如組織可以使用安全供應鏈消費框架(Secure Supply Chain Consumption Framework,S2C2F)來對自己的開發過程進行評估。自2019年以來,該工具一直由微軟這個軟件巨頭所開發和使用,旨在保護其自身的開發過程。

2022年11月,微軟將S2C2F貢獻給了開源安全基金會 (Open Source Security Foundation,OpenSSF)。該框架旨在解決針對開源軟件的真實供應鏈威脅。組織可以使用該框架進行評估,以了解如何改進開源軟件消費實踐的安全性。

要采取的安全步驟

企業需要解決CI/CD的錯誤配置問題,限制對CI/CD基礎架構和相關服務的訪問,并將檢測活動擴展到CI/CD基礎架構。同時,他們還需要加強基礎設施即代碼(IaC)的防篡改能力。

DevOps團隊則應該通過對依賴關系進行清點和理解,來盡可能地對其進行削減和監控,從而解決第三方依賴風險。隨著組織成熟度和信心的增加,就可以逐步在內部對這些依賴關系進行固定、代理以及重建。”

此外,開發人員作為一種關鍵因素,也需要被考慮在組織的安全計劃中。例如對開發人員也要啟用多因素身份驗證(MFA)以及條件訪問等控制。同時還要對其在CI/CD基礎架構上所擁有的權限進行審查。這些都應成為零信任策略中最小權限原則的一部分

無論是DevOps的發展,還是對敏捷開發的應用,CI/CD管道都是其中不可或缺的一部分。但所有這些都使得開發過程更容易成為攻擊者的目標。攻擊者深諳CI/CD的脆弱性,因此將重點放在了軟件供應鏈上。為了保護組織的安全,必須采取措施來加強對該過程的安全防護。

CI/CD模式憑借頻繁且快速的迭代,能夠最大限度地減少軟件開發過程中的錯誤,加快進度的同時也提高了產品的質量。基于關鍵流程以及開發工具的多樣性,每個企業或產品都有其獨特的CI/CD流水線,但強化CI/CD安全性的基本理念都是一致的,即避免數據的泄露以及應用程序的中斷。需要注意的是,隨著業務復雜性的增加,CI/CD管道的復雜程度也會隨之增長,每個階段都會產生大量的敏感數據,而這些敏感數據往往會成為巨大的攻擊杠桿。

來源:數世咨詢

上一篇:GitLab目錄遍歷漏洞 (CVE-2023-2825) 安全風險通告

下一篇:俄羅斯神秘惡意軟件可能對電力工控系統造成嚴重破壞