◆李曄鋒
(1.北京工業(yè)大學(xué)計算機(jī)學(xué)院 北京 100124;2.寧波工程學(xué)院電信學(xué)院 浙江 315211)
強(qiáng)制訪問控制模型的自主化研究
◆李曄鋒1,2
(1.北京工業(yè)大學(xué)計算機(jī)學(xué)院 北京 100124;2.寧波工程學(xué)院電信學(xué)院 浙江 315211)
強(qiáng)制訪問控制是評價計算機(jī)系統(tǒng)安全性的標(biāo)準(zhǔn)之一,具有重要的研究意義。但由于它缺乏靈活性,不具有普遍的應(yīng)用價值,一般在機(jī)密度較高的商業(yè)或軍工領(lǐng)域才有所應(yīng)用。本文研究了強(qiáng)制訪問控制模型的自主化,并提出了一種具有自主控制特性的強(qiáng)制訪問控制模型,具有靈活性以及一定的安全性。
計算機(jī)安全;強(qiáng)制訪問控制;自主化
訪問控制是系統(tǒng)安全的關(guān)鍵技術(shù)[1],其任務(wù)是通過限制用戶對數(shù)據(jù)信息的訪問能力及范圍,保證信息資源不被非法使用和訪問[2]。如今一些訪問控制模型已被廣泛應(yīng)用到各種系統(tǒng)中,其中最具有代表性的是自主訪問控制(DAC)、強(qiáng)制訪問控制(MAC)和基于角色的訪問控制(RBAC)[3]。
1985 年由美國國防部制定的《可信計算機(jī)系統(tǒng)評估標(biāo)準(zhǔn)》(TCSEC)為計算機(jī)系統(tǒng)的安全劃分為四個大類、七個等級,其中實(shí)現(xiàn)簡單的自主訪問控制和審計功能即能達(dá)到C1級,而強(qiáng)制訪問控制則是評價更高B1級的基本條件之一。與其它的訪問控制技術(shù)相比,MAC具有更高的安全性和更強(qiáng)的機(jī)密性,并且占用的存儲空間較少,但它的缺點(diǎn)是靈活性不夠、可操作性差[4]。因此,學(xué)術(shù)界一直在對強(qiáng)制訪問控制模型不斷改進(jìn),試圖讓它像DAC一樣具有一定的自主性,以期增強(qiáng)它的靈活性,同時又不過于損失安全性。
本文首先概要地說明了強(qiáng)制訪問控制模型,包括經(jīng)典模型的描述和當(dāng)前的研究現(xiàn)狀;然后提出了一種具有自主化特性的MAC,其核心分別是訪問控制矩陣、局部性和繼承性;最后對全文進(jìn)行了總結(jié)。
1.1 經(jīng)典強(qiáng)制訪問控制模型
強(qiáng)制訪問控制(MAC)最早出現(xiàn)在20世紀(jì)70年代,是美國政府和軍方源于對信息機(jī)密性的要求以及防止特洛伊木馬之類的攻擊而研發(fā)的。它是一種基于安全級標(biāo)記的訪問控制方法,即對于系統(tǒng)中的每一個主體和客體都會被賦予一個安全級(Security Level),用于限制主體對客體的訪問操作。大多數(shù)系統(tǒng)中的安全級分為四種:絕密(Top Secret)、秘密(Secret)、機(jī)密(Confidential)和無級別(Unclassified),從高到低分別表示為T>S>C>U。對于經(jīng)典的Bell-LaPudula模型[5],它的訪問控制判定規(guī)則如表1所示(R表示讀、W表示寫):
表1 Bell-LaPudula模型的訪問控制判定規(guī)則
Bell-LaPudula的特性可以概括為兩以下兩點(diǎn):
(1)簡單安全特性:若主體S的安全級高于客體O的安全級,則主體S可讀客體O。
(2)*-特性:若主體S的安全級低于客體O的安全級,則主體S可寫客體O。
Bell-LaPudula模型的特性簡單描述為為“下讀上寫”,可以防止低安全級的主體讀取高安全級的信息,原則上制止了信息從高級別的實(shí)體流向低級別的實(shí)體,它是一種基于保密性的強(qiáng)制訪問控制模型。但是,由于低安全級的主體對于高安全性的客體擁有寫權(quán)限,可以修改其中的內(nèi)容,因此這種模型無法保證客體的完整性不被破壞。
類似地,Biba模型[6]針對信息完整性而設(shè)計,它的特性與Bell-LaPudula模型完全相反,即“上讀下寫”。它的缺點(diǎn)也是顯而易見,只確保完整性卻無法兼顧保密性。Dion模型[7]結(jié)合了Bell-LaPudula模型和Biba模型的特征,為每一個主體和客體賦予兩個安全級,分別對應(yīng)保密性和完整性,進(jìn)一步提高了數(shù)據(jù)的安全性,但是系統(tǒng)的靈活性受到了更大的影響。
1.2 強(qiáng)制訪問控制模型的研究現(xiàn)狀
從21世紀(jì)初開始,信息安全領(lǐng)域的學(xué)者著手在Bell-LaPudula模型和Biba模型的基礎(chǔ)上進(jìn)行改造,以滿足在特定場合中的安全需求。最直接的方法是改進(jìn)如表1所示的判定規(guī)則,如王琨等提出的EBLP模型[8]和曹四化等提出的基于用戶意愿的BLP模型[9]等。
另一種思路是把MAC和其它具有靈活性的訪問控制技術(shù)進(jìn)行結(jié)合,提出了新的訪問控制模型。如Osborn考慮把MAC和RBAC結(jié)合,把原先作用于主體的安全級分配給角色[10],這種思想在李立新等提出的安全系統(tǒng)中得到了改進(jìn)和強(qiáng)化[11]。
此外,為了進(jìn)一步提高訪問控制的靈活性,一些研究允許特定的用戶(超級管理員或安全管理員)臨時修改主體和客體的安全級。如吳飛林等在MySQL中實(shí)現(xiàn)了一種可定制的強(qiáng)制訪問控制模型[12],并且在不同的數(shù)據(jù)庫中得到了應(yīng)用和發(fā)展[13][14]。這種思路無需修改判定規(guī)則,也無需對經(jīng)典模型進(jìn)行大幅度擴(kuò)展,同時又提高了靈活性,為當(dāng)前多數(shù)的操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)所采用的主要手段。
在1.2節(jié)中提到的修改主體和客體安全級的方法是一種強(qiáng)制訪問控制模型“自主化”的思想,通過賦予特定用戶權(quán)限去修改模型中的關(guān)鍵屬性,滿足不同場合下的訪問控制需求,以達(dá)到靈活性的目標(biāo)。本文提出了另一種具有自主性的強(qiáng)制訪問控制模型,其不同點(diǎn)在于把針對性放在訪問控制判定規(guī)則上,不需要修改用戶的安全級。
2.1 訪問控制矩陣
表1所示的訪問控制判定規(guī)則可以用一個4×4的矩陣表示,在Bell-LaPudula模型和Biba模型中,它一旦確定就不能進(jìn)行更改,固定在了系統(tǒng)實(shí)現(xiàn)代碼中。本文提出的思想是首先對該訪問控制矩陣進(jìn)行更改,包括對安全級和訪問權(quán)限進(jìn)行重新定義如下:
定義1 安全級
主體和客體的安全級由范圍為[1, N]的正整數(shù)表示,取值越小表示安全級越高,N的值在系統(tǒng)安裝時確定,以后不得更改。
使用正整數(shù)表示安全級有兩種優(yōu)點(diǎn):首先,把安全級的名字跟它的真正意義分開。表1中的T、S、C和U只是代號,在一個系統(tǒng)中以這種方式命名,但是在另一個系統(tǒng)中可能使用其它的名字。其次,不同的系統(tǒng)安全級的數(shù)量也有可能不同,即使N值較大不但不影響系統(tǒng)使用,反而增強(qiáng)了可擴(kuò)展性。
定義2 權(quán)限
權(quán)限是一個用二進(jìn)制表示的正整數(shù),其中每一位表示一種原子權(quán)限(讀、寫、執(zhí)行等,分別對應(yīng)為100、010和001)。這樣,所有權(quán)限可以用111表示,反之無權(quán)限用000表示,滿足最小特權(quán)原則,增強(qiáng)系統(tǒng)的安全性。
定義3 訪問控制矩陣
訪問控制矩陣是k階方陣,表示為M=[m(i, j)],其中i, j∈[1, k], k≤N。矩陣中的每一項(xiàng)m(i, j)的值為定義2中的權(quán)限值,i對應(yīng)主體的安全級,j對應(yīng)客體的安全級。整個矩陣被對角線劃分為“左下區(qū)”和“右上區(qū)”兩個部分,分別對應(yīng)i<j和i>j的情況。此外,還對矩陣作如下的限制:
(1)只有在i=j時,即對角線的元素才允許執(zhí)行操作。這一點(diǎn)保證同安全級的主體對客體擁有執(zhí)行操作,保證安全性。
(2)當(dāng)i<j時,m(i-1, j)≤m(i, j);當(dāng)i>j時,m(i+1, j)≤m(i, j)。這一點(diǎn)表示主體與客體的安全級差距越大,擁有的權(quán)限只會越小。
(3)在“左下區(qū)”或“右上區(qū)”內(nèi)不能同時出現(xiàn)原子的讀或?qū)憴?quán)限。這一點(diǎn)與第(2)點(diǎn)結(jié)合表示主體與客體的安全級差距到了一定的程度,信息只能單向流動。
特別地,當(dāng)矩陣的左下區(qū)均為原子寫權(quán)限、右上區(qū)均為原子讀操作時,滿足Bell-LaPudula模型,稱該矩陣為BLP矩陣,反之則稱為Biba矩陣。
2.2 模型的自主化
一個文件系統(tǒng)通常由目錄和文件組成,并且目錄還能嵌套,形成多級的層次結(jié)構(gòu)。類似地,一個DBMS可能由多個數(shù)據(jù)庫組成,每個數(shù)據(jù)庫中會有多張表。無論系統(tǒng)的結(jié)構(gòu)多復(fù)雜,在傳統(tǒng)的MAC模型中,只有唯一的訪問控制矩陣,并且作用于系統(tǒng)中任何的主體與客體。
本文提出的擴(kuò)展模型的核心思想在于,允許系統(tǒng)中存在多個訪問控制矩陣,由特定的管理員用戶進(jìn)行設(shè)置。它包含三個特性:
(1)整個系統(tǒng)擁有一個訪問控制矩陣,稱為“全局矩陣”或者“根矩陣”。
(2)每個域(如目錄、數(shù)據(jù)庫等)擁有自己的訪問控制矩陣,稱為“局部矩陣”,并規(guī)定局部矩陣的階數(shù)不能超過全局矩陣的階數(shù)N。
(3)如果某個目錄沒有顯式地定義局部矩陣,則它的訪問控制規(guī)則可以從全局矩陣或者父目錄的局部矩陣?yán)^承。這一點(diǎn)稱為模型的“繼承性”。
下面通過一個例子來說明模型的自主性和靈活性:在一個共享的主目錄下有多個子目錄,假設(shè)目錄1中存放絕密文件,它的訪問控制矩陣為M1;目錄2中存放普通的文本文件,如用戶留言、共享文檔等,它的訪問控制矩陣為M2?,F(xiàn)在,安全管理員可以根據(jù)存放在目錄中的文件安全級設(shè)置對應(yīng)的訪問控制矩陣。
假設(shè)目錄1中的絕密文件的安全級只有1和2,那么M1可為二階BLP矩陣,使得只有安全級為1和2的主體能夠遵循“下讀上寫”的原則進(jìn)行操作,其它安全級的主體沒有任何權(quán)限,從一定程度保護(hù)絕密文件的完整性不被破壞。
假設(shè)目錄2中的普通文件的最低安全級為N,那么可以設(shè)置矩陣M2為N階,它的右上區(qū)所有權(quán)限值為110,左下區(qū)所有權(quán)限值為000,這樣任何安全級的主體都可以對比它安全級低的文件擁有讀寫操作,滿足特殊場合的訪問控制需求,又因?yàn)榭腕w安全級已為最低,矩陣的左下區(qū)取值沒有任何意義。
在提高了靈活性的同時,模型也有不足之處:首先,它需要額外的存儲空間為每個域維護(hù)訪問控制矩陣;其次,安全管理員權(quán)限變得極其重要,一旦丟失或者被竊取將造成嚴(yán)重的后果。
本文通過分析MAC的特點(diǎn)和研究現(xiàn)狀,提出了一種具有自主性的強(qiáng)制訪問控制模型。該模型重新定義了安全級和權(quán)限的概念,作為訪問控制矩陣的基本元素,并且特定的用戶可以為每一個域維護(hù)自身的訪問控制矩陣,充分體現(xiàn)了模型的全局性、局部性和繼承性??傮w而言,該模型不但具有更高的靈活性,而且在安全性方面也有提升。
[1]封富君, 李俊山.新型網(wǎng)絡(luò)環(huán)境下的訪問控制技術(shù)[J].軟件學(xué)報, 2007.
[2]王于丁, 楊家海, 徐聰?shù)?云計算訪問控制技術(shù)研究綜述[J].軟件學(xué)報, 2015.
[3]李曄鋒.MongoDB的RBAC訪問控制技術(shù)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用, 2017.
[4]周洲儀. 操作系統(tǒng)強(qiáng)制訪問控制關(guān)鍵技術(shù)研究[D].中國科學(xué)院軟件研究所, 2009.
[5]Bell D E, Lapadula L J. Secure Computer Systems: Mathematical Foundations[J]. Proceedings of the Cornputer Secilrity Formdations Workshop Vu, 2007.
[6]Biba K J.Integrity Considerations for Secure Computer Systems[J].Electronic Systems Div Air Force Hanscom Afb,1977.
[7]Dion L C. A Complete Protection Model[C]// Security and Privacy, 1981 IEEE Symposium on. IEEE, 1981.
[8]王琨, 孫超, 文峰等.基于擴(kuò)展BLP模型的強(qiáng)制存取控制的研究與實(shí)現(xiàn)[J].沈陽理工大學(xué)學(xué)報, 2006.
[9]曹四化,何鴻君.基于用戶意愿的改進(jìn)BLP模型IB_BLP[J].計算機(jī)工程, 2006.
[10]Osborn S. Mandatory access control and role-based access control revisited[C]// ACM Workshop on Role-Based Access Control. ACM, 1997.
[11]李立新, 陳偉民.強(qiáng)制訪問控制在基于角色的安全系統(tǒng)中的實(shí)現(xiàn)[J].軟件學(xué)報, 2000.
[12]吳飛林, 王曉艷, 郎波.基于MySQL的可定制強(qiáng)制訪問控制的研究與實(shí)現(xiàn)[J].計算機(jī)應(yīng)用研究, 2007.
[13]周述文.達(dá)夢數(shù)據(jù)庫強(qiáng)制訪問控制機(jī)制研究[D].華中科技大學(xué), 2008.
[14]朱祥彬.安全數(shù)據(jù)庫強(qiáng)制訪問控制的研究與實(shí)現(xiàn)[D].吉林大學(xué), 2010.