馬增幫 楊英杰 代向東 劉 江
(信息工程大學 河南 鄭州 450001)
?
一種面向分布式策略自管理的方法
馬增幫楊英杰代向東劉江
(信息工程大學河南 鄭州 450001)
針對目前分布式策略管理依靠管理員手工配置和分發(fā)策略難以及時準確地進行策略更新調整,以適應動態(tài)多變的分布式系統(tǒng)環(huán)境下策略動態(tài)管理的問題,提出基于元策略的分布式策略自管理框架。設計了基于改進的ID3算法的策略自管理算法,實現(xiàn)了元策略隨系統(tǒng)環(huán)境變化動態(tài)調整,進而實現(xiàn)了基本策略的動態(tài)更新調整。最后,實驗驗證了該方法的可行性和有效性。
策略管理自管理框架元策略改進的ID3算法
近年來,基于策略的管理被認為是解決大規(guī)模分布式管理問題最有效的方法,得到了IETF(Internet Engineering Task Force)、DMTF(Desktop Management Task Force)等標準組織以及許多學術機構和網絡設備廠商的支持。
策略管理框架是部署和實施策略管理的基礎,針對策略管理的需求,目前研究已經提出了多種策略管理框架。具體而言,IETF策略管理框架[1],如圖1所示。其組成包括策略管理點PAP、策略庫、策略決策點PDP和策略執(zhí)行點PEP。PAP為策略管理員提供操作接口,管理員通過接口制定策略;策略庫存放策略及相關的各種信息;PDP負責接收PEP提交的策略請求,根據策略庫內的策略進行決策并將決策結果返回給PEP;PEP負責向PDP發(fā)送請求以及執(zhí)行策略。
圖1 IETF策略管理框架
其他學術組織及機構在IETF策略管理框架的基礎上推出各自的策略管理框架。例如,結構化信息標準促進組織OASIS批準了集中式管理的XACML策略管理框架[2],與IETF策略管理框架相比,XACML策略管理框架增加了策略信息點以及上下文處理,策略信息點用于查詢環(huán)境以及策略作用對象的基本信息,上下文處理是將請求和決策在外部系統(tǒng)可識別形式以及XACML可識別形式之間轉變。集中式策略管理框架在進行策略決策時會出現(xiàn)性能瓶頸問題,Daniel Diaz-Lopez等人[3]對XACML策略管理框架進行改進,通過增加管理中心及策略決策點的方式實現(xiàn)將集中式策略管理改為分布式策略管理,他們引入約束基本策略的元策略,通過元策略控制基本策略優(yōu)先級避免策略沖突問題。這為策略管理提供一個好方法:利用元策略管理基本策略。其他許多策略管理框架是支持分布式管理的,如英國皇家學院提出的Ponder策略管理框架[4]。
以上對于策略管理框架的研究主要是為了實現(xiàn)對分布式管理的支持。分布式系統(tǒng)環(huán)境動態(tài)多變,因此策略需要實時變更來適應動態(tài)多變的環(huán)境,然而,這些策略管理框架并沒有考慮環(huán)境變化對策略的影響,也不能對策略進行自動的管理和控制,而是依靠管理員手動下發(fā)策略,因而不能及時根據環(huán)境變化進行策略的動態(tài)調整,不能滿足分布式系統(tǒng)多變環(huán)境下策略快速、動態(tài)調整和實施的需要。以時間環(huán)境為例,在運營時間及非運營時間,對資源的控制粒度不同,此種情況下在不同的時間需要采用不同的基本策略。
目前,對于策略自動管理及生成的研究相對較少。Sonkoly等人[5]提出數字化策略以適應分布式環(huán)境下策略的管理,指出數字化策略需支持策略自動生成,但是并沒有指出具體如何實現(xiàn)。Gwyduk Yeom等人[6]提出一種動態(tài)策略管理框架可以根據環(huán)境變化實時改變策略,該框架通過一個黑盒系統(tǒng)捕捉事件變化,運行策略同步算法、策略優(yōu)先級算法以及策略決策算法查找出相應策略并使其生效以取代先前策略。特定環(huán)境需要多條策略共同作用,但上述方法只針對一條策略,需要不斷運行算法來查找合適策略,效率較低。文獻[7]總結了目前策略自動生成的方法:束法、直接法、本體論以及決策樹,這些算法使策略自動生成成為可能。然而,這些算法都是直接自動生成基本策略,準確性不能保證,這與安全策略對準確性的要求不符,如果完全依賴策略自動生成一旦出錯將對系統(tǒng)造成難以估量的損害。
為保證策略的準確性,同時又能適應快速多變環(huán)境,由管理員制定基本策略,并制定元策略來管理基本策略,根據環(huán)境變化動態(tài)變更元策略進而變更基本策略是一個較好的方法?;诖?,本文提出一種分布式策略自管理方法,并設計其部署框架,該框架的核心是根據環(huán)境變化動態(tài)實時變更元策略,從而實現(xiàn)基本策略的動態(tài)調整。本文所提元策略不考慮對基本策略優(yōu)先級的限制及策略沖突問題。
目前,策略管理框架分為集中式和分布式兩種類型。本文所提策略管理框架采用分布式管理方式。
集中式策略管理只有一個PDP,PDP決策來自所有PEP的請求,隨著系統(tǒng)規(guī)模的擴大,請求數量越來越大,PDP決策效率必然會受到影響,成為整個系統(tǒng)的性能瓶頸。而分布式的策略管理將PDP與PEP結合,一個管理系統(tǒng)對應多個PDP,不再進行集中式決策。將基本策略下發(fā)到各個執(zhí)行點,由執(zhí)行點決策并執(zhí)行策略,有效解決了PDP性能瓶頸問題。同時,為了實現(xiàn)策略的自動化管理,在IETF策略管理框架的基礎上,設計了分布式策略自管理框架,如圖2所示。
圖2 分布式策略自管理框架
該框架共分三層:交互層、服務層和執(zhí)行層。
交互層提供人機接口,管理員通過策略管理控制臺制定策略,實現(xiàn)與服務層之間的交互。
服務層提供域服務[8]、策略服務、策略下發(fā)服務以及環(huán)境與運行監(jiān)控。域服務在概念上與目錄服務類似,管理分布式層次結構的域對象,能夠在運行時定位策略作用目標,因此采用域服務器為策略服務器提供域服務。策略庫用于策略的存儲,既存儲可以被執(zhí)行的基本策略,也存儲元策略,元策略歷史數據為自管理策略管理代理自學習變更新的元策略提供支撐。策略服務器包括三個模塊,其中,策略存儲代理將策略存入策略庫;自管理策略管理代理執(zhí)行算法,根據環(huán)境變化動態(tài)變更元策略;策略下發(fā)代理根據元策略將基本策略下發(fā)到策略執(zhí)行代理。環(huán)境及運行監(jiān)控器捕捉環(huán)境變化信息并提供給自管理策略管理代理,同時,它還對策略在執(zhí)行代理的執(zhí)行情況進行審計并將策略執(zhí)行情況以及策略作用效果反饋給策略管理控制臺,管理員可根據反饋結果對策略進行調整。
執(zhí)行層負責策略的具體執(zhí)行。策略執(zhí)行代理綜合了策略決策點PDP和策略執(zhí)行點PEP,作為守護進程駐留在被管對象上。在完成策略執(zhí)行任務的同時監(jiān)控環(huán)境信息并反饋策略執(zhí)行情況。
與IETF策略管理框架相比,分布式策略自管理框架有以下改變:①將PDP部署到PEP并與之結合,將集中式決策改為分布式決策,實現(xiàn)了分布式策略管理;②引入域服務,為分布式管理提供便利;③增加了自管理策略管理代理和環(huán)境及運行監(jiān)控器,實現(xiàn)捕捉環(huán)境變化信息,并根據環(huán)境變化動態(tài)變更元策略從而實現(xiàn)基本策略的動態(tài)調整。
已有的策略管理框架要實現(xiàn)策略自管理,需要根據策略自管理框架進行升級。
對策略自管理框架而言,元策略的動態(tài)變更是其正常運行的關鍵。
元策略是環(huán)境與基本策略之間的橋梁。不同環(huán)境需要不同的基本策略共同作用,這些基本策略數量龐大,環(huán)境狀況改變時必須對所有基本策略進行動態(tài)調整,實施難度較大且易出錯。元策略可以有效解決這一問題。元策略管理基本策略,將基本策略按照一定規(guī)則組織起來,實現(xiàn)特定環(huán)境狀態(tài)對應少量元策略,而這些元策略管理達到該環(huán)境狀態(tài)安全需求的全部基本策略。環(huán)境改變時只需變換少量元策略就可實現(xiàn)全部基本策略的變更,這種方式高效且不易出錯。
為了更加清楚地描述元策略的橋梁作用,采用形式化的方式進行描述。
元策略管理基本策略,設Mi表示任意元策略,Pj表示任意基本策略,符號→表示管理關系,則元策略與基本策略的邏輯關系可表示為Mi→{Pi1,Pi2,…,Pij}。元策略之間的關系滿足:
不同元策略可能管理相同基本策略:
?Mi,Mj,stMi∩Mj=Pi
不同元策略的組合實現(xiàn)不同基本策略的組合:
{Mi,Mj}=Mi∪Mj={Pi1,Pi2,…,Pim}∪{Pj1,Pj2,…,Pjn}
設Ei表示環(huán)境狀態(tài),Ei={ei1,ei2,…,ein},eij表示環(huán)境屬性,多個環(huán)境屬性標識一種環(huán)境狀態(tài)。Ei≈{M1,M2,…,Mn}表示Ei環(huán)境狀態(tài)對應元策略集合{M1,M2,…,Mn}。另外,Ei與Mi的關系還滿足:
?Ei,Ej,stEi∩Ej=Mi
即有的元策略適用于多種環(huán)境狀態(tài)下,實現(xiàn)了元策略的復用。
通過元策略的橋梁作用,環(huán)境狀態(tài)與基本策略的關系可表示為:
Ei≈{M1,M2,…,Mn}={P11,P12,…,P1m}∪…
∪{Pn1,Pn2,…,Pnn}
為了更方便描述元策略與環(huán)境狀態(tài)的關系,引入安全等級,不同的環(huán)境狀態(tài)對應不同的安全等級,不同安全等級需要不同安全策略。當環(huán)境變化時,安全等級隨之改變,安全策略也需要動態(tài)更新調整。
不同環(huán)境狀態(tài)對應著不同的元策略,當環(huán)境狀態(tài)改變元策略隨之改變,元策略所對應的基本策略也要動態(tài)調整。然而,某種環(huán)境狀態(tài)可能重復出現(xiàn),即該種環(huán)境狀態(tài)所對應的元策略重復出現(xiàn),元策略所管理的基本策略重復生效。為了避免重復下發(fā)相同策略,為基本策略引入策略狀態(tài),基本策略一旦下發(fā),通過改變狀態(tài)來決定是否生效。
基本策略維持初始、休眠、啟用、刪除四種狀態(tài),這四種狀態(tài)之間的轉換關系如圖3所示。由管理員制定的新的基本策略存儲于策略庫中處于初始態(tài)。初始態(tài)的策略被下發(fā)到策略執(zhí)行點并執(zhí)行,策略處于啟用態(tài)。啟用態(tài)的策略可以被禁用,禁用后處于休眠態(tài),休眠態(tài)的策略可以被啟用。被刪除的策略不會立即從策略庫中移除,此時的策略被標記為刪除態(tài),經過一個時間周期,對策略庫進行更新才會將處于刪除態(tài)的策略從策略庫中移除。
圖3狀態(tài)轉換圖
元策略是基本策略的策略,包含五種元素,元策略可以表示為:MetaPolicy=
當外界環(huán)境發(fā)生改變,通過環(huán)境屬性判斷出安全等級,根據安全等級及作用目標找到相應的元策略,若元策略處于初始態(tài),則將元策略管理的基本策略下發(fā)并啟用,同時將元策略狀態(tài)改為啟用態(tài)并將前種環(huán)境對應的元策略狀態(tài)改為休眠態(tài);若元策略為休眠態(tài),則基本策略已下發(fā)處于休眠態(tài),將元策略管理的基本策略啟用并將元策略狀態(tài)改為啟用態(tài)并將前種環(huán)境對應的元策略狀態(tài)改為休眠態(tài)。
如何實現(xiàn)根據環(huán)境狀態(tài)的改變動態(tài)地變更元策略是實現(xiàn)策略自管理的關鍵。為了解決這個問題,設計了基于改進的ID3算法的策略自管理算法。
3.1ID3算法簡介
機器學習[9]是研究計算機模擬人類的學習行為,通過重新組織已有的知識結構以獲取新的知識或技能,實現(xiàn)不斷改善自身能力的一種方法,決策樹學習是機器學習的一種,而ID3算法[10]是決策樹學習的核心算法。
ID3算法是基于信息熵的決策樹分類算法,其核心思想是檢測所有屬性并根據屬性值的取值判斷實例的類別,選擇信息增益最大的屬性作為決策樹的節(jié)點,對各分支的子集遞歸找出屬性和類別間的關系,最終生成一棵決策樹。
設S為一個包含n個數據的樣本集合,假設目標類屬性具有m個不同的取值{C1,C2,…,Cm}。設Si為類別Ci中樣本數,對一個給定樣本分類所需的信息熵為:
其中,Pi=Si/S為任意樣本屬于Ci的概率。
如果以屬性A作為決策樹的根,設屬性A取n個不同的值{a1,a2,…,an},它將集合劃分為n個子集{S1,S2, …,Sn},若屬性A被用于對當前樣本集進行劃分,則所期望的信息熵為:
則在A分支上的信息增益為:
Gain(S,A)=E(S)-E(S,A)
ID3算法對信息熵的計算依賴于特征取值較多的特征屬性,這樣并不合理。采用簡單的方法對特征值進行分解,雖然特征取值數目不同,但可以把它們全部轉換成二值特征。例如,年齡取值大、小可以分解為兩個特征:年齡—大、年齡—小,取值均為是(Y)或否(N)。這樣可以避免出現(xiàn)偏向于取值較多的屬性的現(xiàn)象。
3.2基于改進的ID3算法的策略自管理算法
算法:基于改進的ID3算法的策略自管理算法
訓練集由環(huán)境信息及相應元策略組成,對訓練集進行自學習,計算各屬性的信息增益,其中,此處的屬性為原屬性進行二值屬性轉化后的屬性。選擇信息增益最大的屬性作為分類節(jié)點,判斷各屬性取值的信息熵,若為0則生成葉子節(jié)點,否則繼續(xù)迭代判斷其余屬性的信息增益及其屬性值對應的信息熵,最終得到決策樹。環(huán)境監(jiān)控器監(jiān)控環(huán)境狀況,當環(huán)境發(fā)生改變時,捕捉環(huán)境信息得到環(huán)境屬性E,遍歷決策樹,得到該環(huán)境下的安全等級,根據安全等級和策略作用對象到策略庫中檢索到相應元策略并將元策略狀態(tài)變更為啟用。查詢數據庫,根據元策略定位到基本策略并將基本策略下發(fā)執(zhí)行,實現(xiàn)了根據環(huán)境變化變更元策略,進而調整基本策略以適應環(huán)境的變化。
針對以上研究成果,為了驗證有效性,從元策略支持策略描述語言的描述以及算法有效性兩個方面進行驗證。
4.1元策略對Ponder支持的驗證
策略管理框架的運行需要策略描述語言的支持,元策略作為實現(xiàn)策略自管理的基礎,必須能夠用策略描述語言進行描述。以Ponder為例進行驗證。
Ponder是一種聲明性的面向對象的策略描述語言,以授權策略為例,其語法格式為:
inst (auth+|auth-) policyName{
subject domain-Scope-Expression;
target domain-Scope-Expression;
action action-list;
[when constraint-Exprssion;]
}
inst聲明描述的是策略實例,auth+|auth-表示策略類型,大括號內是策略元素的聲明。
Ponder本身支持元策略,但那種元策略是為解決沖突的,本文所指元策略可用Ponder描述為:
inst (meta) policyName{
TargetTarget-Expression;
TargetPolicyTargetPolicy-Expression;
Security_LevelLevel-Expression;
StateState-Expression;}
其中,policyName即為元策略標識。
為了使Ponder部署框架實現(xiàn)策略自管理,需要對其框架進行升級,增加自管理策略管理代理和環(huán)境及運行監(jiān)控器模塊。
除了Ponder,元策略也可實現(xiàn)對其他策略描述語言的支持且部署框架經過升級后能支持策略自管理。
4.2基于改進的ID3算法的策略自管理算法驗證
下面的實驗是根據環(huán)境屬性來確定安全等級,進而確定元策略。環(huán)境屬性包括多個非類別屬性,本實驗根據攻擊威脅、流量情況、時間、操作類別四個非類別屬性確定類別屬性安全等級。
非類別屬性及取值如表1所示,全體訓練集如表2所示。
表1 屬性及取值
表2 樣本訓練集
對于上述訓練集,令類別屬性信息熵為A,安全等級高記為p1,p1的個數是12,安全等級低記為p2,p2的個數是12,類別屬性的信息熵是:
E(A)=-P(p1)log2P(p1)-P(p2)log2P(p2)=1.0000
二值轉化后的非類別屬性信息熵計算方式為(以“攻擊威脅=無”為例):
信息增益量:
Gain(攻擊威脅=無,A)=E(A)-E(攻擊威脅=無,A)
=0.6283
分別計算其余10種情況信息增益并比較,Gain(攻擊威脅=有,A)的值最大,所以說明“攻擊威脅=有”的信息對于分類的幫助最大,因此選擇“攻擊威脅=有”作為測試屬性。
根據算法遞歸計算,可以得到一棵二叉樹決策樹,如圖4所示。
圖4 二叉樹決策樹
為方便實驗,策略作用對象采用單一目標T,相關元策略如表3所示,省略了策略目標以及元策略狀態(tài)。
表3 元策略表
根據環(huán)境的改變,得到的基本策略如表4所示。
表4 環(huán)境信息及基本策略
實驗數據顯示,該算法能夠根據環(huán)境變化變更元策略并最終實現(xiàn)基本策略的動態(tài)變化。
4.3實驗分析
以上兩方面的驗證,顯示了元策略方式的可行性以及自管理算法的有效性。元策略支持策略描述語言的描述,已有策略管理框架經過升級以及其策略描述語言包含增加對元策略的描述后,便可進行策略自管理。改進的ID3算法對數據進行自學習,得到分類決策樹。同時,根據目標環(huán)境狀態(tài)得到安全等級及相應元策略,最后,根據元策略管理相應基本策略。
通過元策略管理基本策略,元策略隨環(huán)境動態(tài)改變而改變,進而實現(xiàn)基本策略的改變。有效減少了根據環(huán)境動態(tài)變化逐條改變策略所帶來的時間消耗。
ID3算法用來構建決策樹,傳統(tǒng)的ID3算法以信息熵作為屬性選擇標準,而信息熵的計算依賴于取值較多的特征,這樣就會出現(xiàn)屬性偏向[11]問題。本文采用改進的ID3算法,在進行安全等級分類時采用二叉樹存儲,有效地避免屬性偏向問題。
本文針對目前策略管理需要管理員手工操作無法應對分布式環(huán)境動態(tài)多變的問題提出一種分布式策略自管理方法,該方法適用于目前多數策略管理框架。引進元策略對基本策略進行管理,通過基于改進的ID3算法的策略自管理算法實現(xiàn)根據環(huán)境變化動態(tài)地改變元策略進而改變基本策略。
目前策略自管理算法雖然對ID3算法進行改進,但還不夠成熟,下一步將對策略自管理算法進行改進。
[1] Weili Han, Chang Lei. A Survey on Policy Languages in Network and Security Management [J]. Computer Networks, 2012, 56:477-489.
[2] Erik Rissanen. eXtensible Access Control Markup Language(XACML) Version 3.0[S]. OASIS, 2013.
[3] Daniel Diaz Lopez, Gines Dolera Tormo, Felix Gomez Marmol, et al.Managing XACML systems in distributed environments through Meta-Policies[J]. Computers & Security, 2015,48:92-115.
[4] Nicodemos Damianou, Naranker Dulay, Lupu E, et al. Ponder:A Language for Specifying Security and Management Policies for Distributed Systems[R]. London:Imperial College of Science Technology and Medicine,2000.
[5] Abdur Rahim Choudhary, Bel G Raggad. Digital Policy Management Requirements and Architecture[C]//IEEE International Inter-Disciphinary Conference on Cognitive Methods in Situation Awareness and Decision Support. The United States :2014:144-150.
[6] Yeom G, Tsai W T, Tseng Y, et al. A dynamic policy management framework in service-oriented architecture[C]//Networked Computing and Advanced Information Management (NCM), 2011 7th International Conference on. IEEE, 2011:35-40.
[7] 楊明. 分布式環(huán)境下的安全策略關鍵技術研究[D]. 吉林大學, 2011.
[8] Sonkoly B, Czentye J, Szabo R, et al. Multi-Domain Service Orchestration Over Networks and Clouds:A Unified Approach[C]//Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication. ACM, 2015:377-378.
[9] 何清, 李寧, 羅文娟, 等. 大數據下的機器學習算法綜述[J]. 模式識別與人工智能, 2014, 27(4):327-336.
[10] 王小巍, 蔣玉明. 決策樹ID3算法的分析與改進[J]. 計算機工程與設計, 2011, 32(9):3069-3072.
[11] 喻金平, 黃細妹, 李康順. 基于一種新的屬性選擇標準的ID3改進算法[J]. 計算機應用研究, 2012,29(8):2895-2898.
A METHOD OF SELF-MANAGEMENT FOR DISTRIBUTED POLICY
Ma ZengbangYang YingjieDai XiangdongLiu Jiang
(InformationEngineeringUniversity,Zhengzhou450001,Henan,China)
Nowadays, distributed policy management relies on administrators to configure and distribute policies manually, it is difficult to update policy timely and accurately in order to adjust the dynamic policy management in changing dynamics distributed system environment. Towards this issue, the distributed policy self-management framework based on meta-policy is proposed, and the policy self-management algorithm based on improved ID3 algorithm is designed to achieve meta-policy adjusting dynamically with the changing of environment information, so as to realize the basic policy updating and adjusting dynamically. Finally, the experiment verifies the feasibility and effectiveness of this method.
Policy managementSelf-management frameworkMeta-policy Improved ID3 algorithm
2015-11-24。國家高技術研究發(fā)展計劃項目(2012A A012704)。馬增幫,碩士生,主研領域:網絡安全與策略管理。楊英杰,副教授。代向東,講師。劉江,博士生。
TP393.08
A
10.3969/j.issn.1000-386x.2016.08.059