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