林海南 朱建濤 殷紅武
(江南計算技術研究所 江蘇 無錫 214083)
完整性增強的文件分級保護模型
林海南 朱建濤 殷紅武
(江南計算技術研究所 江蘇 無錫 214083)
針對文件分級保護中對完整性安全的需求,結合系統中主體間的信任關系,提出一種完整性增強的文件分級保護模型。模型在BLP模型的基礎上進行擴展,為主體和客體設置標簽進行訪問授權,同時改進安全公理和狀態轉換規則,使得模型中的信息流動遵循標簽的限制。最終對模型進行理論證明。該模型可以針對不同的文件授予不同的主體修改權限,并且限制了完整性污點的傳播。經分析和應用表明,該模型不僅滿足文件保護的多級機密性安全需求,同時有效地提高了文件分級保護的完整性。
訪問授權 BLP模型 完整性 多級安全 文件保護
隨著信息化的普及,文件信息的安全性越來越受到人們的重視。信息的安全性包括機密性、完整性以及可用性。大部分組織如政府、企業、軍隊對信息的機密性要求較高,為了應對復雜多變的應用環境,人們提出了各種各樣的安全模型來滿足不同的機密性需求[1]。然而這些機密性模型策略都不能解決文件系統的完整性保護問題,一些完整性的破壞可能造成不可估量的損失。
BLP模型[2-3]是經典的多級機密性安全策略模型,應用最為廣泛。針對BLP模型的完整性缺失問題[4-5],國內外有許多相關研究,但是都不能很好地在真實系統中實現文件分級保護。其中一種方案是在BLP模型的基礎上增加完全性級別標簽并修改了特定的安全規則, Vito等提出了將BLP模型和完整性模型Biba模型相結合的解決方案[6]和沈瑛等提出了一種基于格的BLP完整性擴展模型——IBLP[7]。這類模型通過簡單結合機密性模型和完整性模型,但是容易造成合法資源的不可訪問;同時,業界缺少一個對于完整性的分級和分類的標準[8-10],完整性標簽的確定是很困難的,因此這些模型在實際系統中很難得到應用。劉彥明等在2010年提出了一種完整性增強的EIBLP模型[11],它給出了另外一種解決方案。它主要通過增強*-特性安全公理,增加了主體的最高上寫等級和客體的最低下寫等級,增加了“有限制的上寫”操作,通過限制信息流動從而增強了模型的完整性。但是EIBLP模型沒有考慮到信息流動對客體完整性造成的影響,這種靜態保護機制會導致系統中客體本身的完整性低于客體安全標識描述的完整性;同時通過安全級別來對主體、對客體的寫入進行限制的粒度不夠細,無法滿足文件多樣化的安全保護需求。
針對上述模型在文件分級保護中的問題,結合現實文件應用場景,在BLP模型基礎上提出了一種基于主體間訪問授權關系的文件分級保護模型。為了增強模型的完整性與實用性,就要對系統中的信息流動進行合理限制。通過域標簽對文件保護進行細粒度的保護是一種很好的方式[12]。模型強調文件所有者對文件的控制權,考慮信息流動對系統造成的影響[13-14]。該模型不需要對系統中的完整性進行困難的分級工作,而是基于系統中主體間的信任關系,細化對主體和客體的訪問進行授權,從而對原模型本身的信息流動增加了限制,模型完整性得到增強。最終,本文將模型應用在Linux系統內核中,得到了一個原型。
BLP模型本身沒有考慮完整性策略。因此在模型的前提假設中,沒有對完整性的假設。本模型針對文件保護系統的真實應用場景,提出新的完整性假設。一方面,系統初始化時可以確認主體間的信任關系,即主體可以允許來自哪些主體的信息;另一方面,強調主體對客體的主導性,文件所有者對文件的完整性具有控制權。這兩個假設是模型完整性安全的基礎。完整性策略應該針對文件客體的完整性,對讀與寫策略分別加以約束。
1.1 客體修改授權
在系統中,對于用戶文件,都有對應的文件所有者,它根據文件內容的復雜性,將其歸為不同完整性范疇。因此根據文件內容的不同,我們應該允許不同的用戶對其修改,而訪問授權的決定權應該由文件的所有者來決定。
1.2 客體讀取授權
假設中,系統初始化時,我們可以確認主體信任來自于那些主體的信息,即主體可以合法讀取那些主體生成的文件。但是系統中的寫操作會使得這種訪問授權變得不安全。例如,如果主體A信任主體B,則主體A可以讀取屬于主體B。由于文件會被不同的用戶進行修改,使得其內容帶上其他主體的標記。例如,用戶A僅信任來自用戶B的文件,用戶B有一個文件F,可以被用戶C修改,然而文件F在被用戶C修改過之后,就有A獲取到它的不可信用戶C的信息,可能導致信任污點的傳播,造成系統完整性的破壞。因此,系統中應該禁止此類讀訪問。
本文針對以上對系統中文件的完整性分析,對BLP模型定義了三種安全公理和11條狀態轉換規則進行了改進,對客體的讀寫訪問增加限制,約束不合法的信息流動,從限制文件客體的讀寫角度增強了模型的完整性,并將這種基于主體信任關系的信息流控制策略納入模型的強制訪問控制策略中,具體的工作如下:
1) 在BLP模型的基礎上,為主體增加主體可信域,為客體增加可信修改域,兩個域中表示主體或客體信任的主體列表。通過這兩個標簽,我們可以根據實際應用場景進行設定,建立起一個主體與主體、主體與客體間的訪問授權網。這是實施完整性訪問控制的基礎。
2) BLP模型中沒有體現污點傳播對模型完整性的影響。本文針對這種情況,為每個客體設置了一個修改記錄標識。它用來記錄一個對文件修改過的主體。模型中,對被修改后的文件客體的讀取可能會造成主體間信任關系的破壞,因此應該限制對它的讀取,防止了污點的傳播。
3) 修改狀態轉換規則,保證文件的完整性之間的轉換。對文件客體的修改會導致其沾上其他主體的標記,從而導致客體的讀操作訪問范圍越來越小。因為文件所有者對文件的完整性具有控制權,對于被其他用戶修改的文件客體,文件的所有者或者可信主體可以確認文件的內容的可信度,可以保證系統中正常的信息流動。
2.1 模型元素
定義1 主體集合S,其中可信主體集合St 和非可信主體集合S′;客體集合O,每個客體都有自己的所有者,密級集合C。
定義2 訪問方式集合A={r,w,a},r為只讀,w為讀寫,a為只寫。
定義3 客體靜態標簽可信修改域標識TM,用來標志客體可被修改的主體范圍,在客體被創建時進行設置,不可被修改,可信修改域中的主體安全級小于或者等于客體安全級。
定義4 主體靜態標簽主體可信域TS,用來標識主體信任的主體范圍,在系統運行初期被創建,不可被修改。
定義5 客體增加標識RM用來記錄最近修改此客體的主體,這是一個動態的標記,用于記錄客體的修改污點。
定義6 等級函數類f∈F,記作f={fs,fc,fo},其中,fs為主體的最大安全級函數;fc為客體安全級函數;fo為主體當前安全級函數。
定義7 完整性函數類I={IRM,ITM,ITS,Iown},其中,IRM為客體修改記錄,ITS為主體的主體可信域,映射主體信任的主體集合;ITM為客體可信修改域,映射可以對此客體進行寫操作的主體集合,Iown為客體所有者,表示創建這個客體的主體。
定義8 系統狀態v∈V由一個有序的五元組(b,M,f,I,H)表示。其中M為訪問矩陣,H為當前客體層次結構,b?(S×O×P)。
定義9 請求集合R,表示各種請求的各種操作。判斷集合D={yes,no,error,?},表示對請求的回復。
2.2 模型安全公理
公理1 簡單安全公理
當一個主體訪問一客體時,主體的安全級必須大于或等于客體的安全級,或主體擁有指定特權。即,狀態v=(b,M,f,I,H)滿足簡單安全公理,iff對所有s∈S,有:
(O∈b(s:r,w))?(fs(S)≥fo(O))
公理2 *特性公理
狀態v=(b,M,f,I,H)滿足*特性,iff所有的s∈S′,有:
(O∈b(s:a))?fo(O)≥fc(S)
(O∈b(s:w))?fo(O)=fc(S)
(O∈b(s:r))?fo(O)≤fc(S)
該特性表明:當主體追加寫客體時,客體的安全級必須大于主體的當前安全級;當主體讀寫客體時,客體的安全級必須等于主體的當前安全級;當主體只讀客體時,主體的當前安全級必須大于客體的安全級,可信主體不受完整性公理約束。
公理3 自主安全性公理 狀態v=(b,M,f,I,H)滿足自主安全特性,iff:
(Si,Oj,x)∈b?x∈Mij
該特性表明:該模型受自主訪問控制約束。
公理4 完整性公理
狀態v=(b,M,f,I,H)滿足完整性特性,iff所有的s∈S′,有:
(O∈b(s:r,w))?IRM(O)-ITS(S)=? ors=Iown(O)
(O∈b(s:a,w))?s∈ITM(O)
該特性表明,主體讀取客體內容時,一定不存在不屬于主體信任域外的主體對其進行過修改,或者主體是文件的所有者;主體對客體進行“寫”時,則主體必須在該客體的可信修改域內,否則禁止修改;可信主體不受完整性公理約束。完整性公理體現了基于信任授權對模型的訪問控制。
定義10 狀態v=(b,M,f,I,H)是安全的,當且僅當它滿足簡單安全特性、*特性、自主安全特性以及完整性公理。
2.3 狀態轉換規則
在修改后的模型規則中,需要將完整性公理納入到訪問規則中,并且在進行相應操作時對修改記錄進行動態維護。
規則1 請求只讀規則。在狀態v=(b,M,f,I,H),r∈Mij,對于請求request(Si,Oj,r)的處理如下:
iff(fs(Si)≥fo(Oj) andr∈Mij){
iff((fc(Si)≥fo(Oj) and
IRM(Oj)-ITS(Si)=?)
orSi=Iown(Oj) orSi∈St)
v*=(b∪(Si,Oj,r),M*,f*,I*,H*)
d=yes
}
else
{
v*=v
d=no
}
}
規則2 請求只寫規則。在狀態v=(b,M,f,I,H),a∈Mij,對于請求request(Si,Oj,a)的處理如下:
iff(((fc(Si)≤fo(Oj) andSi∈ITM(Oj))
or (Si∈St) anda∈Mij){
{
iff(Si?StandSi! =Iown(Oj)){
IRM(Oj) =IRM(Oj)∪Si
}
v*= (b∪(Si,Oj,a)-(Si,Oj,r)-(Si,Oj,w),M*,f*,I*,H*)
d=yes
}
else
{
v*=v
d=no
}
}
規則3 請求只讀規則在狀態v=(b,M,f,I,H),w∈Mij,對于請求request(Si,Oj,w)的處理如下:
iff((fo(Oj)=fc(Si) andSi∈ITMand
(IRM(Oj)-ITS(Si)=? ors=Iown(Oj)))
or (Si∈St) andw∈Mij)
{
iff(Si∈Stors=Iown(Oj)){
IRM(Oj)=Si
}else{
IRM(Oj)=IRM(Oj)∪Si
}
v*=(b∪(Si,Oj,w),M*,f*,I*,H*)
d=yes
}
else
{
v*=v
d=no
}
本模型需要證明:一個安全狀態在經過本模型的狀態轉換規則后,仍符合本模型的各個安全公理:簡單安全公理、*特性公理、自主安全性公理以及完整性公理。
定理1 若狀態v=(b,M,f,I,H)是安全的,則由規則1得到的狀態v*=(b*,M*,f*,I*,H*)也是安全的。
證明:
1) 證明v*滿足模型簡單安全性公理。
設Ok∈b*(Si:r);
若Ok=Oj,則由規則1可以推出fs(Si)≥fo(Oj),即fs(Si)≥fo(Ok)。
若Ok!=Oj,則Ok∈b(Si:r),由假設狀態v滿足模型的簡單安全性定理可知,fs(Si)≥fo(Ok)。
因此v*滿足該模型的簡單安全性公理。
2) 證明v*滿足模型*特性公理。
a.證明(O∈b(s:r))?fo(O)≤fc(S)
同1)可證明,若Ok∈b*(Si:r),fc(Si)≥fo(Ok)
b.證明(O∈b(s:a))?fo(O)≥fc(S)
又由規則1可知,發生請求讀之后,無論請求是否拒絕,都不改變模型中的只寫和讀寫狀態,即?Ok∈b*(Si:a)?Ok∈b(Si:a),有假設狀態v滿足*特性,因此有fo(Ok)≥fc(Si)。
c.證明(O∈b(s:w))?fo(O)=fc(S)
同上可以證明。
綜上,v*滿足*特性公理。
3) 證明v*滿足模型自主安全特性。
設(Si,Oj,x)∈b*。
若Ok=Oj且x=r,由規則1可以推出x=r∈Mij=Mik;
若Ok!=Oj或x!=r,則由規則可知x∈Mik;
因此v*滿足自主安全特性。
4) 證明v*滿足模型完整性公理。
a.證明(O∈b(s:r,w))?IRM(O)-ITS(S)=? ors=Iown(O)
設Ok∈b*(Si:r,w);
若Ok=Oj,則有規則1可以推出IRM(Oj)-ITS(Si)=?或者Si=Iown(Oj),即IRM(Ok)-ITS(Si)=?或者Si=Iown(Ok)。
若Ok!=Oj,則Ok∈b(Si:r,w),由于假設中狀態v也滿足完整性公理,因此可以推出IRM(Ok)-ITS(Si)=?或者Si=Iown(Ok)。
b.證明(O∈b(s:a,w))?s∈ITM(O)
證明同上。
綜上,v*滿足模型*特性公理。
定理2 若狀態v=(b,M,f,I,H)是安全的,則由規則2得到的狀態v*=(b*,M*,f*,I*,H*)也是安全的。
1)、2)、3)的證明同定理1證明。
4) 證明v*滿足模型完整性公理。
a.證明(O∈b(s:r,w))?IRM(O)-ITS(S)=? ors=Iown(O)
這里采用反證法,存在客體Ok∈b*(Si:r,w),使得狀態v*不滿足完整性公理。
若Ok=Oj,則由規則2可知,b*=b∪(Si,Oj,a)-(Si,Oj,r)-(Si,Oj,w),因此有(Si,Ok,r)和(Si,Ok,w)不屬于b*,與前提Ok∈b*(Si:r,w)相矛盾。
若Ok!=Oj,則Ok∈b(Si:r),若Ok不滿足完整性特性,則與假設中的狀態v滿足模型完整性特性相矛盾。
b.證明(O∈b(s:a,w))?s∈ITM(O)
證明同定理1。
綜上,狀態v*同樣滿足完整性公理。
定理3 若狀態v=(b,M,f,I,H)是安全的,則由規則3得到的狀態v*=(b*,M*,f*,I*,H*)也是安全的。
證明同定理2。
4.1 模型實現
為驗證本模型能夠保護文件分級系統的機密性和完整性,我們在Linux中實現了一個文件分級保護系統原型。Linux中,文件系統調用是內核提供給用戶層對文件進行操作的接口,為了保證模型的訪問控制不可被屏蔽,本文從核心和用戶數據流向的角度,在文件操作系統調用中增加強制訪問控制功能[15]。系統中,每個用戶對應模型中的一個主體,綁定一個安全級別以及主體可信域,這兩個標簽在系統啟動時被賦予,文件對應模型中的客體,安全級別、可信修改域及文件記錄都存儲在文件擴展屬性區域,系統調用中根據主客體標簽按照模型描述的安全策略進行相應的決策,其流程如圖1所示。在用戶程序最終調用sys_open系統調用獲取inode節點后,將文件所有的標簽從文件擴展屬性讀取出來存放在進程任務結構體中。然后在用戶程序最終調用sys_read/sys_write時先通過決策系統對主體標簽、客體標簽以及操作是否滿足模型安全策略。若不滿足,則拒絕相應的讀寫訪問。整個訪問控制過程對于用戶程序是透明的,不影響之前的文件系統的使用。

