軒 浩,劉金剛,2
1(首都師范大學 信息工程學院,北京 100048)
2(中國科學院 計算技術研究所,北京 100080)
Space操作系統是計算機科學聯合研究院研發的一款基于Linux內核,擁有多項自主知識產權的新型操作系統.它擁有新穎的安全模式、軟硬件一體、操作簡單、跨平臺使用和升級簡單等特點,使其在各個領域都有很好的應用前景.
長期以來,安全機制的研究已經取得了很多成果,如Xen VMM安全保障機制[1],MILS安全機制[2],Linux UID/GID安全機制.國內外的研究人員努力的通過一些安全機制的操作系統來保證信息和系統的安全,如 Adept-50[3]、安全 Xenix[4]、SE-Linux[5]等,但目前的發展證明這些系統在實際應用上都沒有取得成功.其主要原因是有以下幾點: 1) 安全的操作系統一方面強調重要信息的分離,另一方面確保這些重要信息平臺的共享度,用以減少系統成本,然而這兩個要求很難同時被滿足; 2) 如需保證重要信息之間的分離,參與系統開發的一些平臺和工具同樣需要保證其安全性,一旦提高系統的共享度就意味著代碼量的大幅度增加,最終很難確保系統安全; 3) 同一個系統平臺上處理不同的重要數據,如數據庫,網絡等,需要系統有很強的安全標記能力,然而如考慮技術支持和經濟成本,這樣的設計,在現有的操作系統生態環境下很難得到實現.
針對Space系統安全實用的設計要求,本文基于Space系統,提出一種疊合式安全機制.疊合式安全機制通過將安全系統劃分為多個安全域,根據安全策略控制它們的數據流向.與傳統安全系統不同,疊合式安全機制不需要對重要信息進行安全標記,保證操作系統正常使用的前提下,最大程度地降低開發成本和系統應用復雜度.文章第1節對安全模型的概念和安全機制的研究進行說明; 第2節提出安全機制的要求并進行形式化的證明; 第3節對該安全機制的可行性予以說明; 第4節,介紹該安全機制在Space系統上的實現; 第5節對該安全機制進行全面的評價.通過對具有該安全機制的Space系統和不具有該安全機制的Space系統進行性能測試,安全性測試以及實用性測試,得出對系統運行速度影響很小,滿足安全性,有效性和實用性,具有實用價值.
安全模型闡述了一種需求,即安全策略所表達的安全的簡單、抽象和無歧義.它為安全模型與其實現機制的之間提供了一種基本框架,也是對一些安全方案需要用哪些機制來確定,而機制的實現如何把相應的機制應用于系統中,實現特定的安全方案,最終達到系統安全的目的[6].
目前基于安全策略的安全模型,Bell和LaPadula提出了最早的安全模型[7],即BLP模型.BLP模型主要解決了對客體安全性的控制,核心是管控信息流向中出現的問題,目的是確保低安全域中的信息順利地流向高安全域.其基本想法是,首先每個主體和客體會得到相應的安全級別,當主體對象提出對客體進行管控的時候,該機制通過判斷其安全級別能不能達到授權讀寫的要求.例如,通過對主客體的安全級別進行對比,如果主體高,給予其讀權限.反之,給予寫權限.但缺少完整性控制是BLP模型不足之處,主要是很難高效地控制隱蔽通道.與 BLP 模型不同的是,Biba模型[8]解決了完整性的問題,但安全性控制的缺失是其重要的問題.長久以來,這兩種模型很難相互彌補.后來,提出了基于重量級的安全策略的安全模型Clark-Wilson模型[9],CW模型可以在理論上較好地解決了BLP模型和Biba模型出現的問題,但在系統中很難實現.Jim Alves-Foss等研究人員提出了多獨立安全級別MILS這一概念.MILS 基于 Rushby 隔離[10,11]的思想,被認為一種高保障的安全體系,它使用多個可被獨立分析的管理單元來構建一套可靠的安全解決方案.RBAC模型[12]提出了角色的思想,通過降低授權管理提高安全策略的靈活性.PMI模型[13]提出了屬性證書和授權機構的思想,其主要優勢是獨立的授權管理和較低的開發維護成本.PKI可信度模型[14],通過提出不可信因子和密鑰安全期的思想,提高證書依賴者對證書持有者的信任評價的精確度.文獻[15]是對PKI模型以及其推理方法的一種改進.文獻[16]提出了一種基于虛擬化技術的安全機制,它通過強調安全隔離避免不同安全信息級別之間的干擾.這些研究成果,為疊合式安全機制的形式化分析提供了研究思路和方法.
安全機制根據信息的重要性將信息劃分為安全域,分別為低安全域和高安全域,信息流動方向是單向的,即從低安全域流向高安全域,同時低安全域的主體對象擁有讀高安全域的客體對象的權限,低安全域的客體對象無法寫入高安全域主體,同級別的域主體對象擁有讀寫同級別的客體對象的權限,最終實現信息單向地從低域向高域流動,防止了高安全域對象信息的泄露.
根據以上的基本思想,本文對安全機制要求進行定義.用S表示安全系統中全部域的集合,P表示安全系統的全部物理空間集合,R表示具有偏序關系的安全標記集,表示r2具有比r1更高的安全級.用函數表示P域的安全等級,函數表示P域是可寫的物理空間,函數表示P域是可讀的物理空間.

