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