下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于RT-Linux防危保障機(jī)制的實(shí)驗(yàn)?zāi)P?/p>
基于RT-Linux防危保障機(jī)制的實(shí)驗(yàn)?zāi)P?/p>
類別:嵌入式系統(tǒng)
 來(lái)源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用作者:楊霞熊光澤楊仕平于遜
 摘要:隨著嵌入式實(shí)時(shí)系統(tǒng)在安全關(guān)鍵系統(tǒng)中日益廣泛的應(yīng)用,其軟件不但要保護(hù)嵌放式實(shí)時(shí)系統(tǒng)的功能性和時(shí)間限制,對(duì)其安全性、穩(wěn)定性和可靠性的要求也大大提高。軟件錯(cuò)誤的比例大大高于硬件錯(cuò)誤,軟件錯(cuò)誤可能引起硬件誤操作,進(jìn)而直接威脅系統(tǒng)安全。使用防危核可有效防止關(guān)鍵設(shè)備誤操作。本文以RT-Linux實(shí)時(shí)操作系統(tǒng)為平臺(tái),對(duì)十字路口交通燈控制建立安全實(shí)驗(yàn)?zāi)P?,硬件防危核?shí)現(xiàn)技術(shù),為防危保障探索新的實(shí)現(xiàn)途徑。
 關(guān)鍵詞:防危核安全核實(shí)時(shí)系統(tǒng)防危策略
 早在19世紀(jì)70年代,為保證系統(tǒng)中的敏感信息不被非法用戶惡意破壞和非法訪問(wèn),RogerSchell和Mitre等人提出了安全核(securitykernel)的概念。安全核將系統(tǒng)中的軟件隔離為可信的和不可信的兩部分,由可信賴信號(hào)負(fù)責(zé)對(duì)不可信部分進(jìn)行審核,以保證不可信部分不會(huì)對(duì)敏感數(shù)據(jù)進(jìn)行非法和錯(cuò)誤的訪問(wèn)。安全核的技術(shù)在信息安全領(lǐng)域中取得了成功并得到廣泛的應(yīng)用。在安全核基礎(chǔ)上,Rushby等人又進(jìn)一步提出了防危核(safetykernel)的概念,用于防止軟件對(duì)安全關(guān)鍵設(shè)備的非法訪問(wèn),從而保障系統(tǒng)安全。防危核由一組防危策略和隔離組成,因此,防危策略的完備性和低開銷是防隱核可靠和高效的關(guān)鍵?,F(xiàn)在,對(duì)防危核的研究還處于初級(jí)階段,本文介紹我們基于RT-Linux實(shí)現(xiàn)的隊(duì)危核。實(shí)驗(yàn)結(jié)果表明了該方案的有效性和可行性。
 1防危核技術(shù)
 防危核關(guān)心的是如何保護(hù)設(shè)備不被非法訪問(wèn),以避免因?qū)υO(shè)備的誤操作引起的重大生命財(cái)產(chǎn)損失和環(huán)境破壞。防危核把受保護(hù)設(shè)備與系統(tǒng)中的其它部分隔離,通過(guò)實(shí)施防危策略(safetypolicy)對(duì)這些設(shè)備的訪問(wèn)進(jìn)行特殊控制。凡是對(duì)受保護(hù)設(shè)備的訪問(wèn),都必須經(jīng)過(guò)危核的審查,合法者予以支持;反之,則采取相應(yīng)的出錯(cuò)處理措施,維護(hù)系統(tǒng)的防危特性,這樣就能很好地避免軟件故障造成的災(zāi)難后果。從應(yīng)用軟件的角度來(lái)看,防危核的原理如圖1所示。在工程應(yīng)用中,要保證危核的有效性,必須遵循下列3項(xiàng)規(guī)則。
 (1)短小精練
 為了不影響系統(tǒng)的性能,防危核應(yīng)盡可能小,為此系統(tǒng)所有的防危核策略均由防危核為實(shí)施是不現(xiàn)實(shí)的。采用將防危策略放在防危核外部的防危策略庫(kù)中的方法,縮小防危核的大小主,防危核在防危處理時(shí)訪問(wèn)防危策略庫(kù),以獲取相應(yīng)防危策略。
 (2)完備性
 完備性要求,不通過(guò)防危核主體就不能對(duì)客體進(jìn)行任何訪問(wèn)操作。它表明對(duì)設(shè)備的任何訪問(wèn)請(qǐng)求都必須通過(guò)防危核的驗(yàn)證。如果系統(tǒng)中存在其它組件可以繞開防危核訪問(wèn)設(shè)備,顯然安全將無(wú)法得到保障。所以采用了防危核技術(shù)的系統(tǒng)必須要保證防危核對(duì)設(shè)備的專一控制。
 (3)通用性
 通用性指防危核模塊的基本結(jié)構(gòu)不依賴于任何特定的操作系統(tǒng)和設(shè)備,只需要操作系統(tǒng)和設(shè)備滿足防危核的接口要求,并修改策略庫(kù),就可以將防危核軟件應(yīng)用到任何操作系統(tǒng)和設(shè)備中。
 2開發(fā)平臺(tái)RT-LinuxOS構(gòu)架與特征
 通常,安全關(guān)鍵系統(tǒng)對(duì)實(shí)時(shí)性有嚴(yán)格要求,我們選擇RT-Linux操作系統(tǒng)為安全實(shí)驗(yàn)?zāi)P偷拈_發(fā)平臺(tái)。
 RT-Linux是美國(guó)NMT大學(xué)對(duì)標(biāo)準(zhǔn)Linux的一個(gè)實(shí)時(shí)擴(kuò)展版本,其結(jié)構(gòu)如圖2所示。它實(shí)際上是給原Linux內(nèi)核打了實(shí)時(shí)補(bǔ)丁,打了補(bǔ)丁的Linux內(nèi)核由兩部分組成:RT-Linux和Linux。在RT-Linux內(nèi)核實(shí)時(shí)應(yīng)用(任務(wù))則是一種可加載的內(nèi)核模塊,具有高的優(yōu)先級(jí)。另外,所有的中斷都先由RT-Linux來(lái)處理,之后才由標(biāo)準(zhǔn)的內(nèi)核來(lái)處理。非實(shí)時(shí)任務(wù)通過(guò)RT-Linux提供的FIFO(一種透明的管道)與實(shí)時(shí)任務(wù)通信。
 RT-Linux可以提供應(yīng)用程序的硬實(shí)時(shí)保證。所謂“硬實(shí)時(shí)”是區(qū)別“軟實(shí)時(shí)”而言的。硬實(shí)時(shí)對(duì)滿足時(shí)限的要求比軟實(shí)時(shí)嚴(yán)格,通常硬實(shí)時(shí)的系統(tǒng)響應(yīng)時(shí)間在ms或μs級(jí),而軟實(shí)時(shí)對(duì)其響應(yīng)時(shí)間的要求沒有那么嚴(yán)格。硬實(shí)時(shí)工作通常指超過(guò)時(shí)限要求就會(huì)造成嚴(yán)重?fù)p害的工作,而軟實(shí)時(shí)即使超過(guò)時(shí)限也不會(huì)帶來(lái)嚴(yán)重后果。以核能電廠和看VCD為例,用在核能電廠的實(shí)時(shí)操作系統(tǒng),如果超出時(shí)限可能會(huì)導(dǎo)致嚴(yán)重的損害,然而VCD播放器超出時(shí)限只不過(guò)讓使用者感覺不舒服而已。所以前者是硬實(shí)時(shí),后者是軟實(shí)時(shí)。
 這樣一種Linux實(shí)時(shí)化方案,對(duì)原Linux改動(dòng)最小,又能充分利用標(biāo)準(zhǔn)Linux的全部特性,從而能滿足實(shí)時(shí)系統(tǒng)防危核控制模型研究的諸多要求,因此,NMTRT-Linux是本安全模型研究的最佳實(shí)驗(yàn)平臺(tái)。
 3Linux平臺(tái)的其它使用資源
 通常,基于RT-Linux的應(yīng)用程序由兩部分組成:一部分運(yùn)行在Real-Time下,另一部分運(yùn)行在標(biāo)準(zhǔn)的Linux下。運(yùn)行在Real-Time下的任務(wù)是實(shí)時(shí)任務(wù),它作為L(zhǎng)inux的內(nèi)核模塊(Module)被加載到Linux內(nèi)核中,也就是它運(yùn)行于Linux內(nèi)核態(tài),因此需要使用Linux內(nèi)核態(tài)資源。本控制模型系統(tǒng)中的防危核正是作為實(shí)時(shí)任務(wù)運(yùn)行于Linux內(nèi)核態(tài),而十字路口交通燈控制設(shè)備運(yùn)行于標(biāo)準(zhǔn)Linux下??刂圃O(shè)備任務(wù)采用Linux的TCL/TK圖形編程語(yǔ)言編程,以友好、形象、直觀的界面模擬防危核對(duì)十字路口交通燈的控制。下面將分別介紹上述資源。
 3.1內(nèi)核模塊加載機(jī)制
 Linux提供的可加載內(nèi)核模塊(Module)是Linux內(nèi)核支持的動(dòng)態(tài)可加載模塊,它們是核心的一部分;但是并沒有編譯到核心里面去,只是一個(gè)目標(biāo)文件,可根據(jù)需要在系統(tǒng)啟動(dòng)后動(dòng)態(tài)地加載或卸載,Linux中大多數(shù)設(shè)備驅(qū)動(dòng)程序或文件系統(tǒng)都做成這樣的模塊。超級(jí)用戶可以通過(guò)insmod和rmmod命令分別載入和卸載模塊。核心也可在需要時(shí),請(qǐng)求守護(hù)進(jìn)程(kerneld)載入和卸載模塊。這種方式可以減小核心代碼的規(guī)模,使核心配置更為靈活,并且用戶不必每次修改后都重新編譯核心代碼和啟動(dòng)系統(tǒng)。
 一旦Linux模塊載入核心后,就成為核心代碼的一部分。它與其它核心代碼的地位是相同的。當(dāng)模塊載入系統(tǒng)核心時(shí),系統(tǒng)修改核心中的符號(hào)表,將新裁入模塊提供的資源和符號(hào)加載核心符號(hào)表中,新載入的模塊可以訪問(wèn)已載入的模塊提供的資源為自己服務(wù)。
 3.2TCL/TK圖形編程語(yǔ)言
 本系統(tǒng)中的圖形用戶界面采用TCL/TK圖形編程語(yǔ)言,使界面友好、形象、直觀。TCL是ToolControlLanguage(工具控制語(yǔ)言)的縮寫。TK是TCL“圖形工具箱”的擴(kuò)展,它提供各種標(biāo)準(zhǔn)的GUL接口,以利于迅速進(jìn)行高級(jí)應(yīng)用程序開發(fā)。
 TCL/TK是一種解釋執(zhí)行的腳本語(yǔ)言,應(yīng)用中通常將嵌入到C程序中?!靶∏?、易學(xué)、高效、跨平臺(tái)執(zhí)行”是TCL語(yǔ)言特點(diǎn)的集中體現(xiàn)。實(shí)際上,TCL不僅僅在開發(fā)小的應(yīng)用程序上有其快速、可維護(hù)性強(qiáng)等優(yōu)勢(shì),在大型應(yīng)用系統(tǒng)方面,如操作系統(tǒng)及網(wǎng)絡(luò)管理、測(cè)試系統(tǒng)、自控、仿真、可視化應(yīng)用及計(jì)算機(jī)輔助設(shè)計(jì)等方面都有豐富的應(yīng)用成果。
 4防危核實(shí)驗(yàn)原型的設(shè)計(jì)與實(shí)現(xiàn)
 圖3為以交通燈控制為模型的防危核系統(tǒng)體系結(jié)構(gòu)。
 由圖3可以看出,整個(gè)系統(tǒng)由四個(gè)部分組成:防危核、模擬設(shè)備、設(shè)備控制器、命令文件。防危核作為RT-Linux的實(shí)時(shí)任務(wù),與模擬設(shè)備、設(shè)備控制器間的通信采用RT-Linux提供的實(shí)時(shí)FIFO;而模擬設(shè)備和設(shè)備控制器間的通信使用Linux提供的非實(shí)時(shí)命名管道。下面仔細(xì)分析各模擬所提供的功能。2⑤⑥⑦sΔδΛΔωω·αγ∈βθθθ→→→→ττ防危核模塊的設(shè)計(jì)和實(shí)現(xiàn)
 系統(tǒng)在運(yùn)行時(shí)先通過(guò)命令insmod將防危核動(dòng)態(tài)加載到Linux內(nèi)核中,于是它便一直運(yùn)行內(nèi)核態(tài)。當(dāng)不需要時(shí)再用命令rmmod手動(dòng)卸載。這種方式下會(huì)對(duì)操作系統(tǒng)內(nèi)核的基本功能產(chǎn)生任何影響,同時(shí)又可以保證demo系統(tǒng)的實(shí)時(shí)性。
 防危核分為主模塊和命令檢測(cè)模塊。主模塊負(fù)責(zé)接收設(shè)備控制器傳來(lái)的設(shè)備命令和模擬設(shè)備發(fā)送的設(shè)備狀態(tài),然后根據(jù)命令參數(shù)的不同情況進(jìn)行相應(yīng)的處理。如果用戶要求命令不需要通過(guò)防危核驗(yàn)證,則直接將命令發(fā)送到模擬設(shè)備;如果用戶要求命令通過(guò)防危核驗(yàn)證,則主模塊將調(diào)用命令檢測(cè)模塊進(jìn)行命令的合法性檢測(cè),命令檢測(cè)模塊以函數(shù)形式存在并且按照交通燈的防危策略而設(shè)計(jì)。函數(shù)名為intSafetyDetect(DevStateCurrentState,SourceCmdNewCom),函數(shù)返回值為命令判斷結(jié)果。如果驗(yàn)證設(shè)備命令合法,則主模塊將設(shè)備命令及返回值一起發(fā)送到模擬設(shè)備,模擬設(shè)備據(jù)此改變?cè)O(shè)備狀態(tài);如果驗(yàn)證設(shè)備操作命令非法,則主模塊向設(shè)備控制器返回命令檢測(cè)模塊的返回值,設(shè)備當(dāng)前的狀態(tài)不改變。
 為使防危核盡可能小并具有通用性和擴(kuò)展性,將含有防危策略的命令檢測(cè)模塊以函數(shù)的形式存在于防危策略庫(kù)中,當(dāng)防危核需要防危處理時(shí),便到訪問(wèn)策略庫(kù)中調(diào)用此相關(guān)函數(shù)。若設(shè)備改變,則只需向策略庫(kù)中添加或修改相應(yīng)設(shè)備的防危策略。另外,防危核作為內(nèi)核模塊,采用內(nèi)核模塊的編寫方式編寫,模塊中只能使用系統(tǒng)調(diào)用函數(shù)。
 下面定義以交通燈為模型的防危系統(tǒng)的防危策略。
 返回值=0;
