胡文瑜,陳金波*
(1.福建工程學院 計算機科學與數學學院,福建 福州 350118;2.福建省大數據挖掘與應用技術重點實驗室,福建 福州 350118)
隨著信息技術的普及,內部信息安全威脅成為了信息安全領域中亟需解決的難題之一[1]。企業或組織內部員工在取得權限的情況下非法獲取企業或組織機密信息后將信息泄露給他人以牟取利益,給企業或組織帶來巨大的損失[2-4]。
訪問控制技術是解決內部信息泄露的信息安全策略之一,基于角色的訪問控制技術(RBAC)是現階段比較成熟的訪問控制技術[5]。然而基于角色的訪問控制技術存在安全隱患,它的主要工作原理是根據用戶主體擁有的角色授予用戶主體訪問應用客體的相應權限[6]。一旦用戶主體取得相應的權限之后,無論是進行合法操作還是非法操作,基于角色的訪問控制技術都將束手無策,無法在用戶訪問過程中對用戶權限實時調整[7-8]。
在實際的工作中,泄露機密信息的往往是那些通過訪問控制模塊獲得一定權限的內部人員。由于后續的訪問應用或功能過程沒有實時進行監督,某些內部人員因為禁不住利益誘惑便會鋌而走險竊取組織或企業的機密信息來換取非法利益。在信息泄露事件發生之后雖然可以通過日志審計技術追查到造成信息泄露的人員,但卻無法彌補已經造成的損失,并且從信息泄露到追查到信息泄露的根源這個過程中存在很長的時間跨度。如果把信息安全防護過程分為前中后三個階段的話,訪問控制技術屬于防護過程的前期階段,日志審計屬于防護過程的后期階段,并且是處于被動的防護階段。至于中期階段的防護卻時常被忽略,而這一階段恰巧是防止信息泄露效果最顯著的階段。
針對上述問題,在面向訪問過程的動態訪問控制技術方面進行了探索,著眼于解決中期階段的信息安全防護薄弱的問題,該文提出了一個面向訪問過程的動態訪問控制模型─APODAC。該模型首先建立基于用戶角色和業務邏輯的用戶基礎行為序列,接著對正在進行訪問的用戶實時采集其訪問行為序列,該序列信息代表了一段時間內用戶的活動狀態。然后采用模糊推理器對已經得到的用戶序列模糊變量進行模糊推理從而得到模糊用戶風險程度。最后根據模糊用戶風險程度對用戶的權限進行訪問過程中的動態調整。
信息安全領域中有關訪問控制的研究方興未艾,1997年Coyne等人提出了“角色工程”(Role Engineering)的定義[9],開始對用戶進行了基于角色的分類,為后面人們基于角色的訪問控制的研究奠定了堅實的基礎。
文獻[10]提出了一種基于語義技術的訪問控制方法,實現了對軟件用戶的動態授權。該文獻是根據軟件用戶上下文來動態確定軟件用戶對資源的訪問權限;文獻[11-14]通過動態授予用戶訪問權限來增強現有的訪問控制模型,如RBAC模型。文獻[15]提出了一種角色動態調整算法(Role Dynamic Adjusting,RDA),該算法能夠實現調整目標系統的角色集,為抵御內部威脅奠定了基礎;文獻[16]提出了一種基于區塊鏈多鏈架構的能源數據訪問控制方法,利用區塊鏈技術實現了保護用戶隱私的同時對能源數據細粒度的訪問控制;文獻[17]提出了一種基于信任度的屬性訪問控制模型(TM-ABAC),該模型實現了對訪問請求中的各類屬性進行信任度評估,根據評估結果動態調整控制策略;文獻[18]提出了基于信任度的多級動態訪問控制模型,該模型采用信任度對用戶權限進行調整,避免了權限濫用;文獻[19]提出的RABAC模型相比于傳統的訪問控制模型有動態授權、細粒度訪問控制等優點;文獻[20]采用區塊鏈技術提高了訪問控制模型的安全性,并且基于用戶信用度來實現訪問控制的動態性;文獻[21]提出了一種基于分類身份認證架構的權限管理體系,并基于數字證書設計并實現了聯盟區塊鏈內各類設施之間的連接策略,構建了基本的底層連接框架。其次,針對新節點在加入聯盟區塊鏈時面臨的數據同步問題,設計并實現了一種基于區塊鏈數據完整性校驗的數據同步機制,并用節點服務質量控制機制保證同步性能,通過實驗表明該實現具有良好的可用性。
上述文獻所提的訪問控制模型或算法都具有實際的應用價值和研究意義。該文提出的面向訪問過程的動態訪問控制模型能較好地解決在訪問過程中無法對權限動態調整的問題。
在基于角色的訪問控制模型(RBAC模型)中用戶U的權限P是根據用戶所屬的角色R來確定的,而角色則是系統管理員在最初就設定好的,因此在訪問過程中用戶所擁有的權限是不變的。
為了實現用戶訪問過程中的權限動態調整,該文在RBAC模型的基礎上增加了根據用戶風險級別對用戶權限進行調整的一個環節。
APODAC模型是基于RBAC模型改進的,圖1給出了APODAC模型具體的關系圖。將模糊Sr序列滿足程度(FS)、模糊STmax偏離程度(FD)、模糊SFmax一致程度(FC)輸入到模糊推理器,從而推理出模糊用戶風險等級,然后系統根據模糊用戶風險等級對用戶的權限進行動態調整,權限調增的上限為用戶基于角色獲取的所有權限。