定義1.對于若:那么該安全策略符合安全機制的安全要求.
對于兩個不同安全等級的安全域,如果低安全 級別域的寫物理空間和高安全級別域的讀物理空間交集不為空集,那 么低安全域的信息可以單向地寫入高安全域; 如果低安全 級別域的讀物理空間和高安全級別域的寫物理空間交集為空集,那 么低安全域擁有高安全域內容的讀權限,而信息無法寫入高安全域,同時也沒有權限去讀取高安全域所寫入的內容,確保信息不從高安全級別域泄露至低安全級別域,這符合本文提出的疊合式安全策略的基本要求.
定義1和傳統的操作系統安全模型存在區別,定義1支持低安全域保留獨立的數據信息.如圖1所示,假設G和B為兩個任意的域,B的安全級別高于G,是一個劃分.其中Gc屬于B的可讀區域,而Gp屬于B的不可讀區域,即G的私有區域,B為G的可寫區域,由于B安全級別高于G,此時G既可以通過Gc向高安全域的B通報數據,實現了低安全域數據流向高安全域,也可以通過Gp保護自身數據的安全.由于G的安全級別低于B,G的信息無法寫入B,避免了G的數據流向B,實現了低安全域數據無法寫入高安全域.這是符合安全系統的安全要求的.當時,G沒有私有區域,此時B可以讀G中的所有的信息.

圖1 疊合式安全策略圖
本章節主要提出了疊合式安全機制的設計思想,用來保證不同的安全域之間的信息流動符合2.1節定義1的安全要求.

圖2 疊合式安全機制物理空間劃分
首先把系統劃分為兩個類型.信息域,每一個信息域對應著不同級別的安全信息; 系統域,除了信息域之外就是系統域,有且僅有一個系統域.根據上述的描述,需要把物理空間分割為N+1個部分: 信息域的物理空間是Di并分配于不同的信息域,系統域物理空間是S.系統域對不同的信息域,賦予不同的讀寫權限,系統域對信息域僅賦予讀權限.系統域和信息域在物理空間上沒有任何交集,相互獨立.
基于圖2對物理空間進行劃分,提出如下規則.
表示信息域,D表示信息域物理空間的所有集合.S表示系統域物理空間.根據以上定義和物理空間的劃分制定如下規則:
規則 1.對于則:

規則 2.對于則:

規則 3.對于則:

規 則 4.對 于則:

規則1表示各個安全域存在于不同的物理空間,各個域之間沒有任何交集,即信息域和系統域在物理空間上沒有交集,信息域集合內的每一個域在物理空間上是相互獨立的.
規則2表示安全域的可寫的物理空間對應著該安全域所存在的物理空間中,安全域的可讀的物理空間對應著該安全域相對應的物理空間.
規則3表示如果兩個安全域的安全級別不同,則認為高安全域可以對低的安全域物理空間進行讀操作,不可以對低安全域物理空間進行寫操作.
規則4表示如果存在兩個安全域處于不同的安全級別,則認為低安全域不可以對高安全域的物理空間進行讀操作,也不可以進行對高安全域的物理空間進行寫操作.
下面將對上述的疊合式安全策略進行證明.
證明:
根據定義1對于若:

那么該安全策略符合的安全的要求.
本文所提出的疊合式安全策略,則需要證明,對于若則:

