范昌琪 普華基礎(chǔ)軟件股份有限公司
基于L4微內(nèi)核的物聯(lián)網(wǎng)操作系統(tǒng)安全機(jī)制實(shí)現(xiàn)研究
范昌琪 普華基礎(chǔ)軟件股份有限公司
目前各種智能感知設(shè)備眾多,軟硬件多元化和碎片化,普遍采用基于L4的微內(nèi)核操作系統(tǒng),本文基于物聯(lián)網(wǎng)應(yīng)用情況提出基于國際三層安全實(shí)現(xiàn)規(guī)范要求的安全設(shè)計(jì)規(guī)范,并在強(qiáng)制訪問控制和安全審計(jì)方面提出可行性的技術(shù)實(shí)現(xiàn)建議。
微內(nèi)核 L4 物聯(lián)網(wǎng)操作系統(tǒng) 強(qiáng)制訪問控制 安全審計(jì)
在目前的各種智能感知設(shè)備面臨廠家不同,智能化的程度參差不齊,各感知設(shè)備也是千差萬別,呈現(xiàn)出軟硬件設(shè)備多元化的局面。這種軟硬件設(shè)備的多元化和碎片化也給生態(tài)體系的建設(shè)帶來的明顯的障礙,缺乏統(tǒng)一的操作系統(tǒng)平臺和統(tǒng)一的集成開發(fā)環(huán)境,給設(shè)備提供商和應(yīng)用開發(fā)商帶來了很多額外的開發(fā)成本,也影響了物聯(lián)網(wǎng)產(chǎn)業(yè)的健康發(fā)展。同時(shí),物聯(lián)網(wǎng)操作系統(tǒng)有著多接入、長實(shí)時(shí)、多元數(shù)據(jù)交互的特點(diǎn),系統(tǒng)的信息安全對物聯(lián)網(wǎng)設(shè)備的穩(wěn)定運(yùn)行和可靠使用至關(guān)重要。
因此,傳統(tǒng)的操作系統(tǒng)已經(jīng)無法滿足物聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)展需求,需要對傳統(tǒng)的操作系統(tǒng)功能進(jìn)行擴(kuò)展,架構(gòu)進(jìn)行重新設(shè)計(jì)和規(guī)劃,在信息安全上進(jìn)行深度設(shè)計(jì),滿足物聯(lián)網(wǎng)發(fā)展的需要。
微內(nèi)核作為近些年操作系統(tǒng)內(nèi)核技術(shù)的熱點(diǎn)話題,其可靠性、可擴(kuò)展性、實(shí)時(shí)性和安全性為解決目前物聯(lián)網(wǎng)操作系統(tǒng)的碎片化問題提供了較好的思路,物聯(lián)網(wǎng)操作系統(tǒng)有實(shí)時(shí)性和非實(shí)時(shí)性要求,也有需要圖形界面的,也有不需要圖形界面的,同時(shí)也面臨著多硬件架構(gòu)的問題,微內(nèi)核剛好可以很好解決這些技術(shù)難題。
L4是目前最為先進(jìn)的微內(nèi)核構(gòu)架的操作系統(tǒng)內(nèi)核,其設(shè)計(jì)基于兩個(gè)基本設(shè)計(jì)原則:①高性能和靈活性的要求決定微內(nèi)核必須盡可能縮到最小;②微內(nèi)核實(shí)現(xiàn)本身取決于硬件結(jié)構(gòu),它是不可移植的。雖然微內(nèi)核可以改善整個(gè)系統(tǒng)的移植性,但它本身是不可移植的,因?yàn)橐_(dá)到高性能,它的實(shí)現(xiàn)必須緊密聯(lián)系于硬件結(jié)構(gòu)。具有實(shí)時(shí)能力的微內(nèi)核服務(wù)通常還可以向非實(shí)時(shí)應(yīng)用提供它們的服務(wù),并根據(jù)可用資源來調(diào)度其客戶。
圖1 單內(nèi)核操作系統(tǒng)(左)和微內(nèi)核操作系統(tǒng)(右)結(jié)構(gòu)比較
與微內(nèi)核相對應(yīng)的是單內(nèi)核操作系統(tǒng),單核操作系統(tǒng)提供了完整的操作系統(tǒng)服務(wù),如上圖所示的文件系統(tǒng)、進(jìn)程間通信、進(jìn)程調(diào)度、內(nèi)存管理、設(shè)備驅(qū)動程序等。而應(yīng)用程序則運(yùn)行在用戶態(tài),而應(yīng)用程序想要使用系統(tǒng)服務(wù),則需要通過內(nèi)核所提供的接口,即系統(tǒng)調(diào)用。當(dāng)應(yīng)用程序進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí),會陷入到內(nèi)核的代碼去執(zhí)行,進(jìn)程此時(shí)運(yùn)行于內(nèi)核態(tài),處理器處于特權(quán)等級最高的狀態(tài)執(zhí)行。當(dāng)應(yīng)用程序需要的操作系統(tǒng)服務(wù)調(diào)用完成,進(jìn)程回到原來的應(yīng)用程序代碼中繼續(xù)執(zhí)行,同時(shí)也回到了用戶態(tài),在較低的特權(quán)等級上運(yùn)行。常見的操作系統(tǒng)如Windows和Linux操作系統(tǒng)都屬于這一類型。
而對于右邊的微內(nèi)核操作系統(tǒng)來說,內(nèi)核部分則被最大限度的簡化了,只包括了最基本的IPC機(jī)制、地址空間管理和調(diào)度機(jī)制等用于實(shí)現(xiàn)操作系統(tǒng)服務(wù)的基本功能。而操作系統(tǒng)服務(wù),比如前文所提到的諸如設(shè)備驅(qū)動、文件系統(tǒng)、應(yīng)用程序間通信等,則都將通過用戶態(tài)服務(wù)程序的方式實(shí)現(xiàn)。當(dāng)普通的應(yīng)用程序需要操作系統(tǒng)的相關(guān)服務(wù)時(shí),其需要通過發(fā)起進(jìn)程間通信給相應(yīng)的服務(wù)程序,由這些服務(wù)程序進(jìn)行相關(guān)操作,必要時(shí)服務(wù)程序也會通過執(zhí)行內(nèi)核提供的系統(tǒng)調(diào)用陷入到內(nèi)核態(tài)運(yùn)行以便完成一些基本的操作,并把結(jié)果再通過進(jìn)程間通信反饋給應(yīng)用程序。
物聯(lián)網(wǎng)操作系統(tǒng)核心層要實(shí)現(xiàn)國標(biāo)GB/T 20272操作系統(tǒng)安全技術(shù)要求第三級要求,需要最訪問控制、安全審計(jì)和特權(quán)管理進(jìn)行內(nèi)核級安全增強(qiáng)達(dá)到安全三級要求。如下圖淺藍(lán)色背景所示:
圖2 內(nèi)核層國標(biāo)安全三級實(shí)現(xiàn)
安全微內(nèi)核操作系統(tǒng)將提供一種新的特性-Capability,即權(quán)能機(jī)制保護(hù)系統(tǒng)所有內(nèi)核維護(hù)資源,除了幾個(gè)精心設(shè)計(jì)的系統(tǒng)調(diào)用之外,所有系統(tǒng)調(diào)用都已被權(quán)能保護(hù),其他資源,包括虛擬內(nèi)存,物理內(nèi)存,系統(tǒng)緩存,進(jìn)程間通信以及其他資源都受權(quán)能檢查的保護(hù)。另外權(quán)能是一種單向的保護(hù),類似現(xiàn)實(shí)中的門概念,兩個(gè)房間之間只有一扇門。作為發(fā)送者,它必須擁有發(fā)送給接受者的權(quán)能,接受者是目標(biāo)資源。
另外,為了提高操作系統(tǒng)安全性,Capability和要訪問的資源之間的關(guān)系類似于文件描述符號和文件之間的關(guān)系一樣,要訪問一個(gè)資源,必須通過Capability來進(jìn)行,Capability里面規(guī)定了那么資源可以被訪問等安全特性,Capability允許被授予(從一個(gè)用戶轉(zhuǎn)移到另外一個(gè)用戶),因此,Capability是比ACL(訪問控制列表)更好的一種增強(qiáng)系統(tǒng)安全性的方法。微內(nèi)核系統(tǒng)安全框架如下圖所示。
圖3 L4微內(nèi)核系統(tǒng)安全框架圖
用戶應(yīng)用程序分為一般性應(yīng)用程序程序和可信應(yīng)用程序。當(dāng)這些應(yīng)用程序要進(jìn)行系統(tǒng)資源訪問時(shí),通過系統(tǒng)調(diào)用接口,進(jìn)入微內(nèi)核安全內(nèi)核。安全內(nèi)核會進(jìn)行一系列安全檢查,并且所有這些安全特性調(diào)用,都會被審計(jì)機(jī)制監(jiān)控。
強(qiáng)制訪問控制模塊是以TE等安全模型為基礎(chǔ),對數(shù)據(jù)實(shí)施強(qiáng)制訪問控制,支持系統(tǒng)客體和主體的敏感性、完整性和非等級類別劃分,提供具有不同敏感性和完 整性的信息和資源的保護(hù)。在微內(nèi)核安全訪問控制框架(LSM)基礎(chǔ)上,采用Flask安全控制機(jī)制實(shí)現(xiàn)強(qiáng)制訪問控制。
客體管理器負(fù)責(zé)實(shí)施安全策略的判定結(jié)果,對于內(nèi)核,可以認(rèn)為客體管理器是一個(gè)內(nèi)核子系統(tǒng),內(nèi)核客體管理器的實(shí)例包括文件系統(tǒng)、進(jìn)程管理和System V進(jìn)程間通信(IPC)。在LSM架構(gòu)中,客體管理器是通過LSM鉤子描繪的,這些鉤子分散在內(nèi)核子系統(tǒng)各個(gè)地方,調(diào)用安全服務(wù)器(LSM模塊)做出訪問決定。然后,LSM鉤子通過允許或拒絕對內(nèi)核資源的訪問強(qiáng)制執(zhí)行這些決定。
安全服務(wù)器負(fù)責(zé)作出安全策略的判定。安全服務(wù)器的安全策略由四個(gè)子策略組成:BLP策略、BIBA策略、類型加強(qiáng)(TE)策略和基于角色的訪問控制(RBAC)策略。安全服務(wù)器提供的訪問判定必須滿足每個(gè)子策略的要求。
訪問向量緩存(AVC),AVC緩存決定是由安全服務(wù)器為后面的訪問檢查準(zhǔn)備的,目的為了提升訪問確認(rèn)的速度。AVC還為LSM鉤子和內(nèi)核客體管理器提供了功能接口。
用戶空間客體管理器實(shí)現(xiàn)在用戶空間進(jìn)行資源管理。用戶空間客體管理器行為與內(nèi)核客體管理器功能非常類似,主要的區(qū)別是用戶空間客體管理器不能使用內(nèi)核AVC,每個(gè)都必須有其自身的,獨(dú)立的AVC存儲過去來自內(nèi)核的決定,用戶空間的AVC功能包括在庫中。另一個(gè)區(qū)別是用戶空間客體管理器沒有LSM鉤子,LSM鉤子屬于內(nèi)核空間的概念。
圖4 強(qiáng)制訪問控制整體框架
安全審計(jì)模塊對系統(tǒng)內(nèi)發(fā)生的各種安全事件進(jìn)行實(shí)時(shí)記錄并保證審計(jì)記錄的可用性。對審計(jì)事件的記錄應(yīng)是一個(gè)搜集并保存事件的過程。審計(jì)模塊應(yīng)能夠偵測審計(jì)存儲是否超過設(shè)定的門限閥值,并能執(zhí)行超過范圍后采取的行動。
圖5 審計(jì)子系統(tǒng)實(shí)現(xiàn)構(gòu)架
其中:
內(nèi)核審計(jì)進(jìn)程,開辟一個(gè)大緩沖區(qū)用來收集從審計(jì)點(diǎn)收集到的審計(jì)記錄,并定期將審計(jì)記錄寫到文件中。
用戶態(tài)審計(jì)守護(hù)進(jìn)程,進(jìn)行用戶態(tài)的守護(hù)進(jìn)程主要負(fù)責(zé)將內(nèi)核接口產(chǎn)生的審計(jì)信息寫到硬盤。這些審計(jì)信息是由應(yīng)用程序和系統(tǒng)活動觸發(fā)。用戶態(tài)審計(jì)守護(hù)進(jìn)程的啟動后由審計(jì)配置控制。用戶態(tài)審計(jì)守護(hù)進(jìn)程通過netlink套接字與內(nèi)核審計(jì)線程通信。
審計(jì)配置工具控制審計(jì)系統(tǒng),它控制日志產(chǎn)生參數(shù),內(nèi)核審計(jì)接口,和審計(jì)規(guī)則配置。審計(jì)規(guī)則則決定哪些事件被記錄到日志。
審計(jì)規(guī)則文件包含審計(jì)配置工具的命令參數(shù)。用戶態(tài)的審計(jì)守護(hù)進(jìn)程在啟動時(shí)通過審計(jì)配置工具順序讀入?yún)?shù)內(nèi)容。
審計(jì)報(bào)告工具可以通過分析審計(jì)日志文件定制報(bào)告,生成的報(bào)告應(yīng)該很容易被其它應(yīng)用程序利用。
審計(jì)查詢工具能夠通過不同的關(guān)鍵字或者其它的日志格式特性查詢到特定的事件。
審計(jì)分發(fā)工具守護(hù)進(jìn)程能夠傳遞事件通知到其它進(jìn)程或者寫入審計(jì)日志。
[1]張琰,晏永紅,劉靜,周婭琴.一種基于物聯(lián)網(wǎng)技術(shù)的通風(fēng)離心機(jī)控制平臺設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2016,11:171-175+180
[2]劉偉,林開司,劉安勇.基于物聯(lián)網(wǎng)的魚缸智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].淮海工學(xué)院學(xué)報(bào)(自然科學(xué)版),2016,04:1-4
[3]石鑫,夏青.基于Android操作系統(tǒng)的實(shí)時(shí)系統(tǒng)監(jiān)控研究[J].電視技術(shù),2015,16:61-64