什麼是供應鏈攻擊?

在供應鏈攻擊期間,攻擊者利用第三方相依性來滲入目標的系統或網路。

學習目標

閱讀本文後,您將能夠:

  • 定義「供應鏈攻擊」
  • 說明如何進行供應鏈攻擊
  • 瞭解如何阻止供應鏈攻擊

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是供應鏈攻擊?

供應鏈攻擊使用第三方工具或服務(統稱為「供應鏈」)來滲透目標系統或網路。這些攻擊有時被稱為「價值鏈攻擊」或「第三方攻擊」。

從本質上講,供應鏈攻擊是間接的:它們針對其最終目標所依賴(通常是在不知不覺中)的第三方相依性。相依性是指來自第三方提供者的用於增強應用程式功能的程式或程式碼片段(通常用 JavaScript 編寫)。例如,電子商務零售商使用的相依性可能有助於執行客戶協助聊天機器人或擷取有關網站訪客活動的資訊。在目標用於維護其應用程式和網路的各種軟體、應用程式和服務中,可以找到成百上千個這樣的相依性。

在供應鏈攻擊中,攻擊者可能會針對網路安全廠商並將惡意代碼(或「惡意程式碼」)新增到他們的軟體中,然後作為系統更新的一部分將其傳送給該廠商的用戶端。當用戶端下載更新並相信它來自受信任的來源時,惡意程式碼會授予攻擊者存取這些用戶端系統和資訊的權限。(這基本上就是 2020 年針對 18,000 名客戶的 SolarWinds 攻擊的方式。)

供應鏈攻擊是如何進行的?

在實施供應鏈攻擊之前,攻擊者需要獲得對他們計劃利用的第三方系統、應用程式或工具的存取權限(也稱為「上游」攻擊)。這可以透過使用被盜認證、針對具有組織系統臨時存取權限的廠商或利用未知軟體漏洞等方法來完成。

在確定獲取了對這種第三方相依性的存取權限後,「下游」攻擊(通常透過他們的瀏覽器或裝置到達最終目標的攻擊)可以透過多種方式進行。

回到前面的範例,當攻擊者將惡意代碼新增到網路安全廠商的軟體中時,就會發生「上游」攻擊。然後,當惡意程式碼透過例行軟體更新在終端使用者裝置上執行時,就會執行「下游」攻擊。

有哪些常見的供應鏈攻擊類型?

供應鏈攻擊可能針對由第三方管理的硬體、軟體、應用程式或裝置。一些常見的攻擊類型包括:

基於瀏覽器的攻擊在終端使用者瀏覽器上執行惡意代碼。攻擊者可能針對 JavaScript 庫或瀏覽器擴充功能,這些程式會在使用者裝置上自動執行代碼。另外,他們也可能竊取儲存在瀏覽器中的敏感使用者資訊(透過 cookie、工作階段儲存體等)。

軟體攻擊將惡意程式碼隱藏在軟體更新中。就像在 SolarWinds 攻擊中一樣,使用者的系統可能會自動下載這些更新,無意中允許攻擊者感染他們的裝置並執行進一步的動作。

開放原始碼攻擊利用開放原始碼中的漏洞。開放原始碼封裝可以協助組織加速應用程式和軟體開發,但它們也可能允許攻擊者篡改已知漏洞或隱藏惡意程式碼,然後用於滲透使用者的系統或裝置。

JavaScript 攻擊利用 JavaScript 代碼中的現有漏洞,或在網頁中嵌入惡意指令碼,在使用者載入時自動執行。

Magecart 攻擊使用惡意的 JavaScript 代碼從網站結帳表單中盜取信用卡資訊,這些表格通常由第三方管理。這也被稱為「表單劫持」。

水坑攻擊可識別大量使用者常用的網站(如網站建立器或政府網站)。攻擊者可能使用一些策略來識別網站內的安全性漏洞,然後利用這些漏洞向毫無戒心的使用者提供惡意軟體。

