高 斌,翟江濤,薛朋駿
(江蘇科技大學(xué)電子信息學(xué)院,江蘇鎮(zhèn)江 212003)
一種VxWorks文件系統(tǒng)層訪問控制方法
高 斌,翟江濤*,薛朋駿
(江蘇科技大學(xué)電子信息學(xué)院,江蘇鎮(zhèn)江 212003)
針對VxWorks系統(tǒng)缺少文件層保護的問題,設(shè)計并實現(xiàn)了一種基于VxWorks文件層的訪問控制系統(tǒng).該系統(tǒng)包括訪問監(jiān)控器、訪問決策器和權(quán)限庫3部分.首先,在dosFs文件系統(tǒng)層嵌入訪問監(jiān)控器,攔截任務(wù)對塊設(shè)備中文件的訪問,同時獲取由訪問主體、客體以及訪問方式所構(gòu)成的三元組訪問任務(wù)信息;其次,訪問決策器將獲取的訪問任務(wù)信息與權(quán)限庫的規(guī)則作匹配,給出決策方案;最后,訪問監(jiān)控器根據(jù)決策方案進(jìn)行相應(yīng)的訪問控制.文中實驗部分對使用文中方法設(shè)計的VxWorks系統(tǒng)進(jìn)行了性能評估,結(jié)果表明該控制方法不僅有效提高了VxWorks系統(tǒng)的安全性,而且對VxWorks系統(tǒng)的實時性影響較小.
VxWorks;dosFs文件系統(tǒng);訪問控制;塊設(shè)備
VxWorks系統(tǒng)有著廣泛的應(yīng)用,其安全問題備受研究者們的關(guān)注.2010年7月在拉斯維加斯舉辦的黑帽大會上,HD Moore演示了利用VxWorks 5.5~6.8漏洞的過程,一旦這些漏洞被利用將會帶來巨大損失.因此,研究VxWorks系統(tǒng)安全問題具有重要意義和實用價值.
在國外,針對VxWorks的安全問題,風(fēng)河公司(Winder River)不斷發(fā)布漏洞修復(fù)補丁和系統(tǒng)升級更新,其主要研究集中在VxWorks系統(tǒng)的故障管理功能、系統(tǒng)保護域、虛擬層安全以及防火墻機制[1].2014年3月,風(fēng)河公司發(fā)布了VxWorks 7系統(tǒng),該系統(tǒng)包含全套內(nèi)置安全功能,包括安全數(shù)據(jù)存儲、防篡改設(shè)計、安全升級、可信任引導(dǎo)、用戶以及策略管理[2].
在國內(nèi),對于VxWorks的安全問題研究,主要分為兩個方面:①VxWorks系統(tǒng)的安全傳輸協(xié)議,例如文獻(xiàn)[3]中設(shè)計的EST協(xié)議能夠保證系統(tǒng)快速建立加密通信,文獻(xiàn)[4]中改進(jìn)的SSH協(xié)議能夠有效防止“中間人攻擊”問題,文獻(xiàn)[5,6]中提出的文件傳輸方案能夠保證系統(tǒng)的身份認(rèn)證和端對端數(shù)據(jù)加密;②VxWorks系統(tǒng)的訪問控制機制,例如文獻(xiàn)[7]中設(shè)計的由訪問控制單元、安全信息庫和安全I(xiàn)/O庫所構(gòu)成的訪問控制系統(tǒng)進(jìn)一步地提高了系統(tǒng)的安全性.
VxWorks系統(tǒng)的漏洞仍在逐漸被發(fā)現(xiàn),需要不斷增強VxWorks系統(tǒng)安全,其中塊設(shè)備數(shù)據(jù)安全便是一個尤為突出的問題,尤其是VxWorks系統(tǒng)所特有的dosFs文件系統(tǒng)的塊設(shè)備數(shù)據(jù)保護.文中對VxWorks5.5系統(tǒng)的dosFs文件系統(tǒng)進(jìn)行分析研究,提出一種dosFs文件系統(tǒng)層訪問控制方法,并通過實驗驗證該方法的有效性.
VxWorks的dosFs文件系統(tǒng)是一種廣泛應(yīng)用的讀寫文件系統(tǒng),該文件系統(tǒng)可以應(yīng)用在塊設(shè)備存儲器上,能夠?qū)崿F(xiàn)層次性文件和目錄管理模式,滿足VxWorks的實時性要求.
dosFs文件系統(tǒng)在VxWorks啟動過程中完成,初始化包括5個方面,分別是dosFs主模塊、dosFs格式化功能模塊、FAT文件分配表管理模塊、dosFs一致性檢查功能模塊和dosFs長文件名處理模塊.在dosFs包含的所有模塊中,dosFsLib庫完成dosFs文件系統(tǒng)與I/O子系統(tǒng)的銜接以及與底層塊設(shè)備驅(qū)動層的銜接,dosFs文件系統(tǒng)對上由I/O子系統(tǒng)進(jìn)行管理,對下通過CBIO中間層管理底層塊設(shè)備驅(qū)動,其在內(nèi)核中的層次如圖1.
圖1 內(nèi)核中dosFs文件系統(tǒng)的層次Fig.1 Level of the dosFs file system in the core
dosFs文件系統(tǒng)完成初始化,創(chuàng)建dosFs文件系統(tǒng)下塊設(shè)備后,用戶層即可通過I/O系統(tǒng)操作塊設(shè)備.I/O系統(tǒng)操作傳遞到I/O子系統(tǒng)層,I/O子系統(tǒng)借助系統(tǒng)設(shè)備表、系統(tǒng)驅(qū)動表和系統(tǒng)文件描述符表傳遞到dosFs文件系統(tǒng)層,dosFs文件系統(tǒng)通過CBIO層調(diào)用底層塊設(shè)備驅(qū)動函數(shù),最后完成塊設(shè)備中文件的相應(yīng)操作.
VxWorks塊設(shè)備文件通過dosFs文件系統(tǒng)對所有用戶可見,dosFs文件系統(tǒng)可以通過驅(qū)動函數(shù)以文件為單位對塊設(shè)備文件進(jìn)行訪問,因而可在dosFs文件系統(tǒng)層實現(xiàn)文件級訪問控制.
圖2 系統(tǒng)調(diào)用中訪問控制部件的位置Fig.2 Location of access control module in system calling
在dosFs文件系統(tǒng)層嵌入訪問監(jiān)控器,攔截所有對塊設(shè)備文件的訪問,并向訪問決策器發(fā)出判定請求.對于打開文件前的操作,決策器加載訪問控制策略,根據(jù)權(quán)限庫信息決定用戶對文件的訪問權(quán)限,并與監(jiān)控器發(fā)來的判定請求進(jìn)行匹配,得出判定結(jié)果,最后監(jiān)控器根據(jù)判定結(jié)果進(jìn)行訪問控制;對于打開文件后的操作,決策器需要借助策略緩存來決策,策略緩存中存放任務(wù)對dosFs結(jié)構(gòu)指針?biāo)赶蛭募脑L問權(quán)限.在系統(tǒng)調(diào)用中,訪問控制部件所處位置如圖2,圖中虛線框內(nèi)為訪問控制部件.
2.1 訪問監(jiān)控器
用戶通過I/O系統(tǒng)訪問塊設(shè)備中的文件,訪問傳遞到I/O子系統(tǒng),I/O子系統(tǒng)調(diào)用dosFs文件系統(tǒng)注冊的7個驅(qū)動函數(shù)完成操作.訪問監(jiān)控器嵌入在dosFs文件系統(tǒng)的7個驅(qū)動函數(shù)中,執(zhí)行驅(qū)動函數(shù)操作前,先進(jìn)入對應(yīng)的監(jiān)控器函數(shù),監(jiān)控器將訪問請求交給決策器進(jìn)行判定,決策器根據(jù)返回的判定結(jié)果,決定繼續(xù)執(zhí)行該驅(qū)動函數(shù)或者返回ERROR到I/O子系統(tǒng),調(diào)用結(jié)束.
dosFs文件系統(tǒng)7個驅(qū)動函數(shù)對應(yīng)7個訪問監(jiān)控器函數(shù),監(jiān)控器將訪問主體、訪問客體和訪問權(quán)限構(gòu)成的三元組發(fā)給決策器進(jìn)行判定.對應(yīng)于上述dosFs文件系統(tǒng)的驅(qū)動函數(shù)分類,將監(jiān)控器函數(shù)也分為兩類:一類是攔截訪問前,將<訪問主體(任務(wù)ID),訪問客體(文件名),訪問方式>構(gòu)成的三元組發(fā)送給決策器進(jìn)行判定,包括Open,Create和Delete監(jiān)控器函數(shù),即在文件打開前訪問監(jiān)控器;另一類是攔截訪問后,將<訪問主體(任務(wù)ID),訪問客體(dosFs結(jié)構(gòu)指針),訪問方式>構(gòu)成的三元組發(fā)送給決策器進(jìn)行判定,包括Read,Write,Ioctl和Close監(jiān)控器函數(shù),即在文件打開后訪問監(jiān)控器.
綜上所述,2型糖尿病合并急性腦?;颊咴陲嬍匙o理中使用飲食指導(dǎo)卡的效果顯著,既可明顯提高血糖控制情況和相關(guān)知識掌握度,又可改善患者生活質(zhì)量和血脂情況,值得臨床推廣借鑒。
除了監(jiān)控訪問,訪問監(jiān)控器還需要添加、刪除策略緩存中的權(quán)限信息,以保證打開文件后的訪問決策.添加、刪除的權(quán)限信息是<dosFs結(jié)構(gòu)指針,任務(wù)ID,權(quán)限>構(gòu)成的三元組,在Open監(jiān)控器中成功打開文件后實現(xiàn)添加,在Close監(jiān)控器中關(guān)閉文件后實現(xiàn)刪除.添加權(quán)限,即利用合成的<dosFs結(jié)構(gòu)指針,任務(wù)ID,權(quán)限>三元組權(quán)限信息來替代策略緩存中的<文件名,任務(wù)ID,訪問模式>過渡三元組信息.
2.2 訪問決策器及權(quán)限庫
訪問決策器與訪問監(jiān)控器分離,這樣可以在決策器中方便地加入各種訪問控制策略模塊.考慮到復(fù)雜的訪問策略會影響VxWorks系統(tǒng)的實時性,因而采用基于任務(wù)的訪問控制列表(Access Control Lists,ACL)的訪問控制方法[8].訪問控制機制啟動時,從權(quán)限庫存儲器中加載ACL到系統(tǒng)內(nèi)存中供決策器使用,同時加入策略緩存機制,接收訪問監(jiān)控器發(fā)送來的添加、刪除權(quán)限信息,用以打開文件后的訪問控制.
ACL以任務(wù)為中心,給任務(wù)分配對各文件的權(quán)限,任務(wù)和文件權(quán)限構(gòu)成一個訪問控制列表元素,系統(tǒng)中所有任務(wù)的訪問權(quán)限構(gòu)成整個系統(tǒng)的ACL.任務(wù)結(jié)構(gòu)和文件權(quán)限結(jié)構(gòu)組成一個鏈表,其結(jié)構(gòu)如圖3.
圖3 任務(wù)對文件訪問權(quán)限的鏈表結(jié)構(gòu)Fig.3 Structure of access authority lists from a task to a file
策略緩存實際也是一個訪問控制列表,訪問決策器接收到監(jiān)控器發(fā)送來的添加請求后,將在策略緩存中申請一段內(nèi)存空間,存放該權(quán)限信息,同時利用指向直接前驅(qū)和指向直接后驅(qū)的指針,將所有策略緩存元素鏈接成一個鏈表;在接收到刪除請求后,將刪除策略緩存中的對應(yīng)元素.權(quán)限庫加密存儲在獨立的權(quán)限庫存儲器中,形式與圖3中的結(jié)構(gòu)一致.采用對等加密算法[9],將該數(shù)據(jù)加密存儲到權(quán)限存儲器Flash[10]中,在取出時解密得到權(quán)限庫數(shù)據(jù).
3.1 實驗驗證
設(shè)計并實現(xiàn)dosFs文件系統(tǒng)層訪問控制機制后,通過實驗驗證該訪問控制機制能否拒絕非法訪問.對兩個任務(wù)tShell和tWDBx配置讀寫塊設(shè)備“/D”中文件的權(quán)限如表1.
表1 任務(wù)權(quán)限配置Table 1 Authority configuration of tasks
分別測試兩個任務(wù)對塊設(shè)備“/D”中兩個文件/D/a.txt和/D/b.txt的實際可訪問權(quán)限.在Secure CRT下輸入打開、讀寫兩個文件的命令;在Downloadable Project中編寫打開、讀寫兩個文件的函數(shù),并編譯、鏈接、下載、執(zhí)行該函數(shù).觀察上述兩個任務(wù)讀寫文件的結(jié)果,其中/D/a.txt文件的初始內(nèi)容為小寫字母a~z這26個字符,/D/b.txt文件的初始內(nèi)容為“0123456789ABCDEFG”字符串.
圖4為通過Secure CRT命令,由tShell任務(wù)讀取文件/D/a.txt,解讀結(jié)果,讀取的前8位數(shù)據(jù)為0x61,0x62,…,0x67,0x68,即字符串“abcdefgh”,讀取成功.
圖4 tShell任務(wù)讀a.txt的結(jié)果Fig.4 Result of reading a.txt of tShell
圖5為通過Secure CRT命令,由tShell任務(wù)向文件/D/a.txt寫入字符串“ABCDE”,解讀結(jié)果,讀取的前10位數(shù)據(jù)為0x41,0x42,…,0x45,0x66,0x67,…,0x6a,即字符串“ABCDEfghij”,寫入的字符串覆蓋了原字符串,寫入成功.
圖5 tShell任務(wù)寫數(shù)據(jù)到a.txt的結(jié)果Fig.5 Result of writing in a.txt of tShell
圖6為通過Secure CRT命令,由tShell任務(wù)讀寫文件/D/b.txt,解讀結(jié)果,當(dāng)以讀寫方式打開文件時打開失敗,當(dāng)以只讀方式打開文件時打開成功,即tShell只有對文件/D/b.txt的讀權(quán)限,寫權(quán)限被拒絕.
圖6 tShell任務(wù)讀寫b.txt的結(jié)果Fig.6 Result of reading and writing in b.txt of tShell
圖7為通過WindSh將Downloadable Project輸出文件下載到VxWorks系統(tǒng),tWDBx任務(wù)讀取文件/D/a.txt,解讀結(jié)果,由于tWDBx任務(wù)對/D/a.txt沒有讀寫權(quán)限,所以訪問權(quán)限被拒絕.
圖7 tWDBx任務(wù)讀a.txt的結(jié)果Fig.7 Result of reading a.txt of tWDBx
圖8為通過WindSh將Downloadable Project輸出文件下載到VxWorks系統(tǒng),tWDBx任務(wù)讀寫文件/D/b.txt,解讀結(jié)果,讀取的數(shù)據(jù)為字符串“0123456789ABCDEFG”,讀取成功.寫入字符串“VxWorks5.5”之后,讀取的數(shù)據(jù)為字符串“Vx-Works5.5ABCDEFG”,寫入成功.
圖8 tWDBx任務(wù)讀寫b.txt的結(jié)果Fig.8 Result of reading and writing in b.txt of tWDBx
綜上所述,實驗結(jié)果表明:dosFs文件系統(tǒng)層訪問控制機制能夠允許合法文件訪問并拒絕非法文件訪問,從而保護塊設(shè)備中文件的安全,提高Vx-Works系統(tǒng)的安全性.
3.2 性能分析
加入訪問控制后會影響系統(tǒng)的實時性,考慮到訪問控制機制在訪問不同大小文件時所帶來的影響差異,所以這里采用不同大小的文件進(jìn)行比較實驗.
首先進(jìn)行讀文件測試,文件大小依次是128B,512B,1KB,2KB,10KB,20KB,50KB,100KB,500KB,1 000KB,其文件名依次為1.txt~10.txt這10個文件,且均配置讀權(quán)限.讀文件操作測試100次,平均讀取時間如表2.
表2 加入訪問控制前后讀文件的時間Table 2 Time of file-reading after access control added
接著進(jìn)行寫文件測試,寫入數(shù)據(jù)的大小依次是128B,512B,1KB,2KB,10KB,20KB,50KB,100KB,500KB,1 000KB,其文件名依次為a1.txt~a10.txt這10個文件,且均配置讀寫權(quán)限,所得測試時間如表3.
表3 加入訪問控制前后寫文件的時間Table 3 Time of file-writing after access control added
VxWorks提供的系統(tǒng)函數(shù)timex和timexN存在1%左右的系統(tǒng)誤差,所以表2,3中讀取大文件的時間差受誤差影響無法精確測量.dosFs文件系統(tǒng)層訪問控制系統(tǒng)中,不論文件大小,打開并讀寫一個文件時,都需經(jīng)過相同的監(jiān)控和決策步驟,因此其消耗的系統(tǒng)時間相差不大.由前面多組有效數(shù)據(jù)可知,讀寫大文件比小文件需要的時間長,加入訪問控制后的系統(tǒng)延時最大不超過9%,最小為1.4%,其對系統(tǒng)性能的影響隨文件增大而降低.
文中針對VxWorks塊設(shè)備安全隱患,基于訪問控制列表方法,設(shè)計了一種VxWorks文件系統(tǒng)層訪問控制系統(tǒng).在利用dosFs文件系統(tǒng)進(jìn)行文件操作之前,該系統(tǒng)通過判定來訪程序的權(quán)限來保護塊設(shè)備中文件的安全.文中實驗數(shù)據(jù)表明,在dosFs文件系統(tǒng)層設(shè)立訪問控制機制,不僅提高了Vx-Works的安全性,而且對VxWorks實時性所造成的影響均在可接受范圍內(nèi).
References)
[1]Fei Chen,Bruhadeshwar B.Cross-domain privacy-preserving cooperative firewall optimization[J].IEEE/ ACM Transactions on Networking,2012,21(3):857-868.
[2]Camara P,Castro J,Merino P,et al.Verification support for ARINC-653-based avionics software[J].Software Testing:Verification and Reliability,2011,21 (4):267-298.
[3] 萬偉,王晉東,張恒巍.一種基于CPK的傳輸協(xié)議[J].計算機工程,2010,36(4):147-149.
Wan Wei,Wang Jindong,Zhang Hengwei.CPK-based transmission protocol[J].ComputerEngineering,2010,36(4):147-149.(in Chinese)
[4]Tang Xuehai,Sun Bing,Li Ruilin,et al.A meet-inthe-middle attack on reduced-round ARIA[J].Journal of Systems and Software,2011,84(10):1685-1692.
[5] 田戰(zhàn)玲,劉利強.基于VxWorks網(wǎng)絡(luò)文件傳輸安全性的研究[J].信息技術(shù)與信息化,2011,54(4): 32-35.
Tian Zhanling,Liu Liqiang.The study of security of network tile transmission based on VxWorks[J].Information Technology and Informatization,2011,54(4): 32-35.(in Chinese)
[6]Boho A,Van Wallendael G,Dooms A.End-to-end security for video distribution:the combination of encryption,watermarking,and video adaptation[J].IEEE Signal Processing Magazine,2013,30(2):97-107.
[7] 王晉東,董文超,張恒巍,等.VxWorks系統(tǒng)訪問控制機制設(shè)計與實現(xiàn)[C]∥劉曉平.全國第21屆計算機技術(shù)與應(yīng)用學(xué)術(shù)會議暨全國第2屆安全關(guān)鍵技術(shù)與應(yīng)用學(xué)術(shù)會議論文集.合肥:中國科學(xué)技術(shù)大學(xué)出版社,2010:622-629.
[8] 楊梅,楊平利,宮殿慶.ACL技術(shù)研究及應(yīng)用[J].計算機技術(shù)與發(fā)展,2011,21(6):145-149.
Yang Mei,Yang Pingli,Gong Dianqing.Access control list technology studying and application[J].Computer Technology Development,2011,21(6):145-149.(in Chinese)
[9] 何茗.加密解密算法的實現(xiàn)及改進(jìn)[J].西南民族大學(xué)學(xué)報:自然科學(xué)版,2010,36(1):153-158.
He Ming.The implementation of a AES algorithm of the encryption and decryption of documents[J].Journal of Southwest University for Nationalities:Natural Science Edition,2010,36(1):153-158.(in Chinese)
[10] 石改輝,武靜,李兵.基于VxWorks的FLASH之文件系統(tǒng)TFFS分析[J].電光與控制,2013,20(12): 80-83.
Shi Gaihui,Wu Jing,Li Bing.Analysis of flash TFFS based on VxWorks[J].Electronics Optics&Control,2013,20(12):80-83.(in Chinese)
(責(zé)任編輯:童天添)
An access control method based on file system layer of VxWorks
Gao Bin,Zhai Jiangtao*,Xue Pengjun
(School of Electronics and Information,Jiangsu University of Science and Technology,Zhenjiang Jiangsu 212003,China)
An access control system based on file layer of VxWorks is designed and implemented to solve the problem of lack of protection in file layer of VxWorks.This system is composed of three parts which are access monitor,access decider and authority library.Firstly,access monitor which is used to intercept the access of tasks to files in the block device and to acquire the access information of tasks is embedded into the dosFs file system layer,and the access information is also made up of three parts which are access subject,access object and access mode.Secondly,a decision scheme is given by access decider when the acquired access information of tasks is compared by the rules in authority library.Finally,the corresponding access control is carried out by access monitor according to the decision above.The performance of VxWorks embedded with the designed access control system is evaluated by experiments,and it turns out that the security of VxWorks is improved by the control method whose effect on the instantaneity of VxWorks is acceptable.
VxWorks;dosFs file system;access control;block device
TP316.2
:A
:1673-4807(2015)05-0462-05
10.3969/j.issn.1673-4807.2015.05.010
2015-06-15
高斌(1992—),男,碩士研究生.*通信作者:翟江濤(1983—),男,博士,研究方向為多媒體與網(wǎng)絡(luò)信息安全.E-mail:jiangtaozhai@gmail.com
高斌,翟江濤,薛朋駿.一種VxWorks文件系統(tǒng)層訪問控制方法[J].江蘇科技大學(xué)學(xué)報:自然科學(xué)版,2015,29(5):462-466.