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

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