圖1 系統文件訪問決策框架
4.2 模型應用
本文設計了一個應用場景進行測試。系統中存在4個不同安全級別的主體用戶以及2個對應文件客體,如表1和表2所示。

表1 主體安全級

表2 客體安全級
系統中的授權關系如圖2所示。在初始化狀態下,經理對員工1的文件的讀取被允許,這是因為經理本身的安全級別高于文件F2的安全級,并且存在經理對員工1信任,因此在文件F2沒有被他人修改的情況下,經理讀取文件F2被允許;同理,員工2可以對員工1的文件F2進行讀寫操作,游客對文件F2的寫操作被拒絕。但是,在員工2對員工1的文件F2進行修改后,文件F2則被標記上員工2的修改標識,根據模型的完整性公理,我們應該禁止員工2的信息流向經理,經理對文件F2的讀取訪問被禁止。最后,文件F2的所有者員工1應該可以確認自身文件的完整性,因此在員工1對文件F2的完整性進行確認后,系統的狀態恢復到原始狀態。

圖2 系統中的授權關系
從整個測試結果來看,該模型的實現符合模型中完整性增強的特點。
4.3 性能測試
本文在系統調用中加入根據用戶標簽和文件標簽的訪問控制判斷,因此會對性能造成一定的影響。本文在Intel(i7-3770CPU@ 3.40GHz,內存32GB)服務器上對比加入訪問控制和沒有訪問控制下用時開銷,如圖3、圖4所示。

