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