許盛偉 田 宇 鄧 燁 劉昌赫 劉家興
1(北京電子科技學院信息安全研究所 北京 100070)
2(北京電子科技學院網(wǎng)絡空間安全系 北京 100070)
3(北京電子科技學院密碼科學與技術系 北京 100070)
隨著信息網(wǎng)絡技術的高速發(fā)展,傳統(tǒng)的基于劃分安全區(qū)域,在網(wǎng)絡邊界處部署譬如防火墻、入侵檢測系統(tǒng)(IDS)、入侵防御系統(tǒng)(IPS)等安全設備的邊界安全理念在面對越來越繁雜的網(wǎng)絡基礎設施時難以設置邊界,同時在面對越來越多來自網(wǎng)絡內(nèi)部的攻擊時無能為力.而貫徹“永不信任、始終驗證”原則的零信任[1-2]模型是解決上述問題的有效手段之一.零信任模型使訪問行為得到更細粒度的控制會持續(xù)地對訪問主體進行身份驗證和動態(tài)授權,實現(xiàn)對客體資源的細粒度安全訪問控制.
2010年,Forrester的分析師Kindervag[3]首次提出了“零信任”這一術語,建議對所有的訪問請求進行安全控制.之后,谷歌公司在BeyondCorp項目中開始嘗試使用零信任安全模型取代傳統(tǒng)的基于網(wǎng)絡邊界的網(wǎng)絡安全模型[4].目前在零信任架構下的訪問控制模型研究發(fā)展得較為迅速,但仍存在信任值評估算法不準確、對資源屬性的遍歷效率不高、無法做到既保證細粒度又保證查詢效率等問題.針對以上問題,本文提出一種基于角色和屬性的零信任訪問控制模型,主要有3個方面的貢獻:
1) 創(chuàng)新性地提出一種資源決策樹模型,提高了模型細粒度和查找效率;
2) 提出一種新的信任度量體系,基于邏輯回歸與調(diào)和平均數(shù)模型對信任值的計算進行優(yōu)化,依據(jù)最小權限原則結合懲罰機制與獎勵機制,對訪問主體進行持續(xù)性的綜合信任評估,實現(xiàn)安全、高效、合理的動態(tài)訪問控制;
3) 優(yōu)化零信任架構下的訪問控制流程.
零信任訪問控制模型主要由資源服務器、權限服務器、信任服務器、決策服務器以及安全網(wǎng)關組成,如圖1所示.與傳統(tǒng)VPN先連接、后認證的接入方式不同,模型采取先認證、后接入的連接方式,有效減少了模型的暴露面.

圖1 零信任訪問控制模型架構
信任服務器是動態(tài)信任評估體系的“核心”,當訪問主體進行訪問時,信任服務器會根據(jù)其屬性對其計算信任值,并根據(jù)訪問主體的信任值為其分配一個角色.資源服務器通過計算資源值量化每項資源的重要性,使用資源哈希值對資源進行標識,同時將資源劃分最小單位.權限服務器計算權限值,維護角色鏈表,生成資源決策樹.決策服務器通過訪問主體申請產(chǎn)生的資源值、權限值計算決策值,通過訪問主體角色(信任值)與決策值的對應關系判斷訪問主體的申請是否通過.
資源決策樹由資源決策點組成,資源決策點包含資源哈希值、權限集合、決策區(qū)間以及連接其他資源決策點的左、右指針.當訪問主體接入模型后模型會為其分配1個角色,每個角色連接至1個資源決策樹的根節(jié)點,資源決策樹在數(shù)據(jù)結構上是一個二叉樹,如圖2所示.

圖2 資源決策樹
資源決策樹的左子樹連接同一資源不同權限的資源決策點,右子樹則連接包含不同資源的資源決策點.1個角色所能連接的二叉樹中所有節(jié)點的決策值相似.本文模型相較于目前主流的鏈表式模型在計算復雜度上有所改進.當遍歷同一角色不同資源決策點時,本文模型的計算復雜度為O(lbn),若采用鏈式模型,其計算復雜度為O(n).同時,決策樹模型在細粒度的控制上更加精細.可以實現(xiàn)權限更細粒度的控制,1個角色對1個資源的權限集之間不存在包含和被包含的關系.
信任值由信任服務器計算產(chǎn)生,信任值的大小反映了模型對訪問主體的信任程度.訪問主體接入模型時信任服務器會通過讀取身份信息、日志等數(shù)據(jù)對訪問主體進行綜合判斷.信任值由3個部分組成,即歷史信任值、實時信任值、懲罰與獎勵,計算過程如圖3所示.

