胡文瑜,陳金波*
(1.福建工程學(xué)院 計(jì)算機(jī)科學(xué)與數(shù)學(xué)學(xué)院,福建 福州 350118;2.福建省大數(shù)據(jù)挖掘與應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室,福建 福州 350118)
隨著信息技術(shù)的普及,內(nèi)部信息安全威脅成為了信息安全領(lǐng)域中亟需解決的難題之一[1]。企業(yè)或組織內(nèi)部員工在取得權(quán)限的情況下非法獲取企業(yè)或組織機(jī)密信息后將信息泄露給他人以牟取利益,給企業(yè)或組織帶來(lái)巨大的損失[2-4]。
訪問(wèn)控制技術(shù)是解決內(nèi)部信息泄露的信息安全策略之一,基于角色的訪問(wèn)控制技術(shù)(RBAC)是現(xiàn)階段比較成熟的訪問(wèn)控制技術(shù)[5]。然而基于角色的訪問(wèn)控制技術(shù)存在安全隱患,它的主要工作原理是根據(jù)用戶主體擁有的角色授予用戶主體訪問(wèn)應(yīng)用客體的相應(yīng)權(quán)限[6]。一旦用戶主體取得相應(yīng)的權(quán)限之后,無(wú)論是進(jìn)行合法操作還是非法操作,基于角色的訪問(wèn)控制技術(shù)都將束手無(wú)策,無(wú)法在用戶訪問(wèn)過(guò)程中對(duì)用戶權(quán)限實(shí)時(shí)調(diào)整[7-8]。
在實(shí)際的工作中,泄露機(jī)密信息的往往是那些通過(guò)訪問(wèn)控制模塊獲得一定權(quán)限的內(nèi)部人員。由于后續(xù)的訪問(wèn)應(yīng)用或功能過(guò)程沒(méi)有實(shí)時(shí)進(jìn)行監(jiān)督,某些內(nèi)部人員因?yàn)榻蛔±嬲T惑便會(huì)鋌而走險(xiǎn)竊取組織或企業(yè)的機(jī)密信息來(lái)?yè)Q取非法利益。在信息泄露事件發(fā)生之后雖然可以通過(guò)日志審計(jì)技術(shù)追查到造成信息泄露的人員,但卻無(wú)法彌補(bǔ)已經(jīng)造成的損失,并且從信息泄露到追查到信息泄露的根源這個(gè)過(guò)程中存在很長(zhǎng)的時(shí)間跨度。如果把信息安全防護(hù)過(guò)程分為前中后三個(gè)階段的話,訪問(wèn)控制技術(shù)屬于防護(hù)過(guò)程的前期階段,日志審計(jì)屬于防護(hù)過(guò)程的后期階段,并且是處于被動(dòng)的防護(hù)階段。至于中期階段的防護(hù)卻時(shí)常被忽略,而這一階段恰巧是防止信息泄露效果最顯著的階段。
針對(duì)上述問(wèn)題,在面向訪問(wèn)過(guò)程的動(dòng)態(tài)訪問(wèn)控制技術(shù)方面進(jìn)行了探索,著眼于解決中期階段的信息安全防護(hù)薄弱的問(wèn)題,該文提出了一個(gè)面向訪問(wèn)過(guò)程的動(dòng)態(tài)訪問(wèn)控制模型─APODAC。該模型首先建立基于用戶角色和業(yè)務(wù)邏輯的用戶基礎(chǔ)行為序列,接著對(duì)正在進(jìn)行訪問(wèn)的用戶實(shí)時(shí)采集其訪問(wèn)行為序列,該序列信息代表了一段時(shí)間內(nèi)用戶的活動(dòng)狀態(tài)。然后采用模糊推理器對(duì)已經(jīng)得到的用戶序列模糊變量進(jìn)行模糊推理從而得到模糊用戶風(fēng)險(xiǎn)程度。最后根據(jù)模糊用戶風(fēng)險(xiǎn)程度對(duì)用戶的權(quán)限進(jìn)行訪問(wèn)過(guò)程中的動(dòng)態(tài)調(diào)整。
信息安全領(lǐng)域中有關(guān)訪問(wèn)控制的研究方興未艾,1997年Coyne等人提出了“角色工程”(Role Engineering)的定義[9],開(kāi)始對(duì)用戶進(jìn)行了基于角色的分類(lèi),為后面人們基于角色的訪問(wèn)控制的研究奠定了堅(jiān)實(shí)的基礎(chǔ)。
文獻(xiàn)[10]提出了一種基于語(yǔ)義技術(shù)的訪問(wèn)控制方法,實(shí)現(xiàn)了對(duì)軟件用戶的動(dòng)態(tài)授權(quán)。該文獻(xiàn)是根據(jù)軟件用戶上下文來(lái)動(dòng)態(tài)確定軟件用戶對(duì)資源的訪問(wèn)權(quán)限;文獻(xiàn)[11-14]通過(guò)動(dòng)態(tài)授予用戶訪問(wèn)權(quán)限來(lái)增強(qiáng)現(xiàn)有的訪問(wèn)控制模型,如RBAC模型。文獻(xiàn)[15]提出了一種角色動(dòng)態(tài)調(diào)整算法(Role Dynamic Adjusting,RDA),該算法能夠?qū)崿F(xiàn)調(diào)整目標(biāo)系統(tǒng)的角色集,為抵御內(nèi)部威脅奠定了基礎(chǔ);文獻(xiàn)[16]提出了一種基于區(qū)塊鏈多鏈架構(gòu)的能源數(shù)據(jù)訪問(wèn)控制方法,利用區(qū)塊鏈技術(shù)實(shí)現(xiàn)了保護(hù)用戶隱私的同時(shí)對(duì)能源數(shù)據(jù)細(xì)粒度的訪問(wèn)控制;文獻(xiàn)[17]提出了一種基于信任度的屬性訪問(wèn)控制模型(TM-ABAC),該模型實(shí)現(xiàn)了對(duì)訪問(wèn)請(qǐng)求中的各類(lèi)屬性進(jìn)行信任度評(píng)估,根據(jù)評(píng)估結(jié)果動(dòng)態(tài)調(diào)整控制策略;文獻(xiàn)[18]提出了基于信任度的多級(jí)動(dòng)態(tài)訪問(wèn)控制模型,該模型采用信任度對(duì)用戶權(quán)限進(jìn)行調(diào)整,避免了權(quán)限濫用;文獻(xiàn)[19]提出的RABAC模型相比于傳統(tǒng)的訪問(wèn)控制模型有動(dòng)態(tài)授權(quán)、細(xì)粒度訪問(wèn)控制等優(yōu)點(diǎn);文獻(xiàn)[20]采用區(qū)塊鏈技術(shù)提高了訪問(wèn)控制模型的安全性,并且基于用戶信用度來(lái)實(shí)現(xiàn)訪問(wèn)控制的動(dòng)態(tài)性;文獻(xiàn)[21]提出了一種基于分類(lèi)身份認(rèn)證架構(gòu)的權(quán)限管理體系,并基于數(shù)字證書(shū)設(shè)計(jì)并實(shí)現(xiàn)了聯(lián)盟區(qū)塊鏈內(nèi)各類(lèi)設(shè)施之間的連接策略,構(gòu)建了基本的底層連接框架。其次,針對(duì)新節(jié)點(diǎn)在加入聯(lián)盟區(qū)塊鏈時(shí)面臨的數(shù)據(jù)同步問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了一種基于區(qū)塊鏈數(shù)據(jù)完整性校驗(yàn)的數(shù)據(jù)同步機(jī)制,并用節(jié)點(diǎn)服務(wù)質(zhì)量控制機(jī)制保證同步性能,通過(guò)實(shí)驗(yàn)表明該實(shí)現(xiàn)具有良好的可用性。
上述文獻(xiàn)所提的訪問(wèn)控制模型或算法都具有實(shí)際的應(yīng)用價(jià)值和研究意義。該文提出的面向訪問(wèn)過(guò)程的動(dòng)態(tài)訪問(wèn)控制模型能較好地解決在訪問(wèn)過(guò)程中無(wú)法對(duì)權(quán)限動(dòng)態(tài)調(diào)整的問(wèn)題。
在基于角色的訪問(wèn)控制模型(RBAC模型)中用戶U的權(quán)限P是根據(jù)用戶所屬的角色R來(lái)確定的,而角色則是系統(tǒng)管理員在最初就設(shè)定好的,因此在訪問(wèn)過(guò)程中用戶所擁有的權(quán)限是不變的。
為了實(shí)現(xiàn)用戶訪問(wèn)過(guò)程中的權(quán)限動(dòng)態(tài)調(diào)整,該文在RBAC模型的基礎(chǔ)上增加了根據(jù)用戶風(fēng)險(xiǎn)級(jí)別對(duì)用戶權(quán)限進(jìn)行調(diào)整的一個(gè)環(huán)節(jié)。
APODAC模型是基于RBAC模型改進(jìn)的,圖1給出了APODAC模型具體的關(guān)系圖。將模糊Sr序列滿足程度(FS)、模糊STmax偏離程度(FD)、模糊SFmax一致程度(FC)輸入到模糊推理器,從而推理出模糊用戶風(fēng)險(xiǎn)等級(jí),然后系統(tǒng)根據(jù)模糊用戶風(fēng)險(xiǎn)等級(jí)對(duì)用戶的權(quán)限進(jìn)行動(dòng)態(tài)調(diào)整,權(quán)限調(diào)增的上限為用戶基于角色獲取的所有權(quán)限。
圖1 APODAC模型
APODAC模型基本元素的定義如下:
定義1:用戶是指獲得授權(quán)的合法用戶。合法用戶集記作U,U集合元素用u表示。
定義2:角色是根據(jù)用戶對(duì)系統(tǒng)應(yīng)用或功能的需求特點(diǎn)對(duì)用戶進(jìn)行的分類(lèi)。用戶角色集記作R,R集合的元素用字母r表示,R與U是多對(duì)多的映射關(guān)系。
定義3:客體是指系統(tǒng)對(duì)其進(jìn)行訪問(wèn)控制的對(duì)象,諸如應(yīng)用或功能等??腕w集記作OB,OB集合元素用ob表示。
定義4:操作是指U對(duì)OB發(fā)生的動(dòng)作,操作集記作OP,OP集合的元素用op表示。
定義5:權(quán)限是指合法用戶對(duì)特定系統(tǒng)資源的使用權(quán)利,可以表示為OB×OP,即表示為客體和操作的二元關(guān)系。權(quán)限集記作P,P集合中的元素用p表示。
定義6:用戶風(fēng)險(xiǎn)等級(jí)指對(duì)用戶行為進(jìn)行評(píng)估之后得出的一個(gè)參數(shù)。用戶風(fēng)險(xiǎn)等級(jí)集合用UR(user risk)表示,UR集合中的元素用ur表示。
定義7:模糊Sr序列滿足程度(FS)是指用戶的實(shí)時(shí)訪問(wèn)序列與用戶基礎(chǔ)序列的契合程度。
定義8:模糊STmax偏離程度(FD)是指從用戶實(shí)時(shí)序列中提取的時(shí)間最長(zhǎng)的元素組成的新序列與從用戶基礎(chǔ)序列中提取的時(shí)間最長(zhǎng)的元素組成的新序列兩者之間的偏離程度。
定義9:模糊SFmax一致程度(FC)是指從用戶實(shí)時(shí)序列中提取的出現(xiàn)頻率最高的元素組成的新序列與從用戶基礎(chǔ)序列中提取的出現(xiàn)頻率最高的元素組成的新序列兩者之間的一致程度。
APODAC模型中的約束是至關(guān)重要的,通過(guò)約束可以提高模型的動(dòng)態(tài)授權(quán)能力,提高模型的可用性。模型只有在約束允許的范圍內(nèi)對(duì)用戶的權(quán)限進(jìn)行動(dòng)態(tài)調(diào)整,如不滿足約束條件,模型對(duì)權(quán)限的動(dòng)態(tài)調(diào)整則被禁止。APODAC模型定義了權(quán)限依賴約束(PDC)、最大權(quán)限約束(MPC)這2條約束。
定義10:權(quán)限依賴約束(PDC)是指APODAC模型中一項(xiàng)權(quán)限的授予或禁用必須以另一項(xiàng)權(quán)限的授予或禁用為前提條件。PDC可以表示成一個(gè)三元組(P1,P2,PDC),?P1∈P,?P2∈P,P1依賴于P2,則PDC約束可以表示成:
(P1,P2)∈PDC∧(P1=Authorised)?P2=
Authorised
或者:
(P1,P2)∈PDC∧(P2=Disabled)?P1=
Disabled
定義11:最大權(quán)限約束(MPC)是指APODAC模型中U調(diào)增的權(quán)限不能超過(guò)PMax。其中,PMax為合法用戶在基于角色的基礎(chǔ)上獲得的所有權(quán)限集合。MPC可以表示成一個(gè)三元組(p,num,PMax),其中p表示授予的權(quán)限,num表示授予權(quán)限的項(xiàng)數(shù),PMax表示U可以擁有的最大權(quán)限項(xiàng)數(shù)。?p∈P,則MPC約束可以表示成:
P.num≤PMax?P?P=Authorised
在對(duì)用戶進(jìn)行風(fēng)險(xiǎn)等級(jí)評(píng)估之前需要建立基于角色和業(yè)務(wù)邏輯的用戶行為規(guī)則庫(kù)。具體的步驟如下:
①對(duì)每個(gè)應(yīng)用或功能進(jìn)行標(biāo)記,采用A1,A2,…,An等大寫(xiě)字母表示。
②基于用戶角色和業(yè)務(wù)邏輯給出用戶基礎(chǔ)行為序列Sb。設(shè)Sb的長(zhǎng)度為m,且m≥1。
③按用戶訪問(wèn)應(yīng)用或功能的先后順序記錄訪問(wèn)時(shí)長(zhǎng)大于設(shè)定閾值的實(shí)時(shí)序列Sr,即可表述為:
?Ai∈Sb,TAi≥Tl
其中設(shè)定的時(shí)間閾值為T(mén)l,用戶對(duì)Ai實(shí)際的訪問(wèn)時(shí)長(zhǎng)記為T(mén)Ai。
④提取出Sr中訪問(wèn)時(shí)間最長(zhǎng)的元素組成一個(gè)新的序列STmax。
⑤提取出Sr中訪問(wèn)頻率最高的一個(gè)元素組成一個(gè)新的序列SFmax。
⑥得到用戶的行為序列:
S=(Sb,Sr,STmax,SFmax)
設(shè)某業(yè)務(wù)應(yīng)用系統(tǒng)共有N個(gè)應(yīng)用或功能。若用戶的初始序列為Si:
Si=((A1,14),(A3,9),(A4,468),(A2,7),(A1,6),(A3,632),(A1,22))
其中數(shù)字代表用戶在某個(gè)應(yīng)用停留的時(shí)長(zhǎng),則用戶行為序列的構(gòu)建示例如圖2所示。
圖2 用戶行為序列構(gòu)建示例
APODAC模型通過(guò)模糊推理器來(lái)實(shí)現(xiàn)對(duì)用戶風(fēng)險(xiǎn)等級(jí)的評(píng)估,模糊推理器具體架構(gòu)如圖3所示。
圖3 模糊推理器架構(gòu)
模糊推理器的三個(gè)輸入變量分別為:模糊Sr序列滿足程度(FS)、模糊STmax偏離程度(FD)、模糊SFmax一致程度(FC)。RM為模糊推理機(jī),下面給出RM的實(shí)現(xiàn)過(guò)程,其中涉及到的有關(guān)模糊數(shù)學(xué)的相關(guān)知識(shí)請(qǐng)參考文獻(xiàn)[22],文中不再贅述。
首先對(duì)FS、FD、FC、UR定義不同的模糊變量,具體的定義方式如表1至表4所示。
表1 FS模糊變量
表2 FD模糊變量
表3 FC模糊變量
表4 UR模糊變量
以上不同模糊變量的取值以自由組合的方式可以生成多條模糊用戶風(fēng)險(xiǎn)等級(jí)評(píng)估規(guī)則,如表5所示。
表5 模糊用戶風(fēng)險(xiǎn)等級(jí)評(píng)估規(guī)則
續(xù)表5
其中規(guī)則庫(kù)中UR的確定是通過(guò)對(duì)FS、FD、FC采用加權(quán)平均數(shù)計(jì)算得到的,具體的權(quán)重比例可以根據(jù)實(shí)際情況來(lái)分配。表5中共有3*3*3=27條模糊用戶風(fēng)險(xiǎn)等級(jí)評(píng)估規(guī)則,例如,該表中第一條規(guī)則表示:如果某用戶的FS為非常滿足,F(xiàn)D為基本不偏離并且FC為完全一致則該用戶評(píng)估為低風(fēng)險(xiǎn)用戶的可能性很大。
根據(jù)表5給出的模糊用戶風(fēng)險(xiǎn)等級(jí)評(píng)估規(guī)則庫(kù)可以將模糊推理機(jī)RM構(gòu)造出來(lái)。設(shè)i為用戶等級(jí)規(guī)則庫(kù)中的規(guī)則數(shù),由模糊數(shù)學(xué)的知識(shí)可知RM是FS、FD、FC、UR上的一個(gè)模糊關(guān)系,于是可以得到RM,即:
RM=Ul(FS×FD×FC×UR)
若采用常用的最小推理機(jī),則可以進(jìn)一步簡(jiǎn)化問(wèn)題,最小推理機(jī)的有關(guān)知識(shí)可以參考文獻(xiàn)[23]。若給定一組輸入FSi、FDj、FCk,則可以得到模糊用戶風(fēng)險(xiǎn)等級(jí)URx,即:
URx=(FSi,FDj,FCk)?RM
最后,對(duì)U的P進(jìn)行重要程度(IM)劃分并設(shè)置允許獲得權(quán)限的用戶風(fēng)險(xiǎn)等級(jí)最低閾值(URmin),重要程度則分為非常重要(AIM)、重要(BIM)、一般重要(CIM),具體劃分如表6所示。
表6 權(quán)限重要程度劃分表
為簡(jiǎn)便起見(jiàn),表6只列出5項(xiàng)權(quán)限,例如,由表6可知A的重要程度為BIM,意味著只有風(fēng)險(xiǎn)等級(jí)為中風(fēng)險(xiǎn)等級(jí)以下的用戶才能擁有此項(xiàng)權(quán)限。
根據(jù)上文給出的URmin,若某用戶的風(fēng)險(xiǎn)等級(jí)為URx,基于角色擁有的權(quán)限集合為Pr,系統(tǒng)所有權(quán)限依據(jù)重要程度分為PAIM、PBIM、PCIM,則動(dòng)態(tài)授權(quán)算法如下:
Input:URx,Pr
Output:T(授予權(quán)限),F(xiàn)(收回權(quán)限)
Grant(URx,Pr)
(PAIM,PBIM,PCIM)?Pr//將用戶基于角色的權(quán)限進(jìn)行分類(lèi)
if URx≥URmin(PAIM) //用戶風(fēng)險(xiǎn)等級(jí)比擁有權(quán)限PAIM的風(fēng)險(xiǎn)等級(jí)高
if URmin(PAIM)≥URmin(PBIM)and URmin(PAIM)←URmin(PCIM) //PBIM、PCIM部分依賴于PAIM
returnFPAIM,F(xiàn)PBIM,FPCIM//根據(jù)PDC約束,收回PAIM以及PBIM、PCIM中的部分權(quán)限
else if URmin(PAIM)←URmin(PBIM)or URmin(PAIM)←URmin(PCIM)
returnFPAIM,F(xiàn)PBIMor returnFPAIM,F(xiàn)PCIM//根據(jù)PDC約束,收回PAIM以及PBIM或PCIM中的部分權(quán)限
else if URx≤URmin(PAIM)
andP.num≤PMax
returnTAIM
相較于APODAC模型,RBAC模型完全依賴用戶擁有的角色進(jìn)行授權(quán),而不對(duì)用戶行為進(jìn)行評(píng)估,APODAC模型能夠?qū)τ脩魮碛械臋?quán)限動(dòng)態(tài)調(diào)整。本節(jié)將通過(guò)某生物實(shí)驗(yàn)室管理系統(tǒng)來(lái)驗(yàn)證APODAC模型的動(dòng)態(tài)授權(quán)能力。該系統(tǒng)的應(yīng)用、權(quán)限、角色及用戶設(shè)定如表7~表10所示。
表7 應(yīng)用/功能設(shè)定
表8 權(quán)限設(shè)定
表9 角色設(shè)定
表10 用戶設(shè)定
若U2是一名安全管理員,9:00AM的時(shí)候該用戶登錄到系統(tǒng),系統(tǒng)根據(jù)U2的角色給他分配了人員管理、日志查詢這兩個(gè)權(quán)限。然而在9:30AM的時(shí)候,系統(tǒng)將U2的實(shí)時(shí)訪問(wèn)序列Sr進(jìn)行處理得到STmax、SFmax兩個(gè)序列,然后將其與Sb逐一比對(duì)得到FS、FD、FC三個(gè)模糊變量,將這三個(gè)模糊變量輸入到模糊推理器中得出U2的風(fēng)險(xiǎn)等級(jí)為BUR。根據(jù)U2的風(fēng)險(xiǎn)等級(jí)以及表8的權(quán)限設(shè)定可知U2不允許擁有P5權(quán)限,系統(tǒng)會(huì)將U2的權(quán)限強(qiáng)制收回。收回權(quán)限的時(shí)候系統(tǒng)確認(rèn)P4和P5不存在依賴關(guān)系,則沒(méi)有強(qiáng)制收回P4權(quán)限。
在RBAC模型的基礎(chǔ)上提出了APODAC模型,該模型注重于解決訪問(wèn)過(guò)程中的動(dòng)態(tài)訪問(wèn)控制的問(wèn)題,提高了信息安全防護(hù)的有效性和實(shí)時(shí)性。但是所提的模型和方法還存在需要進(jìn)一步研究的地方,具體如下:
(1)研究通過(guò)序列模式挖掘的方法對(duì)用戶行為進(jìn)行分析。
(2)研究如何提高APODAC模型對(duì)用戶風(fēng)險(xiǎn)等級(jí)的評(píng)估準(zhǔn)確度。