本部落格涵蓋了我們網路研討會「Supply Chain :攻擊者利用的薄弱環節」的關鍵要點。點此觀看完整網路研討會。
隨著組織日益依賴開源元件、外部套件及自動化開發流程Software 風險已急遽攀升。那些曾被視為無害的細微漏洞,如今將引發實質後果——尤其當依賴關係日益深層且難以驗證時,此現象更顯顯著。
此轉變的鮮明例證,便是近期透過遭入侵套件傳播的npmShai-Hulud蠕蟲及其2.0版本,短短數小時內便影響數千個下游專案。這類事件清楚揭示:供應鏈弱點不再僅限局部影響,而是會如多米諾骨牌般蔓延至整個生態系統。
當今軟體有70%至90%由開源元件構成,其中多數開發者從未直接接觸過這些元件,因此細微問題可能迅速演變成重大風險。然而僅有15%的企業對自身管理開源風險的能力感到有信心。隨著惡意人工智慧攻擊預計將在2025年前有70%鎖定供應鏈,識別軟體供應鏈中的薄弱環節已成為當務之急。
對工程與安全團隊而言,其效益顯而易見:掌握這些薄弱環節的位置,意味著能減少突發狀況、加快應變速度,並大幅降低成為下一個供應鏈頭條新聞的風險。
軟體物料清單不再是可選項目
為管理軟體供應鏈風險並應對漏洞,組織需要清晰掌握其軟體堆疊的組成內容。實現此透明度的基礎在於軟體物料清單(SBOM),它能建立必要的透明度以理解元件風險,並在問題發生時迅速採取行動。
軟體物料清單(SBOM)被定義為應用程式所使用之所有封閉式與開放原始碼元件、授權條款及依賴項目的詳細清單。此清單提供實現透明度、合規性與風險管理所需的關鍵數據。
今日看似無懈可擊或無害的事物,明日便可能變得脆弱或惡意。由於漏洞會持續被發現——包括舊版本中的漏洞——因此需要進行持續監控與清點。
George Prichici產品副總裁,OPSWAT
軟體物料清單 vs. 軟體成分分析
一項關鍵差異在於Software (SBOM)與Software (SCA)的區別。SBOM是組件清單或目錄,而SCA則評估這些組件是否存在漏洞、過時或風險。兩者相輔相成,為組織提供所需洞察力,使其能做出明智決策、更迅速應對安全問題,並強化整體風險管理。
| 類別 | SBOM | SCA |
|---|---|---|
目的 | 組件清單 |
識別元件中的弱點
|
風險保障 | 合規性與可見性 | 安全風險、CVE漏洞、執行時風險 |
時機 | 部署前/採購前 | 持續性/建置與執行階段 |
全球性趨勢——部分源於SolarWinds等攻擊事件——現已要求軟體物料清單(SBOM),相關監管推動來自美國網路安全與基礎設施安全局(CISA)、國家安全局(NSA)、國家標準與技術研究院(NIST)等機構,以及歐盟與北約盟國。這使得SBOM透明度不再是可選項,而是對任何軟體供應商的基本要求。
攻擊者利用的七大關鍵弱點
現代發展的高速節奏,加上對第三方及開源代碼的高度依賴,已導致嚴重的安全漏洞。威脅行為者正利用七大主要弱點:
1. 開源與依賴風險
當開發人員優先考量速度時,常會直接採用大型開源函式庫而未進行完整程式碼審查。單一元件可能引入額外的傳遞性依賴項。若僅監控頂層元件,便可能忽略惡意程式碼已注入這些隱藏的傳遞性依賴項之中。
這種模式在開源生態系統中持續上演。單一遭入侵的套件可能透過依賴鏈層層擴散,在無人察覺前累積數百萬次下載。近期涉及加密惡意軟體的npm供應鏈攻擊事件,正是此類攻擊在現實中運作的鮮明例證。
最佳做法:
- 掃描所有開源套件及其完整的依賴鏈,在漏洞、過時元件或隱藏惡意軟體進入您的程式碼庫之前,及早識別並排除這些潛在風險。
- 持續監控依賴項隨時間的變化,因為安全的元件可能因新出現的 CVE 或惡意更新而轉為高風險。
- 使用可信的註冊表並驗證套件完整性,以確保您下載的套件未遭篡改。
- 實施標記或封鎖高風險授權的政策,避免不相容或具病毒式傳播性質的授權條款潛入您的建置程序。
- 延遲採用新發布的套件,直至其通過審查,以降低將未經審核或惡意版本引入您環境的風險。
2. 許可風險
授權問題如今對工程領域的影響,與其對法律領域的影響同樣深遠。病毒式授權條款(如GPL)可能迫使您開發的應用程式必須採用相同授權條款發布,這將導致貴公司可能喪失自身智慧財產權(IP)。由於授權條款可能隨時變更——即使是先前符合規範的舊版本亦然——因此必須持續進行監控。
最佳做法:
- 使用自動化授權檢測工具,在開發初期就標記高風險或不相容的授權條款。關於此舉重要性的深入解析,請參閱此處說明:《授權檢測在開源安全中的關鍵作用》。
- 持續追蹤授權變更,及時捕捉可能影響合規性或智慧財產權暴露的變動。
- 在元件進入程式碼庫前,先阻擋或審查那些採用限制性或病毒式授權的元件。
- 維持所有使用中授權的清晰清單,以簡化稽核與風險評估流程。
3. 軟體物料清單數據缺口或遺漏的軟體物料清單
儘管法規要求共享軟體組件清單(SBOM),但僅提供高層級清單並不足夠。為實現有效的風險緩解與預防,必須包含詳細數據點,例如作者、貢獻者、發布頻率及維護狀態等資訊。
最佳做法:
- 透過重新掃描元件來強化元件清單報告,使其包含更新的授權資料、漏洞狀態及其他關鍵元數據。詳細操作範例請參閱此處的CycloneDX 元件清單報告驗證與強化說明。
- 運用自動化工具驗證並豐富軟體物料清單(SBOM),以確保資訊完整、準確且可操作。
- 要求供應商提供完整的軟體物料清單深度,包括傳遞性依賴項及所有相關元數據。
- 隨著元件演進或新漏洞浮現,持續更新並監控軟體物料清單庫存。
4. 第三方供應商
您所依賴的每個供應商都成為供應鏈的一環。若他們運送過時或遭篡改的元件,您將承擔相應風險。完整的元件清單(包含遞歸依賴關係)能讓您即時掌握風險暴露狀況,而非在事故發生時才追查供應商。近期發表的《管理Supply Chain依賴性漏洞》一文,深入探討團隊如何強化此流程環節。
5. 人工智慧Supply Chain
由於人工智慧的快速普及,團隊常繞過常規限制,使此成為主要攻擊途徑。攻擊者將惡意程式碼植入機器學習模型、PICO檔案或開源函式庫。在Pytorch等環境中,拼寫劫持現象普遍存在——使用者可能誤拉錯誤函式庫,進而傳遞惡意軟體,最終在工程師的機器上實現完整的遠端程式碼執行。
6.Container
容器掃描技術必須超越僅關注漏洞的層面。現代安全防護還需掃描惡意軟體、加密貨幣挖礦程式,以及公開容器映像中發布的快速傳播威脅。近期對 Container CVE-2024-0132漏洞的分析,正揭示了這類問題如何輕易被忽略。
7. 機密與憑證外洩
當團隊快速推進時,常會將存取金鑰或憑證硬編碼於原始碼中進行測試。即使後續被覆寫,這些機密資訊往往仍殘留在 Git 歷史紀錄中,攻擊者可透過掃描輕易發現。揭露隱藏威脅:如何偵測程式碼中的機密資訊,將說明此類洩露如何發生,以及團隊可採取哪些措施加以防範。
通往Secure Software Supply Chain之路
為應對這些威脅,安全措施必須採用「左移」思維,意即在開發週期更早階段實施與發布前相同的政策。其目標是將安全機制作為覆蓋層整合至現有的持續整合/持續交付(CI/CD)管道中。此自動化方法能在必要時確保政策執行,同時不影響工程生產力。
全面的解決方案必須提供:
- 自動化供應鏈掃描貫穿整個管道
- 對原始碼、容器及供應商提供的檔案的可視性
- 超越CVE的分析,用以偵測惡意軟體、授權問題及外洩的機密資訊
OPSWAT 如何OPSWAT 填補這些漏洞
- Multiscanning 管道早期階段偵測惡意軟體
- 整合式 CI/CD 安全門控,適用於 GitHub、GitLab、TeamCity、Jenkins 等平台
- 自動化軟體物料清單生成與漏洞映射
- 文物簽署與完整性驗證
- 機密掃描與憑證衛生規範執行
立即與我們的專家洽談,為您的技術堆疊尋求量身打造的解決方案。


