<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于RT-Linux防危保障機制的實(shí)驗模型

基于RT-Linux防危保障機制的實(shí)驗模型

作者: 時(shí)間:2004-12-10 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:隨著(zhù)嵌入式實(shí)時(shí)系統在安全關(guān)鍵系統中日益廣泛的應用,其軟件不但要保護嵌放式實(shí)時(shí)系統的功能性和時(shí)間限制,對其安全性、穩定性和可靠性的要求也大大提高。軟件錯誤的比例大大高于硬件錯誤,軟件錯誤可能引起硬件誤操作,進(jìn)而直接威脅系統安全。使用防危核可有效防止關(guān)鍵設備誤操作。本文以實(shí)時(shí)操作系統為平臺,對十字路口交通燈控制建立安全,硬件防危核實(shí)現技術(shù),為防危探索新的實(shí)現途徑。

關(guān)鍵詞:防危核 安全核 實(shí)時(shí)系統 防危策略

早在19世紀70年代,為保證系統中的敏感信息不被非法用戶(hù)惡意破壞和非法訪(fǎng)問(wèn),Roger Schell和Mitre等人提出了安全核(security kernel)的概念。安全核將系統中的軟件隔離為可信的和不可信的兩部分,由可信賴(lài)信號負責對不可信部分進(jìn)行審核,以保證不可信部分不會(huì )對敏感數據進(jìn)行非法和錯誤的訪(fǎng)問(wèn)。安全核的技術(shù)在信息安全領(lǐng)域中取得了成功并得到廣泛的應用。在安全核基礎上,Rushby等人又進(jìn)一步提出了防危核(safety kernel)的概念,用于防止軟件對安全關(guān)鍵設備的非法訪(fǎng)問(wèn),從而系統安全。防危核由一組防危策略和隔離組成,因此,防危策略的完備性和低開(kāi)銷(xiāo)是防隱核可靠和高效的關(guān)鍵?,F在,對防危核的研究還處于初級階段,本文介紹我們實(shí)現的隊危核。結果表明了該方案的有效性和可行性。

1 防危核技術(shù)

防危核關(guān)心的是如何保護設備不被非法訪(fǎng)問(wèn),以避免因對設備的誤操作引起的重大生命財產(chǎn)損失和環(huán)境破壞。防危核把受保護設備與系統中的其它部分隔離,通過(guò)實(shí)施防危策略(safety policy)對這些設備的訪(fǎng)問(wèn)進(jìn)行特殊控制。凡是對受保護設備的訪(fǎng)問(wèn),都必須經(jīng)過(guò)危核的審查,合法者予以支持;反之,則采取相應的出錯處理措施,維護系統的防危特性,這樣就能很好地避免軟件故障造成的災難后果。從應用軟件的角度來(lái)看,防危核的原理如圖1所示。在工程應用中,要保證危核的有效性,必須遵循下列3項規則。

(1)短小精練

為了不影響系統的性能,防危核應盡可能小,為此系統所有的防危核策略均由防危核為實(shí)施是不現實(shí)的。采用將防危策略放在防危核外部的防危策略庫中的方法,縮小防危核的大小主,防危核在防危處理時(shí)訪(fǎng)問(wèn)防危策略庫,以獲取相應防危策略。

(2)完備性

完備性要求,不通過(guò)防危核主體就不能對客體進(jìn)行任何訪(fǎng)問(wèn)操作。它表明對設備的任何訪(fǎng)問(wèn)請求都必須通過(guò)防危核的驗證。如果系統中存在其它組件可以繞開(kāi)防危核訪(fǎng)問(wèn)設備,顯然安全將無(wú)法得到。所以采用了防危核技術(shù)的系統必須要保證防危核對設備的專(zhuān)一控制。

(3)通用性

通用性指防危核模塊的基本結構不依賴(lài)于任何特定的操作系統和設備,只需要操作系統和設備滿(mǎn)足防危核的接口要求,并修改策略庫,就可以將防危核軟件應用到任何操作系統和設備中。

2 開(kāi)發(fā)平臺 OS構架與特征

通常,安全關(guān)鍵系統對實(shí)時(shí)性有嚴格要求,我們選擇RT-Linux操作系統為安全的開(kāi)發(fā)平臺。

RT-Linux是美國NMT大學(xué)對標準Linux的一個(gè)實(shí)時(shí)擴展版本,其結構如圖2所示。它實(shí)際上是給原Linux內核打了實(shí)時(shí)補丁,打了補丁的Linux內核由兩部分組成:RT-Linux和Linux。在RT-Linux內核實(shí)時(shí)應用(任務(wù))則是一種可加載的內核模塊,具有高的優(yōu)先級。另外,所有的中斷都先由RT-Linux來(lái)處理,之后才由標準的內核來(lái)處理。非實(shí)時(shí)任務(wù)通過(guò)RT-Linux提供的FIFO(一種透明的管道)與實(shí)時(shí)任務(wù)通信。