那么疊合式安全策略符合安全要求.
根據規則2,可得出:

∵對于當則:
根據規則 3,規則 4,可以得出:

根據規則2,可得出:

∵對于當則:
根據規則 3,規則 4,可以得出:

∴根據式(17)和(21)的結論,定義1成立.
根據以上的證明,本文所提出的疊合式安全策略符合安全要求.
根據第2.2節的論述和疊合式安全機制的結構特點,基于Space操作系統的環境下,可以采用Overlay文件系統[17]技術實現該安全機制.Overlay文件系統是目前使用廣泛的疊加式文件系統,它通過把多個目錄文件進行聯合,允許可讀寫和只讀的目錄并存,該文件系統擁有上下層合并,同名覆蓋,寫時復制技術(COW)[18]等特點.Overlay文件系統將系統域的底層文件系統和信息域的底層文件系統進行合并.用戶對系統域的文件的修改是在信息域的文件中進行的,系統域只進行虛擬寫的過程,最終對系統域的修改的數據保存于可寫的信息域中.文件的修改的數據最終掛在到同一個虛擬文件系統下.
Overlay文件系統和其它層次文件系統(如Union FS,AUFS等)不同之處是Overlay文件系統只有兩層:一個是上層文件系統和一個下層文件系統.上層擁有讀寫權限,下層被賦予只讀權限.當系統需要修改一個文件的時候,使用寫時復制技術(COW)將下層的文件復制到可寫的上層進行修改.本文所介紹的實現的疊合式安全機制,下層為只讀的鏡像文件即為系統域,上層是可讀寫的用戶數據層,即為數據域.
圖3介紹下層文件B復制到上層過程.用戶修改下層中的一個B文件時,用戶的修改請求會發給疊合文件系統,首先判斷上層中是否存在B文件,如果沒有該文件,則在上層中創建B文件; 從下層中復制對應目錄的文件,則下層中B文件復制到對應上層的文件目錄中,這時用戶即可在上層中修改B文件,待用戶對B文件操作完成之后,數據將保留在上層,而下層中的B文件并沒有發生任何變化.

圖3 上層的 B 文件初始化圖
在Overlay文件系統中,即有兩個B文件,一個來自于下層中的未修改的B文件,另一個來自于上層中可以修改的B文件.Overlay文件系統中呈現的是下層文件系統和上層文件系統的并集,而上層文件系統中的文件擁有較高的優先級.由于用戶操作的是上層中的一個已經修改了的文件,而下層中操作系統文件并沒有被修改,符合本文所提出的安全機制的設計要求.
實際的開發中,也可以使用其他的疊加式文件系統實現疊合式安全機制,如 AUFS,BTRFS,ZFS 等,這些疊加式文件系統大部分已經使用在一些商業的Linux系統.最終選擇使用Overlay文件系統的原因不僅是因為其高效穩定輕量級,更主要是Overlay文件系統只有兩層的疊加,這決定了它的讀效率高于其它的疊加式文件系統,更容易滿足實用性的需求.
綜上所述,本文所提出的疊合式安全機制在技術上是可行的.
根據第三節提出的可行性說明,可以將疊合式安全機制運用于Space操作系統上,圖4 為SpaceOS的實現框架,其中Space_User域對應圖2中的信息域中的Di(i=1),Space_System域對應圖2中的系統域S.

