?
本文以RT-Linux實(shí)時(shí)操作系統(tǒng)為平臺(tái),對(duì)十字路口交通燈控制建立安全實(shí)驗(yàn)?zāi)P?,硬件防危核?shí)現(xiàn)技術(shù),為防危保障探索新的實(shí)現(xiàn)途徑。
早在19世紀(jì)70年代,為保證系統(tǒng)中的敏感信息不被非法用戶惡意破壞和非法訪問,Roger Schell和Mitre等人提出了安全核(security kernel)的概念。安全核將系統(tǒng)中的軟件隔離為可信的和不可信的兩部分,由可信賴信號(hào)負(fù)責(zé)對(duì)不可信部分進(jìn)行審核,以保證不可信部分不會(huì)對(duì)敏感數(shù)據(jù)進(jìn)行非法和錯(cuò)誤的訪問。
安全核的技術(shù)在信息安全領(lǐng)域中取得了成功并得到廣泛的應(yīng)用。在安全核基礎(chǔ)上,Rushby等人又進(jìn)一步提出了防危核(safety kernel)的概念,用于防止軟件對(duì)安全關(guān)鍵設(shè)備的非法訪問,從而保障系統(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è)備不被非法訪問,以避免因?qū)υO(shè)備的誤操作引起的重大生命財(cái)產(chǎn)損失和環(huán)境破壞。防危核把受保護(hù)設(shè)備與系統(tǒng)中的其它部分隔離,通過實(shí)施防危策略(safety policy)對(duì)這些設(shè)備的訪問進(jìn)行特殊控制。凡是對(duì)受保護(hù)設(shè)備的訪問,都必須經(jīng)過危核的審查,合法者予以支持;反之,則采取相應(yīng)的出錯(cuò)處理措施,維護(hù)系統(tǒng)的防危特性,這樣就能很好地避免軟件故障造成的災(zāi)難后果。從應(yīng)用軟件的角度來看,防危核的原理如圖1所示。在工程應(yīng)用中,要保證危核的有效性,必須遵循下列3項(xiàng)規(guī)則。

?
(1)短小精練
為了不影響系統(tǒng)的性能,防危核應(yīng)盡可能小,為此系統(tǒng)所有的防危核策略均由防危核為實(shí)施是不現(xiàn)實(shí)的。采用將防危策略放在防危核外部的防危策略庫(kù)中的方法,縮小防危核的大小主,防危核在防危處理時(shí)訪問防危策略庫(kù),以獲取相應(yīng)防危策略。
(2)完備性
完備性要求,不通過防危核主體就不能對(duì)客體進(jìn)行任何訪問操作。它表明對(duì)設(shè)備的任何訪問請(qǐng)求都必須通過防危核的驗(yàn)證。如果系統(tǒng)中存在其它組件可以繞開防危核訪問設(shè)備,顯然安全將無法得到保障。所以采用了防危核技術(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-Linux OS構(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來處理,之后才由標(biāo)準(zhǔn)的內(nèi)核來處理。非實(shí)時(shí)任務(wù)通過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í)工作通常指超過時(shí)限要求就會(huì)造成嚴(yán)重?fù)p害的工作,而軟實(shí)時(shí)即使超過時(shí)限也不會(huì)帶來嚴(yán)重后果。以核能電廠和看VCD為例,用在核能電廠的實(shí)時(shí)操作系統(tǒng),如果超出時(shí)限可能會(huì)導(dǎo)致嚴(yán)重的損害,然而VCD播放器超出時(shí)限只不過讓使用者感覺不舒服而已。所以前者是硬實(shí)時(shí),后者是軟實(shí)時(shí)。
這樣一種Linux實(shí)時(shí)化方案,對(duì)原Linux改動(dòng)最小,又能充分利用標(biāo)準(zhǔn)Linux的全部特性,從而能滿足實(shí)時(shí)系統(tǒng)防危核控制模型研究的諸多要求,因此,NMT RT-Linux是本安全模型研究的最佳實(shí)驗(yàn)平臺(tái)。
電子發(fā)燒友App






































評(píng)論