加密劫持讓攻擊者能夠竊取挖掘加密貨幣所需的計算資源。他們可以透過多種方式做到這一點:將惡意代碼或廣告注入網站,將加密指令碼嵌入開放原始碼存放庫,或使用網路釣魚策略向毫無戒心的使用者提供受惡意程式碼感染的連結。

如何抵禦供應鏈攻擊

任何利用或篡改第三方軟體、硬體或應用程式的攻擊都被視為供應鏈攻擊。組織通常與各種外部廠商合作,每個廠商都可能在其工具和服務中使用數十個相依性。

出於這個原因,組織可能很難(甚至可以說不可能)完全避免供應鏈攻擊。不過,組織可以使用幾種策略來先發制人地防禦常見的攻擊方法:

  • 執行第三方風險評估:這可能包括在部署之前測試第三方軟體、要求廠商遵守特定的安全性原則、實作內容安全性原則 (CSP) 以控制瀏覽器能夠執行哪些資源,或使用子資源完整性 (SRI) 檢查 JavaScript 是否有可疑內容。
  • 實作 Zero TrustZero Trust 可確保每個使用者(從員工到承包商和廠商)都受到組織網路內的持續驗證和監控。驗證使用者和裝置的身分和權限有助於確保攻擊者無法僅僅透過竊取合法的使用者認證來滲透組織(或者在他們確實破壞現有安全措施後,使其無法在網路內橫向移動)。
  • 使用惡意軟體預防:防毒軟體等惡意程式碼預防工具會自動掃描裝置中的惡意代碼,以防止其執行。
  • 採用瀏覽器隔離:瀏覽器隔離工具在網頁代碼在終端使用者裝置上執行之前將其隔離(或將其放入沙箱),這樣,任何惡意程式碼都會在其到達預期目標之前被偵測到並被緩解。
  • 偵測影子 IT:影子 IT」是指員工未經其組織 IT 部門核准而使用的應用程式和服務。這些未經批准的工具可能包含 IT 部門無法修補的漏洞,因為部門人員並不知道它們的使用。使用具有影子 IT 偵測功能的雲端存取安全性代理程式 (CASB) 可以協助組織更好地分類其員工正在使用的工具,並分析它們是否存在任何安全性漏洞。
  • 啟用修補和漏洞偵測:使用第三方工具的組織有責任確保這些工具沒有安全性漏洞。雖然可能無法識別和修補每個漏洞,但組織仍應盡職盡責,以發現和披露軟體、應用程式和其他第三方資源中的已知漏洞。
  • 防止 zero-day 漏洞利用*:供應鏈攻擊通常利用尚未修補的 zero-day 漏洞。雖然預測 zero-day 威脅沒有萬無一失的方法,但瀏覽器隔離工具和防火牆可以幫助在惡意代碼執行之前隔離和封鎖它。

*對於大多數組織來說,阻止 zero-day 漏洞利用仍然是一項特別具有挑戰性的任務。2021 年,在 Log4j 中發現了一個 zero-day 漏洞,Log4j 是一個幫助開發人員在 Java 應用程式中記錄資料的開放原始碼軟體庫。這使得攻擊者可以感染和控制數億台裝置,然後他們從中進行進一步的攻擊,包括勒索軟體攻擊和非法加密貨幣挖礦。閱讀有關 Cloudflare 如何防禦 Log4j 漏洞的更多資訊。

Cloudflare 如何阻止供應鏈攻擊?

Cloudflare Zero Trust 透過封鎖對潛在風險網站的存取、防止惡意上傳和下載以及稽核組織內的 SaaS 應用程式(包括已核准和未核准),來幫助阻止供應鏈攻擊。

Cloudflare Zaraz 是一款第三方工具管理器,可在雲端載入應用程式,因此惡意代碼無法在終端使用者瀏覽器上執行。Zaraz 讓使用者能夠查看和控制在其網站上執行的第三方指令碼,從而使他們能夠隔離和阻止危險行為。