劉愛(ài)軍,田祎
(1.商洛學(xué)院數(shù)學(xué)與計(jì)算機(jī)應(yīng)用學(xué)院,陜西商洛726000;2.商洛學(xué)院經(jīng)濟(jì)與管理學(xué)院,陜西商洛726000)
一個(gè)基于訪(fǎng)問(wèn)歷史的BLP改進(jìn)模型的修正
劉愛(ài)軍1,田祎2
(1.商洛學(xué)院數(shù)學(xué)與計(jì)算機(jī)應(yīng)用學(xué)院,陜西商洛726000;2.商洛學(xué)院經(jīng)濟(jì)與管理學(xué)院,陜西商洛726000)
為克服SLCF安全模型使用動(dòng)態(tài)調(diào)整主體安全標(biāo)記方法不當(dāng),造成信息泄漏的安全隱患問(wèn)題,結(jié)合BLP基本安全準(zhǔn)則,分析指出該模型存在的不足,提出從信息流角度,根據(jù)訪(fǎng)問(wèn)歷史記錄,對(duì)信息流入、流出標(biāo)記函數(shù)的變化規(guī)則進(jìn)行修正的基本思想,給出了新的修正訪(fǎng)問(wèn)控制規(guī)則,并通過(guò)實(shí)例,對(duì)修正效果的正確性進(jìn)行分析驗(yàn)證,結(jié)果表明該修正訪(fǎng)問(wèn)控制規(guī)則,在確保應(yīng)用系統(tǒng)的可用性和靈活性的前提下,確實(shí)有效防止了信息的非法泄漏,增強(qiáng)了系統(tǒng)的安全性。
BLP;修正;機(jī)密性;可用性;SLCF
BLP模型是在計(jì)算機(jī)安全系統(tǒng)中實(shí)現(xiàn)多級(jí)安全(MLS)機(jī)密性策略的經(jīng)典模型,被視作基本安全公理的基石。BLP安全模型制定了一組約束系統(tǒng)狀態(tài)間轉(zhuǎn)換規(guī)則的安全理論,主要內(nèi)容包括4個(gè)特性公理,10個(gè)定理、11個(gè)規(guī)則[1]。
這些公理和規(guī)則雖然能很好地保證信息的機(jī)密性,防止信息的非授權(quán)泄漏,可隨信息安全領(lǐng)域的不斷發(fā)展,該經(jīng)典模型也存在明顯的不足。它的局限主要體現(xiàn)在完整性、可用性、靈活性、擴(kuò)展性和隱通道問(wèn)題。
針對(duì)以上局限,如何在保持安全性的前提下增加BLP模型的靈活性和可用性,最大限度保證信息的完整性,是近年來(lái)該領(lǐng)域研究改進(jìn)的重點(diǎn)和熱點(diǎn)。其中,動(dòng)態(tài)調(diào)整主客體的安全等級(jí)(又稱(chēng)敏感標(biāo)簽)并修改模型的安全屬性和狀態(tài)轉(zhuǎn)換規(guī)則是增強(qiáng)BLP模型在實(shí)際系統(tǒng)中的靈活性和可用度的主要方法[2]。
Amon Ott[3]提出一種自適應(yīng)的(Adaptive)安全等級(jí)可動(dòng)態(tài)調(diào)整規(guī)則,用于實(shí)現(xiàn)在滿(mǎn)足相關(guān)條件下可動(dòng)態(tài)調(diào)整主體的當(dāng)前安全等級(jí),以增加訪(fǎng)問(wèn)控制的靈活性;石文昌等[4-5]提出了一種與文獻(xiàn)[3]相似的ABLP實(shí)施方法,該方法構(gòu)造內(nèi)外二層判斷空間,改進(jìn)原有訪(fǎng)問(wèn)規(guī)則,以主體當(dāng)前安全標(biāo)記、客體安全標(biāo)記和訪(fǎng)問(wèn)方式為主要判斷參數(shù)條件,對(duì)允許訪(fǎng)問(wèn)的主體的當(dāng)前敏感標(biāo)記進(jìn)行合理調(diào)整;季慶光等[6]提出一個(gè)改進(jìn)的機(jī)密性策略模型DBLP,將Amon Ott規(guī)則推廣為動(dòng)態(tài)地調(diào)整敏感標(biāo)簽范圍,并指出文獻(xiàn)[3,5]中可信主體沒(méi)有給出準(zhǔn)確定義,文獻(xiàn)[5]ABLP模型證明不嚴(yán)格,幾個(gè)判斷參數(shù)初始值設(shè)置不當(dāng),可能導(dǎo)致的隱通道問(wèn)題;司天歌等[7]基于系統(tǒng)動(dòng)作的不干擾模型,從信息流的角度引入一種對(duì)多級(jí)安全模型安全性的形式化分析方法,并以此分析方法對(duì)ABLP和DBLP改進(jìn)模型進(jìn)行分析,指出其證明的不完備性及可能的安全隱患;梁洪亮等[8]引入了訪(fǎng)問(wèn)歷史的概念,并給出了一個(gè)新增的標(biāo)記函數(shù)集合,從信息流的角度記錄流入流出歷史,提出了一個(gè)與文獻(xiàn)[4]類(lèi)似的基于靜態(tài)客體標(biāo)記和動(dòng)態(tài)主體標(biāo)記的改進(jìn)BLP模型框架SLCF(security label common framework),通過(guò)重新定義模型的安全屬性和狀態(tài)轉(zhuǎn)換規(guī)則,動(dòng)態(tài)調(diào)整主體當(dāng)前敏感標(biāo)記,增強(qiáng)系統(tǒng)的靈活性。
以上改進(jìn)方法,結(jié)合實(shí)際需要改進(jìn)了訪(fǎng)問(wèn)規(guī)則,放寬了BLP經(jīng)典模型的嚴(yán)格訪(fǎng)問(wèn)限制,一定程度上增強(qiáng)了模型的可用性和靈活性,但由于沒(méi)有得到嚴(yán)格安全證明驗(yàn)證,因此使用中帶來(lái)了一定的安全隱患。SLCF框架模型也存在類(lèi)似安全缺陷。
1.1 SLCF模型介紹
針對(duì)BLP模型靈活性不足的特點(diǎn),梁洪亮等[5]提出了一個(gè)基于歷史信息的動(dòng)態(tài)主體安全標(biāo)記(即敏感級(jí))BLP改進(jìn)模型(簡(jiǎn)稱(chēng)SLCF)。改進(jìn)模型認(rèn)為在一次會(huì)話(huà)過(guò)程中,主體標(biāo)記動(dòng)態(tài)記錄著信息的流入流出變化情況,并有一個(gè)上下界閾值;客體標(biāo)記是固定不變的。改進(jìn)模型在保持原主體、客體、標(biāo)記、訪(fǎng)問(wèn)集合等概念外,主要引入如下內(nèi)容[5]:
1)增加了4個(gè)主體標(biāo)記函數(shù)(fil,fih,fol,foh),用于記錄主體的歷史訪(fǎng)問(wèn)信息。fil,fih:流入信息的最低/最高標(biāo)記,初始值為L(zhǎng)OW(系統(tǒng)的最小標(biāo)記值);fol,foh:流出信息的最低/最高標(biāo)記,初始值為HIGH(系統(tǒng)的最大標(biāo)記值)。fih,fol用于實(shí)現(xiàn)多等級(jí)保密安全策略,foh,fil用于實(shí)現(xiàn)多等級(jí)完整性安全策略。
針對(duì)多等級(jí)保密安全策略,該方法對(duì)經(jīng)典BLP模型的主要改進(jìn)是:根據(jù)標(biāo)記函數(shù)fih、fol和主體最大標(biāo)記函數(shù)fs、客體標(biāo)記函數(shù)fo的關(guān)系調(diào)整主體當(dāng)前標(biāo)記函數(shù)fc及信息流入/出標(biāo)記函數(shù)fih、fol標(biāo)記值。
2)SLCF的安全判定條件以及主體標(biāo)記規(guī)則具體描述如下:
規(guī)則1(讀訪(fǎng)問(wèn))a)若滿(mǎn)足條件fc≥fo,則允許主體S讀取客體O;b)否則繼續(xù)進(jìn)行內(nèi)層判別:若滿(mǎn)足(fs≥fo)&&(fol≥fo)則fc=Max(fc,fo),fih= Max(fih,fo),同時(shí)允許主體S讀取客體O;c)否則若以上條件均不滿(mǎn)足則拒絕主體S讀訪(fǎng)問(wèn)客體O。
規(guī)則2(寫(xiě)訪(fǎng)問(wèn))a)若滿(mǎn)足條件fo≥fc,則允許主體S添加客體O;b)否則繼續(xù)進(jìn)行內(nèi)層判別:若滿(mǎn)足fo≥fih則fc=Min(fc,fo),fol=Min(fol,fo),同時(shí)允許主體添加客體O;c)否則若以上條件均不滿(mǎn)足,則拒絕主體S添加客體O。
規(guī)則3(讀寫(xiě)雙向訪(fǎng)問(wèn))a)若滿(mǎn)足條件fc=fo,則允許主體S對(duì)客體O雙向讀寫(xiě)訪(fǎng)問(wèn);b)否則繼續(xù)進(jìn)行內(nèi)層判別:若滿(mǎn)足(fs≥fo)&&(fol≥fo) &&(fo≥fih),則fc=fo,fih=Max(fih,fo),fol=Min(fol,fo),允許主體S對(duì)客體O雙向讀寫(xiě)訪(fǎng)問(wèn);c否則若以上條件均不滿(mǎn)足,則拒絕主體S對(duì)客體O雙向讀寫(xiě)訪(fǎng)問(wèn)。
1.2 SLCF框架安全性分析
本文在理論分析的基礎(chǔ)上,并根據(jù)SLCF模型規(guī)則舉例說(shuō)明,結(jié)果進(jìn)一步表明該模型存在以下明顯問(wèn)題:
1)SLCF模型所引實(shí)例無(wú)法根據(jù)表1初始條件得到表2所示結(jié)論[8],與實(shí)際規(guī)則執(zhí)行結(jié)果不符;
2)根據(jù)文獻(xiàn)[5],fih,fol和foh,fil分別應(yīng)用于實(shí)現(xiàn)多等級(jí)保密安全策略和多等級(jí)完整性安全策略,而文獻(xiàn)所引實(shí)例僅用于說(shuō)明多等級(jí)保密安全策略,故判定條件及實(shí)現(xiàn)規(guī)則與foh,fil無(wú)關(guān);
3)經(jīng)理論分析及實(shí)例驗(yàn)證說(shuō)明SLCF框架不滿(mǎn)足機(jī)密性策略,存在信息從高密級(jí)向低密級(jí)泄漏的隱患。
如表1所示,針對(duì)1.2中1)仍然引用文獻(xiàn)[8]實(shí)例初始標(biāo)記值對(duì)所述結(jié)果進(jìn)行分析。文獻(xiàn)[8]敘述執(zhí)行(process2,file2,r),(process2,file3,w)后 fih=2,而按其判斷規(guī)則1可知執(zhí)行(process2,file2,r)時(shí),因滿(mǎn)足外層判斷條件fc(process2)≥fo(file2),經(jīng)外層判斷即允許執(zhí)行,故fih值應(yīng)保持不變;再執(zhí)行(process2,file3,w),也滿(mǎn)足fo(file3)≥fc(process2)外層條件,故無(wú)需進(jìn)入內(nèi)層判斷即允許執(zhí)行,完成以上兩步操作fih仍保持原值,即fih=LOW,不應(yīng)為2。
表1 SLCF和修正的SLCF模型敏感級(jí)標(biāo)記值比較
針對(duì)1.2中3)信息非法泄漏問(wèn)題,本文反例分析驗(yàn)證,說(shuō)明存在安全隱患。假設(shè)有某一系統(tǒng)機(jī)密性敏感級(jí)分為絕密、機(jī)密、秘密和無(wú)密四級(jí),為方便表述分別用數(shù)值3,2,1,0代表4個(gè)對(duì)應(yīng)密級(jí)。如圖1所示,進(jìn)程process1是一個(gè)特洛伊木馬,fc(process1)=3,文件file1和file2是系統(tǒng)中兩個(gè)客體,fo(file1)=3,fo(file2)=1,fc(process2)=1。
圖1 特洛伊木馬引起信息泄密實(shí)例
按照原SLCF模型規(guī)則依次完成以下三步操作:a)(process1,file1,r);b)(process1,file2,a);c)(process2,file2,r)。各步操作敏感級(jí)函數(shù)標(biāo)記值變化如表2所示。
步驟1:進(jìn)程process1讀file1。因fc(process1)=fo(file1)=3,滿(mǎn)足規(guī)則1條件fc≥fo,故讀請(qǐng)求被允許,主客體各安全標(biāo)記值不變;
步驟2:進(jìn)程process1將file1添加到file2。因fc(process1)=3,fo(file2)=1,不滿(mǎn)足規(guī)則2外層條件fo≥fc,繼續(xù)進(jìn)入內(nèi)層判斷,滿(mǎn)足fo≥fih(fih= LOW),故寫(xiě)請(qǐng)求被允許,各安全標(biāo)記值分別調(diào)整為:fc(process1)=Min(fc(process1),fo(file2))=1,fol(process1)=Min(fol(process1),fo(file2))=1,fih不變;
步驟3:進(jìn)程process2讀file2。因fc(process2)=fo(file2)=1,滿(mǎn)足規(guī)則1條件fc≥fo,故允許完成將添加進(jìn)文件file2的文件file1讀入到進(jìn)程process2中。
表2 SLCF模型下各主客體標(biāo)記函數(shù)值變化
根據(jù)SLCF模型規(guī)則,由表2各時(shí)刻敏感級(jí)函數(shù)變化分析可以看出,含有特洛伊木馬的進(jìn)程process1已將高敏感級(jí)文件file1通過(guò)文件file2間接地泄漏給了低敏感級(jí)的進(jìn)程process2。顯然這違背了BLP的“上寫(xiě)下讀”基本安全策略。
2.1 修正原因
造成以上結(jié)果的根本原因是foh,fil作為主客體讀寫(xiě)訪(fǎng)問(wèn)歷史記錄,正確的訪(fǎng)問(wèn)規(guī)則應(yīng)是只要允許訪(fǎng)問(wèn)操作發(fā)生就要“記憶”信息流入流出記錄,并用作下次訪(fǎng)問(wèn)判斷條件。具體來(lái)說(shuō),只要讀操作被允許就應(yīng)比較fih和fo的大小關(guān)系,并始終保證fih取fih和fo中最大值,而非僅僅考慮不滿(mǎn)足讀操作的外層條件(fc≥fo)時(shí)才考慮fih的變化。同理,只要寫(xiě)操作被允許就要比較fo和fol的大小關(guān)系,并始終保持fol取fol和fo中最小值。即如讀操作被允許,則fih=Max(fih,fo);如寫(xiě)操作被允許,則fol=Min(fol,fo)。若讀寫(xiě)操作雙向允許,則fih=Max(fih,fo)和fol=Min(fol,fo)。
2.2 修正規(guī)則
規(guī)則1(讀訪(fǎng)問(wèn))a)若滿(mǎn)足外層判斷條件fc≥fo,則允許主體S讀取客體O,同時(shí)讓fih=Max(fih,fo);b)、c)保持不變。
規(guī)則2(寫(xiě)訪(fǎng)問(wèn))a)若滿(mǎn)足外層判斷條件fo≥fc,則允許主體S添加客體O,同時(shí)讓fol=Min(fol,fo);b)、 c)保持不變。
規(guī)則3(讀寫(xiě)雙向訪(fǎng)問(wèn))a)若滿(mǎn)足外層判斷條件fc=fo,則允許主體S對(duì)客體O雙向讀寫(xiě)訪(fǎng)問(wèn),同時(shí)讓fih=Max(fih,fo),fol=Min(fol,fo);b)、c)保持不變。
2.3 安全驗(yàn)證
同樣,對(duì)修正規(guī)則依次完成以下操作,分析驗(yàn)證其安全性。三步操作分別為:(process1,file1,r),(process1,file2,a),(process2,file2,r),各時(shí)刻敏感級(jí)函數(shù)標(biāo)記值變化如表3所示。
第一步:進(jìn)程process1讀file1。因fc(process1)=fo(file1)=3,滿(mǎn)足規(guī)則1外層條件fc≥fo,故讀請(qǐng)求被允許,同時(shí)執(zhí)行fih=Max(fih,fo),則fih=3;
第二步:進(jìn)程process1將file1添加到file2。因fc(process1)=3,fo(file2)=1,不滿(mǎn)足修正規(guī)則2外層條件fo≥fc,進(jìn)入內(nèi)層判斷仍不滿(mǎn)足fo≥fih(fih=3),故寫(xiě)請(qǐng)求被拒絕,各安全標(biāo)記函數(shù)值不變;
第三步:因第二步進(jìn)程process1已被拒絕將file1添加到file2,故進(jìn)程process2雖然可讀訪(fǎng)問(wèn)file2,但卻無(wú)法通過(guò)file2讀取到file1高密級(jí)信息,從而有效防止了信息泄漏。
通過(guò)以上實(shí)例分析可見(jiàn),在不改變BLP經(jīng)典模型“上寫(xiě)下讀”基本原則的前提下,與原文獻(xiàn)方法相比該修正有效地避免了高密級(jí)信息向下的非法泄漏,并在保證安全性的前提下增強(qiáng)了原模型的靈活性,是對(duì)SLCF方法的有效改進(jìn)。
表3 修正規(guī)則下各主客體標(biāo)記函數(shù)值變化
本文針對(duì)BLP經(jīng)典模型的局限性,介紹了在實(shí)際系統(tǒng)應(yīng)用中增強(qiáng)BLP模型靈活性的各種改進(jìn)方法。以實(shí)例方式對(duì)BLP模型的SLCF改進(jìn)方法進(jìn)行分析驗(yàn)證,指出該方法存在的信息泄漏安全隱患。最后,提出改進(jìn)思路,給出修正規(guī)則,并通過(guò)實(shí)例驗(yàn)證了該修正方法的有效性。
最后必須強(qiáng)調(diào),對(duì)BLP模型的靈活性和可用性改進(jìn),都應(yīng)以?xún)?yōu)先考慮系統(tǒng)的安全性為前提,缺少了機(jī)密性保護(hù)而空談對(duì)BLP模型改進(jìn),就失去了改進(jìn)的價(jià)值和意義。
[1]Bel D E,Lapadula J L.Secure computer systems: mathematical foundations,M74-244[R].Bedford:The MITRE Corporation,1973.
[2]劉波,陳曙暉,鄧勁生.Bell-LaPadula模型研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2013,30(3):566-660.
[3]Ott A.Regel-basierte zugriffskontrolle nach dem generalized framework for access controlansatz am beispiel Linux[R].[S.L.]:Diplomarbeit Universitat Hamburg,1997.
[4]石文昌,孫玉芳,梁洪亮.經(jīng)典BLP安全公理的一種適應(yīng)性標(biāo)記實(shí)施方法及其正確性[J].計(jì)算機(jī)研究與發(fā)展,2001,38(11):1366-1372.
[5]石文昌,梁洪亮,孫玉芳.主體當(dāng)前敏感標(biāo)記動(dòng)態(tài)確定方案研究[J].電子學(xué)報(bào),2001,29(8):1046-1049.
[6]季慶光,卿斯?jié)h,賀也平.一個(gè)改進(jìn)的可動(dòng)態(tài)調(diào)節(jié)的機(jī)密性策略模型[J].軟件學(xué)報(bào),2004,15(10):1547-1557.
[7]司天歌,譚智勇,戴一奇.一種對(duì)多級(jí)安全模型安全性的分析方法[J].計(jì)算機(jī)研究與發(fā)展,2008,45(10):1711-1717.
[8]梁洪亮,孫玉芳,趙慶松,等.一個(gè)安全標(biāo)記公共框架的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件學(xué)報(bào),2003,14(3):547-552.
(責(zé)任編輯:李堆淑)
A Correction in an Im proved BLP M odel Based on Access History
LIU Ai-jun1,TIAN Yi2
(1.College of Mathematics and Computer Application,Shangluo University,Shangluo 726000,Shaanxi; 2.College of Economic and Management,Shangluo Univerrsity,Shangluo 726000,Shaanxi)
The SLCF model can′t adjust the subject security label properly by using dynamic methods and may cause a variety of security risks such as information leakage.To circumvent above-mentioned problems,we point out the shortcomings in the present model and propose a new improvement access control rules by integrating BLP basic security policies.From the information transmission angle,the rules modify the information flow marking functionon the basis of access history.A living example is introduced to validate the accuracy of correction.The results show that our improvement access control rules can prevent illegal information leakage and enhance the security of the system on the premise ofavailability and flexibility.
BLP;correction;confidentiality;availability;SLCF
TP309
A
1674-0033(2015)06-0011-04
10.13440/j.slxy.1674-0033.2015.06.003
2015-10-15
陜西省教育廳專(zhuān)項(xiàng)科研計(jì)劃項(xiàng)目(14JK1221)
劉愛(ài)軍,男,陜西洛南人,碩士,副教授