RT-Linux可以提供應用程序的硬實(shí)時(shí)保證。所謂“硬實(shí)時(shí)”是區別“軟實(shí)時(shí)”而言的。硬實(shí)時(shí)對滿(mǎn)足時(shí)限的要求比軟實(shí)時(shí)嚴格,通常硬實(shí)時(shí)的系統響應時(shí)間在ms或μs級,而軟實(shí)時(shí)對其響應時(shí)間的要求沒(méi)有那么嚴格。硬實(shí)時(shí)工作通常指超過(guò)時(shí)限要求就會(huì )造成嚴重損害的工作,而軟實(shí)時(shí)即使超過(guò)時(shí)限也不會(huì )帶來(lái)嚴重后果。以核能電廠(chǎng)和看VCD為例,用在核能電廠(chǎng)的實(shí)時(shí)操作系統,如果超出時(shí)限可能會(huì )導致嚴重的損害,然而VCD播放器超出時(shí)限只不過(guò)讓使用者感覺(jué)不舒服而已。所以前者是硬實(shí)時(shí),后者是軟實(shí)時(shí)。

這樣一種Linux實(shí)時(shí)化方案,對原Linux改動(dòng)最小,又能充分利用標準Linux的全部特性,從而能滿(mǎn)足實(shí)時(shí)系統防危核控制研究的諸多要求,因此,NMT RT-Linux是本安全模型研究的最佳實(shí)驗平臺。

3 Linux平臺的其它使用資源

通常,RT-Linux的應用程序由兩部分組成:一部分運行在Real-Time下,另一部分運行在標準的Linux下。運行在Real-Time下的任務(wù)是實(shí)時(shí)任務(wù),它作為L(cháng)inux的內核模塊(Module)被加載到Linux內核中,也就是它運行于Linux內核態(tài),因此需要使用Linux內核態(tài)資源。本控制模型系統中的防危核正是作為實(shí)時(shí)任務(wù)運行于Linux內核態(tài),而十字路口交通燈控制設備運行于標準Linux下??刂圃O備任務(wù)采用Linux的TCL/TK圖形編程語(yǔ)言編程,以友好、形象、直觀(guān)的界面模擬防危核對十字路口交通燈的控制。下面將分別介紹上述資源。

3.1 內核模塊加載

Linux提供的可加載內核模塊(Module)是Linux內核支持的動(dòng)態(tài)可加載模塊,它們是核心的一部分;但是并沒(méi)有編譯到核心里面去,只是一個(gè)目標文件,可根據需要在系統啟動(dòng)后動(dòng)態(tài)地加載或卸載,Linux中大多數設備驅動(dòng)程序或文件系統都做成這樣的模塊。超級用戶(hù)可以通過(guò)insmod和rmmod命令分別載入和卸載模塊。核心也可在需要時(shí),請求守護進(jìn)程(kerneld)載入和卸載模塊。這種方式可以減小核心代碼的規模,使核心配置更為靈活,并且用戶(hù)不必每次修改后都重新編譯核心代碼和啟動(dòng)系統。

一旦Linux模塊載入核心后,就成為核心代碼的一部分。它與其它核心代碼的地位是相同的。當模塊載入系統核心時(shí),系統修改核心中的符號表,將新裁入模塊提供的資源和符號加載核心符號表中,新載入的模塊可以訪(fǎng)問(wèn)已載入的模塊提供的資源為自己服務(wù)。

3.2 TCL/TK圖形編程語(yǔ)言

本系統中的圖形用戶(hù)界面采用TCL/TK圖形編程語(yǔ)言,使界面友好、形象、直觀(guān)。TCL是Tool Control Language(工具控制語(yǔ)言)的縮寫(xiě)。TK是TCL“圖形工具箱”的擴展,它提供各種標準的GUL接口,以利于迅速進(jìn)行高級應用程序開(kāi)發(fā)。

TCL/TK是一種解釋執行的腳本語(yǔ)言,應用中通常將嵌入到C程序中?!靶∏?、易學(xué)、高效、跨平臺執行”是TCL語(yǔ)言特點(diǎn)的集中體現。實(shí)際上,TCL不僅僅在開(kāi)發(fā)小的應用程序上有其快速、可維護性強等優(yōu)勢,在大型應用系統方面,如操作系統及網(wǎng)絡(luò )管理、測試系統、自控、仿真、可視化應用及計算機輔助設計等方面都有豐富的應用成果。

