改善軟體供應鏈的資安
軟體供應鏈攻擊之所以暴增 600% 的原因有幾點:首先,想要找到並攻擊軟體供應鏈的資安漏洞算是相當容易。其次,只要能入侵供應鏈中的某一個應用程式或開放原始碼軟體,就能影響整體供應鏈。
根據一份 Trend Micro Research 全球調查指出,有 52% 的企業機構其供應鏈夥伴都曾遭到勒索病毒襲擊。針對攻擊數量的暴增,美國總統拜登發布了一項行政命令來改善軟體供應鏈的資安。不僅如此,根據Venafi 的調查指出,85% 的受訪者表示他們「曾經被董事會或執行長 (CEO) 明確要求改善其軟體建構及派送環境的資安。」
為了協助資安長 (CISO) 及資安團隊管理並防範供應鏈風險,以下說明一些常見的攻擊管道,以及 CISA 有關如何改善供應鏈網路資安的策略性實務原則。
軟體供應鏈簡介
為了追求軟體開發的靈活性,許多企業紛紛移轉到雲端原生開發工具並採用 DevOps 流程。然而,開發速度的提升卻也衍生出資安問題,很明顯地讓軟體供應鏈的防護變得更加複雜。
為了將軟體供應鏈視覺化,讓我們來看一下 DevOps 的 CI/CD 流程。其軟體開發生命週期強調的是藉由持續的回饋以及軟體生命週期所有元素之間的環環相扣來達到安全性,而且不拖慢開發人員的建構速度。在這張圖中,您可以看到 DevOps 完整的生命週期以及它與各個推動其流程前進的外部元件之間的連結:
軟體供應鏈攻擊
這就是問題所在:任何一個第三方元件和開發工具都可能遭到網路駭客的攻擊,進而讓駭客進入更多其他系統並存取機敏資料。
軟體供應鏈大致上包括:
資料分發服務 (Data Distribution Services,簡稱 DDS)
DDS 是一種機器對機器的通訊技術,用於即時與內嵌式系統的發布/訂閱中介軟體應用程式。DDS 是由 Object Management Group (OMG) 負責維護,DDS 扮演著相當關鍵的角色,負責建立穩定可靠的通訊層,好讓感測器、控制器及作動器 (actuator) 能彼此溝通。DDS 位於供應鏈的源頭,很容易讓人忘了它的存在,因而成了駭客攻擊的目標。
2022 年 1 月,Trend Micro Research、TXOne Networks、趨勢科技 Zero Day Intitiative™ (ZDI) 與 ADLINK Labs 及 Alias Robotics 共同發表了一份報告,列舉了當今 6 套最常見 DDS 實作中的 13 個新漏洞。他們發現這些新漏洞影響的可能不單只有 DDS 本身而已。
DDS 的漏洞可分為網路與組態設定兩種類型。網路的漏洞可用來開發一些惡意攻擊技巧,如:阻斷服務 (DoS) 攻擊、假冒回報訊息、自動化蒐集。組態設定的漏洞則可用來攻擊 DDS 系統開發人員與整合商。
開放原始碼元件
開發人員經常會從 GitHub 這類公開分享的儲存庫複製其日常所需的原始程式碼。當別人已經寫好一段程式碼來處理欄位間的訊息傳送時,為何還要浪費時間撰寫相同的程式碼?就是因為很容易使用,所以今日有 90% 的應用程式都使用到開放原始碼。
然而,許多企業都無法明確掌握開放原始碼之間的相依性。開放原始碼不受監督的特性,很容易造成像熱門開放原始碼軟體 Apache Log4j 所帶來的嚴重攻擊。網路犯罪集團利用 Log4j 事件記錄軟體框架的一個重大漏洞將惡意程式碼注入含有漏洞的系統。根據美國 FDA 的估計,Log4j 大約影響了 30 億台以上使用 Java 的醫療裝置。
系統管理工具
版本控管系統可用來管理應用程式實際的發布與部署流程。應用程式一旦上線之後,接著就由第三方和開放原始碼環境來負責管理。當系統在執行時,作業自動化工具會負責維持日常營運的服務品質、啟動和關閉排程活動,以及同步更新資料。企業有一整套系統管理工具來確保營運順暢與資源最佳化。
Kaseya VSA 這套熱門的遠端管理軟體在 2021 年初遭到 REvil 勒索病毒襲擊。駭客利用其更新機制的一個漏洞來將惡意檔案派送至該軟體所管理的主機。這起大規模攻擊所造成的傷害遠遠超出了虛擬世界的範圍,造成瑞典一家連鎖超市 Coop 被迫關閉將近 800 家店面 一個禮拜。
購買的應用程式
開發人員還會購買一些軟體產品來執行資料庫更新、網頁範本建立與測試等工作。這些軟體產品的資安漏洞也可能遭到攻擊,例如 Ripple20 就是 Treck, Inc. 旗下一套使用廣泛的底層 TCP/IP 軟體函式庫當中的一系列零時差漏洞。
Ripple 20 的衝擊效應在經過供應鏈之後又更加放大,這證明了即使是一個小小的元件漏洞,也可能因為漣漪效應而衝擊各種產業、應用程式與企業,包括《財星 500 大》(Fortune 500) 跨國企業。根據 JSOF 報告指出,由於該軟體函式庫流通廣泛,因此有數億台裝置受到影響。
改善軟體供應鏈的資安六要素
很顯然地,軟體供應鏈有眾多可攻擊的點,這使得軟體供應鏈的防護變得更為複雜。為了協助企業降低供應鏈的資安風險,CISA 建議可採取以下 6 個關鍵步驟:
- 發掘:找出須參與的人員。
- 管理:根據產業標準與最佳實務原則 (如 NIST 發布的原則) 來制定供應鏈資安政策與程序。
- 評估:了解您所採購的硬體、軟體與服務。
- 掌握:詳細列出完整供應鏈來掌握您採購了哪些元件。
- 檢驗:決定您的機構該如何評估供應商的資安文化。
- 評量:設定時程與系統,根據指導原則來評量供應鏈的資安狀況。
除此之外,也可考慮添購一套軟體資產管理工具來掌握到底系統上安裝了些什麼,並且將「軟體物料清單」(SBOM) 的管理與產生流程自動化。
最後,請尋找一家能提供 全方位網路資安平台並支援廣泛第三方整合的廠商,確保您從單一儀表板就能掌握整個供應鏈狀況。某些資安功能 (例如軟體組成分析 [SCA]、自動化、持續監控、深度的資料蒐集與交叉關聯) 也同樣重要,如此才能更快偵測、回應威脅,並矯正受影響的供應鏈環節。
如需有關資安風險管理與防範的更多資訊,請參閱以下文章: