當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于uCOSII的MAC設(shè)計(jì)與實(shí)現(xiàn)

  : 針對(duì)嵌入式計(jì)算機(jī)應(yīng)用領(lǐng)域中越來(lái)越突出的信息安全問(wèn)題。本文以u(píng)COSII操作系統(tǒng)為基礎(chǔ),在其上增加了強(qiáng)制訪問(wèn)控制MAC模塊。模塊參照BLP安全模型,根據(jù)uCOSII特性設(shè)計(jì)出BLP修正模型,實(shí)現(xiàn)了對(duì)系統(tǒng)的強(qiáng)制存取控制。
關(guān)鍵字:強(qiáng)制訪問(wèn)控制 安全模型 安全操作系統(tǒng)

1   引言

    隨著嵌入式計(jì)算機(jī)應(yīng)用的日益普及,特別是嵌入式設(shè)備不斷的網(wǎng)絡(luò)化、智能化,嵌入式計(jì)算機(jī)的安全就成為一個(gè)急待解決的問(wèn)題。許多嵌入式計(jì)算機(jī)處理的信息涉及到國(guó)家政治經(jīng)濟(jì)安全,工商業(yè)情報(bào)等,不采取有效的安全防范措施,一旦受到攻擊將造成巨大的損失。

    在計(jì)算機(jī)系統(tǒng)中,安全機(jī)制的重要內(nèi)容就是存取控制。一般存在二種存取控制形式:自主訪問(wèn)控制和強(qiáng)制訪問(wèn)控制。

    自主訪問(wèn)控制具有很大的缺陷性。由于它的“自主”能力,從理論上講根本不可能建立對(duì)特洛伊木馬的有效防護(hù)機(jī)制。而強(qiáng)制訪問(wèn)控制MAC則強(qiáng)制性嚴(yán)格規(guī)定各個(gè)客體屬性,實(shí)現(xiàn)了信息的單向流通,可以有效的抵制特洛伊木馬的攻擊。

2   MAC控制模型

2.1 強(qiáng)制訪問(wèn)控制MAC簡(jiǎn)介

    在強(qiáng)制訪問(wèn)控制下,系統(tǒng)中的每個(gè)進(jìn)程,每個(gè)文件和每個(gè)IPC客體(消息,信號(hào)量和共享區(qū)域)都被賦予了相應(yīng)的安全屬性,這些屬性是有安全管理員或者系統(tǒng)自動(dòng)生成的,是不能隨意改變的。主體對(duì)任何客體的訪問(wèn)要求,必須經(jīng)過(guò)MAC訪問(wèn)控制模塊的檢測(cè)。如圖1所示。

圖1  MAC結(jié)構(gòu)示意圖

2.2 形式化安全模型BLP

    本文采用的MAC安全模型將基于改進(jìn)的BLP模型(Bell-LaPadula Module)的安全策略包括二部分:自主安全策略和強(qiáng)制安全策略。模型認(rèn)為系統(tǒng)中的活動(dòng)使系統(tǒng)狀態(tài)不斷變化,但是必須保持所有的狀態(tài)都是系統(tǒng)安全狀態(tài)。由此定義所有系統(tǒng)狀態(tài)的轉(zhuǎn)換規(guī)則必須保持簡(jiǎn)單安全性,*特性和自主安全性。

    與BIBA模型(BIBA Module)相反,BLP模型主要注重保密性控制,控制信息從低安全級(jí)傳向高安全級(jí),但是缺少完整性的控制,其“向上寫(xiě)”規(guī)則存在潛在的危險(xiǎn),它不能夠有效的限制隱通道。因此對(duì)其規(guī)則中所有涉及到可能對(duì)客體內(nèi)容進(jìn)行改動(dòng)的操作以更嚴(yán)格控制,修改后規(guī)則如下:

(O∈b(S:a))=>(fo(O)=fc(S))

(O∈b(S:w))=>(fo(O)=fc(s))

(O∈b(S:r))=>(fo(S)>fc(O))

(O∈b(S:c))=>(fo(O)<fc(S))

(O∈b(S:x))=>(fo(S)>fc(O))

