范昌琪 普華基礎軟件股份有限公司
基于L4微內核的物聯網操作系統安全機制實現研究
范昌琪 普華基礎軟件股份有限公司
目前各種智能感知設備眾多,軟硬件多元化和碎片化,普遍采用基于L4的微內核操作系統,本文基于物聯網應用情況提出基于國際三層安全實現規范要求的安全設計規范,并在強制訪問控制和安全審計方面提出可行性的技術實現建議。
微內核 L4 物聯網操作系統 強制訪問控制 安全審計
在目前的各種智能感知設備面臨廠家不同,智能化的程度參差不齊,各感知設備也是千差萬別,呈現出軟硬件設備多元化的局面。這種軟硬件設備的多元化和碎片化也給生態體系的建設帶來的明顯的障礙,缺乏統一的操作系統平臺和統一的集成開發環境,給設備提供商和應用開發商帶來了很多額外的開發成本,也影響了物聯網產業的健康發展。同時,物聯網操作系統有著多接入、長實時、多元數據交互的特點,系統的信息安全對物聯網設備的穩定運行和可靠使用至關重要。
因此,傳統的操作系統已經無法滿足物聯網產業的發展需求,需要對傳統的操作系統功能進行擴展,架構進行重新設計和規劃,在信息安全上進行深度設計,滿足物聯網發展的需要。
微內核作為近些年操作系統內核技術的熱點話題,其可靠性、可擴展性、實時性和安全性為解決目前物聯網操作系統的碎片化問題提供了較好的思路,物聯網操作系統有實時性和非實時性要求,也有需要圖形界面的,也有不需要圖形界面的,同時也面臨著多硬件架構的問題,微內核剛好可以很好解決這些技術難題。
L4是目前最為先進的微內核構架的操作系統內核,其設計基于兩個基本設計原則:①高性能和靈活性的要求決定微內核必須盡可能縮到最小;②微內核實現本身取決于硬件結構,它是不可移植的。雖然微內核可以改善整個系統的移植性,但它本身是不可移植的,因為要達到高性能,它的實現必須緊密聯系于硬件結構。具有實時能力的微內核服務通常還可以向非實時應用提供它們的服務,并根據可用資源來調度其客戶。

圖1 單內核操作系統(左)和微內核操作系統(右)結構比較
與微內核相對應的是單內核操作系統,單核操作系統提供了完整的操作系統服務,如上圖所示的文件系統、進程間通信、進程調度、內存管理、設備驅動程序等。而應用程序則運行在用戶態,而應用程序想要使用系統服務,則需要通過內核所提供的接口,即系統調用。當應用程序進程執行系統調用時,會陷入到內核的代碼去執行,進程此時運行于內核態,處理器處于特權等級最高的狀態執行。當應用程序需要的操作系統服務調用完成,進程回到原來的應用程序代碼中繼續執行,同時也回到了用戶態,在較低的特權等級上運行。常見的操作系統如Windows和Linux操作系統都屬于這一類型。
而對于右邊的微內核操作系統來說,內核部分則被最大限度的簡化了,只包括了最基本的IPC機制、地址空間管理和調度機制等用于實現操作系統服務的基本功能。而操作系統服務,比如前文所提到的諸如設備驅動、文件系統、應用程序間通信等,則都將通過用戶態服務程序的方式實現。當普通的應用程序需要操作系統的相關服務時,其需要通過發起進程間通信給相應的服務程序,由這些服務程序進行相關操作,必要時服務程序也會通過執行內核提供的系統調用陷入到內核態運行以便完成一些基本的操作,并把結果再通過進程間通信反饋給應用程序。
物聯網操作系統核心層要實現國標GB/T 20272操作系統安全技術要求第三級要求,需要最訪問控制、安全審計和特權管理進行內核級安全增強達到安全三級要求。如下圖淺藍色背景所示:

圖2 內核層國標安全三級實現
安全微內核操作系統將提供一種新的特性-Capability,即權能機制保護系統所有內核維護資源,除了幾個精心設計的系統調用之外,所有系統調用都已被權能保護,其他資源,包括虛擬內存,物理內存,系統緩存,進程間通信以及其他資源都受權能檢查的保護。另外權能是一種單向的保護,類似現實中的門概念,兩個房間之間只有一扇門。作為發送者,它必須擁有發送給接受者的權能,接受者是目標資源。
另外,為了提高操作系統安全性,Capability和要訪問的資源之間的關系類似于文件描述符號和文件之間的關系一樣,要訪問一個資源,必須通過Capability來進行,Capability里面規定了那么資源可以被訪問等安全特性,Capability允許被授予(從一個用戶轉移到另外一個用戶),因此,Capability是比ACL(訪問控制列表)更好的一種增強系統安全性的方法。微內核系統安全框架如下圖所示。

