張紅斌 馬鵬程 劉濱
摘 要:為實現(xiàn)對復(fù)雜訪問控制策略的統(tǒng)一管理,檢測并排除沖突和不完備的訪問控制策略,提出了利用訪問控制策略集合中的偏序信息構(gòu)造融合主體、客體層級結(jié)構(gòu)的有向無環(huán)圖模型。首先從理論上證明了構(gòu)建有向無環(huán)圖模型的可行性,并提出利用偏序關(guān)系構(gòu)建有向無環(huán)圖模型的實施算法,然后利用有向無環(huán)圖模型的節(jié)點集合設(shè)計了訪問控制策略一致性和完備性檢測算法,最后對模型構(gòu)建算法及訪問控制策略一致性和完備性檢測算法進行實驗驗證。實驗結(jié)果表明,融合主體、客體層級結(jié)構(gòu)的有向無環(huán)圖模型可以有效管理復(fù)雜系統(tǒng)中訪問控制策略中出現(xiàn)的沖突與策略不完備情況。相關(guān)算法可以有效地實現(xiàn)對復(fù)雜訪問控制策略的統(tǒng)一管理。
關(guān)鍵詞:算法理論; 訪問控制; 策略管理; 一致性; 完備性; 有向無環(huán)圖; 檢測
中圖分類號:TP309 文獻標志碼:A
文章編號: 1008-1534(2018)05-0305-06
現(xiàn)代信息系統(tǒng),尤其是政府、銀行、軍事等部門,一方面對信息安全要求較高,另一方面其信息環(huán)境往往用戶數(shù)量巨大、系統(tǒng)結(jié)構(gòu)復(fù)雜、參數(shù)動態(tài)多變、安全策略異構(gòu)化現(xiàn)象嚴重,為信息安全策略的實施帶來了極大的困難[1]。訪問控制策略是信息系統(tǒng)安全策略的重要內(nèi)容,是系統(tǒng)執(zhí)行訪問控制行為的重要依據(jù)。如果訪問控制系統(tǒng)出現(xiàn)策略沖突或策略出現(xiàn)不完備的情況,將導(dǎo)致信息系統(tǒng)的重大安全問題。如何在大量復(fù)雜的訪問控制策略中檢測策略沖突和不完備等異常情況已成為當(dāng)前安全策略管理的重要問題。
1 相關(guān)工作
安全策略通過改變系統(tǒng)行為信息,描述影響系統(tǒng)管理行為的方法,制定策略規(guī)則集,保護系統(tǒng)的數(shù)據(jù)和資源免受未經(jīng)授權(quán)的訪問[2]。信息系統(tǒng)通過制定合理的訪問控制策略對網(wǎng)絡(luò)資源進行合理的管理和控制[3-4]。常用的策略檢測算法主要基于4種技術(shù),即描述語言、形式邏輯、本體推理和有向圖。
基于描述語言的檢測方法可以對多種模型的訪問控制策略問題進行檢測,這是基于描述語言的策略沖突檢測方法的特點之一。文獻[5]基于XACML的策略描述語言,給出了基于時間屬性的策略沖突算法的適用性及正確性驗證。文獻[6]提出一種沖突冗余檢測與消解算法,將訪問控制策略結(jié)構(gòu)映射為集合構(gòu)成偉恩圖,根據(jù)集合間交并關(guān)系去除沖突與冗余。文獻[7]提出了PonderFlow網(wǎng)絡(luò)中策略定義的可擴展聲明式語言?;诿枋稣Z言的方法具有結(jié)構(gòu)簡單、面向?qū)ο蟮忍匦裕虼嗽趯崿F(xiàn)過程中更易于被管理員掌握;但檢測方法只能對特定描述語言適用,應(yīng)用范圍有一定的局限性。
基于形式邏輯的檢測方法是通過邏輯推理檢測沖突策略是否存在,即在推理過程中進行策略檢測。文獻[8]基于XML語言依據(jù)數(shù)據(jù)類型和邏輯表達式及選擇屬性指定訪問控制策略。 文獻[9]提出了一種基于混合邏輯的解決方案來解決協(xié)作網(wǎng)絡(luò)中的沖突。文獻[10]基于二進制決策樹編碼執(zhí)行自動化的反饋狀態(tài)變化信息,構(gòu)建由融合邏輯構(gòu)成的訪問控制策略?;谛问竭壿嫷臎_突檢測方法通過對邏輯推理嚴密的展示,將檢測過程與推理過程緊密結(jié)合,進而在推理過程中檢測相關(guān)策略沖突,但在實際實現(xiàn)過程中,策略管理員不僅要具備扎實的應(yīng)用數(shù)學(xué)邏輯基礎(chǔ),還要具備開發(fā)相應(yīng)策略邏輯推理驗證工具的能力,應(yīng)用基于形式的檢測方法進行策略檢測,進一步提高了對管理員的基礎(chǔ)知識要求,實現(xiàn)過程更為復(fù)雜。
基于本體推理的沖突檢測方法,其本體自身的描述和推理能力較為強大,更多的是在進行異構(gòu)網(wǎng)絡(luò)互操作的過程中使用。文獻[11]提出了一種異常檢測方法,先對輸入數(shù)據(jù)進行布爾表達式的屬性排序的格式化和規(guī)范化,依據(jù)提出的C4.5算法改進生成決策樹,將異常檢測算法的結(jié)果呈現(xiàn)給將要采取補救措施的策略管理員。文獻[12]提出基于對立屬性推理的方法。文獻[13]由SWLR語義Web規(guī)則語言編寫,使用Racer推理引擎進行基于DL的本體沖突檢測。該方法的局限性是在策略檢測過程中可能會過分依賴本體庫,而本體庫的構(gòu)建過程本身復(fù)雜且繁瑣,一旦在構(gòu)建本體庫的過程中出現(xiàn)問題,將會直接影響檢測結(jié)果。
基于有向圖的策略沖突檢測方法回避了復(fù)雜的形式化證明過程,將抽象的策略沖突轉(zhuǎn)化到可視化的圖結(jié)構(gòu)里面來解決。文獻[14]將系統(tǒng)中主體、客體及其之間的關(guān)系抽象構(gòu)成有向無環(huán)圖(directed acyclic gaph ,DAG)模型,利用DAG的節(jié)點連通性來檢測策略間的沖突。文獻[15]利用有向圖覆蓋關(guān)系檢測訪問控制策略沖突,將訪問控制模型中的主體、客體和操作的三元組檢測擴展為包括約束條件的四元組進行沖突檢測,增強了檢測效果,提高了檢測的準確性。文獻[16]以綜合多項策略的檢測和消解為背景,依據(jù)主體、客體繼承關(guān)系和包含關(guān)系建立有向圖模型,將策略沖突檢測問題轉(zhuǎn)化為有向圖節(jié)點的連通性關(guān)系判斷。但其將訪問控制模型中主體、客體有向圖分離討論,客觀上否定了主體、客體存在的關(guān)聯(lián)性。并且,整體檢測流程基于假設(shè)的DAG模型,并沒有給出DAG的具體構(gòu)建方法,也沒有將策略完備性考慮在內(nèi)。而有效構(gòu)造DAG的前提是必須要保證策略的完備性,否則無法有效進行策略沖突檢測。
本文將在上述研究的基礎(chǔ)上,通過構(gòu)建基于主體、客體融合的DAG模型,將復(fù)雜的訪問控制策略以DAG模型的形式展現(xiàn)出來,使用DAG模型對策略完備性和策略沖突檢測進行測算,為訪問控制的正確實施提供有力保障。
2.2 DAG模型的構(gòu)建
傳統(tǒng)的訪問控制模型將主體、客體分離進行策略檢測,沒有考慮訪問控制檢測中主體、客體的客觀聯(lián)系性。和主體、客體獨立的DAG相比,主體、客體融合的DAG不但易于檢測權(quán)限的層級關(guān)系,而且在DAG中直接體現(xiàn)了主體對象對客體對象的訪問關(guān)系,這將更有利于對訪問控制策略一致性和完備性的檢測。
4 實驗及分析
根據(jù)所給出的策略完備性和策略環(huán)路沖突檢測算法具體流程進行實驗論證。實驗假設(shè)某信息系統(tǒng)訪問控制策略無沖突且具有完備性,可用DAG描述,遍歷此DAG(如圖3所示)生成該系統(tǒng)訪問控制策略集合。
現(xiàn)構(gòu)造不完備策略和沖突策略如下:通過添加H節(jié)點和相關(guān)策略E→H造成策略的不完備,關(guān)于節(jié)點H的策略只添加了E→H,忽視了E上方的節(jié)點對H的訪問權(quán)限,構(gòu)造了不完備策略;添加G→D造成環(huán)路D→E→G,將此兩策略添加到策略集合中。
應(yīng)用本文提出的策略完備性檢測算法和策略沖突檢測算法對此策略集合進行檢測,圖4給出策略完備性檢測結(jié)果。實驗結(jié)果表明,提出的算法有效地檢測出了DAG模型中的不完備性策略,并給出了策略缺失的依據(jù)。
從圖4還可以明顯看出,添加的E→H訪問控制關(guān)系在節(jié)點 H上方的節(jié)點還應(yīng)有A,1,B,2,C,D,算法檢測的結(jié)果顯示缺少的策略有:A→H,1→H,B→H,2→H,C→H,D→H,實驗檢測結(jié)果和人工分析DAG模型顯示結(jié)果一致。
圖5為沖突算法檢測結(jié)果,依據(jù)環(huán)路判斷算法給出可能形成環(huán)路沖突的節(jié)點集合。
從實驗數(shù)據(jù)可知,U(D)≡U(E)≡U(G),并且R(D)≡R(E)≡R(G),節(jié)點D,E,G之間構(gòu)成環(huán)路沖突,同時實驗數(shù)據(jù)中給出了沖突檢測結(jié)果的判別依據(jù),檢測結(jié)果和人工對DAG模型進行分析顯示的結(jié)果一致。
實驗數(shù)據(jù)同時表明,本文提出的相關(guān)算法不但檢測出不完備策略和沖突策略,并且最終構(gòu)造了策略完備且無沖突的DAG,其輸出結(jié)果及其鄰接表存儲結(jié)構(gòu)如圖6所示。
依據(jù)上述過程得到的鄰接表可得圖7所示的DAG。可以看出,該圖不但還原圖3基本結(jié)構(gòu)的基礎(chǔ),還在圖3基礎(chǔ)上實現(xiàn)了等價節(jié)點的合并。圖7所示DAG中等價節(jié)點的合并將為策略的部署實施和進一步策略管理帶來便利,是進行訪問控制策略管理的重要基礎(chǔ)。
5 結(jié) 語
給出了基于主體、客體融合DAG模型的策略一致性和沖突檢測方法。首先證明了主體、客體融合的DAG的存在性,給出了主體、客體融合DAG的構(gòu)建方法,并給出基于DAG模型節(jié)點集合對策略完備性和策略沖突進行檢測的相關(guān)算法。實驗驗證了主體、客體融合的DAG可以有效管理復(fù)雜系統(tǒng)中的大量訪問控制策略,并能夠?qū)Σ呗酝陚湫院筒呗詻_突進行檢測。
相比于其他策略沖突檢測方法,本文提出的構(gòu)建主體、客體融合DAG的檢測算法,不僅具備了傳統(tǒng)DAG模型檢測方法的實用性和易實現(xiàn)的優(yōu)點,還完善了傳統(tǒng)訪問控制模型中能檢測常規(guī)策略沖突的作用,能夠檢測策略的完備性,為訪問控制行為的執(zhí)行提供了更完善的策略基礎(chǔ)。
但本文方法仍存在一定不足。通過分析訪問控制策略集合偏序關(guān)系建立了DAG模型,進而對策略完備性和策略沖突進行檢測,此方法適用于策略管理的初始化過程,特別適合在大規(guī)模系統(tǒng)中對數(shù)量眾多的訪問控制策略進行管理,但當(dāng)系統(tǒng)的運行過程中出現(xiàn)策略變更,比如添加或刪除訪問控制策略時,會導(dǎo)致訪問控制策略集合中主體集合和客體集合發(fā)生大量變更,并且這種變更同時還受到策略完備性和策略沖突的約束,使得策略完備性和策略沖突的檢測變得更為復(fù)雜。因此,在下一步研究工作中,將針對系統(tǒng)運行過程中訪問控制策略變更時主體、客體加入、離開等動態(tài)場景進行深入研究,設(shè)計更適用于動態(tài)場景的高效訪問控制策略一致性和完備性檢測方法。
參考文獻/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] 向華萍,付智輝,陳紅麗.具有時間約束的動態(tài)角色的訪問控制策略[J].河北科技大學(xué)學(xué)報,2010,31(6):558-563.
XIANG Huaping,F(xiàn)U 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] 張坤,周萬珍,孫秋紅.協(xié)同工作(CSCW)中的訪問控制模型[J].河北工業(yè)科技,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] 盧秋如,陳建平,馬海英,等.一種可擴展訪問控制標記語言的策略優(yōu)化算法[J].計算機科學(xué),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].武漢:華中科技大學(xué),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]. 計算機研究與發(fā)展, 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]魏雁平. 基于有向圖覆蓋關(guān)系的安全策略沖突檢測模型[D]. 成都:四川大學(xué),2006.
WEI Yanping.A Policy Conflict Detection Model Based on Direct-Graph with Cover Relation[D].Chengdu :Sichuan University,2006.