摘要: 針對支持多安全策略訪問控制框架形成最終安全決定存在沖突及有效組織多個安全策略的問題,本文分析了當前主要訪問控制框架的特點,提出了改進MAC多安全策略組合方法,引入了表達式匹配模式,改進了基于控制標識的安全決定策略,解決了訪問控制框架在支持多安全策略時執(zhí)行效率低、缺乏適應性的問題。
關鍵詞: 訪問控制框架MAC多安全策略框架改進
1.引言
訪問控制框架將安全策略決定與其實施相隔離,確保訪問控制總是有一致的安全策略判定視圖,在安全策略方面提供靈活性,但是多個安全策略規(guī)則之間可能存在沖突。如何有效組織多個安全策略形成最終的訪問決定,是訪問控制框架需要考慮的重要的問題。
Linux系統(tǒng)中提出的LSM框架和FreeBSD系統(tǒng)中MAC框架[1]支持多個安全策略,但是組織多個安全策略形成策略判定的方法不相同。通過對訪問控制框架中多安全策略的如何組合形成安全決定的問題進行分析與比較,針對其存在的問題,我們提出一種多策略組合問題的解決方法:改進MAC多安全策略組合方法。
2.多安全策略組合技術分析
Flask框架實現了由四個子策略組成的多安全策略[2],包括多級安全(MLS)策略、類型實施(TE)策略、基于標識的訪問控制(IBAC)策略和基于角色的訪問控制(RBAC)策略。其支持的多種不同的安全策略模塊作為訪問控制決策組件(ADF)已經在系統(tǒng)中實現。
LSM是Linux內核上開發(fā)的訪問控制框架,不同的訪問控制模塊可以在相同的Linux內核上實現,如使用不同的安全模型,只需以可裝載內核模塊的形式加載。LSM多安全策略堆棧的細節(jié)由系統(tǒng)主要安全模塊決定,給安全模塊的管理帶來復雜性,多個安全模型之間存在的沖突沒有很好地解決。
TrustedBSD[3]項目開發(fā)的MAC框架支持多個MAC策略,是一個靈活的可擴展的安全框架,其在編譯或運行時對內核的訪問控制模型進行擴展,新的系統(tǒng)安全策略可以作為內核模塊實現,被鏈接到內核。
上述多安全策略的組合關系主要是兩種:一是多安全策略之間是并列關系,訪問控制決定需要滿足所有的多安全策略;二是多安全策略之間有主從關系,安全策略的組合問題由最先向系統(tǒng)注冊的主安全模塊決定。前一種情況難以適應應用系統(tǒng)環(huán)境多樣性和多變性;而后一種情況,安全策略之間的確存在優(yōu)先順序,但其將安全策略的組合問題交給主安全策略模塊,增加了主安全模塊的設計及實現難度[5]。
3.改進MAC多安全策略組合方法的基本思想
為滿足實際中應用系統(tǒng)運行環(huán)境對多種策略主從、優(yōu)先級的需求,使MAC多安全策略框架更具適應性,且不增加安全策略模塊的設計難度,我們對MAC多安全策略框架作了改進。基本思路是:(1)設置優(yōu)先級控制標識priority mark;(2)通過標識設置不同的鏈表路徑,從而改變控制策略;(3)引入表達式匹配模式;(4)按照priority mark優(yōu)先級標識加載,設置匹配模式控制不同標識的多安全策略模塊。
優(yōu)先級控制標識有:(1)decisive(決定的),該策略模塊形成最終訪問是決定的,如驗證成功,其它標識模塊被忽略,返回真,否則為假,系統(tǒng)中可有零個或有且只有一個該標識的策略模塊;(2)required(必要的),表示最終的訪問決定是必須的,如返回真,則所有required標記的策略模塊必須為真,如多個該標識的策略模塊中某個驗證失敗,則訪問決定判定為假;(3)optional(可選的),表示該策略模塊是可選的,即使該模塊返回假,仍允許訪問,框架忽略其為假,并繼續(xù)處理下面的策略模塊;(4)invalid無效的,表示使用該策略模塊是無效的,如使該模塊起作用,將標識改變即可。約定D是decisive標識縮寫形式,R是required標識縮寫形式,O是optional縮寫形式,I是invalid縮寫形式。則標識優(yōu)先級從高到低為DROI。
為了使控制標識更能表達實際應用中的多條件需要,我們引入表達式匹配模式,對安全策略驗證真假及安全鏈表中放置安全策略的數量進行表示。字符表達的語義為:(1)+(X)表示X為真;(2)-(X)表示X為假;(3)X?表示X一次或一次也沒有;(4)X*表示X一次或多次;(5)X{n}表示X恰好n次;(6)X{n,}表示X至少n次;(7)X{n,m}表示X至少n次,但是不超過m次。使用的邏輯運算包括:(1)XY(X與Y),當+X且+Y為真時,X為真;(2)X||Y(X或Y),當+X或者+Y為真時,X為假。
為了表達運用四種安全標識的多安全策略在組合時復合結果,按照D、R、O、I從高到低優(yōu)先級排列的復合結果。+(D{1})表示安全鏈表中只能存在一個使用decisive標識的安全策略,且該策略判定結果為真;+(R*)表示安全鏈表中存在一個或多個使用required標識的安全策略,且該組安全策略判定結果都為真;-(R*)表示安全鏈表中存在一個或多個使用required標識的安全策略,且該組安全策略有可能存在一個或多個判定為假,整個結果為假;+(O*)、-(O*)、+(I*)、-(I*)表示如上。
假設有如下模塊類型及對應的標識:MLS標識required;BIBA標識optional;LOMAC標識optional;SEBSD標識required,這些模塊加載到MAC框架鏈表中。僅SEBSD及MLS策略判定都為真時,訪問決定為真,否則為假。其他策略的標識優(yōu)先級小于required,故required標識模塊的復合結果起決定作用。
4.改進MAC多安全策略組合方法的分析
改進MAC多安全策略組合方法有效地解決了系統(tǒng)在不同條件下對安全策略的不同需求;表達式匹配模式的學習與應用標識的配置實現比較簡單,減少了對訪問控制模塊的影響;有助于降低性能開銷,減少無用策略的支持,為系統(tǒng)提供整體性能,并提供更靈活的選擇空間。
應用多安全策略框架系統(tǒng)的管理員加載策略模塊時作出相應的控制標識的選擇,正確地制訂匹配模式,能省去對多安全策略的加載順序的調整所花的時間。不足在于需系統(tǒng)管理員預先設置好多重文件系統(tǒng)安全標志、每個角色的網絡訪問權限等,這可以通過單獨的設置平臺完成。
5.結語
訪問控制框架滿足安全操作系統(tǒng)發(fā)展的需要。通過對當前主要的訪問控制框架進行分析,我們提出改進MAC多安全策略組合方法,引入表達式匹配模式,有效組織多個安全策略形成最終的安全決定,實現了多安全策略的主從、優(yōu)先關系,滿足應用中多安全策略框架的不同環(huán)境下的需要。
參考文獻:
[1]Robert Watson,Wayne Morrison.The TrustedBSD MAC Framework:Extensible Kernel Access Control for FreeBSD5.0[C].Proceedings of the FREENIX Track2003 USENIX Annual Technical Conference,2003.
[2]Ray Spencer,Stephen Smalley.The Flask Security Architecture:System Support for Diverse Security Policies[C].Proceedings of the Eighth USENIX Security Symposium,1999:11-17.
[3]Robert N M Watson.Introducing Supporting Infrastructure for Trusted Operating System[C].BSD Conference,2000:34-60.
[4]陳漢章,張玉清.訪問控制框架及其在Linux中的應用研究[J].計算機應用研究,2007,24 (4):217-219.
[5]汪倫偉.訪問控制框架中多策略模塊的組合方法[EB/OL].http://www.ibm.com/developer-works/cn/linux/l-acf/.2005,2.