4 防危核實(shí)驗原型的設計與實(shí)現

圖3為以交通燈控制為模型的防危核系統體系結構。

由圖3可以看出,整個(gè)系統由四個(gè)部分組成:防危核、模擬設備、設備控制器、命令文件。防危核作為RT-Linux的實(shí)時(shí)任務(wù),與模擬設備、設備控制器間的通信采用RT-Linux提供的實(shí)時(shí)FIFO;而模擬設備和設備控制器間的通信使用Linux提供的非實(shí)時(shí)命名管道。下面仔細分析各模擬所提供的功能。2⑤⑥⑦sΔδΛΔωωαγβθθθ→→→→ττ 防危核模塊的設計和實(shí)現

系統在運行時(shí)先通過(guò)命令insmod將防危核動(dòng)態(tài)加載到Linux內核中,于是它便一直運行內核態(tài)。當不需要時(shí)再用命令rmmod手動(dòng)卸載。這種方式下會(huì )對操作系統內核的基本功能產(chǎn)生任何影響,同時(shí)又可以保證demo系統的實(shí)時(shí)性。

防危核分為主模塊和命令檢測模塊。主模塊負責接收設備控制器傳來(lái)的設備命令和模擬設備發(fā)送的設備狀態(tài),然后根據命令參數的不同情況進(jìn)行相應的處理。如果用戶(hù)要求命令不需要通過(guò)防危核驗證,則直接將命令發(fā)送到模擬設備;如果用戶(hù)要求命令通過(guò)防危核驗證,則主模塊將調用命令檢測模塊進(jìn)行命令的合法性檢測,命令檢測模塊以函數形式存在并且按照交通燈的防危策略而設計。函數名為int SafetyDetect(DevState CurrentState,SourceCmdNewCom),函數返回值為命令判斷結果。如果驗證設備命令合法,則主模塊將設備命令及返回值一起發(fā)送到模擬設備,模擬設備據此改變設備狀態(tài);如果驗證設備操作命令非法,則主模塊向設備控制器返回命令檢測模塊的返回值,設備當前的狀態(tài)不改變。

為使防危核盡可能小并具有通用性和擴展性,將含有防危策略的命令檢測模塊以函數的形式存在于防危策略庫中,當防危核需要防危處理時(shí),便到訪(fǎng)問(wèn)策略庫中調用此相關(guān)函數。若設備改變,則只需向策略庫中添加或修改相應設備的防危策略。另外,防危核作為內核模塊,采用內核模塊的編寫(xiě)方式編寫(xiě),模塊中只能使用系統調用函數。

下面定義以交通燈為模型的防危系統的防危策略。

返回值=0;

/*表明經(jīng)防危核驗證為正確命令*/

返回值=1;

/*命令經(jīng)防危核直接傳送到模擬設備而未經(jīng)過(guò)安全檢測模塊驗證,模擬設備狀態(tài)根據此值改變*/

返回值=2;

/*當前設備狀態(tài)驗證失敗,失敗原因不明。

措施:模擬設備保持當前狀態(tài)不變*/

返回值=3;

/*同一個(gè)方向有多個(gè)信號燈同時(shí)開(kāi)啟。

措施:所有交通燈都關(guān)閉,然后在收到新的命令前設備執行缺省命令序列,此處由模擬設備接到“3”時(shí)直接處理*/

返回值=4;

/*四個(gè)方向同時(shí)為黃燈或綠燈。

措施:系統恢復到初始狀態(tài)。在收到新的命令前設備執行缺省狀態(tài)*/

反回值=5;

/*命令驗證失敗,失敗原因不明,

措施:模擬設備保持當前狀態(tài)不變*/

返回值=6;

/*信號燈保持當前狀態(tài)的時(shí)間短于最短時(shí)間(2s),

措施:模擬設備自動(dòng)延遲(Sleep(Time))顯示此命令*/

返回值=7;

/*使同一個(gè)方向有多個(gè)信號燈同時(shí)開(kāi)啟的信號燈命令錯誤。

措施:不執行此命令,保持當前信號燈狀態(tài)*/

返回值=8;

/*命令的執行將會(huì )使信號燈變化的順序不正確。

措施:不執行此命令,保持當前信號燈狀態(tài)*/

返回值=9;

/*四個(gè)方面同時(shí)為黃燈或綠燈的命令。

措施:不執行此命令,保持不前信號燈狀態(tài)*/

4.2 模擬設備模塊

