高 斌,翟江濤,薛朋駿
(江蘇科技大學電子信息學院,江蘇鎮江 212003)
一種VxWorks文件系統層訪問控制方法
高 斌,翟江濤*,薛朋駿
(江蘇科技大學電子信息學院,江蘇鎮江 212003)
針對VxWorks系統缺少文件層保護的問題,設計并實現了一種基于VxWorks文件層的訪問控制系統.該系統包括訪問監控器、訪問決策器和權限庫3部分.首先,在dosFs文件系統層嵌入訪問監控器,攔截任務對塊設備中文件的訪問,同時獲取由訪問主體、客體以及訪問方式所構成的三元組訪問任務信息;其次,訪問決策器將獲取的訪問任務信息與權限庫的規則作匹配,給出決策方案;最后,訪問監控器根據決策方案進行相應的訪問控制.文中實驗部分對使用文中方法設計的VxWorks系統進行了性能評估,結果表明該控制方法不僅有效提高了VxWorks系統的安全性,而且對VxWorks系統的實時性影響較小.
VxWorks;dosFs文件系統;訪問控制;塊設備
VxWorks系統有著廣泛的應用,其安全問題備受研究者們的關注.2010年7月在拉斯維加斯舉辦的黑帽大會上,HD Moore演示了利用VxWorks 5.5~6.8漏洞的過程,一旦這些漏洞被利用將會帶來巨大損失.因此,研究VxWorks系統安全問題具有重要意義和實用價值.
在國外,針對VxWorks的安全問題,風河公司(Winder River)不斷發布漏洞修復補丁和系統升級更新,其主要研究集中在VxWorks系統的故障管理功能、系統保護域、虛擬層安全以及防火墻機制[1].2014年3月,風河公司發布了VxWorks 7系統,該系統包含全套內置安全功能,包括安全數據存儲、防篡改設計、安全升級、可信任引導、用戶以及策略管理[2].
在國內,對于VxWorks的安全問題研究,主要分為兩個方面:①VxWorks系統的安全傳輸協議,例如文獻[3]中設計的EST協議能夠保證系統快速建立加密通信,文獻[4]中改進的SSH協議能夠有效防止“中間人攻擊”問題,文獻[5,6]中提出的文件傳輸方案能夠保證系統的身份認證和端對端數據加密;②VxWorks系統的訪問控制機制,例如文獻[7]中設計的由訪問控制單元、安全信息庫和安全I/O庫所構成的訪問控制系統進一步地提高了系統的安全性.
VxWorks系統的漏洞仍在逐漸被發現,需要不斷增強VxWorks系統安全,其中塊設備數據安全便是一個尤為突出的問題,尤其是VxWorks系統所特有的dosFs文件系統的塊設備數據保護.文中對VxWorks5.5系統的dosFs文件系統進行分析研究,提出一種dosFs文件系統層訪問控制方法,并通過實驗驗證該方法的有效性.
VxWorks的dosFs文件系統是一種廣泛應用的讀寫文件系統,該文件系統可以應用在塊設備存儲器上,能夠實現層次性文件和目錄管理模式,滿足VxWorks的實時性要求.
dosFs文件系統在VxWorks啟動過程中完成,初始化包括5個方面,分別是dosFs主模塊、dosFs格式化功能模塊、FAT文件分配表管理模塊、dosFs一致性檢查功能模塊和dosFs長文件名處理模塊.在dosFs包含的所有模塊中,dosFsLib庫完成dosFs文件系統與I/O子系統的銜接以及與底層塊設備驅動層的銜接,dosFs文件系統對上由I/O子系統進行管理,對下通過CBIO中間層管理底層塊設備驅動,其在內核中的層次如圖1.

圖1 內核中dosFs文件系統的層次Fig.1 Level of the dosFs file system in the core
dosFs文件系統完成初始化,創建dosFs文件系統下塊設備后,用戶層即可通過I/O系統操作塊設備.I/O系統操作傳遞到I/O子系統層,I/O子系統借助系統設備表、系統驅動表和系統文件描述符表傳遞到dosFs文件系統層,dosFs文件系統通過CBIO層調用底層塊設備驅動函數,最后完成塊設備中文件的相應操作.
VxWorks塊設備文件通過dosFs文件系統對所有用戶可見,dosFs文件系統可以通過驅動函數以文件為單位對塊設備文件進行訪問,因而可在dosFs文件系統層實現文件級訪問控制.