/*表明經(jīng)防危核驗(yàn)證為正確命令*/
 返回值=1;
/*命令經(jīng)防危核直接傳送到模擬設(shè)備而未經(jīng)過(guò)安全檢測(cè)模塊驗(yàn)證,模擬設(shè)備狀態(tài)根據(jù)此值改變*/
 返回值=2;
/*當(dāng)前設(shè)備狀態(tài)驗(yàn)證失敗,失敗原因不明。
 措施:模擬設(shè)備保持當(dāng)前狀態(tài)不變*/
 返回值=3;
/*同一個(gè)方向有多個(gè)信號(hào)燈同時(shí)開啟。
 措施:所有交通燈都關(guān)閉,然后在收到新的命令前設(shè)備執(zhí)行缺省命令序列,此處由模擬設(shè)備接到“3”時(shí)直接處理*/
 返回值=4;
/*四個(gè)方向同時(shí)為黃燈或綠燈。
 措施:系統(tǒng)恢復(fù)到初始狀態(tài)。在收到新的命令前設(shè)備執(zhí)行缺省狀態(tài)*/
 反回值=5;
/*命令驗(yàn)證失敗,失敗原因不明,
 措施:模擬設(shè)備保持當(dāng)前狀態(tài)不變*/
 返回值=6;