圖1 APODAC模型
APODAC模型基本元素的定義如下:
定義1:用戶是指獲得授權的合法用戶。合法用戶集記作U,U集合元素用u表示。
定義2:角色是根據用戶對系統應用或功能的需求特點對用戶進行的分類。用戶角色集記作R,R集合的元素用字母r表示,R與U是多對多的映射關系。
定義3:客體是指系統對其進行訪問控制的對象,諸如應用或功能等。客體集記作OB,OB集合元素用ob表示。
定義4:操作是指U對OB發生的動作,操作集記作OP,OP集合的元素用op表示。
定義5:權限是指合法用戶對特定系統資源的使用權利,可以表示為OB×OP,即表示為客體和操作的二元關系。權限集記作P,P集合中的元素用p表示。
定義6:用戶風險等級指對用戶行為進行評估之后得出的一個參數。用戶風險等級集合用UR(user risk)表示,UR集合中的元素用ur表示。
定義7:模糊Sr序列滿足程度(FS)是指用戶的實時訪問序列與用戶基礎序列的契合程度。
定義8:模糊STmax偏離程度(FD)是指從用戶實時序列中提取的時間最長的元素組成的新序列與從用戶基礎序列中提取的時間最長的元素組成的新序列兩者之間的偏離程度。
定義9:模糊SFmax一致程度(FC)是指從用戶實時序列中提取的出現頻率最高的元素組成的新序列與從用戶基礎序列中提取的出現頻率最高的元素組成的新序列兩者之間的一致程度。
APODAC模型中的約束是至關重要的,通過約束可以提高模型的動態授權能力,提高模型的可用性。模型只有在約束允許的范圍內對用戶的權限進行動態調整,如不滿足約束條件,模型對權限的動態調整則被禁止。APODAC模型定義了權限依賴約束(PDC)、最大權限約束(MPC)這2條約束。
定義10:權限依賴約束(PDC)是指APODAC模型中一項權限的授予或禁用必須以另一項權限的授予或禁用為前提條件。PDC可以表示成一個三元組(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:最大權限約束(MPC)是指APODAC模型中U調增的權限不能超過PMax。其中,PMax為合法用戶在基于角色的基礎上獲得的所有權限集合。MPC可以表示成一個三元組(p,num,PMax),其中p表示授予的權限,num表示授予權限的項數,PMax表示U可以擁有的最大權限項數。?p∈P,則MPC約束可以表示成:
P.num≤PMax?P?P=Authorised
在對用戶進行風險等級評估之前需要建立基于角色和業務邏輯的用戶行為規則庫。具體的步驟如下:
①對每個應用或功能進行標記,采用A1,A2,…,An等大寫字母表示。
②基于用戶角色和業務邏輯給出用戶基礎行為序列Sb。設Sb的長度為m,且m≥1。
③按用戶訪問應用或功能的先后順序記錄訪問時長大于設定閾值的實時序列Sr,即可表述為:
?Ai∈Sb,TAi≥Tl
其中設定的時間閾值為Tl,用戶對Ai實際的訪問時長記為TAi。
④提取出Sr中訪問時間最長的元素組成一個新的序列STmax。
⑤提取出Sr中訪問頻率最高的一個元素組成一個新的序列SFmax。
⑥得到用戶的行為序列:
S=(Sb,Sr,STmax,SFmax)
設某業務應用系統共有N個應用或功能。若用戶的初始序列為Si:
Si=((A1,14),(A3,9),(A4,468),(A2,7),(A1,6),(A3,632),(A1,22))
其中數字代表用戶在某個應用停留的時長,則用戶行為序列的構建示例如圖2所示。

圖2 用戶行為序列構建示例
APODAC模型通過模糊推理器來實現對用戶風險等級的評估,模糊推理器具體架構如圖3所示。

圖3 模糊推理器架構
模糊推理器的三個輸入變量分別為:模糊Sr序列滿足程度(FS)、模糊STmax偏離程度(FD)、模糊SFmax一致程度(FC)。RM為模糊推理機,下面給出RM的實現過程,其中涉及到的有關模糊數學的相關知識請參考文獻[22],文中不再贅述。
首先對FS、FD、FC、UR定義不同的模糊變量,具體的定義方式如表1至表4所示。

表1 FS模糊變量

表2 FD模糊變量

表3 FC模糊變量

表4 UR模糊變量
以上不同模糊變量的取值以自由組合的方式可以生成多條模糊用戶風險等級評估規則,如表5所示。

表5 模糊用戶風險等級評估規則

續表5
其中規則庫中UR的確定是通過對FS、FD、FC采用加權平均數計算得到的,具體的權重比例可以根據實際情況來分配。表5中共有3*3*3=27條模糊用戶風險等級評估規則,例如,該表中第一條規則表示:如果某用戶的FS為非常滿足,FD為基本不偏離并且FC為完全一致則該用戶評估為低風險用戶的可能性很大。
根據表5給出的模糊用戶風險等級評估規則庫可以將模糊推理機RM構造出來。設i為用戶等級規則庫中的規則數,由模糊數學的知識可知RM是FS、FD、FC、UR上的一個模糊關系,于是可以得到RM,即:
RM=Ul(FS×FD×FC×UR)
若采用常用的最小推理機,則可以進一步簡化問題,最小推理機的有關知識可以參考文獻[23]。若給定一組輸入FSi、FDj、FCk,則可以得到模糊用戶風險等級URx,即:
URx=(FSi,FDj,FCk)?RM
最后,對U的P進行重要程度(IM)劃分并設置允許獲得權限的用戶風險等級最低閾值(URmin),重要程度則分為非常重要(AIM)、重要(BIM)、一般重要(CIM),具體劃分如表6所示。

表6 權限重要程度劃分表
為簡便起見,表6只列出5項權限,例如,由表6可知A的重要程度為BIM,意味著只有風險等級為中風險等級以下的用戶才能擁有此項權限。
根據上文給出的URmin,若某用戶的風險等級為URx,基于角色擁有的權限集合為Pr,系統所有權限依據重要程度分為PAIM、PBIM、PCIM,則動態授權算法如下:
Input:URx,Pr
Output:T(授予權限),F(收回權限)
Grant(URx,Pr)
(PAIM,PBIM,PCIM)?Pr//將用戶基于角色的權限進行分類
if URx≥URmin(PAIM) //用戶風險等級比擁有權限PAIM的風險等級高
if URmin(PAIM)≥URmin(PBIM)and URmin(PAIM)←URmin(PCIM) //PBIM、PCIM部分依賴于PAIM
returnFPAIM,FPBIM,FPCIM//根據PDC約束,收回PAIM以及PBIM、PCIM中的部分權限
else if URmin(PAIM)←URmin(PBIM)or URmin(PAIM)←URmin(PCIM)
returnFPAIM,FPBIMor returnFPAIM,FPCIM//根據PDC約束,收回PAIM以及PBIM或PCIM中的部分權限
else if URx≤URmin(PAIM)
andP.num≤PMax
returnTAIM
相較于APODAC模型,RBAC模型完全依賴用戶擁有的角色進行授權,而不對用戶行為進行評估,APODAC模型能夠對用戶擁有的權限動態調整。本節將通過某生物實驗室管理系統來驗證APODAC模型的動態授權能力。該系統的應用、權限、角色及用戶設定如表7~表10所示。

表7 應用/功能設定

表8 權限設定

表9 角色設定

表10 用戶設定
若U2是一名安全管理員,9:00AM的時候該用戶登錄到系統,系統根據U2的角色給他分配了人員管理、日志查詢這兩個權限。然而在9:30AM的時候,系統將U2的實時訪問序列Sr進行處理得到STmax、SFmax兩個序列,然后將其與Sb逐一比對得到FS、FD、FC三個模糊變量,將這三個模糊變量輸入到模糊推理器中得出U2的風險等級為BUR。根據U2的風險等級以及表8的權限設定可知U2不允許擁有P5權限,系統會將U2的權限強制收回。收回權限的時候系統確認P4和P5不存在依賴關系,則沒有強制收回P4權限。
在RBAC模型的基礎上提出了APODAC模型,該模型注重于解決訪問過程中的動態訪問控制的問題,提高了信息安全防護的有效性和實時性。但是所提的模型和方法還存在需要進一步研究的地方,具體如下:
(1)研究通過序列模式挖掘的方法對用戶行為進行分析。
(2)研究如何提高APODAC模型對用戶風險等級的評估準確度。