強(qiáng)制訪問(wèn)控制模型之BLP模型
1.BL模型
Bell-LaPaclula模型,簡(jiǎn)稱為BLP模型,是D.Elliott Bell和Leonard J.LaPaclula于1973年提出的一種模擬軍事安全策略的計(jì)算機(jī)訪問(wèn)控制模型,它是最早、也是最常用的一種多級(jí)訪問(wèn)控制模型,該模型用于保證系統(tǒng)信息的機(jī)密性。
BLP模型是1個(gè)狀態(tài)機(jī)模型,它形式化地定義了系統(tǒng)、系統(tǒng)狀態(tài)以及系統(tǒng)狀態(tài)間的轉(zhuǎn)換規(guī)則,定義了安全概念和一組安全特性,以便對(duì)系統(tǒng)狀態(tài)和狀態(tài)轉(zhuǎn)換規(guī)則進(jìn)行限制和約束。 對(duì)于一個(gè)初始狀態(tài)安全的系統(tǒng),經(jīng)過(guò)一系列規(guī)則轉(zhuǎn)換都保持安全,那么可以證明該系統(tǒng)是安全的。
該模型可有效防止低級(jí)用戶和進(jìn)程訪問(wèn)安全級(jí)別更高的信息資源。同時(shí),安全級(jí)別高的用戶和進(jìn)程也不能向比起安全級(jí)別低的用戶和進(jìn)程寫(xiě)入數(shù)據(jù)。BLP模型基于以下兩個(gè)規(guī)則保障數(shù)據(jù)的機(jī)密性:
◇不上讀,主體不可讀,安全級(jí)別高于它的客體;
◇不下寫(xiě),主體不可將信息寫(xiě)入安全級(jí)別低于它的客體。
BLP模型的安全策略包括兩個(gè)部分:自主安全策略和強(qiáng)制安全策略。自主安全策略使用一個(gè)訪問(wèn)控制矩陣表示,矩陣中的元素表示主體對(duì)客體所有允許的訪問(wèn)模式,主體按照在訪問(wèn)矩陣中被授予的對(duì)客體的訪問(wèn)權(quán)限對(duì)客體進(jìn)行相應(yīng)的訪問(wèn)。強(qiáng)制安全策略包括簡(jiǎn)單安全性和術(shù)特性,系統(tǒng)對(duì)所有的主體和客體都分配了一個(gè)訪問(wèn)類屬性,包括主體和客體的密級(jí)和范疇,系統(tǒng)通過(guò)比較主體與客體的訪問(wèn)類屬性控制主體對(duì)客體的訪問(wèn)。
BLP模型的安全目標(biāo)是通過(guò)安全級(jí)來(lái)保護(hù)信息的機(jī)密性,適用于軍事、政府等安全要求較高的部門(mén),在一些相關(guān)計(jì)算機(jī)系統(tǒng)中得到了廣泛應(yīng)用。BLP模型是一個(gè)嚴(yán)格形式化的安全模型,并對(duì)模型的安全性給出了嚴(yán)格的形式化證明,這一特點(diǎn)是大部分訪問(wèn)控制模型所不具備的。
BLP模型也存在一些局限性。例如,在主體創(chuàng)建客體時(shí),將客體的安全級(jí)定義為該主體的安全級(jí),在實(shí)際應(yīng)用中,上級(jí)常常要向下級(jí)下發(fā)文件‘,這就需要允許系統(tǒng)的安全員對(duì)該客體的安全級(jí)進(jìn)行降級(jí)定義;又如,內(nèi)存管理必須允許所有級(jí)別進(jìn)行讀和寫(xiě),解決方法是通過(guò)將其抽象化,并且假設(shè)內(nèi)存管理是“可信主體”,但這將導(dǎo)致真實(shí)系統(tǒng)信息的泄露。在文件管理方面,假設(shè)一個(gè)高安全級(jí)用戶建立了一個(gè)名為“代理商”的文件,而低安全級(jí)用戶也在做同樣的事情。如果采用BLP模型的操作系統(tǒng)阻止了他,那么,將會(huì)泄露系統(tǒng)中有一個(gè)具有高密級(jí)且名為“代理商”的文件。如果操作系統(tǒng)允許低安全級(jí)用戶進(jìn)行此項(xiàng)操作,又將會(huì)出現(xiàn)兩個(gè)同名文件。這種問(wèn)題經(jīng)常通過(guò)慣例命名來(lái)解決,即分別給高安全級(jí)用戶和低安全級(jí)用戶分配不同的目錄。