嵌入式系統的VxWorks安全性問題研究
安全服務器的實現:本安全核的訪問控制粒度為系統對象級,因此在安全服務器中實現了對每一個系統對象(任務、信號量等)定義安全屬性,定義SID,以及將SID與安全屬性相映射關聯。安全策略的加載與驗證,以及依據監控器發來的判定請求進行訪問判定的功能也在安全服務器中進行了具體實現。驗證函數的三個參數分別為:主題SID、客體SID、訪問請求模式。只有在該請求同時滿足TE、MLS、RBAC的情況下,驗證函數才返回TRUE,同意訪問。
策略緩存的實現:策略緩存實現中最重要的是緩存數據項。本系統中實現的緩存數據項結構為:

3.2 系統功能及性能測試
本文在對此安全內核測試時目標機采用Tornado系統自帶的VxSim目標模擬器。宿主機配置為AMD Ath-lon 64x2 Dual Core Processor 3600+2.00 GHz,512 MB,安裝Tornad02.2/VxWorks5.5。
安全核功能測試的內容包括安全標記以及強制訪問控制。首先設計了測試用例,結果表明Wind安全內核目前可以標識Wind任務、信號量(二進制/互斥/計數信號量)、消息隊列、管道,安全標簽和對象一一對應且具有繼承性。其次設定了不同安全等級任務的系統調用來測定系統的強制訪問控制,測試表明監控器攔截了安全相關的所有系統調用,安全服務器依據配置好的安全策略給出了正確判定,沒有任務繞過強制訪問控制。
在安全核性能的測試上使用VxWorks提供的一組系統調用――timex()和timexN()――來記錄使用安全核和未使用安全核時同一任務的執行時間,以及在使用安全核時使用策略緩存和未使用策略緩存時執行統一任務的時間。由于測試時使用的任務執行時間非常短,因此主要采用timexN()來記錄重復執行該任務的時間。測試結果表明,未使用安全核、使用帶緩存安全核、使用不帶緩存安全核執行同一任務時間依次增加。以taskSpawn()任務為例,未使用安全核時執行時間為50μs,使用帶緩存的安全核時執行時間為70 μs,使用不帶緩存時執行時間為80μs,誤差均小于10%。測試表明本文設計的安全內核會在一定程度上影響系統調用的時間,但是策略緩存可以有效地提高系統性能,整體上還是可以接受的。
該安全核結構具有通用性,改造后可以用于其他嵌入式系統。
評論