其中:

S表示主體:用戶,進(jìn)程等;

O表示客體:文件,信號(hào)量等;

主體對(duì)客體的訪問(wèn)屬性A分為:r(只讀),a(只寫(xiě)),w(讀寫(xiě)),x(執(zhí)行)和c(控制);

b (S×O×A)表示某個(gè)特定狀態(tài)下,主體以何方式訪問(wèn)客體;

fo表示客體的安全級(jí)函數(shù);

fc表示主體當(dāng)前的安全級(jí)函數(shù);

    可以看出根據(jù)修改后的規(guī)則當(dāng)進(jìn)行只寫(xiě)操作時(shí),主體必須具有與客體相同的安全屬性。

2.3 BLP模型在uCOSII中的應(yīng)用

    為了使BLP在uCOSII中運(yùn)用,必須進(jìn)行模型與uCOSII的對(duì)應(yīng)性分析。下面我們將討論模型的系統(tǒng)狀態(tài),狀態(tài)轉(zhuǎn)換和系統(tǒng)安全狀態(tài)初始化在uCOSII中的對(duì)應(yīng)實(shí)施方式。

2.3.1 BLP模型的系統(tǒng)狀態(tài)

    系統(tǒng)狀態(tài)是集合V=(B×M×F×H)中的元素。其中B是S×O×A的集合,在uCOSII中主體S只有進(jìn)程,當(dāng)用戶登錄后,所有由用戶發(fā)起的進(jìn)程都會(huì)繼承用戶的安全級(jí)。uCOSII系統(tǒng)中客體O主要有進(jìn)程,文件,共享內(nèi)存,消息和信號(hào)量。模型的訪問(wèn)權(quán)限集由r(讀),a(追加寫(xiě)),w(寫(xiě)),x(執(zhí)行)和-(空)組成。在uCOSII中把追加寫(xiě)也認(rèn)為是寫(xiě),所以訪問(wèn)權(quán)限集由四個(gè)屬性組成。

    uCOSII中存取控制矩陣M將通過(guò)每個(gè)客體屬性中16bit的保護(hù)模式實(shí)現(xiàn)。而安全級(jí)別函數(shù)F由賦予主體的當(dāng)前安全級(jí)別和賦予客體的安全級(jí)別組成。安全級(jí)別是由密級(jí)和域二部分組成的。密級(jí)共分為三級(jí):top secret,secret和unsecret。域分為用戶空間域,系統(tǒng)管理域和安全控制域。

    uCOSII是一個(gè)嵌入式的系統(tǒng),我們采用的文件系統(tǒng)將是一個(gè)一級(jí)目錄的文件系統(tǒng)。所以對(duì)于文件不存在客體層次結(jié)構(gòu)H。

2.3.2 BLP模型的狀態(tài)轉(zhuǎn)換

       模型要求狀態(tài)轉(zhuǎn)換的任一規(guī)則都要保持系統(tǒng)安全狀態(tài)。uCOSII系統(tǒng)中的狀態(tài)轉(zhuǎn)換都是通過(guò)系統(tǒng)調(diào)用實(shí)施的。系統(tǒng)中定義了基本的調(diào)用接口。當(dāng)出現(xiàn)調(diào)用時(shí),系統(tǒng)通過(guò)軟中斷下陷到安全控制域中完成操作,以保證狀態(tài)的安全。

2.3.3 BLP模型的安全狀態(tài)初始化

       uCOSII系統(tǒng)的安全初始化是在系統(tǒng)常規(guī)服務(wù)啟動(dòng)以前完成的。主要包括:

① MAC機(jī)制和DAC機(jī)制的初始化。

② 系統(tǒng)中客體安全屬性的配置與檢測(cè)。

③ 審計(jì)跟蹤機(jī)制的啟動(dòng)和日志數(shù)據(jù)庫(kù)的初始化。

3   MAC模塊的設(shè)計(jì)與實(shí)現(xiàn)

