張紅斌 馬鵬程 劉濱


摘 要:為實現對復雜訪問控制策略的統一管理,檢測并排除沖突和不完備的訪問控制策略,提出了利用訪問控制策略集合中的偏序信息構造融合主體、客體層級結構的有向無環圖模型。首先從理論上證明了構建有向無環圖模型的可行性,并提出利用偏序關系構建有向無環圖模型的實施算法,然后利用有向無環圖模型的節點集合設計了訪問控制策略一致性和完備性檢測算法,最后對模型構建算法及訪問控制策略一致性和完備性檢測算法進行實驗驗證。實驗結果表明,融合主體、客體層級結構的有向無環圖模型可以有效管理復雜系統中訪問控制策略中出現的沖突與策略不完備情況。相關算法可以有效地實現對復雜訪問控制策略的統一管理。
關鍵詞:算法理論; 訪問控制; 策略管理; 一致性; 完備性; 有向無環圖; 檢測
中圖分類號:TP309 文獻標志碼:A
文章編號: 1008-1534(2018)05-0305-06
現代信息系統,尤其是政府、銀行、軍事等部門,一方面對信息安全要求較高,另一方面其信息環境往往用戶數量巨大、系統結構復雜、參數動態多變、安全策略異構化現象嚴重,為信息安全策略的實施帶來了極大的困難[1]。訪問控制策略是信息系統安全策略的重要內容,是系統執行訪問控制行為的重要依據。如果訪問控制系統出現策略沖突或策略出現不完備的情況,將導致信息系統的重大安全問題。如何在大量復雜的訪問控制策略中檢測策略沖突和不完備等異常情況已成為當前安全策略管理的重要問題。
1 相關工作
安全策略通過改變系統行為信息,描述影響系統管理行為的方法,制定策略規則集,保護系統的數據和資源免受未經授權的訪問[2]。信息系統通過制定合理的訪問控制策略對網絡資源進行合理的管理和控制[3-4]。常用的策略檢測算法主要基于4種技術,即描述語言、形式邏輯、本體推理和有向圖。
基于描述語言的檢測方法可以對多種模型的訪問控制策略問題進行檢測,這是基于描述語言的策略沖突檢測方法的特點之一。文獻[5]基于XACML的策略描述語言,給出了基于時間屬性的策略沖突算法的適用性及正確性驗證。文獻[6]提出一種沖突冗余檢測與消解算法,將訪問控制策略結構映射為集合構成偉恩圖,根據集合間交并關系去除沖突與冗余。文獻[7]提出了PonderFlow網絡中策略定義的可擴展聲明式語言。基于描述語言的方法具有結構簡單、面向對象等特性,因此在實現過程中更易于被管理員掌握;但檢測方法只能對特定描述語言適用,應用范圍有一定的局限性。
基于形式邏輯的檢測方法是通過邏輯推理檢測沖突策略是否存在,即在推理過程中進行策略檢測。文獻[8]基于XML語言依據數據類型和邏輯表達式及選擇屬性指定訪問控制策略。 文獻[9]提出了一種基于混合邏輯的解決方案來解決協作網絡中的沖突。文獻[10]基于二進制決策樹編碼執行自動化的反饋狀態變化信息,構建由融合邏輯構成的訪問控制策略。基于形式邏輯的沖突檢測方法通過對邏輯推理嚴密的展示,將檢測過程與推理過程緊密結合,進而在推理過程中檢測相關策略沖突,但在實際實現過程中,策略管理員不僅要具備扎實的應用數學邏輯基礎,還要具備開發相應策略邏輯推理驗證工具的能力,應用基于形式的檢測方法進行策略檢測,進一步提高了對管理員的基礎知識要求,實現過程更為復雜。
基于本體推理的沖突檢測方法,其本體自身的描述和推理能力較為強大,更多的是在進行異構網絡互操作的過程中使用。文獻[11]提出了一種異常檢測方法,先對輸入數據進行布爾表達式的屬性排序的格式化和規范化,依據提出的C4.5算法改進生成決策樹,將異常檢測算法的結果呈現給將要采取補救措施的策略管理員。文獻[12]提出基于對立屬性推理的方法。文獻[13]由SWLR語義Web規則語言編寫,使用Racer推理引擎進行基于DL的本體沖突檢測。該方法的局限性是在策略檢測過程中可能會過分依賴本體庫,而本體庫的構建過程本身復雜且繁瑣,一旦在構建本體庫的過程中出現問題,將會直接影響檢測結果。
基于有向圖的策略沖突檢測方法回避了復雜的形式化證明過程,將抽象的策略沖突轉化到可視化的圖結構里面來解決。文獻[14]將系統中主體、客體及其之間的關系抽象構成有向無環圖(directed acyclic gaph ,DAG)模型,利用DAG的節點連通性來檢測策略間的沖突。文獻[15]利用有向圖覆蓋關系檢測訪問控制策略沖突,將訪問控制模型中的主體、客體和操作的三元組檢測擴展為包括約束條件的四元組進行沖突檢測,增強了檢測效果,提高了檢測的準確性。文獻[16]以綜合多項策略的檢測和消解為背景,依據主體、客體繼承關系和包含關系建立有向圖模型,將策略沖突檢測問題轉化為有向圖節點的連通性關系判斷。但其將訪問控制模型中主體、客體有向圖分離討論,客觀上否定了主體、客體存在的關聯性。并且,整體檢測流程基于假設的DAG模型,并沒有給出DAG的具體構建方法,也沒有將策略完備性考慮在內。而有效構造DAG的前提是必須要保證策略的完備性,否則無法有效進行策略沖突檢測。
本文將在上述研究的基礎上,通過構建基于主體、客體融合的DAG模型,將復雜的訪問控制策略以DAG模型的形式展現出來,使用DAG模型對策略完備性和策略沖突檢測進行測算,為訪問控制的正確實施提供有力保障。
2.2 DAG模型的構建
傳統的訪問控制模型將主體、客體分離進行策略檢測,沒有考慮訪問控制檢測中主體、客體的客觀聯系性。和主體、客體獨立的DAG相比,主體、客體融合的DAG不但易于檢測權限的層級關系,而且在DAG中直接體現了主體對象對客體對象的訪問關系,這將更有利于對訪問控制策略一致性和完備性的檢測。
4 實驗及分析
根據所給出的策略完備性和策略環路沖突檢測算法具體流程進行實驗論證。實驗假設某信息系統訪問控制策略無沖突且具有完備性,可用DAG描述,遍歷此DAG(如圖3所示)生成該系統訪問控制策略集合。
現構造不完備策略和沖突策略如下:通過添加H節點和相關策略E→H造成策略的不完備,關于節點H的策略只添加了E→H,忽視了E上方的節點對H的訪問權限,構造了不完備策略;添加G→D造成環路D→E→G,將此兩策略添加到策略集合中。
應用本文提出的策略完備性檢測算法和策略沖突檢測算法對此策略集合進行檢測,圖4給出策略完備性檢測結果。實驗結果表明,提出的算法有效地檢測出了DAG模型中的不完備性策略,并給出了策略缺失的依據。
從圖4還可以明顯看出,添加的E→H訪問控制關系在節點 H上方的節點還應有A,1,B,2,C,D,算法檢測的結果顯示缺少的策略有:A→H,1→H,B→H,2→H,C→H,D→H,實驗檢測結果和人工分析DAG模型顯示結果一致。
圖5為沖突算法檢測結果,依據環路判斷算法給出可能形成環路沖突的節點集合。
從實驗數據可知,U(D)≡U(E)≡U(G),并且R(D)≡R(E)≡R(G),節點D,E,G之間構成環路沖突,同時實驗數據中給出了沖突檢測結果的判別依據,檢測結果和人工對DAG模型進行分析顯示的結果一致。
實驗數據同時表明,本文提出的相關算法不但檢測出不完備策略和沖突策略,并且最終構造了策略完備且無沖突的DAG,其輸出結果及其鄰接表存儲結構如圖6所示。
依據上述過程得到的鄰接表可得圖7所示的DAG。可以看出,該圖不但還原圖3基本結構的基礎,還在圖3基礎上實現了等價節點的合并。圖7所示DAG中等價節點的合并將為策略的部署實施和進一步策略管理帶來便利,是進行訪問控制策略管理的重要基礎。
5 結 語
給出了基于主體、客體融合DAG模型的策略一致性和沖突檢測方法。首先證明了主體、客體融合的DAG的存在性,給出了主體、客體融合DAG的構建方法,并給出基于DAG模型節點集合對策略完備性和策略沖突進行檢測的相關算法。實驗驗證了主體、客體融合的DAG可以有效管理復雜系統中的大量訪問控制策略,并能夠對策略完備性和策略沖突進行檢測。
相比于其他策略沖突檢測方法,本文提出的構建主體、客體融合DAG的檢測算法,不僅具備了傳統DAG模型檢測方法的實用性和易實現的優點,還完善了傳統訪問控制模型中能檢測常規策略沖突的作用,能夠檢測策略的完備性,為訪問控制行為的執行提供了更完善的策略基礎。
但本文方法仍存在一定不足。通過分析訪問控制策略集合偏序關系建立了DAG模型,進而對策略完備性和策略沖突進行檢測,此方法適用于策略管理的初始化過程,特別適合在大規模系統中對數量眾多的訪問控制策略進行管理,但當系統的運行過程中出現策略變更,比如添加或刪除訪問控制策略時,會導致訪問控制策略集合中主體集合和客體集合發生大量變更,并且這種變更同時還受到策略完備性和策略沖突的約束,使得策略完備性和策略沖突的檢測變得更為復雜。因此,在下一步研究工作中,將針對系統運行過程中訪問控制策略變更時主體、客體加入、離開等動態場景進行深入研究,設計更適用于動態場景的高效訪問控制策略一致性和完備性檢測方法。
參考文獻/References:
[1] AQIB M, SHAIKH R A. Analysis and comparison of access control policies validation mechanisms[J].International Journal of Computer Network and Information Secturity,2015(1):54-69.
[2] IETFRFC 3198,Terminology for Policy based Management[S].
[3] 向華萍,付智輝,陳紅麗.具有時間約束的動態角色的訪問控制策略[J].河北科技大學學報,2010,31(6):558-563.
XIANG Huaping,FU Zhihui,CHEN Hongli. Dynamic time-constrained and role-based access control strategy[J]. Journal of Hebei University of Science and Technology,2010, 31(6): 558-563.
[4] 張坤,周萬珍,孫秋紅.協同工作(CSCW)中的訪問控制模型[J].河北工業科技,2009,26(5): 315-318.
ZHANG Kun, ZHOU Wanzhen, SUN Qiuhong. Research of access control model in CSCW[J]. Hebei Journal of Industrial Science and Technology,2009,26(5): 315-318.
[5] St-MARTIN M, FELTY A P. A verified algorithm for detecting conflicts in XACML access control rules[J]. Acm Sigplan Conference on Certified Programs and Proofs, 2016,25(10):166-175.
[6] 盧秋如,陳建平,馬海英,等.一種可擴展訪問控制標記語言的策略優化算法[J].計算機科學,2017,44(12):110-113.
LU Qiuru, CHEN Jianping, MA Haiying, et al.Optimization algorithm for extensible access control markup language policies[J].Computer Science, 2017,44(12): 110-113.
[7] BATISTA B L A, FERNANDEZ M P. Ponder Flow: A new policy specification language to SDN openflow-based networks[J].International Journal on Advances in Networks and Services, 2014,7(3): 163-172.
[8] OASIS. XACML Version 3.0[EB/OL]. http://docs.oasisopen.org/ xacml/3.0/xacml-3.0-core-spec-os-en.html,2013-06-04.
[9] DAMEN S, den HARTOG J, ZANNONE N. CollAC: Collaborative access control[C]// International Conference on Collaboration Technologies and Systems.[S.l.]:[s.n.],2014: 142-149.
[10]CAU A, JANICKE H, MOSZKOWSKI B.Verification and enforcement of access control policies[J].Formal Methods in System Design,2013,43(3):450-492.
[11]SHAIKH R A, ADI K, LOGRIPPO L.A data classification method for inconsistency and incompleteness detection in access control policy sets[J].International Journal of Information Security, 2017,16(1):91-113.
[12]CALERO J M A, PREZ J M M, BERNAB J B, et al. Detection of semantic conflicts in ontology and rule-based, information systems[J]. Data and Knowledge Engineering, 2010, 69 (11): 1117-1137.
[13]NIHONG W, DAN L,HUA P, et al. Research and implementation of ontology conflict detection and reasoning based on description logic for forest disease and pest diagnosis[J]. Second International Workshop on Education Technology and Computer Science, 2010,2(1):416-419.
[14]李添翼. 多策略支持下的策略沖突檢測與消解研究[D].武漢:華中科技大學,2011.
LI Tianyi. Research on Checking and Digesting Policy Conflicts under Multi-Policy Environments[D].Wuhan:Huazhong University of Science and Technology,2011.
[15]姚鍵,茅兵,謝立.一種基于有向圖模型的安全策略沖突檢測方法[J]. 計算機研究與發展, 2005,42(7):1108-1114.
YAO Jian, MAO Bing, XIE Li.A DAG-based security policy conflicts detection method[J]. Journal of Computer Research and Development,2005,42(7):1108-1114.
[16]魏雁平. 基于有向圖覆蓋關系的安全策略沖突檢測模型[D]. 成都:四川大學,2006.
WEI Yanping.A Policy Conflict Detection Model Based on Direct-Graph with Cover Relation[D].Chengdu :Sichuan University,2006.