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