什麼是供應鏈攻擊

不直接攻擊目標組織,而是攻擊該組織所使用的軟體、元件、委外廠商等供應流程(供應鏈)中的薄弱之處,間接入侵的攻擊。例如在正規的更新程式中混入惡意程式碼、劫持開源套件或發布名稱相似的惡意套件,以及經由IT委外廠商入侵等。在2020年發現的SolarWinds事件中,損害透過附有正規簽章的更新擴散到許多組織。在硬體方面,於製造過程中加入惡意電路的硬體木馬也屬於這類威脅。

日文名稱: サプライチェーン攻撃

「供應鏈攻擊」出現在1領域的2道練習題中(網路攻擊與防禦實務等)。

這個名詞所屬的領域: 網路攻擊與防禦實務

練習供應鏈攻擊的題目

某企業在公司內的套件庫(私有登錄庫)中放置公司專用的函式庫 acme-utils 使用。攻擊者在公開的套件庫中,以相同名稱 acme-utils 註冊了版本號更大的套件,結果發現依建置設定的不同,公司內的建置環境可能會取用攻擊者的套件。針對這種「相依性混淆(dependency confusion)」,最適當的對策是下列何者?

  1. A讓公司專用函式庫的版本號維持較小,以便與公開套件庫中的套件區分
  2. B把公司專用的套件放在組織管理的命名空間,設定該命名空間只從公司內的套件庫取得,並以鎖定檔固定版本與雜湊值
  3. C公開套件庫的套件經過審查、值得信任,因此不需要設定從哪個套件庫取得
查看答案與解析

正確答案:B. 把公司專用的套件放在組織管理的命名空間,設定該命名空間只從公司內的套件庫取得,並以鎖定檔固定版本與雜湊值

相依性混淆是軟體供應鏈攻擊的一種。有些套件管理工具會參照多個套件庫,依設定在名稱相同時選擇版本號較大者,攻擊者便利用這一點,讓建置取用與公司內名稱相同的惡意套件。對策是讓公司內的套件使用組織管理的命名空間(scope),只把該命名空間綁定到公司內的套件庫,明確指定從哪個套件庫取得。此外,以鎖定檔固定相依套件的版本與雜湊值,就能防止在不知不覺中被替換成其他東西。事先在公開套件庫註冊組織的命名空間,也有助於防止冒用。

在2020年12月發現的SolarWinds事件中,攻擊者入侵了IT管理軟體的建置環境,在正規的更新程式中混入了惡意程式碼。這些更新以附有開發商正規程式碼簽章的狀態派送。從此事件得到的教訓,最適當的是下列何者?

  1. A程式碼簽章正確的更新程式不會含有惡意程式碼,因此使用者確認簽章就足夠了
  2. B更新程式很危險,因此包含資安修補在內,完全不更新軟體
  3. C程式碼簽章只顯示由誰簽署以及簽署後是否遭竄改,因此開發商要保護建置環境,使用者也要監控所信任軟體的行為
查看答案與解析

正確答案:C. 程式碼簽章只顯示由誰簽署以及簽署後是否遭竄改,因此開發商要保護建置環境,使用者也要監控所信任軟體的行為

程式碼簽章是確認簽署者是誰,以及簽署後內容沒有被改變的機制,無法辨識在簽署前混入的惡意程式碼。在軟體供應鏈攻擊的代表案例SolarWinds事件中,惡意程式碼是在建置過程中被加入的,因此以附有簽章的正規更新送到許多組織。在2024年3月發現的xz-utils後門中,也是花了很長時間取得開發者信任的人物,把惡意程式碼混入了發布用的檔案。開發商要隔離並保護建置環境、記錄並驗證從原始碼到建置的來源,使用者即使是信任的軟體,也要以EDR等監控可疑的通訊與行為,這很重要。

解析中的「供應鏈攻擊」

出現「供應鏈攻擊」的題目(2題)

  1. 某企業在公司內的套件庫(私有登錄庫)中放置公司專用的函式庫 acme-utils 使用。攻擊者在公開的套件庫中,以相同名稱 acme-utils 註冊了版本號更大的套件,結果發現依建置設定的不同,公司內的建置環境可能會取用攻擊者的套件。針對這種「相依性混淆(dependency confusion)」,最適當的對策是下列何者?
  2. 在2020年12月發現的SolarWinds事件中,攻擊者入侵了IT管理軟體的建置環境,在正規的更新程式中混入了惡意程式碼。這些更新以附有開發商正規程式碼簽章的狀態派送。從此事件得到的教訓,最適當的是下列何者?

相關名詞

端點偵測與回應(EDR) 入侵指標(IoC) 入侵偵測系統(IDS) 軟體物料清單(SBOM) 資安事件管理(SIEM) 資安事件應變 資安監控中心 零信任 滲透測試 網頁應用程式防火牆(WAF)

前往名詞解釋列表