3.1  MAC模塊的設(shè)計(jì)

    在模塊設(shè)計(jì)中,安全策略實(shí)施代碼被集成到操作系統(tǒng)的各個(gè)子系統(tǒng)中。在各個(gè)子系統(tǒng)中建立客體管理器?,F(xiàn)在主要有MAC進(jìn)程管理器,MAC文件系統(tǒng)管理器,MAC網(wǎng)絡(luò)管理器。對(duì)于進(jìn)程的訪問(wèn)控制是MAC模塊的重點(diǎn)。MAC進(jìn)程管理器中不僅包括進(jìn)程的訪問(wèn)控制還包括消息,信號(hào)量等IPC客體的訪問(wèn)控制。只有這些IPC客體的配合才能真正做到進(jìn)程的MAC控制。

    由于安全措施是運(yùn)用在嵌入式操作系統(tǒng)上的,必須對(duì)一般的MAC控制方式進(jìn)行裁減,并作出一些規(guī)定以方便模塊的實(shí)現(xiàn)。

(1)主體只有進(jìn)程。作為主體的用戶在系統(tǒng)中表現(xiàn)為繼承用戶的安全屬性的進(jìn)程。

(2)整個(gè)系統(tǒng)中大部分客體的密級(jí)和范疇都是事先定義的,除了重新編譯系統(tǒng)外,無(wú)法作出改變。

(3)安全管理員可以更改與它同密級(jí)的安全配置文件和用戶帳戶屬性文件信息,但是不能修改其他任何信息。

(4)為了方便策略的更改,安全策略的實(shí)施代碼與安全策略的決策代碼是嚴(yán)格劃分的。

       為了保持uCOSII系統(tǒng)的實(shí)時(shí)性,對(duì)訪問(wèn)要求的判斷在保持正確性的基礎(chǔ)上要盡量快捷。當(dāng)判斷為非法訪問(wèn)時(shí),還需要進(jìn)行一系列的后續(xù)操作,如恢復(fù)進(jìn)程狀態(tài),記錄訪問(wèn)情況,審計(jì)判斷等,這些操作的實(shí)施將保持在一個(gè)較低的進(jìn)程優(yōu)先級(jí)上,盡量避免影響其他進(jìn)程的運(yùn)行,減少對(duì)系統(tǒng)實(shí)時(shí)性的影響。

       模塊實(shí)施框架如圖2所示。

圖2 MAC模塊框架圖

3.2 MAC模塊的實(shí)現(xiàn)

3.2.1 MAC訪問(wèn)控制的實(shí)現(xiàn)過(guò)程

       整個(gè)MAC模塊以模塊化方式實(shí)現(xiàn),依據(jù)設(shè)計(jì)中的要求可以分為客體管理器、響應(yīng)處理單元和策略庫(kù)三個(gè)部分。整個(gè)控制過(guò)程如圖3所示。

圖3 MAC控制流程圖

3.2.2 MAC模塊中重要數(shù)據(jù)結(jié)構(gòu)和函數(shù)

對(duì)于主體對(duì)象的安全屬性以如下結(jié)構(gòu)體表示:

struct label {

    int flags;   //是否已經(jīng)初始化

//主體安全屬性

    unsigned int prio; //主體安全級(jí)別

    unsigned long reg //主體范疇

    void (*dfs_handle); //默認(rèn)處理句柄   

};

    考慮到系統(tǒng)是一個(gè)實(shí)時(shí)操作系統(tǒng),所以策略不應(yīng)該很復(fù)雜.策略庫(kù)在系統(tǒng)初始化時(shí)加載到RAM中,策略庫(kù)以單向鏈表形式存在.每個(gè)結(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)如下:

struct macpolicy {

  struct macpolicy *next //用于連接下一個(gè)結(jié)點(diǎn)

  char *mpc_name;  //違規(guī)操作名稱

  void (*mpc_ops);   //策略操作句柄

  void (*restore);   //恢復(fù)操作句柄

};

    目前一共有三個(gè)客體管理器,管理四個(gè)類型的客體:進(jìn)程,IPC客體,文件,網(wǎng)絡(luò)事件。針對(duì)每一類客體都有一個(gè)訪問(wèn)控制函數(shù),對(duì)該類客體的訪問(wèn)作出初步判斷:

