本質(zhì)安全型集中式控制安全操作系統研究
本質(zhì)安全是指一種建立在特殊的硬件設備上(Smart卡),具有特殊的體系結構,可對操作系統本身、進(jìn)程合法性和運行權利進(jìn)行驗證的安全機制。
系統的安全控制分為六部分:進(jìn)程管理器、安全服務(wù)器、文件系統伺服器、進(jìn)程通信伺服務(wù)器、網(wǎng)絡(luò )伺服器和審計模塊??傮w結構如圖1所示:進(jìn)程管理器、安全服務(wù)器wolf-Linux安全控制的核心部分,審計模塊負責對系統的安全性事件進(jìn)行記錄,其它部分是安全控制的執行模塊。
從圖1中可以看出,SIM(Subscriber Identity Module)卡處于系統的安全模塊中,保存系統的關(guān)鍵信息,集中式管理主要體現在進(jìn)程控制器部分,安全判定和安全執行的分離使得任何存取操作都不可能繞過(guò)安全控制機制。系統中所有的安全事件都通過(guò)進(jìn)程控制器來(lái)判定是否可行,安全執行模塊負責在訪(fǎng)問(wèn)操作發(fā)生時(shí)抽象主體和客體,提交訪(fǎng)問(wèn)請求并執行訪(fǎng)問(wèn)結果。下面主要介紹各個(gè)模塊的功能原理。
(1)安全服務(wù)器和SIM卡
系統的安全服務(wù)器負責提供系統支持的安全策略。在系統啟動(dòng)時(shí),安全服務(wù)器初始化系統支持的安全策略。它的初始化過(guò)程中重要的一步是讀智能卡中的信息,驗證系統的身份。安全服務(wù)器提供的接口有三類(lèi):①與智能卡的接口。在智能卡中保存系統的關(guān)鍵信息,例如系統的有效使用時(shí)間、操作系統身份ID。這個(gè)ID號相當規模識了一個(gè)合法的系統身份和系統用戶(hù)身份信息(在系統的安全特性部分還會(huì )討論)。安全模塊通過(guò)智能卡的驅動(dòng)程序,負責與智能卡信息的安全交互,并提供訪(fǎng)問(wèn)智能卡的操作函數。②與進(jìn)程控制器交互的接口。安全服務(wù)器只負責實(shí)現對安全策略的支持,而不管判定訪(fǎng)問(wèn)操作是否合法。進(jìn)程控制器在判定訪(fǎng)問(wèn)是否合法時(shí),使用安全服務(wù)器提供規則。③提供給系統管理的接口。由于在安全模塊當中實(shí)現了策略的獨立性,所以安全模塊可以在實(shí)現對多種策略的支持。接口函數包括安全模塊的初始化接口、安全策略的注冊接口、安全策略的管理接口。通過(guò)這些接口函數可以實(shí)現對安全策略的配置,系統安全特性針對不同的工作環(huán)境,可以動(dòng)態(tài)變化。安全模塊的固化設計保證系統的安全特性不可能被破壞和篡改。
(2)進(jìn)程控制器
進(jìn)程控制器是系統安全特性的關(guān)鍵部分,功能有兩個(gè):①以進(jìn)程為單位的權限控制;②判定安全執行部分提供的訪(fǎng)問(wèn)請求并返回判定結果;同時(shí)為了提高效率,保存最近的訪(fǎng)問(wèn)判定結果,提供緩存功能。
在傳統的Unix系統當中,一般提供基于用戶(hù)的權限控制方法,系統的控制粒度只能到用戶(hù)。一般的攻擊方法是利用程序的設計漏洞,或者用戶(hù)的誤操作來(lái)取得高級權限。在我們研究這類(lèi)安全問(wèn)題時(shí),繼續細化了這類(lèi)控制方法,提供更細的控制粒度;可以針對每一個(gè)進(jìn)程進(jìn)行控制,確保用戶(hù)所啟動(dòng)的所有進(jìn)程均處于相應權限控制之下。
(3)文件系統伺服器
主要操作是抽象各種操作,包括對文件系統的操作和對于文件的操作;是在文件系統當中的系統調用部分加入控制機制,向控制器提交訪(fǎng)問(wèn)的主客體標識符。在Linux操作系統中,涉及到的數據結構有:super_block(表示文件系統),file(表示操作的文件),inode(表示管道),文件或者網(wǎng)絡(luò )套接字等等。
(4)網(wǎng)絡(luò )伺服器
網(wǎng)絡(luò )安全部分控制操作的目的是,防止違法的網(wǎng)絡(luò )操作。例如,控制網(wǎng)絡(luò )打開(kāi)與關(guān)閉,路由器和防火墻的安全規則配置,端口綁定,網(wǎng)絡(luò )廣播等。
(5)進(jìn)程通信伺服器
進(jìn)程之間的安全通信是安全操作系統研究的重點(diǎn)之一。隨通道是指按照常規不會(huì )用于傳送信息卻被利用泄漏信息的傳送渠道。隱通道包括正規隱通道、存儲隱通道和時(shí)間隱通道。在我們的研究過(guò)程中,分析了前兩種信息泄漏方式,通過(guò)以進(jìn)程為控制單位,控制進(jìn)程之間有效通信方式來(lái)解決。在Linux方式當中,提供信號量、消息隊列和共享內存等進(jìn)程通信方式,在關(guān)鍵點(diǎn)處加入控制點(diǎn),例如msg_msg代表單個(gè)的消息,kern_ipc_perm代表信號,共享內存段,或者消息隊列。進(jìn)程控制器提供的控制機制使得普通用戶(hù)的進(jìn)程只能在具有血緣關(guān)系的進(jìn)程之間來(lái)傳送消息,可有效防止信息的擴散。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論