自從2020年發生震驚全世界的Solarwinds軟體供應鏈攻擊,衝擊美國多個公務機關,以及FireEye、微軟、英特爾、思科、Deloitte等民間公司,陸續又爆發多起這類網路攻擊,使得大家無法漠視危機存在。
到了2022年,與此有關的資安事故,各界因應與強化安全行動也越來越多。
像是,惡意軟體套件上傳到熱門軟體儲存庫層出不窮,攻擊者通常會利用相依性混淆,以及類似而錯誤的名稱(typosquatting),使得開發者下載使用到藏有惡意程式的套件,目的可能是為了挖取加密貨幣或是植入惡意程式。
2022年有些政府機關與企業也傳出應用程式開發系統程式碼外洩,駭客得以闖入程式碼儲存庫竊取或竄改,原因是負責人員不當操作或設定關係,導致這些敏感、有高權限的身分暴露在外,後續攻擊者獲取此類機密之後,就能侵入軟體開發流程,影響完整性與安全性。
美國、歐盟、臺灣都開始行動,積極強化軟體供應鏈安全
在全面抵禦軟體供應鏈攻擊的能力提升上,美國總統拜登前年5月頒布改善國家網路安全行政命令EO 14028,強化軟體供應鏈安全名列十大重點,為實現承諾,2022年該國政府陸續推動事宜。
例如,2月美國國家標準暨技術研究院(NIST)發布軟體開發安全框架(SSDF),而在軟體保護系列實務項目,關於每個軟體發行的保存與保護,軟體物料清單(SBOM)正是一種作法;在生產具有完善安全性軟體系列的實務項目,關於重複用既有安全性軟體而非複製功能的實作範例,SBOM可作為獲取軟體來源資訊的方式。
8月底,美國網路安全暨基礎設施安全局(CISA)、國家安全局(NSA)、國家情報總監辦公室(ODNI)公布防護軟體供應鏈開發者指南,主要是由持久安全性框架(ESF)軟體供應鏈工作小組所發行。
9月中,美國行政管理和預算局發布編號為M-22-18備忘錄,要求聯邦機構只能使用有特定資格的廠商提供的軟體,這些廠商必須證明自身遵循NIST訂定的政府安全軟體開發實務;同時,聯邦機構也需要從業者取得軟體物料清單,以便了解遵循安全軟體開發實務的程度。
值得注意的是,2022年5月,美國、澳洲、印度、日本發布聯合聲明,當中提到網路安全的合作,他們承諾將會改善國家關鍵基礎設施的防禦,採用的方式,包括:共享威脅資訊、識別與評估潛在的數位產品與服務供應鏈威脅,政府採購遵循軟體安全標準,以及運用四國的集體購買力,改善廣泛的軟體開發生態系統,讓所有使用者都能獲益。
另一個全球重要的經濟及政治合作體:歐盟,在2022年9月提出的網路韌性法案(Cyber Resilience Act),這是確保產品硬體與軟體更安全的法令要求,目的是補足歐洲網路安全規範,強化整個供應鏈的安全,在四大設定目標中,有一項與此有關,那就是:針對具有數位元件產品的安全內容,強化透明度。
而在臺灣,政府部門也開始重視軟體供應鏈安全。例如,金管會在2022年底公布的金融資安行動方案2.0,提到督導金融同業工會修訂資安相關規範時,供應鏈風險管理規範就是其中一項,而在增修訂的自律規範或參考指引的部分,也涵蓋到供應鏈風險管理的議題,執行期限為民國113年,目的是強化金融供應鏈體系及第三方服務提供者的風險評估與管理,納入核心資通系統的軟硬體供應商與維運商,以及第三方服務提供者、跨機構合作夥伴的風險評估、邊際防護及委外稽核等。
NPM、PyPI等熱門平臺被盯上,頻頻爆出惡意軟體套件事故
在2022年佔據最多資安新聞的軟體供應鏈相關報導,主要是被植入惡意程式的軟體開發應用套件,簡稱為惡意軟體套件(malicious package),根據資安廠商ReversingLabs的統計,從1月到10月為止,以JavaScript框架與程式庫Node.js預設採用的套件管理系統NPM為例,惡意套件總共上架了6,977個,當中有超過86%是在6月、7月、8月期間增添。
回顧2020年,惡意NPM套件僅75個,2022年成長將近100倍;Python第三方軟體套件儲存庫PyPI,在2021年上架的惡意套件多達3,685個,是2020年數量的180倍,到2022年減至1,493個,下降幅度高達6成,多數(85%)在1月發現,屬於概念驗證的軟體相依性混淆攻擊。
而在惡意套件儲存庫的分布上,NPM以66.7%居冠,數量超過1.2萬個;其次是PyPI占27.7%,數量超過5千個;剩下的5.6%是RubyGems,有1千個以上。
如果以更長時間比較,NPM與PyPI這兩大套件儲存庫,因軟體供應鏈關係,而出現資安弱點數量大幅成長的態勢。以2018年做為基準,2021年NPM與PyPI因承受軟體供應鏈攻擊的關係,漏洞數量分別增加至3.17倍(從164個提升至521個),以及5.14倍(從95個提升至489個),兩者合併計算,漏洞數量也增加至3.89倍。
除了不同攻擊者進行這類惡意活動,也有資安業者發現單一攻擊者橫跨多個軟體儲存庫平臺,發布大量惡意套件。例如,在2022年12月,Checkmarx與Illustria這兩家公司聯手公布調查結果,在NuGet、 NPM、PyPi這三個平臺,他們發現超過14.4萬個網路釣魚相關套件,都來自同一個攻擊者。
NPM與PyPI成為駭客上傳惡意套件目標
近年來,隨著Node.js與Python走紅,使得NPM與PyPI等兩大軟體套件平臺受到熱烈歡迎,也吸引駭客而上傳大量惡意軟體套件,以2022年10月為準,有將近7千個惡意套件送上NPM,相較於2020年僅有75個套件,短短兩年卻有90倍的龐大差距;而在PyPI的部分,在2022年10月出現近1,500個惡意套件上傳至此。圖片來源/ReversingLabs
程式碼外洩危及軟體供應鏈安全的事件頻傳
針對應用系統的攻擊,不論是發動DDoS攻擊這類正面衝突,或伺機尋找未修補的資安漏洞趁虛而入,已不足為奇,近年來,駭客也往軟體供應鏈上游進攻,鎖定程式原始碼的存放環境進行侵害,由於當中有時也牽涉重要系統的帳密與登入憑證(例如有些開發人員將這些資訊寫死在程式碼,或放在半公開區域),問題不只是程式碼被竊取、竄改,也嚴重危及IT重要服務安全。
以2022年而言,就發生多起重大的軟體供應鏈安全事故。以IT廠商而言,身分管理服務業者Okta,分別在3月、9月、12月面臨攻擊,而導致其用戶可能遭波及;程式碼共享與協作平臺GitHub,4月發生攻擊者竊取兩家第三方業者的OAuth憑證,而闖入數十個組織的儲存庫、下載存放在裡面的資料。
而以公部門與企業而言,也有不少案例。像是美國退伍軍人事務部9月發生程式碼外洩,原因據傳是承包商將該單位GitHub帳號的程式碼複製,再將其發布在設為開放模式的GitHub帳號而暴露,事後有6個陌生IP位址複製了這些程式碼,其中1個來自對美抱持敵意的國家。
10月日本豐田汽車公告自家網站外洩近30萬名車主資料,原因是程式碼不當上傳至GitHub公開儲存庫,而程式碼又不慎夾帶可存取資料庫伺服器的金鑰。
隨著此類事件不斷上演,為了避免再度發生,企業與組織除了推動安全軟體開發流程,對於開發環境與程式碼儲存庫的保全也必須格外重視。
熱門新聞
2024-11-05
2024-11-05
2024-11-07
2024-11-04
2024-11-02
2024-11-02