圖2 系統調用中訪問控制部件的位置Fig.2 Location of access control module in system calling
在dosFs文件系統層嵌入訪問監控器,攔截所有對塊設備文件的訪問,并向訪問決策器發出判定請求.對于打開文件前的操作,決策器加載訪問控制策略,根據權限庫信息決定用戶對文件的訪問權限,并與監控器發來的判定請求進行匹配,得出判定結果,最后監控器根據判定結果進行訪問控制;對于打開文件后的操作,決策器需要借助策略緩存來決策,策略緩存中存放任務對dosFs結構指針所指向文件的訪問權限.在系統調用中,訪問控制部件所處位置如圖2,圖中虛線框內為訪問控制部件.
2.1 訪問監控器
用戶通過I/O系統訪問塊設備中的文件,訪問傳遞到I/O子系統,I/O子系統調用dosFs文件系統注冊的7個驅動函數完成操作.訪問監控器嵌入在dosFs文件系統的7個驅動函數中,執行驅動函數操作前,先進入對應的監控器函數,監控器將訪問請求交給決策器進行判定,決策器根據返回的判定結果,決定繼續執行該驅動函數或者返回ERROR到I/O子系統,調用結束.
dosFs文件系統7個驅動函數對應7個訪問監控器函數,監控器將訪問主體、訪問客體和訪問權限構成的三元組發給決策器進行判定.對應于上述dosFs文件系統的驅動函數分類,將監控器函數也分為兩類:一類是攔截訪問前,將<訪問主體(任務ID),訪問客體(文件名),訪問方式>構成的三元組發送給決策器進行判定,包括Open,Create和Delete監控器函數,即在文件打開前訪問監控器;另一類是攔截訪問后,將<訪問主體(任務ID),訪問客體(dosFs結構指針),訪問方式>構成的三元組發送給決策器進行判定,包括Read,Write,Ioctl和Close監控器函數,即在文件打開后訪問監控器.
綜上所述,2型糖尿病合并急性腦梗患者在飲食護理中使用飲食指導卡的效果顯著,既可明顯提高血糖控制情況和相關知識掌握度,又可改善患者生活質量和血脂情況,值得臨床推廣借鑒。
除了監控訪問,訪問監控器還需要添加、刪除策略緩存中的權限信息,以保證打開文件后的訪問決策.添加、刪除的權限信息是<dosFs結構指針,任務ID,權限>構成的三元組,在Open監控器中成功打開文件后實現添加,在Close監控器中關閉文件后實現刪除.添加權限,即利用合成的<dosFs結構指針,任務ID,權限>三元組權限信息來替代策略緩存中的<文件名,任務ID,訪問模式>過渡三元組信息.
2.2 訪問決策器及權限庫
訪問決策器與訪問監控器分離,這樣可以在決策器中方便地加入各種訪問控制策略模塊.考慮到復雜的訪問策略會影響VxWorks系統的實時性,因而采用基于任務的訪問控制列表(Access Control Lists,ACL)的訪問控制方法[8].訪問控制機制啟動時,從權限庫存儲器中加載ACL到系統內存中供決策器使用,同時加入策略緩存機制,接收訪問監控器發送來的添加、刪除權限信息,用以打開文件后的訪問控制.
ACL以任務為中心,給任務分配對各文件的權限,任務和文件權限構成一個訪問控制列表元素,系統中所有任務的訪問權限構成整個系統的ACL.任務結構和文件權限結構組成一個鏈表,其結構如圖3.

圖3 任務對文件訪問權限的鏈表結構Fig.3 Structure of access authority lists from a task to a file
策略緩存實際也是一個訪問控制列表,訪問決策器接收到監控器發送來的添加請求后,將在策略緩存中申請一段內存空間,存放該權限信息,同時利用指向直接前驅和指向直接后驅的指針,將所有策略緩存元素鏈接成一個鏈表;在接收到刪除請求后,將刪除策略緩存中的對應元素.權限庫加密存儲在獨立的權限庫存儲器中,形式與圖3中的結構一致.采用對等加密算法[9],將該數據加密存儲到權限存儲器Flash[10]中,在取出時解密得到權限庫數據.
3.1 實驗驗證
設計并實現dosFs文件系統層訪問控制機制后,通過實驗驗證該訪問控制機制能否拒絕非法訪問.對兩個任務tShell和tWDBx配置讀寫塊設備“/D”中文件的權限如表1.

表1 任務權限配置Table 1 Authority configuration of tasks
分別測試兩個任務對塊設備“/D”中兩個文件/D/a.txt和/D/b.txt的實際可訪問權限.在Secure CRT下輸入打開、讀寫兩個文件的命令;在Downloadable Project中編寫打開、讀寫兩個文件的函數,并編譯、鏈接、下載、執行該函數.觀察上述兩個任務讀寫文件的結果,其中/D/a.txt文件的初始內容為小寫字母a~z這26個字符,/D/b.txt文件的初始內容為“0123456789ABCDEFG”字符串.
圖4為通過Secure CRT命令,由tShell任務讀取文件/D/a.txt,解讀結果,讀取的前8位數據為0x61,0x62,…,0x67,0x68,即字符串“abcdefgh”,讀取成功.