防危核系統中以十字路口交通燈模擬外部設備。當經(jīng)防危驗證設備命令合法時(shí),此模擬接受防危核傳入的真實(shí)設備命令int RealCmd(),并向防危核返回設備當前最新?tīng)顟B(tài)。用圖形方式形象、直觀(guān)地顯示設備本身的實(shí)時(shí)狀態(tài)(交通燈顏色的變化)、模擬設備當前接收的命令和命令驗證結果(合法或非法命令,對非法命令顯示出錯原因)。

該進(jìn)程中設有三個(gè)線(xiàn)程,其中第一個(gè)線(xiàn)程專(zhuān)門(mén)用于讀管道FIFO6(實(shí)時(shí)管道)獲取防危核發(fā)送的控制命令,第二個(gè)線(xiàn)程讀管道myfifo(非實(shí)時(shí)管道)獲取命令控制器發(fā)送的設備控制命令,第三個(gè)線(xiàn)程用TCL/TK腳本語(yǔ)言實(shí)現模擬設備形象、美觀(guān)的圖形顯示功能。當模擬設備啟動(dòng)后,自動(dòng)進(jìn)行初始化并調用缺省的交通燈控制命令序列完成基本操作,直以有來(lái)自設備控制和防危核的設備控制命令為止。若交通燈的顯示時(shí)間超過(guò)一定時(shí)間,則強制設備執行缺省的設備狀態(tài)。

4.3 設備控制器模塊

模擬設備控制器作為一個(gè)進(jìn)程獨立運行,控制器先從命令文件中獲取命令參數,然后根據命令的防危等級分別向模擬設備和防危核發(fā)送設備操作命令(包括正常的和不正常的操作命令)。命令中設置了時(shí)間控制參數,控制器按此時(shí)間間隔值發(fā)送設備命令。

4.4 設備命令文件

設備命令文件中存放了各種對交通燈的操作命令,包括正常和不正確命令。命令執行有三種防危等級可供選擇:第一種,不通過(guò)防危核的命令,操作命令直接由設備控制器發(fā)送到模擬設備;第二種,通過(guò)防危核并驗證其正確性的命令,此時(shí)防危核將調用防危策略庫的相應防危策略驗證命令,然后將驗證結果發(fā)送到模擬設備;第三種,通過(guò)防危核但不驗證設備操作的命令,命令被防危核直接送到模擬設備。設計三種等級命令的目的在于,比較是否使用防危核或是否進(jìn)行命令驗證在系統性能和防危性上的差異。

設備的命令格式為:char SourceCmd="Cmd east-light,Cmd north-light,Cmd west-light,Cmd south-light,int Time,bool Verifiedl,bool Verfied2"。操作命令要對十字路口的12盞交通燈進(jìn)行操作控制。參數Time指本命令相對于前一條命令延遲多長(cháng)時(shí)間發(fā)送。參數Verified1=0表示不經(jīng)過(guò)防危核驗證直接傳送到設備的命令;Verified1=1表示要經(jīng)過(guò)防危核驗證。Verified2=0表示該命令直接發(fā)送到模擬設備不經(jīng)過(guò)防危核的任何處理;Verified2=1表示該命令要通過(guò)防危核。

Struct Cmd

{

char first-light-color;

char second-light-color;

char third-light-color;

}

first-light-color,second-light-color,third-light-color表示每個(gè)方向三盞燈的顏色插入相應的顏色的圖片。整個(gè)圖形界面形象、美觀(guān)。

5 實(shí)驗系統的測試評價(jià)

根據防危核設計要求,從防危核的大小、對系統實(shí)時(shí)性的影響以及完備性三方面對本實(shí)驗系統進(jìn)行測試。

①防危核大?。悍牢:怂幾g后的目標文件為5KB,相對于RT-Linux內核源碼是非常小的。

②時(shí)間開(kāi)銷(xiāo):將防危核對控制命令驗證所需時(shí)間進(jìn)行了200次測試,得出其平均時(shí)間僅10μs左右,說(shuō)明防危核對系統實(shí)時(shí)性影響非常小。

③完備性:將防危核對第二種控制命令各種情況的防危處理結果表明,防危核的驗證結果完全正確。說(shuō)明滿(mǎn)足防危核完備性要求。

以上對防危核的測試結果表明,本控制模型完全滿(mǎn)足防危核設計要求,防危核完全可以在實(shí)時(shí)操作系統中使用。

結語(yǔ)

根據防危核等相關(guān)理論并結合RT-Linux操作系統本身的特色,本文先從理論上分析了在RT-Linux中實(shí)現防危核的可行性,然后通過(guò)實(shí)際例子實(shí)現了RT-Linux的防危核,為防危核探索了一種新的實(shí)現途徑。最后,通過(guò)對實(shí)驗系統的測試進(jìn)一步證明防危保障在實(shí)時(shí)操作系統中完全可行

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>