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