圖4 tShell任務讀a.txt的結果Fig.4 Result of reading a.txt of tShell
圖5為通過Secure CRT命令,由tShell任務向文件/D/a.txt寫入字符串“ABCDE”,解讀結果,讀取的前10位數據為0x41,0x42,…,0x45,0x66,0x67,…,0x6a,即字符串“ABCDEfghij”,寫入的字符串覆蓋了原字符串,寫入成功.

圖5 tShell任務寫數據到a.txt的結果Fig.5 Result of writing in a.txt of tShell
圖6為通過Secure CRT命令,由tShell任務讀寫文件/D/b.txt,解讀結果,當以讀寫方式打開文件時打開失敗,當以只讀方式打開文件時打開成功,即tShell只有對文件/D/b.txt的讀權限,寫權限被拒絕.

圖6 tShell任務讀寫b.txt的結果Fig.6 Result of reading and writing in b.txt of tShell
圖7為通過WindSh將Downloadable Project輸出文件下載到VxWorks系統,tWDBx任務讀取文件/D/a.txt,解讀結果,由于tWDBx任務對/D/a.txt沒有讀寫權限,所以訪問權限被拒絕.

圖7 tWDBx任務讀a.txt的結果Fig.7 Result of reading a.txt of tWDBx
圖8為通過WindSh將Downloadable Project輸出文件下載到VxWorks系統,tWDBx任務讀寫文件/D/b.txt,解讀結果,讀取的數據為字符串“0123456789ABCDEFG”,讀取成功.寫入字符串“VxWorks5.5”之后,讀取的數據為字符串“Vx-Works5.5ABCDEFG”,寫入成功.

圖8 tWDBx任務讀寫b.txt的結果Fig.8 Result of reading and writing in b.txt of tWDBx
綜上所述,實驗結果表明:dosFs文件系統層訪問控制機制能夠允許合法文件訪問并拒絕非法文件訪問,從而保護塊設備中文件的安全,提高Vx-Works系統的安全性.
3.2 性能分析
加入訪問控制后會影響系統的實時性,考慮到訪問控制機制在訪問不同大小文件時所帶來的影響差異,所以這里采用不同大小的文件進行比較實驗.
首先進行讀文件測試,文件大小依次是128B,512B,1KB,2KB,10KB,20KB,50KB,100KB,500KB,1 000KB,其文件名依次為1.txt~10.txt這10個文件,且均配置讀權限.讀文件操作測試100次,平均讀取時間如表2.

表2 加入訪問控制前后讀文件的時間Table 2 Time of file-reading after access control added
接著進行寫文件測試,寫入數據的大小依次是128B,512B,1KB,2KB,10KB,20KB,50KB,100KB,500KB,1 000KB,其文件名依次為a1.txt~a10.txt這10個文件,且均配置讀寫權限,所得測試時間如表3.

表3 加入訪問控制前后寫文件的時間Table 3 Time of file-writing after access control added
VxWorks提供的系統函數timex和timexN存在1%左右的系統誤差,所以表2,3中讀取大文件的時間差受誤差影響無法精確測量.dosFs文件系統層訪問控制系統中,不論文件大小,打開并讀寫一個文件時,都需經過相同的監控和決策步驟,因此其消耗的系統時間相差不大.由前面多組有效數據可知,讀寫大文件比小文件需要的時間長,加入訪問控制后的系統延時最大不超過9%,最小為1.4%,其對系統性能的影響隨文件增大而降低.
文中針對VxWorks塊設備安全隱患,基于訪問控制列表方法,設計了一種VxWorks文件系統層訪問控制系統.在利用dosFs文件系統進行文件操作之前,該系統通過判定來訪程序的權限來保護塊設備中文件的安全.文中實驗數據表明,在dosFs文件系統層設立訪問控制機制,不僅提高了Vx-Works的安全性,而且對VxWorks實時性所造成的影響均在可接受范圍內.
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的傳輸協議[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] 田戰玲,劉利強.基于VxWorks網絡文件傳輸安全性的研究[J].信息技術與信息化,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系統訪問控制機制設計與實現[C]∥劉曉平.全國第21屆計算機技術與應用學術會議暨全國第2屆安全關鍵技術與應用學術會議論文集.合肥:中國科學技術大學出版社,2010:622-629.
[8] 楊梅,楊平利,宮殿慶.ACL技術研究及應用[J].計算機技術與發展,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] 何茗.加密解密算法的實現及改進[J].西南民族大學學報:自然科學版,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之文件系統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)
(責任編輯:童天添)
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—),男,博士,研究方向為多媒體與網絡信息安全.E-mail:jiangtaozhai@gmail.com
高斌,翟江濤,薛朋駿.一種VxWorks文件系統層訪問控制方法[J].江蘇科技大學學報:自然科學版,2015,29(5):462-466.