最近,在開源軟件的圈子里,歐盟的《網絡彈性法》(Cyber Resilience Act,簡稱 CRA)成為大家熱議的焦點。這項法規于 2024 年正式生效,雖然要到 2027 年 12 月才全面實施,但它帶來的影響已經開始顯現,開源軟件的發展道路也因此面臨著重大轉變。
Linux基金會發表了最新的報告,針對CRA對開源軟件的影響進行了分析。包括現存挑戰、實踐案例以及應對建議等。(https://www.linuxfoundation.org/hubfs/LF%20Research/lfr_cra_031725a.pdf?hsLang=en)
一、CRA 是什么?
CRA 的出臺,旨在全方位提升歐盟市場乃至全球數字產品的網絡安全水平。它設定了三個主要目標:降低數字產品漏洞的數量和嚴重程度;確保產品在整個生命周期內都能維持良好的網絡安全狀態;讓用戶在挑選和使用數字產品時,能依據清晰的網絡安全標準做出明智決策。
CRA 的覆蓋范圍相當廣泛,只要是在歐盟市場商業化銷售、帶有數字元素的產品,無論是軟件、硬件,還是兩者的結合體,都得遵循其規定。像我們日常使用的手機、電腦軟件,還有工業控制系統等都包含在內。而且,它對制造商和開源軟件管理者(stewards)的角色進行了明確區分。制造商要對產品的合規性負主要責任,而開源軟件管理者雖然不用直接對產品商業化負責,但也有自己的一套義務,比如制定網絡安全政策、及時處理和報告漏洞、與市場監管機構合作,以及參與自愿安全認證等。
二、CRA 給開源軟件帶來了哪些挑戰?
CRA 的出現,讓開源軟件項目面臨著一系列棘手且影響深遠的問題。
首當其沖的就是項目合規成本的大幅增加。為了滿足 CRA 的嚴格要求,開源項目需要投入大量額外的人力和資金。從人力方面來看,要組建專業且具備高度技術能力的產品安全事件響應團隊(PSIRT)。這個團隊不僅要具備快速發現和處理漏洞的技術能力,還得有應對各種復雜安全事件的經驗。成員需要時刻關注軟件安全動態,及時響應并處理各類安全問題,這意味著需要投入大量的時間和精力。而且,培養這樣一支專業團隊并非易事,需要提供專業的培訓和持續的學習機會,這又進一步增加了成本。
在資金投入上,制定完善的安全政策和流程需要耗費大量資源。這包括對現有代碼庫進行全面的安全審計,以查找潛在的漏洞;引入先進的安全檢測工具和技術,確保軟件在開發和維護過程中的安全性;對開發流程進行優化,融入更多安全環節和審查機制。這些工作都需要購買專業的軟件工具、支付安全專家的咨詢費用等,對于一些小型開源項目來說,這些成本無疑是沉重的負擔。小型項目通常資源有限,可能原本就依賴于志愿者的貢獻,沒有足夠的資金儲備來應對這些額外支出,這極有可能影響到項目的持續發展,甚至導致項目停滯不前。
在安全標準方面,CRA 提出了極高的要求。開源項目不僅要保證軟件在當前環境下的安全性,還要對軟件的整個生命周期進行安全管理,并且詳細記錄和公開安全相關的信息。然而,目前開源軟件的安全標準并不統一,不同項目的安全水平參差不齊。一些大型開源項目可能已經建立了相對完善的安全體系,但眾多小型項目可能由于缺乏資源和專業知識,安全措施較為薄弱。
這就需要開源社區加強協作,盡快建立起一套統一的安全標準。但在實際操作中,這面臨著諸多困難。開源社區成員來自不同的背景和組織,有著不同的技術理念和開發習慣,要達成一致的安全標準并非易事。而且,即使建立了標準,如何確保各個項目有效執行也是一個難題。如果無法建立統一標準并有效執行,在 CRA 的嚴格監管下,很多開源項目可能會面臨合規風險,影響其在歐盟市場的應用和推廣。
CRA 還對開源軟件的供應鏈管理提出了前所未有的挑戰。開源軟件的供應鏈極為復雜,涉及眾多的開發者、貢獻者和組件。一個開源項目可能依賴于成百上千個不同來源的組件,這些組件的安全性和合規性參差不齊。在 CRA 的要求下,制造商需要對開源組件進行嚴格的盡職調查,確保其安全性和合規性。
這就要求開源項目提供更詳細、更準確的軟件物料清單(SBOM)。SBOM 需要明確每個組件的來源、版本、許可證信息以及安全狀況等。但目前,開源項目在 SBOM 的管理上存在很大差異。有些項目可能只是簡單記錄了依賴組件的名稱和版本,缺乏詳細的許可證信息和安全評估;有些項目甚至沒有完整的 SBOM。這使得制造商在進行風險評估時面臨很大困難,難以準確判斷開源組件是否符合 CRA 的要求,從而增加了整個供應鏈的安全風險。
三、開源項目的應對策略
面對 CRA 帶來的挑戰,不少開源項目已經開始積極應對。以 Linux 基金會旗下的 Civil Infrastructure Platform(CIP)、Yocto Project 和 Zephyr Project 這三個項目為例,它們在安全實踐方面不僅展現出了各自的特色,還在持續探索和創新,力求更好地滿足 CRA 的要求。
CIP 項目專注于為工業和民用基礎設施提供核心開源軟件組件。在開發過程中,它積極采用 IEC 62443-4-1 工業網絡安全標準,這一標準為其軟件的安全性和可靠性提供了堅實的保障。通過遵循該標準,CIP 在軟件設計、開發、測試等各個環節都融入了嚴格的安全規范,從源頭上降低了安全風險。CIP 通過標簽和分支系統,有條不紊地清晰區分開發版本和發布版本,并且將所有軟件源代碼發布在kernel.org和 GitLab 上,這種開放的做法方便了全球開發者查閱和貢獻代碼,極大地促進了社區的協作和創新。
在漏洞管理方面,CIP 構建了多元化的報告渠道。除了通過公共渠道接收漏洞報告外,還設立了專門的私人郵箱,用于接收負責任的漏洞披露。這一舉措既鼓勵了安全研究人員積極報告漏洞,又保護了報告者的隱私,為及時發現和修復漏洞提供了有力支持。為了進一步提高漏洞處理效率,CIP 還建立了一套完善的漏洞處理流程,確保每個漏洞都能得到及時、有效的處理。
然而,CIP 在與市場監管機構合作時也遇到了一些困難。由于其社區結構較為分散,成員分布在不同地區和組織,協調各方響應監管機構的請求時效率不高。為了解決這一問題,CIP 正在探索建立更高效的溝通協調機制,例如設立專門的協調崗位,負責與監管機構對接,整合社區資源,確保能夠及時、有效地回應監管要求。
Yocto Project 作為構建定制嵌入式 Linux 操作系統的行業標準 “工具包”,其開發實踐與 CRA 的要求高度契合。它采用了結構化的發布節奏,每六個月發布一次標準版本,每兩年發布一次長期支持(LTS)版本,這種穩定的發布周期讓用戶能夠清晰地了解軟件的更新計劃,便于進行項目規劃和維護。Yocto Project 通過 Git 進行版本管理,這使得代碼的變更歷史一目了然,開發者可以輕松追蹤每一次修改,便于進行代碼審查和問題排查。
在安全治理方面,Yocto Project 利用 Bugzilla 作為漏洞追蹤系統,并引入了 CVE 掃描工具,對軟件進行全面、深入的安全檢測。這些工具能夠及時發現軟件中存在的漏洞,并提供詳細的報告,幫助開發者快速定位和解決問題。Yocto Project 還特別注重可重現構建,即給定相同的源代碼、構建環境和構建指令,任何人都能生成完全相同的二進制代碼。這一特性不僅提高了軟件的安全性,還增強了軟件的可驗證性和可重復性,讓用戶能夠更加放心地使用 Yocto Project 構建的系統。
為了更好地滿足 CRA 對軟件物料清單(SBOM)的要求,Yocto Project 生成了符合 SPDX 3.0 標準的 SBOM。通過這一標準化的 SBOM,Yocto Project 能夠詳細記錄軟件中各個組件的信息,包括來源、版本、許可證等,為制造商提供了準確的風險評估數據,有效提升了供應鏈的透明度和安全性。
但目前 Yocto Project 的長期支持期為四年,略短于 CRA 要求的五年。為了滿足法規要求,項目團隊已經開始著手規劃延長支持期的工作。他們一方面積極與社區成員溝通,爭取更多的資源和支持;另一方面,對現有的維護流程進行優化,提高維護效率,確保在延長支持期的同時,不會降低軟件的質量和安全性。
Zephyr Project 是針對資源受限設備的實時操作系統。它圍繞 GitHub 進行開發管理,每四個月發布一個新版本,每 2.5 年推出一個長期穩定版本,這種頻繁的更新節奏能夠及時引入新功能和修復漏洞,滿足資源受限設備不斷變化的需求。Zephyr Project 作為 CVE 編號機構,擁有成熟的產品安全事件響應團隊(PSIRT),這個團隊具備專業的安全技術和豐富的經驗,能夠及時處理和響應各類安全事件。
它還積極參與自愿安全認證計劃,在 OpenSSF 最佳實踐徽章計劃中獲得了金牌,這充分證明了其在安全方面的卓越表現。Zephyr Project 的禁運政策和對安全標準的持續評估機制,使其在安全方面表現出色。禁運政策能夠在發現重大安全漏洞時,及時阻止相關版本的使用和傳播,降低安全風險;持續評估機制則確保項目能夠緊跟安全標準的發展趨勢,不斷優化自身的安全措施。
針對 CRA 在軟件物料清單(SBOM)標準化方面的不足,Zephyr Project 正在與其他開源項目和行業組織合作,共同推動 SBOM 的標準化工作。他們積極參與相關的討論和制定過程,希望能夠建立一套統一、規范的 SBOM 標準,減少因標準不一致帶來的合規風險。
四、開源社區的集體行動
為了更好地應對 CRA 帶來的挑戰,開源社區也在積極行動。2024 年 12 月,Linux Foundation Europe 和 OpenSSF 聯合舉辦了一場研討會,邀請了開源項目的負責人、制造商和政府官員等共同探討應對策略。
研討會主要圍繞三個關鍵方向展開:標準制定、提高認知度和開發工具。在標準制定方面,開源社區希望基于現有的最佳實踐,建立一套與 CRA 相匹配的網絡安全標準。這需要與歐洲監管組織密切合作,確保標準在 CRA 全面實施前能夠生效。提高認知度工作則側重于通過全球調查、開發決策樹和制作教育材料等方式,讓開源項目、制造商等各方更好地理解 CRA 的要求和影響。在工具開發上,OpenSSF 等組織計劃開發標準化的網絡安全政策和漏洞報告模板,建立與市場監管機構的溝通渠道,并探索自愿網絡安全認證計劃,幫助開源項目更好地滿足 CRA 的要求。
五、CRA 帶來的機遇
盡管 CRA 給開源軟件帶來了諸多挑戰,但它也為開源生態系統的發展提供了機遇。通過 CRA 的推動,開源項目可以進一步完善自身的安全機制,提高軟件質量。在滿足法規要求的過程中,開源項目將更加注重安全開發流程、漏洞管理和供應鏈安全,這將有助于提升開源軟件在市場上的競爭力。
CRA 的實施也促使開源社區加強與制造商、政府等各方的合作。這種跨領域的合作將促進知識共享和技術交流,為開源軟件的發展創造更有利的環境。開源項目可以借助制造商的資源和市場經驗,更好地推廣和應用自己的軟件;同時,政府的參與也將為開源社區提供更多的政策支持和資源保障。
六、未來展望
CRA 的出臺標志著開源行業進入了一個新的發展階段。在法規的監管下,開源軟件項目需要不斷調整和完善自身的發展策略,以滿足日益嚴格的網絡安全要求。開源軟件目前面臨著諸多挑戰,需要開源社區團結協作,積極應對,推動開源軟件生態系統朝著更加安全、可持續的方向發展。
歡迎將我們設為“星標”,這樣才能第一時間收到推送消息。
關注EEWorld旗下訂閱號:“機器人開發圈”
回復“DS”領取《DeepSeek:從入門到精通》完整版
掃碼添加小助手回復“機器人”
進群和電子工程師們面對面交流經驗
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.