軟體供應鏈攻擊擴大至CI/CD,企業需防建置流程遭操弄

王珮瑤約 2 分鐘閱讀

站內可閱讀至 (台北時間)

軟體供應鏈攻擊擴大至CI/CD,企業需防建置流程遭操弄(新聞配圖)
配圖來源:iThome原站文章
本站保存版本
字級

Google旗下資安團隊Mandiant近日針對軟體開發與CI/CD環境提出防護建議。根據他們近期觀察到的攻擊活動,軟體供應鏈攻擊已不只涉及遭污染的開源套件,攻擊者也鎖定企業信任的安全掃描工具、公用函式庫及AI程式開發工具,開發人員工作站與CI/CD基礎架構同樣成為攻擊目標。

CI/CD環境之所以成為攻擊目標,是因為通常具有存取程式碼儲存庫、套件儲存庫及雲端環境的權限,一旦遭到入侵,攻擊者可能進一步介入軟體建置及發布流程。Mandiant指出,攻擊者已採取多種手法操弄軟體建置流程,包括污染GitHub Actions快取、擷取OpenID Connect(OIDC)權杖,以及操弄可變更的Action標籤,甚至可能藉此發布仍帶有合法密碼學來源證明(provenance)的遭污染套件。因此,即使軟體成品具有來源證明,企業仍需確認成品對應的來源程式碼版本及建置流程。

為避免單一建置環境遭到入侵後波及其他建置工作,企業可為每項建置工作配置獨立runner,並在工作完成後立即銷毀執行環境。企業也可減少使用長效憑證,改由CI/CD工作流程透過OIDC取得短效權杖,並限制runner只能連線至事先核准的套件儲存庫及程式碼儲存庫API,降低runner遭控制後的影響。第三方GitHub Actions則應固定至完整commit hash,避免攻擊者在標籤名稱不變的情況下,替換實際使用的程式碼。

即使建置流程遭到污染,企業仍可在軟體進入正式環境前阻擋有問題的成品。企業可在部署前檢查容器的密碼學簽章、執行權限及來源,例如阻擋缺乏有效簽章、要求非必要的root權限,或來自不受信任公開容器儲存庫。企業還可在建置時,產生軟體物料清單(SBOM)並加上數位簽章,再將SBOM與對應軟體成品的摘要值(digest)綁定,避免SBOM遭到竄改,也能確認特定軟體成品包含哪些元件。