在開發者社群中,一個引人注目的觀點被廣泛傳播:每隔二十年,操作系統領域就會迎來一次革命性的飛躍。從上世紀六十年代的大型機時代,到八十年代個人計算機的興起,再到本世紀初互聯網的蓬勃發展,這一規律得到了清晰的驗證。操作系統作為軟硬件之間的橋梁,不斷推動新應用的誕生,開拓全新的市場空間。
如今,數字化與智能化的浪潮正以前所未有的速度席卷全球,應用場景的數量呈現出爆炸式增長,再次印證了操作系統的“二十年周期律”。然而,與以往不同的是,當前的數智化進程被賦予了“產業”的前綴,肩負著推動生產力飛躍和產業深度轉型的重任。操作系統作為產業數智化的基石,不僅需要構建一個繁榮的生態,更需在安全領域交出令人滿意的答卷。
回顧歷史,1991年,年僅21歲的Linus Torvalds編寫了一個包含一萬行代碼的內核,并遵循GPL協議和GNU宗旨,將其命名為“GNU/Linux”。在接下來的幾年里,來自全球的開發者對Linus的內核代碼進行了大量修改和補充,加入了圖形界面、應用等必要組件,最終形成了一個完善的操作系統——Linux。盡管對于許多消費者來說,Linux的知名度可能不及Windows、Android和iOS,但在服務器和數據中心領域,Linux的市場份額卻高達90%以上,甚至在Microsoft Azure上,也有超過一半的虛擬機安裝了Linux。
為何對安全要求極高的服務器市場會偏愛開源的Linux呢?經過深入研究,我們找到了兩個關鍵原因。首先是開放性,Linux的開源特性使得任何人都可以自由查看、修改和分發其源代碼,這賦予了Linux高度的靈活性和可定制性,從而衍生出了眾多基于Linux的發行版操作系統,如Ubuntu、RedHat、Debian、CentOS,以及國內的openEuler和基于openEuler的商業發行版如銀河麒麟、統信UOS、麒麟信安等。其次是安全性,正如《大教堂與集市》的作者Eric所言,“只要眼睛多,bug容易捉”。開源軟件吸引了來自不同領域的開發者,他們帶著熱情鉆研代碼,使得漏洞更容易被發現。谷歌在2022年發布的一份調查報告顯示,Linux上的漏洞平均只需25天即可修復,而蘋果、Google和微軟分別需要69天、44天和大約三個月。
然而,安全總是相對的。盡管開源帶來了高透明度,但近年來與Linux相關的安全事件仍時有發生。例如,2017年曝出的“Phoenix Talon”系列遠程執行漏洞,其中包括一個嚴重級別和三個高危級別的漏洞,可導致DOS攻擊和遠程代碼執行;以及2021年震驚業界的紅杉漏洞,攻擊者可通過該漏洞在默認安裝的Ubuntu、Debian、Fedora、CentOS等主機上將權限提升至root。
隨著操作系統加速與AI的融合,openEuler開源操作系統提出了“OS for AI,AI for OS”的理念,并全面增強了AI能力。例如,它顛覆了傳統的命令行交互方式,基于大模型訓練出了EulerCopilot,實現了代碼輔助生成、問題智能分析、輔助運維等功能;通過異構資源的統一管理與調度,實現了CPU和XPU的深度融合,顯著提升了AI訓練和推理性能。然而,在操作系統向AI演進的過程中,如何消除潛在的安全威脅成為了一個亟待解決的問題。
長期以來,操作系統的安全策略主要側重于“被動防御”。在Linux社區中,曾有一種普遍觀念認為“Security bugs are just bugs”,因此安全防護長期依賴于bug的修補。然而,隨著Linux內核從最初的1萬行代碼增長到6.6版本的3000多萬行代碼,以及模塊間復雜交互關系的增加,內核的安全漏洞頻繁出現。僅在2023年,就爆出了710個安全漏洞。盡管開源在漏洞發現到修復的效率上具有優勢,但漏洞從產生到被發現平均需要60天時間,從發現到修補又需要20多天時間,而且52%的補丁并未真正修復漏洞。在此背景下,主動防御策略逐漸成為開源社區的共識。
中關村實驗室與openEuler攜手打造的HAOC復式內核便是一個典型例子,它在系統設計中構建了安全體系。由于Linux的宏內核架構是扁平化的,所有模塊集中在同一地址空間且沒有隔離,一旦某個模塊存在漏洞,整個內核都可能被攻陷,這無疑增加了構建主動防御策略的難度。中關村實驗室提出的復式內核設計思想旨在建立系統性的主動防護:
首先,對內核結構進行了重構。將內核劃分為中樞核心層、普通模塊層和高風險模塊層。原先的內核被歸入普通模塊層,通過持續隨機化進行保護以提升漏洞攻擊的門檻;最關鍵的數據被移入中樞核心層,包括頁表、權限憑證、系統密鑰、防控制策略、敏感指令等;內核擴展和設備驅動被劃分到高風險模塊層,并對每個模塊進行單獨隔離以防止風險擴散;同時利用硬件實現層與層之間的隔離。
其次,對關鍵數據進行了擬態處理。通過地址布局的持續隨機化來阻止攻擊者找到關鍵數據。
復式內核解決了漏洞威脅的橫向移動問題,但也面臨一個重大挑戰:內核中的代碼交互頻繁,對開銷的要求必須足夠小。中關村實驗室通過梳理處理器在內存訪問、代碼調試等硬件特性,巧妙地利用這些硬件實現了層級內的開銷隔離。最終實現了層次內的低開銷隔離,相較于傳統開銷方案具有兩個數據級的性能優勢。
中關村實驗室研究員、中國科學院計算技術研究所研究員武成崗在操作系統大會2024的主題演講中,用了一個生動的比喻來形容這一創新:“扁平化的宏內核架構就像古代的戰艦一樣,攻擊者很容易實施攻擊;而復式內核則更像現代的航母,里面有很多艙室,有了艙室以后,想實施攻擊就變得非常困難。”正如現代化航母的強大戰斗力一樣,HAOC內核提供了包括中樞核心、隔離執行保護、系統密鑰保護、策略保護、頁表保護、憑證保護、內核擴展隔離和驅動隔離在內的多種安全選項,并得到了Linux eBPF基金會的高度認可。
2024年6月初,首個AI原生開源操作系統openEuler 24.03 LTS正式發布,除了智能解決方案的升級外,還集成了HAOC內核1.0。經過近半年的市場檢驗后,架構式創新帶來的新機遇和新應用逐漸顯現。例如,在代碼的形式化驗證方面,Linux內核擁有3000多萬行代碼,理論上很難進行形式化驗證,但復式結構對內核的劃分后提供了形式化驗證的可行性;再如,復式內核兼具宏內核的性能優勢和微內核的安全性,在智能網聯車、低空經濟、商業航天等領域展現出誘人的應用前景。
在操作系統大會2024上,HAOC內核2.0正式發布,相較于HAOC內核1.0實現了多項能力的升級:同時具備了X86和ARM兩個主流架構的內核攻擊防護能力;對頁表結構、權限憑證、訪問控制策略和密鑰進行了安全防護,能夠阻斷常見的內核提權攻擊;對高風險驅動進行了隔離管控,阻止了安全風險擴散到核心內核;相較于HAOC內核1.0,HAOC內核2.0的性能提升了20%。
對于HAOC內核的未來發展,武成崗給出了一份清晰的路線圖:將進一步探索復式內核架構的層內安全增強技術、繼續探索軟硬件協同隔離技術、驗證探索高等級的形式化驗證方法,并分期分批地推進復式內核的成熟技術進入社區。這包括復式隔離框架進入openEuler社區、層內增強技術進入openEuler社區,并最終進入主線Linux。
內核作為操作系統安全的基礎,一旦被攻破,攻擊者將獲得最高的系統控制權限。積極參與操作系統的開源建設,與全球開發者共同推進復式內核的創新和應用,無疑是構建數智化“安全底座”的關鍵途徑。幾乎在同一時間,openEuler社區中來自華為的核心貢獻者正式成為Linux內核社區的CVE檢視成員,直接參與Linux社區的CVE檢視工作,這將從源頭上提高CVE的識別質量,隨時感知CVE信息,進一步提升openEuler社區在高危漏洞上的響應能力。