軟體供應鏈安全如何受到駭客的威脅

zktq2021發表於2022-11-01

什麼是供應鏈?

現如今,無論是開源庫、開發人員工具、內部部署或基於雲的部署和交付系統,還是軟體即服務(SaaS)服務,這些構建塊在現代軟體開發中都已變得必不可少。

每一塊“積木”本身都是漫長供應鏈的產物,這使得軟體供應鏈成為一個包含IT的方方面面的概念:從硬體,到開發人員編寫的原始碼,到第三方工具和平臺,還包括資料儲存和所有用於開發、測試和分發軟體的基礎設施。

供應鏈是一個分層結構,允許公司實現高度靈活的軟體開發,這是數字化轉型的引擎。

開源元件和庫的大規模重用極大地加快了開發週期,並能夠根據客戶的期望交付功能。但與這一令人印象深刻的進步相對應的,是對進入公司產品的程式碼來源的控制缺失。這一依賴鏈將組織及其客戶暴露在由其直接控制之外的變更引入的漏洞中。

這顯然是一個主要的網路安全問題,而且隨著供應鏈年復一年變得越來越複雜,這個問題只會越來越嚴重。因此,最近大規模的網路攻擊得以利用這一點也就不足為奇了。

薄弱環節的風險

對駭客來說,軟體供應鏈是一個有意思的針對目標。首先,由於其複雜的特性,其攻擊面非常大;其次,由於應用程式安全性歷來側重於保護應用程式,而內部構建伺服器和CI/CD管道缺少一定的安全可見性;最後,透過利用供應鏈,駭客找到了最大化攻擊影響的方法,從而最大限度地提高了攻擊的收益。

供應鏈攻擊的興起

2020 年 3 月至 6 月期間的 SolarWinds 攻擊中,大約 18,000 名 Orion 平臺客戶(包括一些美國政府機構)下載了注入惡意程式碼的更新。該程式碼允許駭客未經授權後門訪問近 100 個實體的系統和專用網路。SolarWinds 直到 2020 年 12 月才發現該漏洞。2021 年 1 月,由於構建過程中出現錯誤,攻擊者獲得了用於建立涉及 Codecov 軟體的 Docker 映像的憑據。這些憑據允許攻擊者劫持Codecov,一種用於測試開發人員程式碼覆蓋率的軟體,並將其變成真正的木馬:由於該軟體用於持續整合(CI)環境,因此它可以訪問構建過程的秘密憑據。因此,攻擊者能夠從Codecov使用者那裡竊取數百個憑據,從而允許他訪問儘可能多的安全系統。

2021 年 7 月 2 日,一個複雜的勒索軟體組織利用了 Kaseya 虛擬系統管理員 (VSA) 伺服器中的一個漏洞,影響了大約 1500 家小型企業。Kaseya 是託管服務提供商 (MSP) 和其他 IT 承包商使用的網路、系統和基礎設施管理軟體的開發商。儘管勒索軟體攻擊控制了客戶的系統,但幾天後攻擊就被遏制並被擊敗。

2021年12月,對軟體供應鏈最簡單但最廣泛的攻擊發生了。在最初的概念驗證(POC)被披露後,攻擊者開始大規模利用影響Apache Log4j的漏洞,這是Java生態系統中非常流行的開源日誌庫。

儘管存在嚴重性,但這種漏洞遠非孤立的案例:2020 年至 2021 年間,使用開源生態系統作為傳播媒介到達供應鏈的攻擊數量增加了 650%。歐洲網路安全域性(ENISA)預測,到2022年,供應鏈攻擊將增加四倍。

所有這些攻擊和漏洞都凸顯了缺乏有效保護供應鏈的可見性和工具,無論是用於清點使用開源元件的系統、驗證其完整性的系統,還是防止敏感資訊洩漏的系統。

供應鏈的關鍵:秘密

獲得未加密的憑據是駭客從供應商向客戶的供應鏈轉移的“鑰匙”:有了有效的憑據,攻擊者以授權使用者的身份操作,入侵後檢測變得更加困難。

從防禦的角度來看,硬編碼機密是一種獨特的漏洞型別。原始碼是一種非常容易洩露的資產,因為它本質上是為了頻繁地克隆和分佈在多臺機器上。事實上,原始碼中的秘密與它一起傳播。但更成問題的是,程式碼也有“記憶”。

今天,任何程式碼儲存庫都是透過版本控制系統(VCS)管理的,通常是Git,它保留了對程式碼庫中檔案所做的所有更改的時間表,有時是幾十年。問題在於,仍然有效的機密可以隱藏在該時間線上的任何位置。然而,大多數安全掃描僅限於檢查應用程式原始碼的當前、已部署或即將部署的狀態。換句話說,當涉及到隱藏在舊提交甚至從未部署的分支中的秘密時,傳統工具存在困難。

將安全性納入開發週期:DevSecOps

軟體供應鏈有許多傳統安全方法無法解決的灰色地帶。組織已經意識到需要將安全性引入到開發生命週期中。DevSecOps將安全性插入到DevOps實踐中。

DevOps將流程和技術結合在一起,使開發人員能夠更有效地與運營團隊合作。對於安全經理來說,挑戰在於保持DevOps的速度,同時加強改進的安全態勢:包括開發週期最早階段(規劃、設計)的安全規則,傳播最佳實踐,並透過更早地捕獲更多“良性”缺陷來縮短平均修復時間(MTTR)。

依靠現代工具是一種途徑。開發人員採用與他們的工作環境完美整合的直觀工具:命令列、API、IDE(整合開發環境)等。

自動化測試工具也是建立有效安全系統的關鍵。在開發週期中使用 靜態應用安全測試、動態應用安全測試等工具,可以有效保障應用程式的安全性。

共擔責任和左移

新的安全模型意味著在專案涉及的所有成員之間分擔責任,安全問題不再只是安全團隊的工作。

“左移”提出在更早時期開始關注安全,以便更早地進行安全操作並節省檢測和修復費用。在過去,人們更關注對於完成的應用程式安全性的檢測,現如今,組織更多的是在整個週期中完成安全測試,並及時進行安全修復。


來源:

https://thehackernews.com/2022/10/how-software-supply-chain-security-is.html


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2921287/,如需轉載,請註明出處,否則將追究法律責任。

相關文章