圖4 Space 系統實現框架圖
根據圖1為定義的安全策略,Gc作為Space_System域位于下層,該域是只讀的,在物理上不可被改寫.Space_System域和Space_User域物理空間沒有交集,相互獨立,符合規則1要求.Space_User域位于上層且文件系統B本身作為讀寫層空間上獨立于Space_System域文件系統,這樣,對Gc中的所有變化均可以在Space_User域文件系統B中反應出來,而對B的任何操作G都無法感知,這符合規則2的要求.
由于Space_System域安全級別高于Space_User域,所以Space_System域中存放一個完整的操作系統,Space_User域存放著對Space_System域內的操作系統的修改(如安裝Space_User存放著重新配置系統的信息等)的一個副本和用戶的一些文件等并具有不同的文件系統類型(如Space_System域物理空間是FAT32格式,Space_User域的格式是 Ext4),Space_System域可以虛擬寫入Space_User域,實際上的操作是在Space_User域完成的,這符合規則3要求.Space_User域可以看到Space_System域的修改變化,但不可寫入Space_System域,反之Space_System域的變化不會被Space_User域察覺,這符合規則4的要求.Overlay文件系統會合并Space_System域和Space_User域的文件系統樹,最終看到的是疊加后文件系統,用戶不會察覺到這樣的變化,符合疊合式安全模型的要求.
事實上,這種方式的應用是廣泛的,如同管理員和客戶關系一樣,管理員擁有高于客戶的優先級,管理員可以查看其他客戶的修改變化,但是客戶無法查看管理員的一些操作.這樣在不同個體對象之間一方面保證獨立,同時確保優先級較高的個體可以查看優先級較低的個體,而優先級較低的個體察覺不到高級別個體的變化,從而實現了信息由一個或者多個低安全域單向地流入同一個高安全域.
為了對疊合式安全機制進行全面的評價,對安裝了疊合式安全機制的Space系統進行了性能測試,安全性測試和實用性測試.
通過對比安裝該安全機制的Space系統和未安裝該安全機制的Space系統的進行實用性對比.安裝了該安全機制的Space系統不需要做額外的配置,同樣可以運行 Space系統上的應用軟件和服務,如SpaceWS,QQ,Microsoft Word 2003 和 Photoshop 等大型軟件.在安裝了安全機制的Space系統上,如一些大型軟件和服務崩潰,用戶可以刪除信息域相關的錯誤配置文件,該軟件或者服務同樣可以正常使用.而未安裝了機制的Space系統,如刪除相關的軟件和服務的配置文件,則軟件和服務崩潰,最終導致軟件和服務無法正常使用,甚至會影響系統的整體性能.
該測試分別刪除安裝了該安全機制和未安裝安全機制的Space系統下的/usr/bin/spacews/windows/lib文件.之后,再運行兩個系統的 Photoshop 軟件,發現未安裝疊合式安全機制的Space系統的Photoshop軟件已經無法正常使用.而安裝了該安全的Space系統的Photoshop軟件依然可以正常運行.
測試表明,相比于未安裝該安全機制的Space系統,該安全機制可以為用戶的使用提供更加穩定的系統保障,可以滿足系統的實用性.
安全性測試的主要目的是測試該安全機制是否能夠抵御一般性的網絡攻擊.黑客利用服務器的漏洞獲取超級權限的用戶的shell程序.為了讓簡化測試流程,通過在安裝了該安全機制的和未安裝安全機制的Space系統上運行netcat程序為攻擊者提供一個擁有根權限的shell進程.這和黑客利用系統程序漏洞獲得shell的方法是一樣的.為了測試系統的安全性,主要通過以下兩個實驗.
第一個實驗是修改網絡服務器上的相關的文件(如網頁文件),通過破壞用戶的文件進行攻擊.當安全機制起作用時,通過netcat獲得的遠程的shell無法修改服務器目錄下的文件,同時也不能在該目錄下創建其它文件.
第二個實驗是文件的盜取實驗.通過破壞系統的安全性進行攻擊.主要通過mutt程序獲取/etc/shadow文件進行攻擊.在未安裝該安全機制的Space系統上運行muut-a/etc/shadow test1@cnu.edu.cn命令可以把/etc/shadow文件發送到test1@cnu.edu.cn郵箱中,但是在安裝了該安裝該安全機制后,郵件中未接收該文件,主要是因為系統域的安全級別高于信息域,沒有權限讀取/etc/shadow的文件.實驗表明該安全機制能夠保證Space系統的數據的安全,可以滿足安全性.
由于Space系統增加了疊合式安全機制,同時也增加了操作系統運行的復雜性.這種復雜性若影響系統的運行速度,會導致這種安全機制不具實用價值,同樣影響系統的有效性.
對系統運行速度采用的測試方法為: 在具有疊合式安全機制和不具有疊合式安全機制的Space操作系統上運行同一個文件IOzone工具.在高并發高吞吐量的環境下,同時讀寫多個大小不一的文件,來測試不同的安全機制操作系統的運行速度,并比較其性能差異.測試機器的配置 2.20 GHZ,i5-5200U 處理器,4G內存以及24 G固態硬盤.
在高并發高吞吐量的環境下同時進行如下測試:(1) 測試一個已存在的大小為1 M小文件和256 M的大文件的文件讀速度.(2) 測試一個最近讀過的大小為1M小文件和256 M 的大文件的文件讀速度.(3) 測試向一個新文件寫入一個大小1 M的小文件和256 M大文件的性能.(4) 測試向一個已存在的文件寫入一個大小為1M的小文件和大小為256M大文件的性能.
圖5是疊合式安全機制的讀性能對比,圖6是疊合式安全機制寫性能對比.橫坐標是記錄大小為遞增的4K到16M的文件塊,單位為 Kbyte; 縱坐標為傳輸速率,單位為Kbyte/s,虛線為安裝安全機制之前的數據,實線為安裝之后的數據.
從圖5,圖6結果可以看出,具有疊合式安全機制Space操作系統的讀寫性能與不具有疊合式安全機制的性能相差不大.本文為Space操作系統研究、開發的疊合式安全機制能夠承擔高吞吐量的并發讀寫操作,并保證了Space系統的有效性和實用性.

