宋法根,劉振海,梅江林
SONG Fa-gen,LIU Zhen-hai,MEI Jiang-lin
(鹽城工學院 繼續教育學院,鹽城 224000)
安全的模型是安全策略的形式化表達,是建立安全系統的理論基礎,也是對系統進行安全評估的重要參考,故而人們對安全模型的研究一直沒有停止過。經過多年的研究人們提出了很多經典的模型,包括BLP模型、Biba模型、CW模型、中國墻模型、基于角色的訪問控制模型和基于任務的訪問控制模型等,但總體上這些模型可以大致劃分為兩類,第一類就是訪問控制模型,主要通過控制主體對客體的訪問來達到保護客體和客體上信息的安全;第二類是信息流模型,其主要控制信息流的方向,使其信息避免流向不安全的其他對象,從而保證信息的安全可控。BLP模型就是一種比較經典的信息流模型,本文首先對BLP模型進行了簡單介紹,接著對BLP模型進行了分析,發現其還存在一定的缺點和局限,最后本文給出了一種解決BLP模型存在問題的方案,并對本方案進行了詳細的探討。
BLP模型是由MITRE公司的Bell和LaPadula在文獻[1,2]中提出的,他是實現多級安全機密性策略的經典模型。BLP模型通過“下讀上寫”的原則保證信息只能從低密級主體流向高密級主體,從而保證機密信息不會被泄露。
BLP模型是一個狀態機模型,表1為其基本元素[3]。