(1) mac_checkprocess(struct label *p,OS_TCB *q)

    本函數(shù)實(shí)施對(duì)進(jìn)程的訪問(wèn)控制,第一個(gè)參數(shù)為訪問(wèn)者的安全屬性,第二個(gè)參數(shù)為被訪問(wèn)進(jìn)程的控制塊指針。

(2) mac_checkfs(struct label *p,pfile *q, INT8U optype ,int state)

    本函數(shù)實(shí)施對(duì)文件系統(tǒng)的訪問(wèn)控制,第二個(gè)參數(shù)為指向文件客體的指針,第三個(gè)參數(shù)對(duì)客體的操作類型,第四個(gè)參數(shù)為文件系統(tǒng)的狀態(tài),供審計(jì)跟蹤使用。

(3) mac_checkevent(struct label *p,EVENT *q, INT8U optype)

    本函數(shù)實(shí)現(xiàn)對(duì)ipc客體的訪問(wèn)控制。參數(shù)中分別指明操作者和被操作客體,還有操作類型。

(4) mac_checknet(struct label *p,SOCKET *q, INT8U optype)

    本函數(shù)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)客體的訪問(wèn)控制。主體對(duì)任何一個(gè)套接字的訪問(wèn)操作必須通過(guò)該函數(shù)的控制。

    通過(guò)上述四個(gè)函數(shù)的判斷,當(dāng)出現(xiàn)非法訪問(wèn)請(qǐng)求時(shí),必須對(duì)操作進(jìn)程進(jìn)行一定的控制:

(5) mac_erropt(void *pdata)

    該函數(shù)是作為一個(gè)出錯(cuò)處理的入口函數(shù)??腕w管理器將把訪問(wèn)情況通過(guò)無(wú)類型參數(shù)pdata傳遞給本函數(shù),函數(shù)根據(jù)訪問(wèn)情況分別調(diào)用各個(gè)客體的錯(cuò)誤處理函數(shù)。

    對(duì)于四個(gè)類型的客體分別有一個(gè)通用的錯(cuò)誤處理函數(shù):

(6) mac_handlerprocesserr(void);

(7) mac_handlereventerr(void);

(8) mac_handlerfserr(void);

(9) mac_handlerneterr(void);

    它們將負(fù)責(zé)對(duì)非授權(quán)操作的初步評(píng)估,根據(jù)策略改變主體運(yùn)行狀態(tài),反饋信息給安全管理員和提交相關(guān)信息給審計(jì)模塊。

4 結(jié)束語(yǔ)

    基于改進(jìn)的BLP模型,本文所提出的強(qiáng)制訪問(wèn)控制模塊的設(shè)計(jì)已基本實(shí)現(xiàn)。并且,作者修改了本實(shí)驗(yàn)室已實(shí)現(xiàn)的智能脫扣器項(xiàng)目的軟件,并把它加載到修改后的嵌入式操作系統(tǒng)上進(jìn)行初步的測(cè)試。測(cè)試結(jié)果表明:系統(tǒng)的實(shí)時(shí)性和安全性均能滿足要求。在本論文的基礎(chǔ)上,作者將對(duì)MAC的安全模型進(jìn)行進(jìn)一步改進(jìn)和擴(kuò)充,使其穩(wěn)定性和實(shí)時(shí)性進(jìn)一步增強(qiáng),以使其能更適應(yīng)實(shí)際的應(yīng)用領(lǐng)域。

參考文獻(xiàn):

【1】 Jean J.Labrosse[USA] MicroC/OS-II The Real-Time Kernel Second Edition[M]  2002

【2】 IEEE Draft P1003.1e[S]

“B.26 Mandatory Access Control”

”B.27 Information Labeling” 1999

【3】  鐘誠(chéng), 趙躍華主編 信息安全概論[M]   武漢理工大學(xué)出版社 2003

【4】  卿斯?jié)h 劉文清等編著 操作系統(tǒng)安全[M] 清華大學(xué)出版社 2004

【5】 Jeremy Bentham著 嵌入式系統(tǒng)Web服務(wù)器-tcp/ip lean[M] 機(jī)械工業(yè)出版社 20

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