圖3 L4微內核系統安全框架圖
用戶應用程序分為一般性應用程序程序和可信應用程序。當這些應用程序要進行系統資源訪問時,通過系統調用接口,進入微內核安全內核。安全內核會進行一系列安全檢查,并且所有這些安全特性調用,都會被審計機制監控。
強制訪問控制模塊是以TE等安全模型為基礎,對數據實施強制訪問控制,支持系統客體和主體的敏感性、完整性和非等級類別劃分,提供具有不同敏感性和完 整性的信息和資源的保護。在微內核安全訪問控制框架(LSM)基礎上,采用Flask安全控制機制實現強制訪問控制。
客體管理器負責實施安全策略的判定結果,對于內核,可以認為客體管理器是一個內核子系統,內核客體管理器的實例包括文件系統、進程管理和System V進程間通信(IPC)。在LSM架構中,客體管理器是通過LSM鉤子描繪的,這些鉤子分散在內核子系統各個地方,調用安全服務器(LSM模塊)做出訪問決定。然后,LSM鉤子通過允許或拒絕對內核資源的訪問強制執行這些決定。
安全服務器負責作出安全策略的判定。安全服務器的安全策略由四個子策略組成:BLP策略、BIBA策略、類型加強(TE)策略和基于角色的訪問控制(RBAC)策略。安全服務器提供的訪問判定必須滿足每個子策略的要求。
訪問向量緩存(AVC),AVC緩存決定是由安全服務器為后面的訪問檢查準備的,目的為了提升訪問確認的速度。AVC還為LSM鉤子和內核客體管理器提供了功能接口。
用戶空間客體管理器實現在用戶空間進行資源管理。用戶空間客體管理器行為與內核客體管理器功能非常類似,主要的區別是用戶空間客體管理器不能使用內核AVC,每個都必須有其自身的,獨立的AVC存儲過去來自內核的決定,用戶空間的AVC功能包括在庫中。另一個區別是用戶空間客體管理器沒有LSM鉤子,LSM鉤子屬于內核空間的概念。

圖4 強制訪問控制整體框架
安全審計模塊對系統內發生的各種安全事件進行實時記錄并保證審計記錄的可用性。對審計事件的記錄應是一個搜集并保存事件的過程。審計模塊應能夠偵測審計存儲是否超過設定的門限閥值,并能執行超過范圍后采取的行動。

圖5 審計子系統實現構架
其中:
內核審計進程,開辟一個大緩沖區用來收集從審計點收集到的審計記錄,并定期將審計記錄寫到文件中。
用戶態審計守護進程,進行用戶態的守護進程主要負責將內核接口產生的審計信息寫到硬盤。這些審計信息是由應用程序和系統活動觸發。用戶態審計守護進程的啟動后由審計配置控制。用戶態審計守護進程通過netlink套接字與內核審計線程通信。
審計配置工具控制審計系統,它控制日志產生參數,內核審計接口,和審計規則配置。審計規則則決定哪些事件被記錄到日志。
審計規則文件包含審計配置工具的命令參數。用戶態的審計守護進程在啟動時通過審計配置工具順序讀入參數內容。
審計報告工具可以通過分析審計日志文件定制報告,生成的報告應該很容易被其它應用程序利用。
審計查詢工具能夠通過不同的關鍵字或者其它的日志格式特性查詢到特定的事件。
審計分發工具守護進程能夠傳遞事件通知到其它進程或者寫入審計日志。
[1]張琰,晏永紅,劉靜,周婭琴.一種基于物聯網技術的通風離心機控制平臺設計[J].微電子學與計算機,2016,11:171-175+180
[2]劉偉,林開司,劉安勇.基于物聯網的魚缸智能控制系統設計與實現[J].淮海工學院學報(自然科學版),2016,04:1-4
[3]石鑫,夏青.基于Android操作系統的實時系統監控研究[J].電視技術,2015,16:61-64