表1 BLP模型中的符號
BLP模型中,定義了兩個安全屬性,簡單安全屬性和星號安全屬性。
1)簡單安全屬性:allow (s,o,r)為真,當且僅當s支配o。(其中r表示讀操作)。
2)星號安全屬性:allow (s,o,w)為真,當且僅當o支配s。(其中w表示寫操作)。
安全屬性又叫RD,即主體只能讀取比自己安全等級低的客體信息;星號安全屬性又叫WU,即主體只能向比自己安全等級高的客體進行寫操作。兩條規則一起保證系統的讀和寫操作不會引起信息從高安全級向低安全級的流動。通過限制信息的流動方向,在理論上很好的保證了信息的私密性,但是在實際的應用中,要求高安全等級的主體不向低安全等級的主體傳達任何信息,這種要求是過于苛刻的,或者說完全按照這兩條規則設計的系統是不能夠很好的實現需求的,例如,在BLP模型比較適合的軍事領域,上級部門總要給下級部門傳達指令,而這種信息的傳達,顯然是違背BLP模型的WU原則;在計算機進程之間通信時,低安全級別的進程向高安全級別的進程傳遞信息,而高安全級別的進程甚至不能向低安全級別的進程傳遞確認信息,這顯然是不合理的。也就是說BLP模型理論上可以很好的保證敏感信息不被泄露,但是他對于主客體的要求過于苛刻,應用中很難完全實現。因此在實現BLP模型的系統中都或多或少的存在違反BLP原則的操作,如實現BLP的操作系統Multics,ASOS和SXOMP均定義了可以繞過*-安全屬性規則檢查的可信主體,這樣更好的實現了系統的功能,大大增加了系統的靈活性,但是卻為系統的安全埋下了一定隱患。另一方面BLP模型中對于滿足BLP規則的主體限制過少,如果某個客體被特洛伊木馬感染,那么敏感信息就會不斷的被泄露。
在以后的研究中,人們提出了很多種改進的BLP模型,文獻[4,5]分別提出了兩種不同的改進的BLP模型、ABLP模型和SLCF模型,他們從不同的方面對BLP模型進行了改進,增加了系統的靈活性,但卻在文獻[6]中被證明為不安全的。以往對BLP模型的改進主要有兩類,第一類就是通過動態的調整主體的敏感級使其滿足BLP模型的準則;第二類主要是通過限制讀和寫的安全級范圍來限制可信主體的權限。第一類可能產生隱通道的問題,第二類主要是通過限制可信主體的權限來保證即使某些主體違反BLP安全模型的安全規則進行了惡意的操作,對系統造成的危害也不會太大。無論哪種改進的BLP模型均未能在保證模型安全的前提下解決高安全級別主體向低安全級主體發送信息進行通信的問題。本文在最大限度的保證模型安全性的前提下,對BLP模型進行改進,使得BLP模型更具有靈活性和實用性。
BLP模型的下讀上寫的原則最大限度的保證信息的安全性,但也極大的限制了模型的實用性和靈活性,因而在實際實現了BLP模型的系統中,為了實現系統的功能或增加系統的靈活性,一般都存在違反BLP模型規則的操作,這種不受BLP模型控制的操作極大的破壞了系統的安全性。本文正是在一定程度上允許“下寫”的存在,把那些違反BLP模型安全規則的操作都納入BLP模型的控制范圍內,從而增加了系統的實用性,安全性,靈活性。
1)滿足經典BLP模型規則的操作仍是允許的。
2)主體自身不能進行“下寫”的操作。
3)主體若要執行“下寫”的操作,必須得到比自己安全級高的多個主體的允許。
4)主體執行一次被允許的對某個客體的“下寫”操作,主體下寫的權限被取消。
對于經典的BLP模型的安全性前人已經給出了形勢化的證明。這里重點討論對BLP模型改進的部分。
這里把上級主體的一次“下寫”的操作稱為一個事務。低安全級的主體需要得到高安全級的主體的信息時,首先向對應的高安全級主體發出請求,高安全級別的主體收到請求后自身不能決定是否進行下寫的操作,必須向多個更高安全級主體發出授權請求,若一定數量的更高安全級的主體拒絕授權,則不能對低安全級的主體進行下寫的操作,本次事務終止;若有相當數量的主體同意授權,則高安全級的主體可以對低安全級的主體進行“下寫”操作,操作完成后高安全級主體的下寫權限被收回,本次事件終止,如圖1所示。
在BLP模型中將主體定義為主動的實體,如進程,將客體定義為被動的實體[7]。在本模型中各個實體既有主動的行為也有被動的行為,故而這里把所有實體看成主體。
BLP模型中經典的部分,在以往的文獻中已有詳細的描述,我們這里不再贅述,這里重點討論本文中改進的部分。在經典的BLP模型中請求集被定義為其中,S+表示集合,A+表示集合,這里把請求集定義為 以區別于以往的請求集R,這里Re,其中RT稱為請求種類集。RT={r0,r1,r2},其中r0表示正常請求,r1表示強制求,r2稱為二次請求。對于正常請求,將按照經典的BLP模型中的原則判斷并做出對應的應答。對于強制請求,如符合經典的BLP模型中的準則,自然將被允許,反之(如向低安全級主體進行“下寫”操作),將觸發一個事務,在這個事務中被請求主體將向更高安全級的主體發出二次請求,多個更高安全級的主體將對該二次請求進行判定,決定是否對發出二次請求的主體進行授權,以進行特殊的操作,如“下寫”。

