【編者的話】2023年8月在北航杭州創(chuàng)新研究院舉辦了“第五屆國產嵌入式操作系統(tǒng)技術與產業(yè)發(fā)展論壇暨嵌入式系統(tǒng)聯(lián)誼會主題討論會(總第29次),會議主題是“面向異構多核智能芯片的混合關鍵系統(tǒng)研究與應用”,《單片機與嵌入式系統(tǒng)應用》雜志社邀請報告人北京航空航天大學牛建偉教授團隊和復旦大學蔣金虎教授團隊撰寫了兩篇論文。
“基于多內核的操作系統(tǒng)內生安全技術”一文,針對萬物互聯(lián)時代設備的智能化、網絡化的功能安全與網絡安全的各種問題和隱患,提出了一套基于多內核的操作系統(tǒng)內生安全技術方案?!盎诨旌详P鍵系統(tǒng)的工業(yè)機器人操作系統(tǒng)”一文,提出了基于混合關鍵系統(tǒng)的新型機器人架構設計,可以提高機器人操作系統(tǒng)的實時性、安全性和智能化水平。會議演講報告公開版本已經發(fā)布在嵌入式系統(tǒng)聯(lián)誼會的官方網站上,閱讀原文可以獲得。
多核芯片混合關鍵系統(tǒng)的研究體現(xiàn)了嵌入式系統(tǒng)多學科合作攻關的特點,是大模型和生成式AI風起云涌時代,工業(yè)智能系統(tǒng)面臨的機遇和挑戰(zhàn),2024年嵌入式系統(tǒng)產業(yè)界將會繼續(xù)努力攻堅克難,期待我們再聚!
0 引言
萬物互聯(lián),設備越來越多,且智能化、網絡化趨勢日益明顯,成為未來發(fā)展的一個必然方向,但同時也為系統(tǒng)安全帶來了新的挑戰(zhàn)與機遇,功能安全與網絡安全的各種問題和隱患也隨之而來。操作系統(tǒng)是軟件架構的基石,肩負著抽象硬件資源和溝通上層用戶應用與下層硬件資源的職能,面臨著巨大的安全挑戰(zhàn)。因此,操作系統(tǒng)安全的理論和實踐至關重要。
傳統(tǒng)的網絡安全以安全事件驅動的靜態(tài)被動式安全為主,功能安全則以冗余為主[1]。傳統(tǒng)的網絡安全包括以下3個發(fā)展階段:以阻止入侵為目的的系統(tǒng)加固階段、以限制破壞為目的的監(jiān)測響應階段、以系統(tǒng)頑存為目的的網絡容侵階段[2]。3個階段針對不同時代下的網絡功能安全問題,但均存在缺陷。系統(tǒng)加固階段通過明確劃分網絡邊界,利用用戶認證、訪問控制、網絡隔離等手段來加固系統(tǒng),在保證網絡系統(tǒng)正常工作基礎上保證信息安全,但這一階段的技術無法應對系統(tǒng)漏洞等后門攻擊手段。監(jiān)測響應階段則是通過特征掃描、模式匹配等技術來檢測入侵,但此階段的技術高度依賴檢測能力,且無法檢測新出現(xiàn)的入侵技術。網絡容侵階段則是通過信息生存技術將入侵影響降到最低,但目前尚無規(guī)模化使用案例,且模型的建立依賴大量先驗知識,無法應對先驗知識中未出現(xiàn)的攻擊。
隨著數(shù)字基礎設施逐漸智能化和網絡化,網絡安全和功能安全日益交織、疊加,演變?yōu)閮壬踩珕栴}。內生安全于2013年由鄔江興院士提出。內生安全是以網絡中各類網元設備自身的安全能力為基礎,利用系統(tǒng)架構、算法、機制或場景等內部因素獲得安全功能或屬性,協(xié)同配合構建的綜合安全體系。內生安全具備先天構建和后天成長兩大基本特征[3]。先天構建表明安全需要與系統(tǒng)的設計與建設同步進行,后天成長則要求系統(tǒng)能與自身所處環(huán)境交互,其安全能力隨環(huán)境變化而動態(tài)提升[4]。因此,內生安全已被應用于蜜罐[5]、防火墻[6]、交換機[7]、路由器[8]、處理機[9]、Web服務器[10-11]、DNS服務器[12]、云平臺[13-14]和網絡操作系統(tǒng)[15]等領域,其衍生出的相關技術越發(fā)重要,其先天構建和后天成長的特性也為計算機系統(tǒng)提出了新的挑戰(zhàn)。
綜上,本文從內生安全的角度對操作系統(tǒng)進行分析,討論操作系統(tǒng)內生安全面臨的挑戰(zhàn)和機遇。
1 研究現(xiàn)狀
操作系統(tǒng)內生安全技術包括兩類。一類是面向功能安全的基于冗余容錯方法,例如 SpaceX衛(wèi)星上的三冗余系統(tǒng)、博世公司開發(fā)的冗余自動駕駛系統(tǒng)等。另一類是面向網絡安全的以移動目標防御(MTD)[16]和擬態(tài)架構為基礎的內生安全防御技術。目前工業(yè)界已在嵌入式系統(tǒng)中大量使用 MTD,如 Morphisec公司已在50多家企業(yè)部署了基于 MTD驅動的安全方案。學術界也有大量有關 MTD理論、策略、評估的論文,ACM每年舉辦專題研討會。
國內主流的內生安全技術為鄔江興院士提出的基于擬態(tài)防御的內生安全[17]。擬態(tài)防御假定帶來安全問題的漏洞和后門未知且不可避免,擬態(tài)防御通過動態(tài)異構冗余架構來綜合考慮功能安全和網絡安全,以條件規(guī)避的方法讓攻擊者無法形成有效攻擊[18]。擬態(tài)防御已被用于賦能網絡彈性工程、典型領域工程應用(如路由交換設備、網絡控制系統(tǒng)、工業(yè)控制系統(tǒng)、云計算和車聯(lián)網系統(tǒng)等)、無線系統(tǒng)安全、人工智能系統(tǒng)應用和智能芯片等場景,并在部分系統(tǒng)中進行大規(guī)模工業(yè)應用[19]。因此,基于擬態(tài)架構的內生安全是一種可以從根本上提升操作系統(tǒng)安全防護能力的重要手段。
2 面臨的挑戰(zhàn)和機遇
操作系統(tǒng)為系統(tǒng)核心軟件。一方面,操作系統(tǒng)肩負抽象硬件資源和為應用提供服務的功能,承擔溝通上層用戶應用與下層硬件資源的服務職能,隱藏硬件的繁瑣細節(jié)并為用戶程序提供易用的標準化接口,是應用程序執(zhí)行的公共基礎,因此有義務構建穩(wěn)定、安全的執(zhí)行環(huán)境。另一方面,操作系統(tǒng)還承擔對硬件資源和應用程序二者的管理職能,既將異構的、復雜的硬件資源納入統(tǒng)一管理,又負責應用的生命周期和資源分配的管理,是計算機系統(tǒng)的唯一協(xié)調者、管理者,因此有義務維護穩(wěn)定、安全的系統(tǒng)狀態(tài)。其中安全為操作系統(tǒng)的關鍵職能之一。
傳統(tǒng)操作系統(tǒng)網絡安全依賴于對現(xiàn)有攻擊和漏洞的經驗知識進行被動防御,無法應對未知攻擊和漏洞?;跀M態(tài)安全機理的動態(tài)異構冗余的內生安全機制是當前主要的主動安全防護方法,但如何在操作系統(tǒng)層實現(xiàn)內生安全機制,則面臨如下難題:
一是現(xiàn)有的操作系統(tǒng) (如 Linux、macOS等單內核操作系統(tǒng))在架構上具有脆弱性、單調性和機械性等特性,導致系統(tǒng)不支持內生安全所需的異構冗余屬性。具有脆弱性是因為操作系統(tǒng)安全防護脆弱單薄,微小的錯誤也可能導致關鍵功能部件失靈,進而導致系統(tǒng)級的崩潰。通過冗余可以緩解因脆弱性導致的功能安全問題,但目前操作系統(tǒng)缺乏單機級冗余,系統(tǒng)部件幾乎均位于系統(tǒng)關鍵路徑之上,任何核心模塊被入侵均可能導致系統(tǒng)級的崩潰。當前操作系統(tǒng)缺乏差異化而表現(xiàn)出的單調性特征導致特定系統(tǒng)的差分問題突出,系統(tǒng)安全維護工作無法根除操作系統(tǒng)自身的固有設計缺陷?,F(xiàn)有操作系統(tǒng)在時態(tài)上表現(xiàn)出高度靜態(tài)的機械性,這為網絡攻擊提供了透明的一致視圖。當前大量的網絡攻擊依賴于運行時窺探系統(tǒng)的關鍵數(shù)據(jù),而系統(tǒng)時態(tài)的動態(tài)變化將有效降低系統(tǒng)被攻擊成功的概率。此外,當前功能安全和網絡防御手段無法應對攻擊逃逸后的場景。因此,需要一種新的操作系統(tǒng)架構來保證系統(tǒng)的異構冗余性。
二是如何在操作系統(tǒng)層構建內生安全的動態(tài)異構冗余機制。異構冗余機制要求操作系統(tǒng)具備冗余性、異構性和動態(tài)性。冗余性要求操作系統(tǒng)提供應用透明的多個執(zhí)行環(huán)境,操作系統(tǒng)需基于應用程序的單一鏡像構建多個執(zhí)行環(huán)境,并在多個執(zhí)行環(huán)境中執(zhí)行相同程序的實例副本。異構性要求操作系統(tǒng)提供功能等價的異構執(zhí)行環(huán)境,操作系統(tǒng)需支持多個執(zhí)行環(huán)境并存的架構,保證應用程序在異構環(huán)境下得到等價的預期輸出。動態(tài)性則要求操作系統(tǒng)支持執(zhí)行環(huán)境集合的動態(tài)迭代。
三是如何在操作系統(tǒng)層設計高效共識機制。異構環(huán)境中的同一應用可能會產生不一致的輸出,系統(tǒng)需辨析響應差異化的根源。差異化可能來源于外部攻擊、異構特性或是冗余執(zhí)行環(huán)境的非一致性,需由操作系統(tǒng)做具體裁決。操作系統(tǒng)需監(jiān)控收集異構環(huán)境的不同關鍵信息,并基于這些運行時信息和裁決策略 ,藉由表決得到異構間共識。
3 操作系統(tǒng)內生安全設計
操作系統(tǒng)作為核心基礎軟件 ,處于硬件和應用層之間,負責硬件資源的管理并服務于應用 ,其內生安全的架構直接決定系統(tǒng)層動態(tài)異構冗余過程中各模塊之間的有效協(xié)同。多內核操作系統(tǒng)能同時運行多個異構內核 ,其結構天然符合操作系統(tǒng)內生安全需求 ,多內核操作系統(tǒng)架構如圖1所示。
圖1 多內核操作系統(tǒng)架構
Fig.1 Multi kernel operating system architecture
由圖 1可知 ,多內核操作系統(tǒng)同時運行多個內核 ,各內核可具備同構屬性或異構屬性 ,內核間通過高效通信機制協(xié)同工作。多內核操作系統(tǒng)以內核為處理場景元素 ,可通過構建動態(tài)異構冗余的內核來提供差異化的執(zhí)行環(huán)境 ,是操作系統(tǒng)內生安全的良好載體。
3.1 操作系統(tǒng)內生安全架構
基于多內核操作系統(tǒng)引入內生安全機制后的操作系統(tǒng)內生安全架構如圖 2所示。
圖2 操作系統(tǒng)內生安全架構
Fig.2Internal security architecture of the operating system
架構的難點是如何保持各個部分運行過程中的高效協(xié)同以及使用過程中的易用。因此 ,需要定義高效好用的服務接口層、內核交互接口層和資源管理層以提供對上易用服務、對內高效協(xié)同和對下高效利用的目標。服務接口層研究如何在內核和文件系統(tǒng)進行異構冗余變換后為應用提供簡潔易用的接口 ,從而實現(xiàn)應用與系統(tǒng)層的交互和協(xié)同。內核間交互層研究為了實現(xiàn)各異構內核間高效的通信 ,需要交互的基本信息及交互接口主要包括通信機制和共識接口。資源管理層研究硬件資源的劃分和管理 ,多個內核間的資源相對獨立且隔離 ,包括計算、內存和設備資源 ,通過虛擬化技術等將資源在內核間進行劃分 ,并支持資源的訪問限制定義和管理。
3.2 異構冗余機制
內核是整個軟件棧控制路徑和特權級的核心管控模塊,因此內核級異構冗余是內生安全的核心 ,除了可以保證基礎核心模塊的安全 ,也可以為頂層應用提供更好的支撐。因此 ,需要通過多維度的控制和數(shù)據(jù)變換來實現(xiàn)內核異構性 ,結合內核的特點 ,研究各種可變換的維度以及與之特性適配的變換方法、潛在的異構性、開銷和易用性。同時 ,也需要結合應用端的內存布局、執(zhí)行路徑等需求進行設計。其系統(tǒng)架構如圖 3所示。
圖3 內核異構冗余架構
Fig.3Heterogeneous redundant architecture of kernel
冗余性設計包括多路徑執(zhí)行和內核間隔離。應用需分派到不同內核上多路徑執(zhí)行 ,執(zhí)行集合中的所有內核承接執(zhí)行任務并為之提供語義一致的執(zhí)行環(huán)境。外部輸入、環(huán)境變量、系統(tǒng)配置等信息也被同步復制分派到多個內核上。內核分別獨立執(zhí)行 ,并監(jiān)控檢查各自的用戶程序 ,最終多個內核產生與期望一致的輸出。此外 ,多個內核間應彼此隔離。以往的系統(tǒng)中 ,應用程序運行在低特權級 ,內核則獨占高特權級 ,并統(tǒng)轄系統(tǒng)所有權限。系統(tǒng)通過內核實現(xiàn)應用間的隔離和應用與內核的隔離 ,但未知網絡攻擊可能以應用為載體對內核發(fā)動攻擊。為提供內生安全的冗余性要求 ,某個內核的崩潰不應該引起全系統(tǒng)的瓦解 ,即操作系統(tǒng)應具備內核級容錯能力。而作為處理場景元素的內核可能具有未知漏洞或后門 ,具備轉化為惡意內核的風險。因此 ,系統(tǒng)應限制內核的特權能力 ,防止惡意內核蓄意窺探或攻擊其他內核 ,從而影響整個系統(tǒng)的穩(wěn)定 ,即多內核操作系統(tǒng)應具備內核級保護能力。
異構性設計可從操作系統(tǒng)控制平面和數(shù)據(jù)平面兩個方面展開。操作系統(tǒng)內核控制平面包括系統(tǒng)調用、執(zhí)行路徑和指令異構 ,因此操作系統(tǒng)內核的異構性也將圍繞這 3個方面展開。系統(tǒng)調用是內核為應用提供服務的交互接口,直接決定應用可使用的系統(tǒng)服務 ,因此其動態(tài)異構對系統(tǒng)安全至關重要。可通過系統(tǒng)調用接口的運行時隨機化變換 ,以及對接口語義實現(xiàn)模塊的功能變換等設計實現(xiàn)不同內核系統(tǒng)接口的異構性。對于執(zhí)行路徑異構性則可通過應用執(zhí)行路徑進行運行時隨機化變換來實現(xiàn) ,如全局調度順序、鎖獲取釋放順序、隨機數(shù)序列產生結果等。但系統(tǒng)函數(shù)隨機化面臨實現(xiàn)困難、可擴展性差等問題。實現(xiàn)系統(tǒng)函數(shù)隨機化需要對多內核中每一個內核提供的系統(tǒng)調用進行隨機化實現(xiàn) ,這對在架構中新增或刪減內核時均帶來不便。其次 ,對于異構內核提供的相似功能 ,其執(zhí)行路徑和執(zhí)行結果也不一定完全相同 ,因此需要對不同內核的系統(tǒng)調用進行抽象 ,這導致工程量和難度隨內核數(shù)量增加成指數(shù)上升。最后 ,部分內核間存在相似或相同的系統(tǒng)調用 ,如 macOS內核和 Linux內核存在相似系統(tǒng)調用。因此 ,攻擊可以針對異構內核間的耦合部分 ,從而導致多內核操作系統(tǒng)無法有效識別入侵。執(zhí)行路徑異構則面臨共識困難、實現(xiàn)困難等挑戰(zhàn)。識別應用在不同內核間的執(zhí)行路徑來實現(xiàn)內生安全需要高效的共識機制來保證 ,但異構內核本身復雜性和執(zhí)行路徑不一致性會導致共識機制的實現(xiàn)困難。綜上 ,內核系統(tǒng)控制平面僅從系統(tǒng)調用和執(zhí)行路徑來實現(xiàn)異構冗余并不能完全滿足內生安全需求。因此 ,本文提出指令隨機化方案來彌補系統(tǒng)函數(shù)隨機化、執(zhí)行路徑異構等異構方案設計的缺陷。
實現(xiàn)指令級異構的主要技術為指令隨機化 ,在編譯時對可執(zhí)行程序的機器碼進行加密操作 ,在執(zhí)行前再對每條加密過的指令進行解密 ,以此阻止惡意代碼的攻擊。因此,指令隨機化具有天然的異構性 ,符合內生安全對操作系統(tǒng)異構性的需求。此外 ,相比于系統(tǒng)調用的隨機化 ,指令隨機化能保證在對應用和硬件的透明性基礎上 ,在更底層、更細粒度的層面上實現(xiàn)異構性。
圖4 指令異構冗余架構圖
Fig.4Instruction heterogeneous redundancy architecture diagram
指令異構冗余架構圖如圖 4所示 ,從圖中可知 ,本文在多內核操作系統(tǒng)的基礎上 ,通過動態(tài)選取異構內核的指令子集并對子集中的指令進行動態(tài)隨機化來加密指令 ,最后在執(zhí)行時通過解析器來解密指令 ,以此實現(xiàn)指令級的異構。
對于內核的數(shù)據(jù)平面 ,主要包括內存布局以及加載的可執(zhí)行文件格式。因此 ,對于內核的數(shù)據(jù)平面的異構性 ,也將主要圍繞這兩個方面展開。對于內存布局 ,應用的所有運行時數(shù)據(jù)都維護在程序的地址空間中 ,可對內存地址空間的多目標多粒度隨機化 ,例如可執(zhí)行程序及其共享庫的加載基址、用戶棧及內核棧偏移、代碼段的順序結構、數(shù)據(jù)段的棧中順序、代碼和數(shù)據(jù)在棧中的加密形式等 ,從而通過內核的異構執(zhí)行機制實現(xiàn)應用執(zhí)行期間的異構特性。對于可執(zhí)行文件格式 ,每種操作系統(tǒng)均僅能執(zhí)行特定的可執(zhí)行文件格式 ,因而可以通過研究可執(zhí)行文件格式變換及與之適配的加載器實現(xiàn)對可執(zhí)行文件異構性的支持。通過上述兩點實現(xiàn)內核數(shù)據(jù)平面的異構特性。綜上 ,多內核操作系統(tǒng)的異構冗余機制可從指令異構、內存異構和加載方式異構 3點來實現(xiàn)。
3.3 高效通信和共識機制
內核間通信及共識機制是內生安全防護系統(tǒng)中內核間高效交互和協(xié)同的基礎。其中 ,內核間通信效率是直接關系到內核間協(xié)同效率的根本 ,在單個內核操作系統(tǒng)中 ,進程之間的通信模式和方法豐富 ,是操作系統(tǒng)內核層極為重要的部分。對于跨內核間的進程或模塊的通信 ,數(shù)據(jù)的傳輸和消息通知需要新的設計以支持上層的通信需求。基于高效內核間通信之上構建的共識機制的效率則是系統(tǒng)高效安全共識的關鍵 ,內核執(zhí)行量大導致行為和結果信息量大 ,怎樣快速共識是必須解決的問題。內核間通信及共識機制系統(tǒng)架構如圖5所示。
圖5 內核間通信和共識機制系統(tǒng)架構 Fig.5Inter kernel communication and consensus architecture
內核間高效通信旨在探究如何在單主機上實現(xiàn)兼顧安全與效率的通信機制。既往的進程間通信或遠程過程調用需要高特權級的參與以保證安全隔離 ,故由內核實現(xiàn)并監(jiān)督管理通信過程。而在多內核架構中 ,內核由通信過程的中介變?yōu)橹黧w ,且均運行在特權模式 ,因此需要實現(xiàn)高特權下的新型通信方式。而現(xiàn)有的遠程過程調用手段包括網絡通信等方式,不適用于單主機上的通信,應發(fā)掘基于內存等片上及片間的高效通信方式。因此,內核間通信既要求充分利用單主機通信的高效,又要求內核間隱私保護,即兼顧共享和隔離。
共識機制研究高效準確的共識機制,以及共識所依賴的請求分發(fā)、代理合并以及表決協(xié)同等關鍵技術。由于異構內核迥異的運行邏輯,執(zhí)行應用時所呈現(xiàn)的特征也各不相同,可能展示差異化的執(zhí)行結果,如不同的系統(tǒng)調用類型與次數(shù)、不同的進程間通信次數(shù)等。因此,系統(tǒng)需實現(xiàn)異構的監(jiān)控組件以收集異構內核特定的運行時信息,同時綜合所有內核的響應經由表決得到共識。因此,基于內生安全需求,要求操作系統(tǒng)能容許欺詐的類拜占庭共識算法,通過預設的裁決算法和策略對是否發(fā)生隨機錯誤或蓄意攻擊達成共識。
4 相關工作
目前工業(yè)界的操作系統(tǒng)內生安全工作包括 SpaceX公司的三冗余系統(tǒng)、博世公司的冗余自動駕駛系統(tǒng)等,學術界則集中在移動目標防御 MTD和擬態(tài)防御。移動目標防御通過動態(tài)或靜態(tài)排列組合、變形、變換或混淆來轉移攻擊者攻擊。Thompson等人[20]提出在多內核環(huán)境下實現(xiàn)移動目標防御。移動目標防御雖然能通過隨機性、多樣性和動態(tài)性技術來為攻擊者提供隨機且變化的底層系統(tǒng)視圖,以放大網絡攻擊開銷,但這些特性不能改變漏洞或后門的邏輯性質,攻擊依然可能通過短路或協(xié)同等方式來攻破防御措施。操作系統(tǒng)級的擬態(tài)防御則是通過動態(tài)異構冗余綜合考慮功能安全和網絡安全。復旦大學[21]于 2023年提出在多內核操作系統(tǒng)上實現(xiàn)動態(tài)異構冗余架構,為內生安全的操作系統(tǒng)方案提供了思路。
5 結語
本文針對日益突出的內生安全問題,從操作系統(tǒng)級提出內生安全解決方案。針對目前單內核操作在架構上不支持內生安全異構性、操作系統(tǒng)層構建內生安全的動態(tài)異構冗余機制不成熟和操作系統(tǒng)共識機制設計困難等問題,設計了基于多內核的操作系統(tǒng)內生安全架構,并從異構冗余機制、高效通信和共識機制上展開設計方案。隨著擬態(tài)技術與 AI[22]、IoT、Cloud、Data與 SDN等新型技術深度融合,將逐漸形成“擬態(tài) +”AICDS共生生態(tài)。例如,CNN[23]、RNN[24]、GNN[25]、GRU[26]等神經網絡算法驅動的人工智能技術,可用于優(yōu)化擬態(tài)多模裁決、態(tài)勢感知、數(shù)據(jù)計算等性能,因此,可將 AI用于分析操作系統(tǒng)架構的安全態(tài)勢不足;操作系統(tǒng)內生安全可用于IoT中的智能駕駛輔助系統(tǒng)(ADAS)、車聯(lián)網防御系統(tǒng)[27],彌補因物聯(lián)網[28]連接泛在、數(shù)據(jù)聚合、平臺各異、設備復雜和可靠性存在較大隱患等缺陷[29]。但目前操作系統(tǒng)內生安全的事實性安全性能有待提高,部署成本有待降低,且面臨在非協(xié)同多模決策下存在攻擊逃逸空間、異構度增益與執(zhí)行體同步互相掣肘、安全與功能難以平衡和現(xiàn)有內生安全組件擬態(tài)熵有限等多重挑戰(zhàn)[30],與各類技術結合的諸多研究點有待突破。
審核編輯:湯梓紅
-
嵌入式系統(tǒng)
+關注
關注
41文章
3662瀏覽量
130617 -
Linux
+關注
關注
87文章
11420瀏覽量
212319 -
操作系統(tǒng)
+關注
關注
37文章
7025瀏覽量
124702 -
多內核
+關注
關注
0文章
4瀏覽量
7018
原文標題:基于多內核的操作系統(tǒng)內生安全技術
文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦

評論