開源軟件是指軟件源代碼可以被共享和公共使用的軟件。在人們享受開源軟件的便捷性和廣泛性同時,一旦發生開源軟件安全漏洞,其危害程度大、波及范圍廣,將造成較大安全隱患,從而使對開源軟件的治理成為一項重要內容。本文在分析開源軟件安全風險的基礎上,對國外開源軟件安全治理模式進行研究,對我國開源軟件安全治理工作存在的不足展開反思,基于以上研究,就如何更好地保障我國開源軟件安全應用提出相關工作建議。

一、引 言

長期以來,美國是全球開源生態的主導者和規則制定者,匯聚了全球開發者智慧,引領數字化新興技術產業發展。相較而言,我國開源生態建設起步晚、根基淺、生態弱,開源生態治理經驗與國際先進水平差距較大。近段時間以來,由于開源軟件在全球各行各業應用廣、影響大,如 Strusts2、Log4j2 等開源軟件漏洞的爆發引起各國高度關注。我國網絡運營者在享受開源軟件帶來便利的同時,也承擔著巨大的安全風險,針對開源軟件安全管理的問題應得到更多的重視。

二、開源軟件的安全風險分析

(一)開源軟件漏洞危害大,波及范圍廣,修復進度滯后

由于部分底層或通用型開源軟件的代碼被大量集成在業務系統和商業軟件產品中,一旦爆發漏洞,波及面及其廣泛。近年來,心臟滴血Open SSL 漏洞(2014 年)、支柱框架 Strusts2 漏洞(2017 年)、Linux SUDO 安全漏洞(2019 年)、Strusts2 S2 漏洞(2020 年)、Log4j2 漏洞(2021年)等重量級威脅逐年發生。以 Log4j2 為例,目前全球暴露在外網的,使用了 Log4j2 組件的資產高達 546 萬個,而我國擁有其中的 206 萬個,占比近四成。此外,由于大部分開源軟件免費使用的性質,開發者和維護方通常不承擔任何安全責任,當開源軟件存在安全漏洞時,通常會面臨“誰來修復漏洞”問題。根據國家計算機網絡應急技術處理協調中心發布的《2021 年開源軟件供應鏈安全風險研究報告》顯示,2020 年公布的開源漏洞中,編號為 CVE-2009-4067 的 Linux 內核的Auerswald Linux USB 驅動程序的緩沖區溢出漏洞由 POC 披露到 NVD 首次公開時間長達 11 年。開源軟件的使用者僅關注官方漏洞庫可能無法及時獲取漏洞信息,需綜合考慮更多渠道的漏洞數據。

(二)開源軟件“投毒”危害加劇

開源軟件生態“投毒”攻擊是指攻擊者利用軟件供應商之間的信任關系,在合法軟件的開發、傳播和升級過程中進行劫持或篡改,從而達到非法目的的攻擊類型。2022 年 3 月 8 日 GitHub 平臺發布公告,Node-ipc 開源軟件維護者為表達對俄羅斯在俄烏沖突中的行為的不滿,通過 NPM 軟件包進行“投毒”,嵌入在開源代碼中的惡意程序能夠定向擦除俄羅斯、白俄羅斯等國用戶的數據。中科院軟件所智能軟件研究中心團隊在開源軟件存儲庫進行惡意擴展包檢測中發現,Python官方擴展包被惡意上傳了 8 個惡意包及 707 個被“投毒”成功的開源項目。由于開源項目維護者在設計存儲庫時強調方便快捷,而開源社區的松散式開發維護模式并不對代碼的安全機制進行全面審核,使得開源軟件能夠較為容易地被人為置入后門或惡意程序,進而使得開源項目“投毒”成為一種新型的網絡攻擊模式。

(三)源代碼托管平臺“閉源斷供”安全隱患凸顯

美國出口管制條例規定(EAR,Export Administration Regulations)第 734.7b 和第 742.15b 中要求,所有“公開獲得”的源代碼(不含加密軟件以及帶加密功能的其他開源軟件),都不受出口管制,而“公開可獲得”的帶加密功能的源代碼,雖不會被限制出口,但需登記備案。目前,國際代碼托管平臺 GitHub、SourceForge 和 GoogleCode 在其公開的管理辦法中均明確聲明平臺的管理遵守美國出口管制條例,并且司法管轄權均在加州。相關產品不得出售、出口或在出口到 EAR第 740 部分補充文件的國家組 E 中列出的國家和地區,且隨時可能會發生變化。隨著美國出口管制實體清單中我國企業數量的增加,國內被禁止使用國外開源相關服務的安全隱患凸顯。

三、國外開源軟件安全治理模式研究

為提升開源軟件的安全性,國外推進以開源基金會主導、政府協調、商業公司協作的開源生態安全治理模式。

(一)開源基金會主導建立開源軟件安全機制

2020 年 8 月,Linux 基金會牽頭成立開源軟件安全基金會(OpenSSF)。OpenSSF 作為跨行業的全球開源安全合作組織,匯聚了全球開源安全精英,通過建立開源開發者最佳實踐、保護關鍵項目、開源項目安全風險識別、供應鏈完整性、安全工具和漏洞披露等專項工作組進行協作和集中努力,以提高開源軟件安全性。受微軟和谷歌等科技公司支持,OpenSSF 于 2022 年 2 月進一步推出 Alpha-Omega 計劃,聯合安全團隊和開發人員系統性挖掘并處置開源軟件項目中尚未發現的漏洞,進而提高開源生態整體安全。OpenSSF 各工作組情況如表 1 所示。

(二)政府協調建立開源安全治理規則

