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

      技術(shù)頻道

      基于uCOSII的MAC設(shè)計(jì)與實(shí)現(xiàn)

      摘 要: 針對嵌入式計(jì)算機(jī)應(yīng)用領(lǐng)域中越來越突出的信息安全問題。本文以uCOSII操作系統(tǒng)為基礎(chǔ),在其上增加了強(qiáng)制訪問控制MAC模塊。模塊參照BLP安全模型,根據(jù)uCOSII特性設(shè)計(jì)出BLP修正模型,實(shí)現(xiàn)了對系統(tǒng)的強(qiáng)制存取控制。
      關(guān)鍵字:強(qiáng)制訪問控制 安全模型 安全操作系統(tǒng)
      1 引言
      隨著嵌入式計(jì)算機(jī)應(yīng)用的日益普及,特別是嵌入式設(shè)備不斷的網(wǎng)絡(luò)化、智能化,嵌入式計(jì)算機(jī)的安全就成為一個急待解決的問題。許多嵌入式計(jì)算機(jī)處理的信息涉及到國家政治經(jīng)濟(jì)安全,工商業(yè)情報(bào)等,不采取有效的安全防范措施,一旦受到攻擊將造成巨大的損失。
      在計(jì)算機(jī)系統(tǒng)中,安全機(jī)制的重要內(nèi)容就是存取控制。一般存在二種存取控制形式:自主訪問控制和強(qiáng)制訪問控制。
      自主訪問控制具有很大的缺陷性。由于它的“自主”能力,從理論上講根本不可能建立對特洛伊木馬的有效防護(hù)機(jī)制。而強(qiáng)制訪問控制MAC則強(qiáng)制性嚴(yán)格規(guī)定各個客體屬性,實(shí)現(xiàn)了信息的單向流通,可以有效的抵制特洛伊木馬的攻擊。
      2 MAC控制模型
      2.1 強(qiáng)制訪問控制MAC簡介
      在強(qiáng)制訪問控制下,系統(tǒng)中的每個進(jìn)程,每個文件和每個IPC客體(消息,信號量和共享區(qū)域)都被賦予了相應(yīng)的安全屬性,這些屬性是有安全管理員或者系統(tǒng)自動生成的,是不能隨意改變的。主體對任何客體的訪問要求,必須經(jīng)過MAC訪問控制模塊的檢測。如圖1所示。


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

      2.2 形式化安全模型BLP
      本文采用的MAC安全模型將基于改進(jìn)的BLP模型(Bell-LaPadula Module)的安全策略包括二部分:自主安全策略和強(qiáng)制安全策略。模型認(rèn)為系統(tǒng)中的活動使系統(tǒng)狀態(tài)不斷變化,但是必須保持所有的狀態(tài)都是系統(tǒng)安全狀態(tài)。由此定義所有系統(tǒng)狀態(tài)的轉(zhuǎn)換規(guī)則必須保持簡單安全性,*特性和自主安全性。
      與BIBA模型(BIBA Module)相反,BLP模型主要注重保密性控制,控制信息從低安全級傳向高安全級,但是缺少完整性的控制,其“向上寫”規(guī)則存在潛在的危險(xiǎn),它不能夠有效的限制隱通道。因此對其規(guī)則中所有涉及到可能對客體內(nèi)容進(jìn)行改動的操作以更嚴(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表示客體:文件,信號量等;
      主體對客體的訪問屬性A分為:r(只讀),a(只寫),w(讀寫),x(執(zhí)行)和c(控制);
      b (S×O×A)表示某個特定狀態(tài)下,主體以何方式訪問客體;
      fo表示客體的安全級函數(shù);
      fc表示主體當(dāng)前的安全級函數(shù);
      可以看出根據(jù)修改后的規(guī)則當(dāng)進(jìn)行只寫操作時,主體必須具有與客體相同的安全屬性。
      2.3 BLP模型在uCOSII中的應(yīng)用
      為了使BLP在uCOSII中運(yùn)用,必須進(jìn)行模型與uCOSII的對應(yīng)性分析。下面我們將討論模型的系統(tǒng)狀態(tài),狀態(tài)轉(zhuǎn)換和系統(tǒng)安全狀態(tài)初始化在uCOSII中的對應(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)程都會繼承用戶的安全級。uCOSII系統(tǒng)中客體O主要有進(jìn)程,文件,共享內(nèi)存,消息和信號量。模型的訪問權(quán)限集由r(讀),a(追加寫),w(寫),x(執(zhí)行)和-(空)組成。在uCOSII中把追加寫也認(rèn)為是寫,所以訪問權(quán)限集由四個屬性組成。
      uCOSII中存取控制矩陣M將通過每個客體屬性中16bit的保護(hù)模式實(shí)現(xiàn)。而安全級別函數(shù)F由賦予主體的當(dāng)前安全級別和賦予客體的安全級別組成。安全級別是由密級和域二部分組成的。密級共分為三級:top secret,secret和unsecret。域分為用戶空間域,系統(tǒng)管理域和安全控制域。
      uCOSII是一個嵌入式的系統(tǒng),我們采用的文件系統(tǒng)將是一個一級目錄的文件系統(tǒng)。所以對于文件不存在客體層次結(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)換都是通過系統(tǒng)調(diào)用實(shí)施的。系統(tǒng)中定義了基本的調(diào)用接口。當(dāng)出現(xiàn)調(diào)用時,系統(tǒng)通過軟中斷下陷到安全控制域中完成操作,以保證狀態(tài)的安全。
      2.3.3 BLP模型的安全狀態(tài)初始化
      uCOSII系統(tǒng)的安全初始化是在系統(tǒng)常規(guī)服務(wù)啟動以前完成的。主要包括:
      ① MAC機(jī)制和DAC機(jī)制的初始化。
      ② 系統(tǒng)中客體安全屬性的配置與檢測。
      ③ 審計(jì)跟蹤機(jī)制的啟動和日志數(shù)據(jù)庫的初始化。
      3 MAC模塊的設(shè)計(jì)與實(shí)現(xiàn)
      3.1 MAC模塊的設(shè)計(jì)
      在模塊設(shè)計(jì)中,安全策略實(shí)施代碼被集成到操作系統(tǒng)的各個子系統(tǒng)中。在各個子系統(tǒng)中建立客體管理器。現(xiàn)在主要有MAC進(jìn)程管理器,MAC文件系統(tǒng)管理器,MAC網(wǎng)絡(luò)管理器。對于進(jìn)程的訪問控制是MAC模塊的重點(diǎn)。MAC進(jìn)程管理器中不僅包括進(jìn)程的訪問控制還包括消息,信號量等IPC客體的訪問控制。只有這些IPC客體的配合才能真正做到進(jìn)程的MAC控制。
      由于安全措施是運(yùn)用在嵌入式操作系統(tǒng)上的,必須對一般的MAC控制方式進(jìn)行裁減,并作出一些規(guī)定以方便模塊的實(shí)現(xiàn)。
      (1)主體只有進(jìn)程。作為主體的用戶在系統(tǒng)中表現(xiàn)為繼承用戶的安全屬性的進(jìn)程。
      (2)整個系統(tǒng)中大部分客體的密級和范疇都是事先定義的,除了重新編譯系統(tǒng)外,無法作出改變。
      (3)安全管理員可以更改與它同密級的安全配置文件和用戶帳戶屬性文件信息,但是不能修改其他任何信息。
      (4)為了方便策略的更改,安全策略的實(shí)施代碼與安全策略的決策代碼是嚴(yán)格劃分的。
      為了保持uCOSII系統(tǒng)的實(shí)時性,對訪問要求的判斷在保持正確性的基礎(chǔ)上要盡量快捷。當(dāng)判斷為非法訪問時,還需要進(jìn)行一系列的后續(xù)操作,如恢復(fù)進(jìn)程狀態(tài),記錄訪問情況,審計(jì)判斷等,這些操作的實(shí)施將保持在一個較低的進(jìn)程優(yōu)先級上,盡量避免影響其他進(jìn)程的運(yùn)行,減少對系統(tǒng)實(shí)時性的影響。
      模塊實(shí)施框架如圖2所示。


      圖2 MAC模塊框架圖

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


      圖3 MAC控制流程圖

      3.2.2 MAC模塊中重要數(shù)據(jù)結(jié)構(gòu)和函數(shù)
      對于主體對象的安全屬性以如下結(jié)構(gòu)體表示:
      struct label {
      int flags; //是否已經(jīng)初始化
      //主體安全屬性
      unsigned int prio; //主體安全級別
      unsigned long reg //主體范疇
      void (*dfs_handle); //默認(rèn)處理句柄
      };
      考慮到系統(tǒng)是一個實(shí)時操作系統(tǒng),所以策略不應(yīng)該很復(fù)雜.策略庫在系統(tǒng)初始化時加載到RAM中,策略庫以單向鏈表形式存在.每個結(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)如下:
      struct macpolicy {
      struct macpolicy *next //用于連接下一個結(jié)點(diǎn)
      char *mpc_name; //違規(guī)操作名稱
      void (*mpc_ops); //策略操作句柄
      void (*restore); //恢復(fù)操作句柄
      };
      目前一共有三個客體管理器,管理四個類型的客體:進(jìn)程,IPC客體,文件,網(wǎng)絡(luò)事件。針對每一類客體都有一個訪問控制函數(shù),對該類客體的訪問作出初步判斷:
      (1) mac_checkprocess(struct label *p,OS_TCB *q)
      本函數(shù)實(shí)施對進(jìn)程的訪問控制,第一個參數(shù)為訪問者的安全屬性,第二個參數(shù)為被訪問進(jìn)程的控制塊指針。
      (2) mac_checkfs(struct label *p,pfile *q, INT8U optype ,int state)
      本函數(shù)實(shí)施對文件系統(tǒng)的訪問控制,第二個參數(shù)為指向文件客體的指針,第三個參數(shù)對客體的操作類型,第四個參數(shù)為文件系統(tǒng)的狀態(tài),供審計(jì)跟蹤使用。
      (3) mac_checkevent(struct label *p,EVENT *q, INT8U optype)
      本函數(shù)實(shí)現(xiàn)對ipc客體的訪問控制。參數(shù)中分別指明操作者和被操作客體,還有操作類型。
      (4) mac_checknet(struct label *p,SOCKET *q, INT8U optype)
      本函數(shù)實(shí)現(xiàn)對網(wǎng)絡(luò)客體的訪問控制。主體對任何一個套接字的訪問操作必須通過該函數(shù)的控制。
      通過上述四個函數(shù)的判斷,當(dāng)出現(xiàn)非法訪問請求時,必須對操作進(jìn)程進(jìn)行一定的控制:
      (5) mac_erropt(void *pdata)
      該函數(shù)是作為一個出錯處理的入口函數(shù)。客體管理器將把訪問情況通過無類型參數(shù)pdata傳遞給本函數(shù),函數(shù)根據(jù)訪問情況分別調(diào)用各個客體的錯誤處理函數(shù)。
      對于四個類型的客體分別有一個通用的錯誤處理函數(shù):
      (6) mac_handlerprocesserr(void);
      (7) mac_handlereventerr(void);
      (8) mac_handlerfserr(void);
      (9) mac_handlerneterr(void);
      它們將負(fù)責(zé)對非授權(quán)操作的初步評估,根據(jù)策略改變主體運(yùn)行狀態(tài),反饋信息給安全管理員和提交相關(guān)信息給審計(jì)模塊。
      4 結(jié)束語
      基于改進(jìn)的BLP模型,本文所提出的強(qiáng)制訪問控制模塊的設(shè)計(jì)已基本實(shí)現(xiàn)。并且,作者修改了本實(shí)驗(yàn)室已實(shí)現(xiàn)的智能脫扣器項(xiàng)目的軟件,并把它加載到修改后的嵌入式操作系統(tǒng)上進(jìn)行初步的測試。測試結(jié)果表明:系統(tǒng)的實(shí)時性和安全性均能滿足要求。在本論文的基礎(chǔ)上,作者將對MAC的安全模型進(jìn)行進(jìn)一步改進(jìn)和擴(kuò)充,使其穩(wěn)定性和實(shí)時性進(jìn)一步增強(qiáng),以使其能更適應(yīng)實(shí)際的應(yīng)用領(lǐng)域。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 日韩一区二区三区射精 | 在线日产精品一区| 国产主播福利一区二区| 欧洲精品码一区二区三区免费看| 国产亚洲一区二区三区在线| 精品女同一区二区三区在线| 国产福利一区二区三区| 国产亚洲欧洲Aⅴ综合一区| 人妻少妇精品视频一区二区三区 | 国产成人精品无码一区二区老年人 | 亚洲AV午夜福利精品一区二区| 国产成人综合亚洲一区| 在线电影一区二区| 无码中文字幕一区二区三区| 麻豆亚洲av熟女国产一区二| 国产人妖视频一区二区| 波多野结衣的AV一区二区三区| 四虎精品亚洲一区二区三区| 国产精品福利一区| 在线免费视频一区| 国产精品久久久久一区二区| 在线播放精品一区二区啪视频| 日本一区二三区好的精华液| 亚洲欧美成人一区二区三区 | 日本精品无码一区二区三区久久久 | 国产精品视频一区国模私拍| 国产成人一区二区三中文| 亚洲中文字幕在线无码一区二区| 久久精品国产一区二区三区不卡| 国产大秀视频一区二区三区 | 欧美日韩一区二区成人午夜电影| 亚洲AV无码一区二区三区在线| 精品人妻AV一区二区三区 | 无码日韩精品一区二区人妻| 福利一区福利二区| 亚洲日韩激情无码一区| 一区二区三区观看免费中文视频在线播放 | 精品午夜福利无人区乱码一区| 亚洲国产AV一区二区三区四区| 欧美亚洲精品一区二区| 一区二区视频免费观看|