/*信號(hào)燈保持當(dāng)前狀態(tài)的時(shí)間短于最短時(shí)間(<2s),
 措施:模擬設(shè)備自動(dòng)延遲(Sleep(Time))顯示此命令*/
 返回值=7;
/*使同一個(gè)方向有多個(gè)信號(hào)燈同時(shí)開啟的信號(hào)燈命令錯(cuò)誤。
 措施:不執(zhí)行此命令,保持當(dāng)前信號(hào)燈狀態(tài)*/
 返回值=8;
/*命令的執(zhí)行將會(huì)使信號(hào)燈變化的順序不正確。
 措施:不執(zhí)行此命令,保持當(dāng)前信號(hào)燈狀態(tài)*/
 返回值=9;
/*四個(gè)方面同時(shí)為黃燈或綠燈的命令。
 措施:不執(zhí)行此命令,保持不前信號(hào)燈狀態(tài)*/
 4.2模擬設(shè)備模塊
 防危核系統(tǒng)中以十字路口交通燈模擬外部設(shè)備。當(dāng)經(jīng)防危驗(yàn)證設(shè)備命令合法時(shí),此模擬接受防危核傳入的真實(shí)設(shè)備命令intRealCmd(),并向防危核返回設(shè)備當(dāng)前最新狀態(tài)。用圖形方式形象、直觀地顯示設(shè)備本身的實(shí)時(shí)狀態(tài)(交通燈顏色的變化)、模擬設(shè)備當(dāng)前接收的命令和命令驗(yàn)證結(jié)果(合法或非法命令,對(duì)非法命令顯示出錯(cuò)原因)。
 該進(jìn)程中設(shè)有三個(gè)線程,其中第一個(gè)線程專門用于讀管道FIFO6(實(shí)時(shí)管道)獲取防危核發(fā)送的控制命令,第二個(gè)線程讀管道m(xù)yfifo(非實(shí)時(shí)管道)獲取命令控制器發(fā)送的設(shè)備控制命令,第三個(gè)線程用TCL/TK腳本語(yǔ)言實(shí)現(xiàn)模擬設(shè)備形象、美觀的圖形顯示功能。當(dāng)模擬設(shè)備啟動(dòng)后,自動(dòng)進(jìn)行初始化并調(diào)用缺省的交通燈控制命令序列完成基本操作,直以有來(lái)自設(shè)備控制和防危核的設(shè)備控制命令為止。若交通燈的顯示時(shí)間超過(guò)一定時(shí)間,則強(qiáng)制設(shè)備執(zhí)行缺省的設(shè)備狀態(tài)。
 4.3設(shè)備控制器模塊
 模擬設(shè)備控制器作為一個(gè)進(jìn)程獨(dú)立運(yùn)行,控制器先從命令文件中獲取命令參數(shù),然后根據(jù)命令的防危等級(jí)分別向模擬設(shè)備和防危核發(fā)送設(shè)備操作命令(包括正常的和不正常的操作命令)。命令中設(shè)置了時(shí)間控制參數(shù),控制器按此時(shí)間間隔值發(fā)送設(shè)備命令。
 4.4設(shè)備命令文件
 設(shè)備命令文件中存放了各種對(duì)交通燈的操作命令,包括正常和不正確命令。命令執(zhí)行有三種防危等級(jí)可供選擇:第一種,不通過(guò)防危核的命令,操作命令直接由設(shè)備控制器發(fā)送到模擬設(shè)備;第二種,通過(guò)防危核并驗(yàn)證其正確性的命令,此時(shí)防危核將調(diào)用防危策略庫(kù)的相應(yīng)防危策略驗(yàn)證命令,然后將驗(yàn)證結(jié)果發(fā)送到模擬設(shè)備;第三種,通過(guò)防危核但不驗(yàn)證設(shè)備操作的命令,命令被防危核直接送到模擬設(shè)備。設(shè)計(jì)三種等級(jí)命令的目的在于,比較是否使用防危核或是否進(jìn)行命令驗(yàn)證在系統(tǒng)性能和防危性上的差異。
 設(shè)備的命令格式為:charSourceCmd="Cmdeast-light,Cmdnorth-light,Cmdwest-light,Cmdsouth-light,intTime,boolVerifiedl,boolVerfied2"。操作命令要對(duì)十字路口的12盞交通燈進(jìn)行操作控制。參數(shù)Time指本命令相對(duì)于前一條命令延遲多長(zhǎng)時(shí)間發(fā)送。參數(shù)Verified1=0表示不經(jīng)過(guò)防危核驗(yàn)證直接傳送到設(shè)備的命令;Verified1=1表示要經(jīng)過(guò)防危核驗(yàn)證。Verified2=0表示該命令直接發(fā)送到模擬設(shè)備不經(jīng)過(guò)防危核的任何處理;Verified2=1表示該命令要通過(guò)防危核。
 StructCmd
{
 charfirst-light-color;
 charsecond-ligh
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)學(xué)有余力學(xué)生的教學(xué)方法研究
- 《土壤地理學(xué)》筆記
- 2025年湖北省高考數(shù)學(xué)模擬試卷(附答案解析)
- 數(shù)據(jù)遷移與轉(zhuǎn)換
- 閱讀理解記敘文(練習(xí))(學(xué)生版)-2025年高考英語(yǔ)一輪復(fù)習(xí)(新教材新高考)
- 湖北省襄陽(yáng)市襄州區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期9月月考英語(yǔ)試題(含答案)
- 2024年18-萘二甲酰亞胺項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 有理數(shù)的乘方(六大題型)-2024-2025學(xué)年滬教版六年級(jí)數(shù)學(xué)上冊(cè)同步練習(xí)
- 3.2 二次函數(shù) 同步練習(xí)
- 讀書交流會(huì)主持詞
- 當(dāng)代社會(huì)政策分析 課件 第八章 兒童社會(huì)政策
- 2023年徽商銀行市區(qū)支行招聘綜合柜員信息筆試上岸歷年典型考題與考點(diǎn)剖析附帶答案詳解
- 2024年湖南化工職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶答案解析
- JGT 472-2015 鋼纖維混凝土
- TD/T 1061-2021 自然資源價(jià)格評(píng)估通則(正式版)
- 24春國(guó)家開放大學(xué)《建筑力學(xué)#》形考任務(wù)1-4參考答案
- 推拿手法完整版本
- 五育并舉-同心筑夢(mèng)家長(zhǎng)會(huì)課件
- 物業(yè)工程能耗管控方案
- 2024年北京京能清潔能源電力股份有限公司招聘筆試參考題庫(kù)含答案解析
- 帕金森病機(jī)制
評(píng)論
0/150
提交評(píng)論