圖1 模型中的下寫操作
由強制請求觸發的事務,也可以稱作一次表演。一個事務我們記為e,可以看成一個四元組(r1,r2,li,le),r1表示觸發二次請求的強制請求,r2表示二次請求,li表示事務的生命期,le表示事務的安全級水平。當事務被觸發后li被初始化,當主體發出二次請求后,li進入等待期,等待二次請求的結果,若二次請求的結果為拒絕,則拒絕r1,li進入鎖定定期,事務終止;若二次請求結果為允許,則進行r1請求的操作后li進入鎖定期,事務終止。le表示事務的安全水平,管理員可以對具體的事務配置適當的安全水平,這里定義三種安全水平,對于安全級別比較高的事務,我們要求二次請求的所有對象都給出肯定的應答,才準許r1的請求;對于中等安全級別的事務,我們要求要有足夠多的二次請求的對象給出肯定的應答,才準許r1的請求;而對于安全級別相對較低的事務,只要有更高安全級的主體給出肯定的應答即可允許r1的請求。對于第一種和最后一種安全水平的事務,相對來說比較簡單,也比較容易實現,我們重點討論,中間一種情況,即要求有一定數量的更高安全級的主體給出肯定的應答,主體才可允許r1的請求。這里我們可以使用密碼學中基于門限的秘密分享方案來實現系統的功能。(k,n)門限秘密分享是把一個或多個秘密分拆成若干個子秘密,分配給n個參與者,使得n個參與者中任何k個參與者合作都可恢復秘密,但對于任何少于k個的參與者得都無法獲得該秘密[8]。對于中等安全的事務,把所有二次請求的對象的個數定義為n,把需要得到準許的數目定義為k,則當收到準許的數目達不到k個時,則可以恢復原來的秘密,允許r1的請求;反之則拒絕請求。
對于BLP模型中常規的部分,以往的文獻已有詳盡的論述,這里不再重復。我們重點討論本文中改進的部分。本文通過在一定程度上允許“下寫”存在,從而在盡可能不降低系統的安全性的情況下,增加了系統的靈活性。本文對BLP模型的改進基于一個前提條件,即整個系統中大部分的主體是安全可信的,若系統中幾乎所有的主體都是敵對的,則系統已經沒有存在的必要性了,故而這個前提也是合理的。本文在一定程度上允許下寫的操作,而對類似的操作更加慎重。
第一,被請求“下寫”操作的主體不能決定自己是否進行此操作,從而避免了一個主體被入侵就會引起信息泄露的可能。
第二,對于二次請求,多個更高安全級的主體通過基于門限的秘密分享方案中秘密恢復的方法來決定是否允許對應的請求,故而即使有部分高安全級的主體已成為惡意主體時也不會造成敏感信息的泄露。
第三,對于“下寫”的操作,采取基于事務的方法。強制請求觸發事務,更高安全級的主體根據請求的具體上下文環境及對應的安全策略,決定是否允許本次請求,本次請求被拒絕或準許并執行后事務終止,事務終止后,主體將不能進行“下寫”操作。這里不是通過動態調整主體的安全級來實現系統的需求,從而避免了隱通道的問題。
本模型支持兩個著名的安全控制準則:
1)最小特權原則,事務被激起后,系統將會根據具體情況對相應主體臨時授予一定權限,當事務結束后權限被收回。
2)職責分離原則,主體自身不能決定自己是否能夠進行“下寫”的操作,必須向更高安全級的主體發出二次請求,才能決定。
BLP模型是比較經典的安全模型,它的“下讀上寫”的準則能夠很好的保證敏感信息不被泄露,但是,也大大限制了系統的靈活性。本文受基于任務的訪問控制模型的啟發,在一定程度上允許慎重的“下寫”,從而增加了系統的靈活性??梢灶A見,增加了靈活性的BLP模型將會得到更廣泛的應用。
[1] D. E. BEL,and L. J.LaPadula. Secure Computer Systems:Mathematical Foundations. MITRE Technical Report 2647,voume I. Nationgal Technical Information Service,1973.
[2] L.J.LaPadula,and D. E. Bell. Secure Computer Systems:A Mathematical Model. MITRE Techniacl Report 2547,volume II. National Information Service,1973.
[3] Len Lapadula,secure computer system: a mathematical model[R]. MITRE Technical Report,Vol II,1996,titled secure Computer Systems:Mathematical Foundations,by Leonard J.LaPadula and D. Elliott Bell,dated 31 May 1073.
[4] Shi WC.Research on and enforcement of methods ofmethods of secure operating systems development[Ph.D.Thesis]. Beijing: Institute of Software,the Chinese Academy of Sciences,2001.
[5] Liang HL,Sun YF,Zhao QS,Zhang XF,Sun B,Design and implementation of a security label common framework..Journal of Software,2003,14(3): 547-552.
[6] 何建波,卿斯漢,王超. 對兩個改進的BLP模型的分析[J].軟件學報,18(6): 1501-1509,2007.6 .
[7] 谷千軍,王越. BLP模型的安全性分析與研究[J]. 計算機工程,32(22): 157-158,2006. 11.
[8] 何明星,范平志,袁丁. 一個可驗證的門限多秘密分享方案[J]. 電子學報,30(4): 540-543,2002. 6.