圖3 信任值計算過程
訪問主體本次申請訪問是否通過主要由實時信任值TN、歷史信任值TB所計算出的F(TN,TB)決定.u,v為實時信任值TN、歷史信任值TB的權重.函數(shù)F如式(1)所示:
F(TN,TB)=uTN+vTB.
(1)
若模型判斷F(TN,TB)高于訪問主體申請產(chǎn)生的決策值,則通過訪問主體申請.在訪問主體的訪問過程中模型信任服務器通過安全網(wǎng)關的流量對訪問主體進行審計,直到訪問主體結束訪問.模型邊訪問邊審計,通過訪問主體流量、身份信息計算懲罰與獎勵值TRD,如訪問主體在訪問過程中存在違規(guī)行為,安全網(wǎng)關將立刻切斷訪問主體與資源之間的連接.訪問主體訪問結束后將F(TN,TB)與TRD的綜合計算值存入歷史信任行為數(shù)組.信任服務器為每個訪問主體維護1個歷史信任行為數(shù)組t[n][m],t[n][1]即數(shù)組第1列記錄訪問主體歷史申請訪問后模型所計算的信任值.t[n][2]即數(shù)組第2列記錄訪問主體單次歷史行為參數(shù),存在懲罰記錄記為1,無懲罰記錄記為0.γ,δ為F(TN,TB)、懲罰與獎勵值TRD的權重.式(2)為歷史信任值的計算方法:
t[i][1]=G(F(TN,TB),TRD)=
γF(TN,TB)+δTRD, 0
(2)
訪問主體第1次接入模型時,信任服務器對訪問主體歷史信任行為數(shù)組賦初始值,訪問主體信任值不設下限,設置上限,提升信任值達到一定程度可申請?zhí)岣咝湃沃瞪舷?信任值上限的提高需經(jīng)過嚴格審核.
2.1.1 歷史信任值
通常情況下,越早的訪問記錄對當前訪問評估的參考性就越弱[5].因此,信任值產(chǎn)生的時間越早在整個歷史信任值計算中所占的權重應越低.此外,為節(jié)省信任服務器的資源,每個訪問主體的歷史信任行為數(shù)組規(guī)定行、列為一定值n,m.式(3)為歷史信任值衰減系數(shù)的計算方法:
(3)
A(s)為歷史信任行為數(shù)組衰減系數(shù),即訪問主體歷史信任值的衰減系數(shù),其中s為當前數(shù)組元素下標,p為數(shù)組最后元素下標.λ為歷史信任值調(diào)整系數(shù).訪問主體的歷史信任值由歷史信任行為數(shù)組中的訪問主體歷史信任值元素與對應衰減系數(shù)積的和得到.式(4)為歷史信任值的計算方法:
(4)
當歷史信任數(shù)組被填滿時,即訪問主體訪問次數(shù)達到信任值數(shù)組行數(shù)n的大小,由于越早的訪問記錄效力越低,數(shù)組將最靠前的x個元素進行加權平均,將均值存入數(shù)組首位,其余元素位置均向前移動x-1,作為訪問主體歷史信任憑證,如圖4所示:

