嵌入式系統(tǒng)的VxWorks安全性問題研究
2.2 安全服務(wù)器
安全服務(wù)器是本系統(tǒng)的核心組件,是訪問合法性的判定部分。其結(jié)構(gòu)如圖2所示。本文引用地址:http://www.2s4d.com/article/152283.htm
安全上下文是表示安全屬性的變長字符串,是安全服務(wù)器私有的數(shù)據(jù)類型,由安全服務(wù)器依據(jù)一定的策略邏輯負(fù)責(zé)解釋。安全上下文不直接與主客體綁定,而是在運(yùn)行時(shí)由安全服務(wù)器依據(jù)標(biāo)簽規(guī)則進(jìn)行其與安全標(biāo)識符SID的映射。多策略驗(yàn)證器是安全服務(wù)器的核心模塊,它包含系統(tǒng)設(shè)定的所有安全策略的判定邏輯。本安全核對多安全策略的支持由這一模塊實(shí)現(xiàn)。按照不同的策略,對訪問有不同的判定結(jié)果,安全服務(wù)器依據(jù)這些判定結(jié)果的交集做出最終的判定結(jié)論。
策略數(shù)據(jù)庫是策略數(shù)據(jù)的存儲結(jié)構(gòu),通過主機(jī)端配置工具配置其中相關(guān)信息。
本安全核的實(shí)現(xiàn)采用了一種結(jié)合類型實(shí)施(TE)、基于角色的訪問控制(RBAC)和多級安全(MLS)的多安全策略。安全服務(wù)器定義的安全性上下文由用戶身份、角色、類型及可選的安全級別和范圍組成,其中角色只與任務(wù)(task)相關(guān)。只有合法的用戶、角色、類別及安全級別或范圍的組合才會被安全服務(wù)器賦予SID。
2.3 客體管理器及強(qiáng)制訪問控制
客體管理器是負(fù)責(zé)安全策略實(shí)施的部分。Wind內(nèi)核中任務(wù)、信號量、共享內(nèi)存、消息隊(duì)列、管道、信號、文件等的管理系統(tǒng)是不同的對象管理器。本系統(tǒng)實(shí)行強(qiáng)制訪問控制,系統(tǒng)中每個(gè)任務(wù)、信號量、文件等都被賦予一定的安全屬性,這些屬性由客體管理器負(fù)責(zé)維護(hù)。
強(qiáng)制訪問控制的具體過程為:監(jiān)控器截獲訪問請求格式為主體SID、客體SID以及許可權(quán)限三元組,即SID,SID,Perms>。監(jiān)控器將三元組交與AVC進(jìn)行匹配,如果有相應(yīng)條目,則允許該訪問請求;如果沒有相應(yīng)條目,則將該三元組交由安全服務(wù)器進(jìn)行判定。安全服務(wù)器首先進(jìn)行SID與安全上下文的映射,依據(jù)策略邏輯將映射后的該條訪問信息交與策略驗(yàn)證器進(jìn)行驗(yàn)證。如果驗(yàn)證通過則將該三元組寫入AVC,同時(shí)運(yùn)行此次訪問,反之則不允許訪問。
3 系統(tǒng)實(shí)現(xiàn)及測試
3.1 安全系統(tǒng)的實(shí)現(xiàn)方式
在分析VxWorks系統(tǒng)內(nèi)核Wind結(jié)構(gòu)的基礎(chǔ)上,結(jié)合上述提出的安全核設(shè)計(jì),本系統(tǒng)實(shí)現(xiàn)了安全標(biāo)記和強(qiáng)制訪問控制,即實(shí)現(xiàn)了對Wind任務(wù)、信號量(二進(jìn)制/互斥/計(jì)數(shù)信號量)、消息隊(duì)列、管道、事件等的安全標(biāo)記和強(qiáng)制訪問控制。實(shí)現(xiàn)了監(jiān)控器部分來支持對系統(tǒng)調(diào)用的控制;實(shí)現(xiàn)了策略服務(wù)器使之初步支持MLS、TE、RBAC策略判定;實(shí)現(xiàn)了策略緩存部分以提高系統(tǒng)性能。監(jiān)控器的實(shí)現(xiàn):監(jiān)控器對系統(tǒng)調(diào)用實(shí)施攔截,實(shí)質(zhì)上是作為一個(gè)轉(zhuǎn)向器將正常的系統(tǒng)調(diào)用轉(zhuǎn)入強(qiáng)制訪問控制階段。系統(tǒng)通過調(diào)用全局安全鉤子函數(shù)securi_hooks()調(diào)用各子系統(tǒng)安全鉤子函數(shù),如sec_task_hooks()、see_semB_hooks()、sec_semM_hooks()等。在系統(tǒng)調(diào)用級,定義了需要進(jìn)行安全判定的接口函數(shù),如sec_taskSpawn()、sec_taskDelete()、sec_emBCreate()等。
評論