董玉蓉,王鵬程
(1.河西學(xué)院信息技術(shù)與傳媒學(xué)院,張掖 734000;2.中國聯(lián)通張掖市分公司,張掖 734000)
訪問控制技術(shù)是公認(rèn)的確保系統(tǒng)和數(shù)據(jù)安全共享的重要手段之一[1],一直處于安全系統(tǒng)的核心地位。傳統(tǒng)的基于角色的訪問控制是通過定義用戶所有的授權(quán)規(guī)則來實(shí)現(xiàn)的,從角色的角度進(jìn)行權(quán)限的劃分易造成過度授權(quán)的問題[1],從效率和準(zhǔn)確性兩方面來說也不是理想的方式[2]。利用相關(guān)實(shí)體的屬性作為授權(quán)基礎(chǔ)來實(shí)現(xiàn)訪問控制,很好地解決了行業(yè)分布式應(yīng)用的可信關(guān)系,而且通過構(gòu)造用戶權(quán)限和數(shù)據(jù)權(quán)限的復(fù)合組合控制方式,提高了敏感數(shù)據(jù)的安全性[3]。文獻(xiàn)[4]在ABAC模型的基礎(chǔ)上結(jié)合多級安全策略[5]提出了基于用戶訪問行為的AMAC模型,實(shí)現(xiàn)了對云計(jì)算環(huán)境中的多級安全訪問。并基于Rushby提出的信息流不干擾理論,證明了AMAC模型中多級訪問控制策略的安全性。文獻(xiàn)[6]從分析云計(jì)算用戶的工作習(xí)慣與任務(wù)完成時(shí)間期望值在時(shí)間軸上的變化規(guī)律出發(fā),建立用戶行為特征信息表,從而預(yù)測出不同時(shí)間片內(nèi)用戶的任務(wù)提交規(guī)律以及用戶期望完成時(shí)間,動(dòng)態(tài)調(diào)整云計(jì)算環(huán)境中的資源分配策略。針對用戶隨時(shí)、隨地訪問產(chǎn)生的安全屬性動(dòng)態(tài)伸縮調(diào)整需求,文獻(xiàn)[7]結(jié)合ABAC機(jī)制和BLP模型,對行為進(jìn)行安全級別細(xì)化,并通過行為映射函數(shù)獲取安全屬性,提出了響應(yīng)的安全規(guī)則,為授權(quán)策略的動(dòng)態(tài)調(diào)整提供了支撐。文獻(xiàn)[8]在文獻(xiàn)[7]研究的基礎(chǔ)上,針對傳統(tǒng)訪問控制技術(shù)中用戶行為和角色不確定帶來的安全隱患,通過用戶角色樹將用戶的信譽(yù)與服務(wù)訪問授權(quán)進(jìn)行映射,提出了一種基于動(dòng)態(tài)授權(quán)機(jī)制的自適應(yīng)云訪問控制方法,能夠在一定程度上保證信息的機(jī)密性和完整性。
大數(shù)據(jù)背景下的訪問控制不僅要考慮數(shù)據(jù)的安全,還要考慮由數(shù)據(jù)的隱私保護(hù)問題[2]。在分布式信息系統(tǒng)中,保障單個(gè)信息的機(jī)密性不能確保整個(gè)系統(tǒng)的機(jī)密性。在多級安全訪問控制模型中,客體的安全等級可以分為多級,客體又可以按照內(nèi)容或主題的不同被分為多種類別或劃分在不同的范疇。實(shí)際應(yīng)用中,一個(gè)安全級別內(nèi)的客體又由多個(gè)屬于不同類別或范疇的客體組成,而不同的安全級別會(huì)對應(yīng)不同的訪問范疇。主體安全級別越高,能夠訪問的客體安全等級越高,訪問范疇也越大。
理想的狀態(tài)下,主體的某一訪問操作具有針性,即訪問的客體是明確的。當(dāng)主體的訪問行為級別符合客體的某一安全等級,他就有權(quán)訪問這個(gè)安全等級下且在主體訪問范疇內(nèi)的任意客體。若一個(gè)主體的訪問操作沒有明確的目標(biāo)或有特殊目的時(shí),他能夠訪問允許其訪問的所有客體,通過訪問他能夠獲取更多的信息。而這些信息的數(shù)量大大超過了有明確訪問目標(biāo)的普通用戶,這類訪問行為被稱為過度訪問。用戶獲取的信息量越大,系統(tǒng)的隱私信息泄露的風(fēng)險(xiǎn)就越大。本文中將具有過度訪問行為的用戶稱為惡意用戶。而在實(shí)際應(yīng)用中,內(nèi)部用戶一直都是信息泄露的頭號威脅[5]。因此,保障信息系統(tǒng)的機(jī)密性,不僅要保障信息的機(jī)密性,還要對內(nèi)部用戶的過度訪問行為進(jìn)行約束和監(jiān)控。
使用風(fēng)險(xiǎn)閾值來對訪問行為進(jìn)行判定是訪問控制有效的手段之一。為了能夠更好地保護(hù)信息系統(tǒng)的機(jī)密性,本文在文獻(xiàn)[8]模型的基礎(chǔ)上,允許用戶先進(jìn)行訪問,并使用主體訪問所獲得的信息量量化風(fēng)險(xiǎn)。通過比較風(fēng)險(xiǎn)值與風(fēng)險(xiǎn)閾值判定用戶的行為類別,來實(shí)現(xiàn)對訪問行為的動(dòng)態(tài)監(jiān)控,達(dá)到保障整個(gè)信息系統(tǒng)敏感信息不被泄露的目的。
為了能更好地描述訪問控制模型,本文將信息系統(tǒng)的使用者抽象為主體,將操作對象抽象為客體,主體對客體的訪問操作抽象為行為,對整個(gè)信息系統(tǒng)的保密性進(jìn)行研究。下面對基于行為監(jiān)控的多級安全訪問模型中的基本元素進(jìn)行定義。
主體:系統(tǒng)內(nèi)資源的使用者。根據(jù)用戶訪問行為的特征,分為普通用戶和惡意用戶。兩種用戶對應(yīng)的主體分別為普通主體和惡意主體。主體集合記為S,單個(gè)主體用si表示。
客體:信息系統(tǒng)內(nèi)包含的所有資源,能被主體訪問??腕w集合記為O,單個(gè)客體用oj表示。
會(huì)話:主體通過會(huì)話向系統(tǒng)提出訪問客體的請求,包括訪問主體信息si、客體信息oj、操作類型。
屬性:屬性用來描述主體和客體的特征。主體和客體擁有多個(gè)屬性,每個(gè)屬性又有多個(gè)屬性值。主體屬性包括用戶名、安全級別、訪問范疇等;一個(gè)主體的一個(gè)屬性有且僅有一個(gè)取值。客體屬性包括客體名、安全等級、所屬類別等;一個(gè)客體的一個(gè)屬性有且僅有一個(gè)取值。其中主體的安全級別、訪問范疇被稱為主體安全屬性;客體安全等級、所屬類別被稱為客體安全屬性。
行為:主體在當(dāng)前環(huán)境中能夠?qū)腕w進(jìn)行的操作,行為集合記為A。主體的訪問行為由主體安全屬性、客體安全屬性、會(huì)話發(fā)出的時(shí)間、環(huán)境來約束。為了能夠更好地實(shí)現(xiàn)行為監(jiān)控,進(jìn)行風(fēng)險(xiǎn)管理時(shí),按照風(fēng)險(xiǎn)閾值的不同,行為被分為安全行為、低危行為、高危行為三種。
本模型在訪問控制實(shí)現(xiàn)過程中,沿用原模型對主體屬性到行為屬性的映射,結(jié)合客體的安全等級為主體確定操作權(quán)限。改進(jìn)之處是在訪問過程中將主體訪問行為獲得的信息熵作為風(fēng)險(xiǎn)值,并通過風(fēng)險(xiǎn)閾值建立行為與訪問等級、訪問范疇之間對應(yīng)關(guān)系,實(shí)現(xiàn)對主體行為的實(shí)時(shí)監(jiān)控。
對于系統(tǒng)而言,無法事先確定用戶屬于哪一類用戶,因此本文中的模型允許用戶先進(jìn)行訪問,并在以下兩個(gè)假設(shè)的基礎(chǔ)上進(jìn)行研究。兩個(gè)假設(shè)表明用戶已經(jīng)獲得系統(tǒng)允許能夠?qū)腕w進(jìn)行訪問操作。
假設(shè)1初始化
用戶初始化:用戶在系統(tǒng)注冊時(shí),系統(tǒng)依據(jù)安全需求,為該用戶進(jìn)行了角色劃分、安全屬性賦值與初始化,對應(yīng)的主體記si,其初始化屬性為Init(si)=(ID(si),role,linit,acinit)。其中ID(si)為用戶在系統(tǒng)內(nèi)的標(biāo)識屬性,role為主體的角色屬性,linit與acinit是主體si的安全級別和訪問范疇。
數(shù)據(jù)資源初始化:依據(jù)系統(tǒng)安全需求對數(shù)據(jù)資源進(jìn)行初始化,為其進(jìn)行安全屬性賦值與初始化,對應(yīng)的客體記為oj,其屬性為Init(oj)=(ID(oj),lj,ck),其中ID(oj)為客體在系統(tǒng)內(nèi)的標(biāo)識屬性,lj與ck表示客體oj的安全等級和類別標(biāo)識。
假設(shè)2用戶訪問授權(quán)
系統(tǒng)對用戶訪問的授權(quán)是以主體初始化信息為基礎(chǔ)。用戶在成功登錄系統(tǒng)后,發(fā)送訪問請求req(si,[an,oj)],其中an∈A表示操作類型。系統(tǒng)接受到訪問請求之后,結(jié)合主體屬性、請求發(fā)送的時(shí)態(tài)、環(huán)境、客體屬性,獲取主體行為屬性信息,且通過查找權(quán)限分配表后允許主體的訪問請求。
量化風(fēng)險(xiǎn)需要確定一個(gè)基準(zhǔn)值作為閾值,用來確定主體的訪問行為是否產(chǎn)生了風(fēng)險(xiǎn)。確定風(fēng)險(xiǎn)閾值也就是設(shè)置2類主體(普通用戶和惡意用戶)訪問行為產(chǎn)生信息量的分界值,并能通過分界值來區(qū)分2類用戶和三種訪問行為。若2類用戶訪問客體的產(chǎn)生的信息熵分別服從2個(gè)具有不同均值的正態(tài)分布,那么全體用戶產(chǎn)生的信息熵就是一個(gè)混合的正態(tài)分布。
在訪問進(jìn)行的過程中,通過分析用戶在一段時(shí)間內(nèi)的行為和選擇訪問客體的類別來考察用戶的行為以確定風(fēng)險(xiǎn)。由假設(shè)可知,惡意用戶不論是在訪問行為還是訪問客體的選擇上,與普通用戶相比更加多樣化,即混亂程度高于普通用戶,因此可以使用信息熵對風(fēng)險(xiǎn)進(jìn)行量化。熵值越高,說明該用戶獲得敏感信息的風(fēng)險(xiǎn)越大。
風(fēng)險(xiǎn)值即訪問主體的行為對系統(tǒng)主體內(nèi)敏感信息泄露的風(fēng)險(xiǎn)程度,用risk來表示,其值的大小主要受訪問主體行為、客體類別等因素的影響,取值為risk∈[0,1]。
在主體訪問系統(tǒng)資源的同時(shí),系統(tǒng)會(huì)對主體的訪問行為進(jìn)行記錄并分析計(jì)算出風(fēng)險(xiǎn)值。主體的訪問記錄是一個(gè)三元組記為Op(si,aj,ck),表示訪問主體si對所屬某一類別客體進(jìn)行的一次操作,其中aj為主體的行為,且aj∈Ai(Ai表示主體si一段時(shí)間內(nèi)訪問行為的集合),ck表示某一類別的客體,ck∈C(C為安全類別集合,包含主體的訪問范疇和客體所屬類別)。用fsi(aj,ck)表示訪問主體si的行為aj下類別標(biāo)簽為ck的客體出現(xiàn)的次數(shù),通過該次數(shù)能夠計(jì)算出si訪問的不同客體類別ck的概率
其中cb表示si能夠訪問的類別標(biāo)簽集合。
基于信息熵進(jìn)行計(jì)算可以得出主體si在某一時(shí)間段內(nèi)訪問行為aj下得到的信息量。
通過調(diào)用系統(tǒng)存儲(chǔ)的近似訪問記錄能夠計(jì)算出近似訪問產(chǎn)生的平均量的值。
IS(aj)表示近似記錄中包含的所有主體S的信息量總和,N(S)表示主體數(shù)量。通過比較主體si的信息量和S的平均信息量,就可以得到在相同時(shí)間內(nèi)、相同的訪問行為aj下信息量的差值,即風(fēng)險(xiǎn)值。
在系統(tǒng)中,需要周期性地對所有主體的aj訪問行為進(jìn)行計(jì)算,就可以得到aj行為產(chǎn)生風(fēng)險(xiǎn)值和風(fēng)險(xiǎn)閾值?aj。
當(dāng)惡意主體訪問的客體產(chǎn)生的信息量過多時(shí),行為的風(fēng)險(xiǎn)值就會(huì)增加。風(fēng)險(xiǎn)閾值也為下一步進(jìn)行的風(fēng)險(xiǎn)管理提供了依據(jù)。
為了能夠?qū)嵤┯行У脑L問控制,系統(tǒng)會(huì)在初始化時(shí)根據(jù)用戶的個(gè)人信息為每位用戶設(shè)置安全等級和訪問范疇。用戶的每次訪問都會(huì)造成一定的風(fēng)險(xiǎn),這些風(fēng)險(xiǎn)會(huì)影響用戶的安全等級和訪問范疇。風(fēng)險(xiǎn)閾值表示系統(tǒng)對每個(gè)訪問主體行為的容忍程度,使用風(fēng)險(xiǎn)閾值能夠?qū)χ黧w訪問行為進(jìn)行準(zhǔn)確判斷。為了使得行為判斷更合理,本文將主體的行為級別分為安全級別、低危級別和高危級別。
風(fēng)險(xiǎn)閾值與用戶行為安全等級和訪問范疇之間存在對應(yīng)關(guān)系,如下表1所示。
表1 風(fēng)險(xiǎn)閾值、安全等級、訪問范疇關(guān)系表
依據(jù)上表中描述的對應(yīng)關(guān)系,可以判定不同時(shí)刻主體的行為等級,并計(jì)算出該行為等級對應(yīng)的主體安全級別和訪問范疇。當(dāng)?aj>0時(shí),主體當(dāng)前行為風(fēng)險(xiǎn)值低于行為平均風(fēng)險(xiǎn)值,則該行為為安全操作,主體安全等級和訪問范疇均為初始化值;當(dāng)?aj=0時(shí),行為風(fēng)險(xiǎn)值等于行為平均風(fēng)險(xiǎn)值時(shí)為低危操作,主體的安全等級,訪問范疇時(shí),行為風(fēng)險(xiǎn)值高于行為平均風(fēng)險(xiǎn)值,為高危操作,主體的安全等級
每次訪問結(jié)束時(shí),系統(tǒng)會(huì)計(jì)算出新的安全等級和訪問范疇,新的安全屬性值會(huì)成為用戶下次登錄系統(tǒng)時(shí)的初始安全屬性值。若在訪問過程中,主體行為風(fēng)險(xiǎn)值高于風(fēng)險(xiǎn)閾值時(shí),系統(tǒng)判定該行為是高危操作,即系統(tǒng)認(rèn)為該主體的訪問行為會(huì)對系統(tǒng)的機(jī)密性造成威脅,系統(tǒng)會(huì)終止主體訪問行為,將其強(qiáng)制退出登錄,并將其訪問范疇歸0。若該用戶仍想登錄系統(tǒng)進(jìn)行訪問操作,必須先向管理員提出申請,重新獲得訪問范疇。
將風(fēng)險(xiǎn)引入訪問控制模型一直是實(shí)現(xiàn)訪問控制自動(dòng)化和自適應(yīng)性的一種主要方法。風(fēng)險(xiǎn)的引入也更好地保障了信息系統(tǒng)的機(jī)密性、動(dòng)態(tài)性和行為監(jiān)控的合理性。
本文模型符合BLP模型的安全特性,是在基于行為的多級安全訪問控制模型的基礎(chǔ)上增加了風(fēng)險(xiǎn)值的引入,能有效地防止低安全級別的用戶對高安全等級客體的訪問,保障了單個(gè)客體的機(jī)密性。通過對主體訪問客體行為進(jìn)行動(dòng)態(tài)監(jiān)控,降低了由主體訪問客體類別過多帶來的隱私信息泄露的風(fēng)險(xiǎn),保障了整個(gè)信息系統(tǒng)的機(jī)密性。
在大數(shù)據(jù)環(huán)境下,主體的安全屬性和客體的安全屬性都會(huì)隨著時(shí)態(tài)、環(huán)境的變化發(fā)生改變。用戶初始化時(shí),系統(tǒng)管理員很難做到準(zhǔn)確設(shè)置用戶角色、劃分用戶安全級別和訪問范疇,這會(huì)導(dǎo)致惡意用戶由于級別高、范疇大帶來的隱私信息泄露的問題。利用風(fēng)險(xiǎn)對訪問能力進(jìn)行動(dòng)態(tài)調(diào)整,能彌補(bǔ)系統(tǒng)管理員在進(jìn)行角色劃分時(shí)考慮不全面的缺陷。根據(jù)主體行為所處的級別,調(diào)整用戶的安全級別和訪問范疇,達(dá)到動(dòng)態(tài)的修改其訪問能力的目的。主體的訪問行為由系統(tǒng)動(dòng)態(tài)監(jiān)控,能夠更好地滿足分布式環(huán)境下復(fù)雜的訪問需求,保障有效的訪問控制。
由本模型的動(dòng)態(tài)性可知,主體的每次訪問都會(huì)產(chǎn)生一定的風(fēng)險(xiǎn),這些風(fēng)險(xiǎn)會(huì)影響主體的安全等級和訪問范疇,即會(huì)影響主體的當(dāng)次和下一次的訪問操作。本模型中,風(fēng)險(xiǎn)閾值的計(jì)算依據(jù)了歷史訪問記錄中的近似訪問數(shù)據(jù),即將普通用戶的歷史訪問記錄產(chǎn)生的信息量近似視為先驗(yàn)分布。相比于惡意用戶,普通用戶的訪問有明確的目標(biāo)性,因此歷史記錄中普通用戶訪問客體獲得的信息量較低,這也為區(qū)分三種行為提供了依據(jù),使得風(fēng)險(xiǎn)管理對用戶行為的監(jiān)控更加合理。
本文中的模型是在已有的基于行為的多級訪問控制模型基礎(chǔ)上引入了風(fēng)險(xiǎn)值,在主體的訪問過程中,對訪問行為進(jìn)行動(dòng)態(tài)監(jiān)控。在風(fēng)險(xiǎn)閾值的設(shè)置上依據(jù)不同主體的訪問行為產(chǎn)生的信息熵為參考,能夠準(zhǔn)確地判斷用戶行為類型,做到對用戶行為進(jìn)行合理的實(shí)時(shí)監(jiān)控。通過引入風(fēng)險(xiǎn)值進(jìn)行行為監(jiān)控,能夠在原模型保證單個(gè)客體機(jī)密性和完整性的基礎(chǔ)上保障了整個(gè)系統(tǒng)的機(jī)密性。相比原模型,本文提出的模型具備更好的合理性和動(dòng)態(tài)性,更能適應(yīng)開放、動(dòng)態(tài)、多變的云環(huán)境。