圖4 歷史信任行為數(shù)組
2.1.2 實時信任值
訪問主體接入模型時,信任服務器通過讀取訪問主體日志、訪問行為等信息得到屬于訪問主體的屬性表,其中包含訪問主體的各類信息.在計算訪問主體信任值時,首先預處理訪問主體屬性表中的數(shù)據(jù),將屬性表中的標稱屬性值進行數(shù)值化.由于訪問主體屬性表中各屬性的取值范圍不同,取值較大的特征將會降低取值較小特征在計算過程中所起的作用.因此需要對數(shù)據(jù)進行歸一化處理.將特征的取值轉(zhuǎn)化為0~1區(qū)間內(nèi)的值.f表示訪問主體屬性集中的基本元素——單個屬性的值,fmin和fmax分別為屬性的最小值和最大值.式(5)為屬性值標準化計算方法:
(5)
對訪問主體屬性數(shù)據(jù)預處理后得到身份屬性值fi,身份屬性值組成集合F={f1,f2,…,fn},首先將身份屬性集合分為l個類,l≤n,F≥F1∪F2∪…∪Fl,F1∩F2∩…∩Fl=?,F1={f1,f2,…,fi},…,Fl={fj,fj+1,…,fn},1≤i (6) 其中fk為集合Fi內(nèi)第k個屬性值,ak為fk這一指標相對應的權重. 求出l個信任分量z1,z2,…,zl后,對其求加權調(diào)和平均數(shù).其中bi為集合Fi的權重.訪問主體實時信任值的計算方法如式(7)所示: (7) 2.1.3 懲罰與獎勵機制 通過對訪問主體訪問行為進行審計,審計結果以懲罰值、獎勵值的形式反映到信任值上.懲罰與獎勵值TRD由懲罰值TD、獎勵值TR這2部分組成.TRD的計算方法如式(8)所示: (8) 懲罰值的計算由懲罰值基數(shù)g1、懲罰因子f1這2部分組成,TD=f1g1.模型對訪問主體的違規(guī)行為進行分級,等級越高代表申請行為的危害越大,所得懲罰值基數(shù)越大.式(9)為根據(jù)訪問主體的違規(guī)等級給出的懲罰值基數(shù)g1的計算方法: (9) 其中R為非法操作等級總數(shù),r為當前操作對應的非法等級. 式(10)為根據(jù)訪問主體歷史訪問記錄的懲罰因子f1的計算方法: (10) 其中k1(t[n][m])為行為數(shù)組中最大的連續(xù)違規(guī)次數(shù),τ為違規(guī)次數(shù)系數(shù). 獎勵值的計算由獎勵值基數(shù)g2、獎勵因子f2這2部分組成,TR=f2g2.式(11)為獎勵值基數(shù)g2的計算方法,ξ為基礎獎勵系數(shù): (11) 式(12)給出獎勵因子f2的計算方法: (12) 其中k2(t[n][m])為行為數(shù)組中近期連續(xù)不違規(guī)的次數(shù),d為預設連續(xù)不違規(guī)次數(shù). 資源值N由資源服務器計算產(chǎn)生,它描述了資源在模型中的重要程度和敏感程度.資源值的大小反映了資源的價值,資源的價值難以量化,因其不僅取決于客觀屬性因素,也需采納行業(yè)專家的意見,計算可采用基于一致矩陣的模糊層次分析法[6],通過層次分解模型和基于模糊數(shù)構建的各個證據(jù)間重要性的判斷矩陣進行計算[7]. (13) 通過模糊一致性矩陣可以得到屬性類中各屬性的權重.通過對α個β階矩陣中的r值進行計算,可獲得屬性的權重矩陣W=(ωij)α×β,計算方法如式(14)所示: (14) 在權重矩陣W、屬性矩陣E中屬性值與其權重一一對應,以此計算相應的資源值N. 權限值S由權限服務器計算生成,它表示權限的重要程度,即在權限被濫用時對模型可能造成的危害程度.使用層次分析法來確定不同類型權限之間的相對重要程度,進而計算出每個權限的權重.首先將所有權限列出,將其分為數(shù)個大類,大類之后在各個大類中劃分小類.使用計算資源值相同的算法進行計算,最終獲得權限值S={S1,S2,…}. 訪問主體進行非法訪問時,模型會記錄違規(guī)訪問主體本次所申請的權限,若模型存在大量違規(guī)申請某項權限的記錄,且數(shù)量達到一定閾值后,權限服務器將會更新這一權限的權限值.Vio為一段時間訪問主體訪問并申請Sx權限的違規(guī)次數(shù),Nor為這段時間訪問主體訪問總量.新Sx值的計算方法如式(15)所示: (15) 決策值是由決策服務器計算生成的,用以綜合評估對特定資源的權限申請的安全性.通過資源值、權限值計算得到?jīng)Q策值P.σ,φ分別代表資源值、決策值系數(shù),由于資源值、權限值同時增加會造成用戶權限爆炸的問題,設定θ為爆炸系數(shù).式(16)為決策值的計算方法: P=(σN×φS)θ. (16) 對比傳統(tǒng)的資源決策鏈式模型[9],假設資源決策點的數(shù)量為n,角色數(shù)量為m,鏈式模型對訪問主體進行查找的時間復雜度為O(m+n);本文資源決策樹模型下對訪問主體進行查找的時間復雜度僅為O(m+lbn).此外,在文獻[7]中不同角色的資源決策點的權限集合存在包含關系,導致訪問主體在受到資源決策點授權時可能獲得不必要的權限,違背了最小特權原則. 對比結合屬性的RBAC模型[10-11],本文模型引入了資源值、權限值的量化計算,將資源劃分為更小的單位,保證了資源授權訪問的細粒度.在傳統(tǒng)的信任值計算[5,7]中,單一屬性值的極端情況往往對整體信任值的影響有限,導致訪問控制模型對某些違規(guī)情況的檢測不夠敏感.對比其他通過計算信任值進行訪問控制的模型,本文在計算信任值算法上作出改進,通過引入調(diào)和平均數(shù)的邏輯回歸算法加強了單一信任屬性對整體信任值數(shù)值的影響. 應用場景采取CIC-IDS-2017[12]數(shù)據(jù)集包含的屬性,其中涵蓋了多種網(wǎng)絡攻擊特征,其中包括源IP地址、源端口號、流持續(xù)時間等屬性,將這些屬性劃分為基本網(wǎng)絡屬性、流量統(tǒng)計特征、計算機網(wǎng)絡層次特征等大類,并將每一大類賦予相應的權重. 1) 實時信任值指標數(shù)量測試. 屬性的個數(shù)會對訪問主體實時信任值的計算產(chǎn)生影響,通常獲取訪問主體的信息越多對其信任值的計算也越準確,但有限的資源只允許通過有限的屬性數(shù)量進行計算,因此需要量化屬性個數(shù)與實時信任值關系.不同屬性由于權重的不同導致信任增長速率的貢獻不同,測試數(shù)據(jù)取屬性值范圍中間值.測試數(shù)據(jù)如圖5所示,隨著屬性數(shù)量的增多,信任值的增長趨于平緩,最終趨于定值. 圖5 實時信任值指標數(shù)量測試結果 2) 獎懲機制測試. 在信任值計算的實驗中設置了Alice,Bob,Carol,Dave這4個用戶,實時信任值設定為1,歷史信任值數(shù)組大小為5,歷史信任值數(shù)組x值為3.其中Alice為謹慎的合法用戶,Bob為好奇的合法用戶,Carol為謹慎的非法用戶,Dave為好奇的非法用戶.他們的訪問記錄為:NoteAlice={0,0,0,0,0,0,0},NoteBob={0,1,0,0,1,0,1},NoteCarol={0,1,1,0,0,3,2},NoteDave={1,2,3,4,5,5,5},集合中的數(shù)字代表訪問主體每次的違規(guī)等級,實驗結果如圖6所示,算法較為敏感地反映了訪問主體的各種行為,對于偶爾輕微的違規(guī)行為,模型記錄在案并不進行嚴厲懲罰;對于明顯的違規(guī)行為模型則會作出果斷嚴厲的處罰,從而禁止訪問主體的訪問行為. 圖6 獎懲機制測試結果 3) 歷史信任值數(shù)組x值測試. 采用Carol的訪問記錄進行測試,歷史信任值數(shù)組大小設置為5,測試結果如圖7所示.根據(jù)結果可以得出,信任值數(shù)組x值增大到一定值時對信任值的影響趨于穩(wěn)定,x值越小信任值對訪問主體行為越敏感. 圖7 歷史信任值數(shù)組x值測試結果 本文給出一種基于角色和屬性的零信任訪問控制模型.設計了一種全新的身份管理樹狀模型,提高了對資源決策點檢索速度,同時增加了資源劃分的細粒度,在資源決策樹的基礎上,通過引入信任值、資源值、權限值的計算來精確訪問控制能力,通過引入調(diào)和平均數(shù)強化了單一屬性極端情況下對訪問主體信任值的影響,通過資源值、權限值的計算保證了模型的最小權限原則,最終提高整個模型的安全性.2.2 資源值

2.3 權限值
2.4 決策值
3 實驗與分析
3.1 模型分析
3.2 信任值計算



4 結 語