圖5 1M文件和256M文件讀性能對比圖

圖6 1M文件和256M文件寫性能對比圖
本文設計實現一種疊合式安全機制,形式化說明證明該機制可以達到安全的目的.通過對系統的測試可以看出,該安全機制具有足夠的安全性,很好的實用性,其具有實用價值.相比于其它設計方案,疊合式安全機制無論是在維護性和可擴展性方面都有著很大的優勢.
參考文獻
1馬喆,禹熹,袁傲,等.Xen 安全機制探析.信息網絡安全,2011,(11): 31–35.[doi: 10.3969/j.issn.1671-1122.2011.11.009]
2Alves-Foss J,Oman PW,Taylor C,et al.The MILS architecture for high-assurance embedded systems.International Journal of Embedded Systems,2006,2(3-4):239–247.
3Weissman C.Security controls in the ADEPT-50 timesharing system.Proceedings of the 1969 Fall Joint Computer Conference.Las Vegas,NV,USA.1969.119–133.
4Gligor VD,Chandersekaran CS,Chapman RS,et al.Design and implementation of secure xenix.IEEE Transactions on Software Engineering,1987,SE-13(2): 208–221.[doi: 10.1109/TSE.1987.232893]
5Archer M,Leonard E,Pradella M.Analyzing securityenhanced Linux policy specifications.Proceedings of the IEEE 4th International Workshop on Policies for Distributed Systems and Networks.Lake Como,Italy.2003.158–169.
6卿斯漢,劉文清,劉海峰.操作系統安全導論.北京: 科學出版社,2003.
7Bell DE,LaPadula LJ.Secure computer systems:Mathematical foundations.Bedford,MA: Mitre Corp,1973.
8周洲儀,賀也平,梁洪亮.基于 Biba 和 Clark-Wilson 策略的混合強制完整性模型.軟件學報,2010,21(1): 98–106.
9Clark DD,Wilson DR.A comparison of commercial and military computer security policies.Proceedings of 1987 IEEE Symposium on Security and Privacy.Oakland,CA,USA.1987.184.
10Rushby JM.Design and verification of secure systems.Proceedings of the 8th ACM Symposium on Operating Systems Principles.Pacific Grove,CA,USA.1981.12–21.
11Rushby JM.Proof of separability a verification technique for a class of security kernels.Proceedings of the 5th International Symposium on Programming.Turin,Italy.1982.352–367.
12Bertino E.RBAC models-concepts and trends.Computers &Security,2003,22(6): 511–514.
13梁冰,廖湘柏.基于 PKI、PMI的數字圖書館安全管理.計算機系統應用,2009,18(3): 130–132,45.
14Li W,Ping L.Trust model to enhance security and interoperability of cloud environment.IEEE International Conference on Cloud Computing.Springer.Berlin,Heidelberg.2009.69–79.
15張明德,鄭雪峰,呂述望.改進的 PKI可信度模型.小型微型計算機系統,2012,33(2): 370–375.
16吉晨,石勇,戴明,等.基于輕量級虛擬化環境的可信多級安全容器機制.計算機應用研究,2017,34(6): 1770–1773.
17Hipp BA,Wong C,Yeh YY.Method and system for an overlay filesystem: US,7197516.[2007-03-27].
18Hitz D,Malcolm M,Lau J,et al.Copy on write file system consistency and block usage: US,6892211.[2005-05-10].