圖3 寫性能對比

圖4 讀性能對比
可以看出,訪問控制對整個文件系統原來的訪問效率影響不大。其中,對于寫操作,性能下降不超過5%;對于讀操作,性能下降不超過15%。并且隨著文件大小的增加,性能下降比率減小,不影響系統的正常使用。
本模型基于經典BLP模型,針對現實中文件多級安全保護場景,對原模型進行完整性增強。該模型增加了一個完整性公理,在多級機密性訪問控制的基礎上,結合系統中主體的信任關系進行訪問授權,約束主體對文件的讀寫,體現了文件所有者在文件系統中的特殊性,防止了系統中的一些非授權篡改和污點傳播,增強了整個系統的完整性。并且最后對模型進行證明以及實例驗證。在未來的工作中,我們將對模型進行改進,以適應網絡多級多域環境下的安全共享問題。
[1]GasserM.Buildingasecurecomputersystem[M].NewYork:VanNostrandReinhold,1988.
[2]BellDE,LaPadulaLJ.Securecomputersystems:Mathematicalfoundations[R].MITRETechnicalReport2574,1973,1.
[3]BellDE,LaPadulaLJ.Securecomputersystem:Unifiedexpositionandmulticsinterpretation[R].MITRECorporation,1976.
[4] 劉文清,卿斯漢,劉海峰.一個修改BLP安全模型的設計及在SecLinux上的應用[J].軟件學報,2002,13(4):567-573.
[5] 何建波,卿斯漢,王超.對兩個改進的BLP模型的分析[J].軟件學報,2007,18(6):1501-1509.
[6]VitoBLD,PalmquistPH,AndersonER,etal.SpecificationandVerificationoftheASOSKernel[C]//ResearchinSecurityandPrivacy,1990IEEEComputerSocietySymposiumon.IEEE,1990:61-74.
[7] 沈瑛,沈昌祥.基于格的BLP完整性擴展模型[J].北京工業大學學報,2013,39(3):402-406.
[8] 卿斯漢,沈晴霓,劉文清,等.操作系統安全[M].2版.北京:清華大學出版社,2011:83-87.
[9] 劉永楠.數據完整性模型及評估算法的研究[D].哈爾濱:哈爾濱工業大學,2013.
[10] 楊濤,王永剛,唐禮勇,等.一種實用動態完整性保護模型的形式化分析[J].計算機研究與發展,2013,50(10):2082-2091.
[11] 劉彥明,董慶寬,李小平.BLP模型的完整性增強研究[J].通信學報,2010,31(2):100-106.
[12] 邊力,陳性元,汪永偉.基于多維標識的文件分級保護模型[J].計算機工程,2011,37(13):132-134,138.
[13]DenningDE.Alatticemodelofsecureinformationflow[J].CommunicationsoftheACM,1976,19(5):236-243.
[14] 李瑞軒,趙戰西,王治綱,等.一種基于訪問歷史的BLP模型[J].計算機科學,2006,33(7):286-289.
[15] 許國春,殷紅武.一種面向特定應用的內核級文件加密技術[J].計算機科學,2015,42(6A):393-394,398.
AN INTEGRITY-ENHANCED PROTECTION MODEL OF FILE CLASSIFICATION
Lin Hainan Zhu Jiantao Yin Hongwu
(JiangnanInstituteofComputingTechnology,Wuxi214083,Jiangsu,China)
An integrity-enhanced protection model of file classification is proposed to satisfy the requirement of integrity security of files classification protection, combining the trusting relationship of subjects in system. The model is based on BLP(Bell & LaPadula) model and labels are added to subjects and objects in order to grantee legal access authorization and improve the security axioms and state translation rules, the data flow is limit by the authorization labels. Finally, the model is proved theoretically. The model can grant different users different permissions and limit the broadcast of integrity stain. The analysis and application show that the model not only satisfies the confidentiality of file classify protection but also enhances the integrity of file protection.
Access authorization BLP model Integrity Multilevel-security File protection
2015-10-11。核高基項目(2013ZX01029002-001)。林海南,碩士生,主研領域:操作系統安全。朱建濤,高工。殷紅武,高工。
TP3-0
A
10.3969/j.issn.1000-386x.2017.02.058