在供應鏈攻擊期間,攻擊者利用第三方相依性來滲入目標的系統或網路。
閱讀本文後,您將能夠:
複製文章連結
供應鏈攻擊使用第三方工具或服務(統稱為「供應鏈」)來滲透目標系統或網路。這些攻擊有時被稱為「價值鏈攻擊」或「第三方攻擊」。
從本質上講,供應鏈攻擊是間接的:它們針對其最終目標所依賴(通常是在不知不覺中)的第三方相依性。相依性是指來自第三方提供者的用於增強應用程式功能的程式或程式碼片段(通常用 JavaScript 編寫)。例如,電子商務零售商使用的相依性可能有助於執行客戶協助聊天機器人或擷取有關網站訪客活動的資訊。在目標用於維護其應用程式和網路的各種軟體、應用程式和服務中,可以找到成百上千個這樣的相依性。
在供應鏈攻擊中,攻擊者可能會針對網路安全廠商並將惡意代碼(或「惡意程式碼」)新增到他們的軟體中,然後作為系統更新的一部分將其傳送給該廠商的用戶端。當用戶端下載更新並相信它來自受信任的來源時,惡意程式碼會授予攻擊者存取這些用戶端系統和資訊的權限。(這基本上就是 2020 年針對 18,000 名客戶的 SolarWinds 攻擊的方式。)
在實施供應鏈攻擊之前,攻擊者需要獲得對他們計劃利用的第三方系統、應用程式或工具的存取權限(也稱為「上游」攻擊)。這可以透過使用被盜認證、針對具有組織系統臨時存取權限的廠商或利用未知軟體漏洞等方法來完成。
在確定獲取了對這種第三方相依性的存取權限後,「下游」攻擊(通常透過他們的瀏覽器或裝置到達最終目標的攻擊)可以透過多種方式進行。
回到前面的範例,當攻擊者將惡意代碼新增到網路安全廠商的軟體中時,就會發生「上游」攻擊。然後,當惡意程式碼透過例行軟體更新在終端使用者裝置上執行時,就會執行「下游」攻擊。
供應鏈攻擊可能針對由第三方管理的硬體、軟體、應用程式或裝置。一些常見的攻擊類型包括:
基於瀏覽器的攻擊在終端使用者瀏覽器上執行惡意代碼。攻擊者可能針對 JavaScript 庫或瀏覽器擴充功能,這些程式會在使用者裝置上自動執行代碼。另外,他們也可能竊取儲存在瀏覽器中的敏感使用者資訊(透過 cookie、工作階段儲存體等)。
軟體攻擊將惡意程式碼隱藏在軟體更新中。就像在 SolarWinds 攻擊中一樣,使用者的系統可能會自動下載這些更新,無意中允許攻擊者感染他們的裝置並執行進一步的動作。
開放原始碼攻擊利用開放原始碼中的漏洞。開放原始碼封裝可以協助組織加速應用程式和軟體開發,但它們也可能允許攻擊者篡改已知漏洞或隱藏惡意程式碼,然後用於滲透使用者的系統或裝置。
JavaScript 攻擊利用 JavaScript 代碼中的現有漏洞,或在網頁中嵌入惡意指令碼,在使用者載入時自動執行。
Magecart 攻擊使用惡意的 JavaScript 代碼從網站結帳表單中盜取信用卡資訊,這些表格通常由第三方管理。這也被稱為「表單劫持」。
水坑攻擊可識別大量使用者常用的網站(如網站建立器或政府網站)。攻擊者可能使用一些策略來識別網站內的安全性漏洞,然後利用這些漏洞向毫無戒心的使用者提供惡意軟體。
加密劫持讓攻擊者能夠竊取挖掘加密貨幣所需的計算資源。他們可以透過多種方式做到這一點:將惡意代碼或廣告注入網站,將加密指令碼嵌入開放原始碼存放庫,或使用網路釣魚策略向毫無戒心的使用者提供受惡意程式碼感染的連結。
任何利用或篡改第三方軟體、硬體或應用程式的攻擊都被視為供應鏈攻擊。組織通常與各種外部廠商合作,每個廠商都可能在其工具和服務中使用數十個相依性。
出於這個原因,組織可能很難(甚至可以說不可能)完全避免供應鏈攻擊。不過,組織可以使用幾種策略來先發制人地防禦常見的攻擊方法:
*對於大多數組織來說,阻止 zero-day 漏洞利用仍然是一項特別具有挑戰性的任務。2021 年,在 Log4j 中發現了一個 zero-day 漏洞,Log4j 是一個幫助開發人員在 Java 應用程式中記錄資料的開放原始碼軟體庫。這使得攻擊者可以感染和控制數億台裝置,然後他們從中進行進一步的攻擊,包括勒索軟體攻擊和非法加密貨幣挖礦。閱讀有關 Cloudflare 如何防禦 Log4j 漏洞的更多資訊。
Cloudflare Zero Trust 透過封鎖對潛在風險網站的存取、防止惡意上傳和下載以及稽核組織內的 SaaS 應用程式(包括已核准和未核准),來幫助阻止供應鏈攻擊。
Cloudflare Zaraz 是一款第三方工具管理器,可在雲端載入應用程式,因此惡意代碼無法在終端使用者瀏覽器上執行。Zaraz 讓使用者能夠查看和控制在其網站上執行的第三方指令碼,從而使他們能夠隔離和阻止危險行為。