即便廚房環境打掃得一塵不染,只要向外採購的調味料被不肖上游廠商摻入了致癌的物質,端上桌料理瞬間就會淪為毒藥
在現代軟體工程中,幾乎沒有任何團隊會從零開始純手工打造每一行程式碼。為了提高開發效率並縮短上市時間,系統高度依賴商用現成軟體(COTS)、開源軟體(OSS)以及各類第三方元件與函式庫(TPC)。這就像餐廳直接向外部供應商採購調味醬汁、半成品肉排與高湯塊。當你把別人的程式碼引入自己的系統時,你也全盤繼承了對方的漏洞、缺陷與惡意後門。
駭客透過網路釣魚或密碼外洩,成功盜取了一名開源軟體維護者 (例如在 npm、PyPI 或 RubyGems 等公開套件庫上的人) 的帳號權限。接著,駭客用這個人的身分,發布了一個夾帶惡意木馬的「全新版本」
去公開的 npm 套件庫上,註冊一個名稱「一模一樣」、裡面包著病毒的假套件,並且故意給它標上一個高的版本號
駭客就會去註冊一個名稱「拼字只差一兩個英文字母」、看起來幾乎一模一樣的假套件
如果駭客駭進了你們的 Jenkins 伺服器或 GitHub Actions,就可以趁著已經做完所有的原始碼安全審查、正準備把程式碼打包成執行檔的那個瞬間,把惡意後門「注射 (inject)」進最終的二進制檔案裡
NIST SP 800-161 Rev. 1
Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations
https://csrc.nist.gov/pubs/sp/800/161/r1/upd1/final
NIST發布新版《網路安全供應鏈風險管理指南》,聚焦18個C-SCRM安全控制面向
https://www.ithome.com.tw/tech/150923