2020 年 10 月,歐盟發布《開源軟件戰略(2020-2023)》指導開發者遵循 IT 安全最佳實踐,并設立開源項目辦公室(EC OSPO)鼓勵和促進開源生態安全治理。2021 年 1 月 13 日,EC OSPO 設立 20 萬歐元的開源項目漏洞獎勵計劃,著重提升在歐盟內廣泛使用的 LibreOffice、LEOS 等開源項目的安全性。《開源軟件戰略(2020-2023)》主要內容如表 2 所示。

2022 年 1 月,美國國家安全顧問杰克沙利文和副顧問安妮紐伯格就 Apache Log4j2 開放源代碼漏洞所帶來的巨大影響,組織白宮開源安全峰會,商討開源軟件安全問題處理機制。峰會強調了建立政府和開源相關方的協作,對開源軟件實施持續的安全監測,并推進供應商落實《關于加強國家網絡安全的行政命令》。

(三)商業公司積極推進開源項目安全應用

以谷歌、微軟等為代表的商業科技公司,目前已初步建立了開源項目威脅建模、源代碼審核、自動化安全測試在內的主動防御機制,通過對采用的開源代碼進行安全驗證和組件標識,以提升商業軟件產品的安全性和安全漏洞處置的及時性。此外,各公司之間還設立了協作規則,以開源社區為主聯合上下游供應商協同解決開源軟件的供應鏈安全問題,進而保證對突發重大安全事件做出及時響應,協同修復高危安全漏洞。

四、我國開源軟件安全治理工作存在的不足

與國外相較而言,我國開源生態建設起步晚、根基淺、生態弱,開源生態治理經驗與國際先進水平差距較大。

(一)國際開源生態參與程度高、規則制定話語權弱

2021 年度 GitHub 開源情況報告顯示,我國開源軟件開發者共計 755 萬人,華為、阿里等參與開源項目的開發者人數均列居全球前 10 位。預計到 2030 年,我國將成為世界最大的開源項目應用市場。同時,國內開源軟件應用排名前 20 的項目則均由國外代碼平臺進行維護,平臺的運營規則、約束條件、代碼管理等均由甲骨文、惠普、思科等國外商業公司主導,我國嚴重缺失開源規則制定的話語權。

表1 OpenSSF 各工作組情況

表2 《開源軟件戰略(2020-2023)》主要內容

(二)國內開源安全生態建設起步晚、根基淺、生態弱

目前,國內已建起各類開源代碼托管平臺、開源社區和開源軟件基金會,多數龍頭企業內部已設立完整的部門建制以專門負責生態構建,但較完備的開源安全生態建設仍存在較大不足。在開源操作系統方面,國內 deepin(深度)社區和 openKyLin(開放麒麟)社區等操作系統均基于 Linux 內核開發,版本迭代和技術路徑依賴國外主導的開源社區。2022 年 5 月和 6 月期間,deepin 和 openKyLin 分別宣布主導建設自主根社區,構建基于底層核心技術支撐、自研開源項目組件應用和安全漏洞維護管理的全鏈條供應鏈安全機制仍處于初級探索階段。

(三)網絡運營者開源軟件安全自主維護能力不足

目前,商業軟件供應商通常在未做安全驗證的情況下直接引用開源軟件,并將其集成和開發至商業軟件產品中,導致企業用戶信息系統中被動地引入了相關組件。據統計,2021 年開源代碼在電信和互聯網、黨政辦公、網絡安全等領域應用比例已超 80%,教育培訓、醫療健康、金融服務等領域應用比例近 70%,開源軟件已成為我國軟件生態不可或缺的組成部分。開源軟件如果在商業軟件產品中無序使用,將會造成用戶安全風險不可知、不可控。軟件來源合法性和安全測試驗證機制缺失。對網絡運營者而言,由于缺少漏洞信息跟蹤能力,針對開源軟件安全漏洞修復存在明顯的滯后性,已公開的漏洞可被長期用于對供應鏈上游軟件的攻擊,進而演化形成簡單易用的武器化漏洞利用工具,嚴重威脅關鍵信息基礎設施的安全運行。

五、相關對策建議

隨著開源技術的廣泛應用,開源軟件項目實際上已經成為我國軟件開發的核心基礎設施之一,推動建立國家引領安全需求、行業自律約束規范和企業自主可控應用的開源生態安全治理工作機制,對保障我國數字產業化安全發展具有重要意義。

(一)強化開源軟件供應鏈安全保障

以國內開放原子開源基金會、開源社區、代碼托管平臺和國內商業公司為依托,吸引軟件企業、科研院所、高校、開發者、投融資機構等各類主體廣泛參與的運營模式,打造形成國際知名的頭部開源運營社區,提升國內開源軟件的安全治理水平,逐步構建開源軟件供應鏈安全生態的良性循環。

(二)推動開展開源軟件安全檢測和開源軟件溯源分析

借鑒國際做法,制定并推廣軟件物料清單(SBOM)統一標準,提升開源軟件的可追溯性。匯聚國內第三方安全檢測隊伍和開源社區相關方,組織開展面向重點行業軟硬件產品的供應鏈安全檢測分析工作,形成各類基于開源生態軟件產品的關系依賴全景視圖,實現開源軟件安全風險可知、可控和可防的安全保障機制。

(三)推進開源安全治理規則建立,用開源的方式保護開源軟件安全

以《網絡安全法》《數據安全法》《網絡產品安全漏洞管理規定》等法規落實為契機,加大我國開源安全理念宣傳推廣,通過國際交流活動和開源社區協作模式,構建產學研用安全協同保障機制。構建和營造重視開源生態開放、透明、安全理念的氛圍,引導和推動國內外開源生態各方恪守法律底線,敦促依法使用開源項目。