朱興萍
摘要:因開放環(huán)境的日益復雜性、異構性和動態(tài)性,對當前的訪問控制提出了獨特的安全挑戰(zhàn)。詳細分析了RAdAC中的安全風險測量(SRM)算法核心以及最終訪問決定(FAD)策略沖突檢測,并通過對當前常用訪問控制的對比分析,提出了以后進一步的研究內(nèi)容,為該領域的研究提供了思路。
關鍵詞:訪問控制;風險自適應訪問控制;安全風險測量;最終訪問決定;策略沖突檢測
中圖分類號:TP309.2 文獻標識碼:A 文章編號:1009-3044(2018)28-0012-03
1 引言
風險自適應訪問控制(RAdAC,Risk-Adaptable Access Control)是美國國家安全局(NSA)研究的下一代動態(tài)訪問控制方法,RAdAC能夠根據(jù)當前平臺狀態(tài)以及特殊情況靈活動態(tài)的對用戶進行授權,給用戶提供最嚴格的訪問策略,提供多級安全(MLS,Multi Level Security)級別的訪問?;谏鲜鲈颍岢鲆环N基于RAdAC的訪問控制方法,使其具備動態(tài)分析安全風險和操作需求的能力,以適應實時環(huán)境和復雜情況。
2 RAdAC特征分析
RAdAC是一種基于規(guī)則的動態(tài)訪問控制策略,在使用中,實時評估用戶操作需求并計算授權訪問風險。RAdAC包含以下三部分[1]:安全風險測量(SRM,Security Risk Measurement)、操作需求測定(OND,Operational Need Determination)以及最終訪問決定(FAD,F(xiàn)inal Access Decision)。
安全風險測量(SRM):SRM會根據(jù)用戶操作的不同、用戶狀態(tài)、環(huán)境因素、上下文、訪問目標特征等多種特性通過閾值判定、加權等計算方式得出本次訪問風險值。與傳統(tǒng)結果不同的是,最后的風險值并不是大、小或“True”“False”等二進制值,而是一個范圍,可能是30%-50%或者風險中等和風險大之間的狀態(tài)。同時SRM還需具備一定的機器自學能力,如果用戶在操作中多次訪問核心數(shù)據(jù)資源,則必須提高風險等級[2]。
操作需求測定(OND):OND使得用戶在特殊情況下能夠超越風險必須訪問某資源的一種判定。傳統(tǒng)方式下,用戶屬于一個部門或者擁有某幾個角色,能夠訪問的資源都是固定的,但是在緊急情況或者風險較大的時候,用戶可能需要擁有超過自身權限的訪問能力。系統(tǒng)需要用戶權限和訪問要求做交互來得到最后的操作需求判定。
最終訪問決定(FAD):FAD根據(jù)SRM和OND的結果,通過訪問決定函數(shù)(ADF,Access Decision Function)來做出最終結果。由于用戶每次操作的風險值和需求都是變化的,因此在多級安全的系統(tǒng)中,用戶的最終訪問結果并不是固定的。FAD的結果是二進制值,允許或拒絕。
3 RAdAC判定方法
根據(jù)對RAdAC模型的分析,RAdAC需要對SRM和OND各屬性進行分類管理,并根據(jù)屬性值和相應的評估函數(shù)進行計算,得到FAD。圖1給出了RAdAC算法流程圖[3]:
3.1 SRM模塊
3.1.1 系統(tǒng)性能評估
定義1:系統(tǒng)安全態(tài)勢評估模型中的性能信息[P]用[(t,γ,μ,k,ρ,δ,θ)]表示,其中[t]是性能產(chǎn)生的時間;[γ]是系統(tǒng)CPU使用率;[μ]是系統(tǒng)內(nèi)存使用率;[k]是數(shù)據(jù)庫連接數(shù);[ρ]是流量;[δ]是丟包率;[θ]代表磁盤I/O讀寫狀態(tài)。在[t]時刻,其性能參數(shù)[(γ,μ,κ,ρ,δ,θ)]的最小值都為0,對應的最大值為[(γ,μ,κmax,ρmax,1,θ)],其中[κmax]是最大允許連接數(shù);[ρmax]是最大流量。系統(tǒng)性能由當前可利用資源來衡量,采用如下公式計算節(jié)點當前性能值[P]:
[P=1-(γ×w1+μ×w2+κκ0×w3+ρρ0×w4+δ×w5+θ×w6)] (1)
其中,[w1,w2,w3,w4,w5,w6]為各性能參數(shù)的權重。設在某時間段開始時刻,某系統(tǒng)的性能參數(shù)為[P1(γ1,μ1,κ1,ρ1,δ1,θ1)],該時間段結束時刻的性能參數(shù)為[P2(γ2,μ2,κ2,ρ2,δ2,θ2)],則性能變化量
[ΔP=P1-P2=(γ2-λ1)×w1+(μ2-μ1)×w2+(κ2-κ1κ0)×w3+(ρ2-ρ1ρ0)×w4+(δ2-δ1)×w5+(θ2-θ1)×w6] (2)
使用性能變化量[ΔP]僅代表理論安全性能變化,通常需要根據(jù)經(jīng)驗值[η]進行修正,計算公式為:
[Security=(1-η)×Fun+η×ΔP] (3)
其中[η]為評估函數(shù)[Fun]的修正系數(shù),取值為[[0,1]],當[η]取值越小時,說明[ΔP]越能反映安全狀況,理論和實際結果對應;反之,則說明誤差較大。
3.1.2 歷史記錄分析
本節(jié)采用Holt-Winters模型把具有線性趨勢、季節(jié)變動和隨機波動的時間序列進行分解研究,并與指數(shù)平滑法(Exponential Smoothing)相結合,分別對長期趨勢、趨勢的增量和季節(jié)波動做出估計,然后建立預測模型,得到預測值。該模型由以下3個方程和一個預測公式組成:
[][St]=[αXt]/[It-L+(1-β)(St-1+bt-1)]
[bt=γ(St-St-1)+(1-λ)bt-1]
[It=βXt/St+(1-β)It-L]
[ft+m=(St+btm)It+m-L] (4)
其中[Xt]為時間序列,[L]為季節(jié)長度,[S]是穩(wěn)定成分,[b]是線性趨勢成分,[I]為季節(jié)成分,[α,β,γ]為加權系數(shù),取值在[0,1]之間,可用MAD,MSE或MAPE等方法選取。預測公式為[ft+m]。
為了初始化,設置
[St=1L(X1+X2+...+XL)] (5)
設置[bt]在[L+k]個時間范圍內(nèi),[bt=1k(XL+1-X1L+XL+2-X2L+...+XL+k-XkL)] (6)
如果[k]足夠長,當[L=k]時,則為兩個完整的周期。
3.1.3 資源重要性判定
通常我們認為,資源越重要,提供服務越高級,則訪問風險越高:
[Q(reqi,resj)=St(1-Γ(reqi,resj,t-1))] (7)
其中,[St]表示請求資源的重要性,訪問風險[Q(reqi,resj)]與[St]成正比。[Γ(reqi,resj,t-1)]代表[reqi]對[resj]在離時間[t]最近一個時間戳內(nèi)的信用評價。信任度越高,訪問請求風險越小。
3.1.4 訪問路徑
在多級安全的分布式系統(tǒng)中,當用戶進行跨域訪問時,不同子系統(tǒng)所在的層級不同,信任等級也不同。 因此,越靠近的子系統(tǒng),信任程度越高,即訪問風險越低。子系統(tǒng)的信任程度與訪問者的請求距離(等級)進行加權。
在圖2中,當訪問者請求資源服務時,從子系統(tǒng)[s1]跨域登錄到[s2]時,也就是[l=1],信任程度[t=1×0.8=0.8];當從[s2]再登錄到子系統(tǒng)[s4]時,即[l=2],信任程度[t=1×0.8×0.7=0.56];當從[s4]登錄到[s5]時,即[l=3],信任程度[t=1×0.8×0.7×0.7=0.392]。
定義2:設{[W1,W2,...,Wk]}為分布式系統(tǒng)中的子系統(tǒng),[D(reqi,resk)]表示第[k]個子系統(tǒng)資源對訪問者[i]的直接信任,則訪問風險為:
[R(reqi,resj)=1-k=1L(ρ(Wk)×D(reqi,resk))] (8)
其中[L]為子系統(tǒng)的路徑,[ρ(Wk)]為路徑加權函數(shù):
[ρ(Wk)]=[d=0lL(resi,resj),l≥1] (9)
其中[L(xi,xj)]表示訪問者從子系統(tǒng)[i]登錄到子系統(tǒng)[j]信任程度的降低。
3.1.5綜合計算
系統(tǒng)在為請求者服務時,既包括合法用戶的正常請求服務,也包括系統(tǒng)異常和遭受攻擊時的資源服務。對風險的判讀既要偏重理論風險的計算,也要關心系統(tǒng)性能的狀態(tài),并根據(jù)歷史記錄預測風險趨勢。圖3給出了SRM執(zhí)行流程圖。
Step 1:利用訪問歷史記錄,預測理論風險值。
Step 2:獲取系統(tǒng)安全屬性信息通過性能修正算法對預測評估結果進行修正。如果風險較大,則直接給出風險結果。否則進入Step 3。
Step 3:對預測值、系統(tǒng)性能值、資源重要性、訪問者路徑和訪問者原有權限進行加權,這里采取專家意見法決定權重。
3.2 ADF平臺策略沖突檢測
ADF需要綜合考慮SRM和OND因素,甚至需要考慮額外可能引起特殊情況的上下文信息。因此,ADF需要判定SRM與OND的優(yōu)先級,在此擴充文獻[4]的規(guī)則沖突規(guī)則。
定義3:SRM風險結果{Trust,Midtrust,LowTrust,Untrust},風險程度逐漸增加。當風險結果為Untrust時,則訪問風險極高,訪問者完全不可信任。
規(guī)則1:ADF策略沖突檢測規(guī)則:SRM評估函數(shù)和OND不采取加權方式,也不是簡單的OND覆蓋SRM關系。當SRM風險值很大時,SRM評估結果覆蓋OND。反之,當SRM處在可接受范圍內(nèi)時,如果OND重要,則結果為Permit,否則Deny。具體如下:
ADF訪問策略判定函數(shù)優(yōu)先級:
ADF[∈]{AllPermit,SRMOverridePermit ,SRMOverrideDeny,ONDOverridePermit,ONDOverrideDeny,AllDeny }
AllPermit:風險結果為Trust或Midtrust且操作必須時采取的安全策略,此時結果為Permit。
SRMOverridePermit:風險結果為Trust或Midtrust,并且系統(tǒng)認為無須做操作需求交互,則結果為Permit,即SRM Permit優(yōu)先原則。
SRMOverrideDeny:風險結果為Untrust時,即使用戶有操作需求以及正常情況下的權限,系統(tǒng)也必須拒絕訪問,即SRM Deny優(yōu)先原則。
ONDOverridePermit:當風險結果為LowTrust時,如果在緊急情況下有操作需求,系統(tǒng)與用戶正常訪問權限及訪問需求進行交互,認為可以適當放寬該用戶權限。此時滿足OND Permit允許覆蓋原則。
ONDOverrideDeny:如果對OND評估結果為該用戶不需要對資源進行訪問,即使無訪問風險,用戶也缺乏操作權限,結果為Deny。
AllDeny:系統(tǒng)評估結果認為該用戶對資源的訪問既無必要,訪問風險也處在Untrust或LowTrust,則結果為Deny。
4 RAdAC算法分析比較
本節(jié)通過對RAdAC算法和當前RBAC、PBAC和ABAC算法進行比較,總結出RAdAC算法特性:
(1) 平臺擴展性對比:RAdAC可以在數(shù)據(jù)庫或XACML的基礎上,增加對平臺安全性、用戶屬性的判定,依據(jù)相應的判定函數(shù)實施訪問判決,克服了傳統(tǒng)方式下的缺陷。
(2) 策略合成算法:目前大部分平臺安全策略工作采用XACML提供的集中式策略合成算法,為了數(shù)據(jù)的安全訪問,往往直接遵守最小特權原則(deny override),無法根據(jù)具體情況作出不同判斷。RAdAC根據(jù)當前風險等級和操作需求,靈活確定資源訪問權限,在保證數(shù)據(jù)安全的同時,盡可能滿足訪問需求。
(3) RAdAC算法執(zhí)行效率: RAdAC在訪問控制中,需要遍歷和檢驗SRM中不同屬性的度量值,同時平臺需要與用戶交互確定OND結果,并結合SRM進行ADF判定。因此,SRM屬性值的選取和OND的交互是RAdAC算法執(zhí)行速度的關鍵。假設分別對N個資源發(fā)出請求,平臺環(huán)境安全屬性及狀態(tài)個數(shù)為M個,則ADF策略匹配復雜度為[θ(N×M×6)]。對于不同安全級別的平臺系統(tǒng),可以收集不同數(shù)量的屬性值和不同等級的OND交互,以提高執(zhí)行效率。
5 結束語
RAdAC是下一代的訪問控制機制,用以解決目前常用的訪問控制機制在平臺安全屬性和安全策略方面的不足。本文首先對RAdAC結構和執(zhí)行流程進行了分析,制定了算法規(guī)則和屬性定義,并對RAdAC算法與常用訪問控制方法進行了對比分析。由于涉及到大量的動態(tài)屬性和啟發(fā)式算法,因此下一步的工作重點是進一步擴展SRM屬性判定方法和ADF沖突檢測類型,使其更具有工程實際意義。
參考文獻:
[1] Rahim Choudhary. A Policy Based Architecture for NSA RAdAC Model[R].USA ,New York,2005.
[2] Machon Gregory,Peter Loscocco.Using the Flask Security Architecture to Facilitate Risk Adaptable Access [EB/OL].http://www.nsa.gov/research/_files/selinux/papers/radac07-paper.pdf
[3] Mcgraw, R.W.Risk-Adaptable Access Control(RAdAC) [EB/OL].http://csrc.nist.gov/news events/privilege-management-workshop/ radac-Paper0001.pdf
[4] Time series Forecasting using Holt-Winters Exponential Smoothing. http://www.it.iitb.ac.in/~praj/acads/seminar/04329008_ExponentialSmoothing.pdf
【通聯(lián)編輯:代影】