?

Linux系統訪問控制機制的研究

2010-08-23 08:33涂俊英
制造業自動化 2010年13期
關鍵詞:安全策略訪問控制內核

涂俊英

TU Jun-ying

(孝感學院 計算機與信息科學學院,孝感 432000)

0 引言

Internet正在越來越多地融入到社會的各個方面,計算機網絡的安全問題隨著Internet的發展而越來越被人們所重視。在社會日益信息化的今天,隨著Internet以電子商務為代表的網絡應用的日益發展,出于各種目的的網絡入侵和攻擊越來越頻繁。信息網絡的大規模全球互聯趨勢,隨著網絡用戶成分越來越多樣化,以及人們的社會與經濟活動對計算機網絡依賴性的與日俱增,Internet安全以及信息數據安全,使得計算機網絡的安全性成為信息化建設的一個核心問題。隨著Internet對公司、個人和社會生活影響的日益擴大,Internet越來越深入地滲透到各行各業的關鍵要害領域,網絡安全作為一個無法回避的問題呈現在人們面前.如果網絡安全問題不能得到妥善的解決,網絡使用者如果不重視自身的安全防范,將會對國家安全帶來嚴重的威脅,將很有可能給自己帶來一系列的嚴重后果。

本文以研究和改進Linux現有的存取訪問控制機制為主要目標,在對Linux現有安全機制分析的基礎上,為了驗證LYSLinux存取訪問控制模型的可行性和正確性,進一步結合信息安全模型理論,本文設計并實現了基于LYSLinux存取訪問控制模型的LYSLinux原型系統,總結出了安全操作系的分權思想,并進一步提出了LYSLinux存取訪問控制模型及分層授權觀點。LYSLinux原型系統的設計充分利用了Linux內核提供的安全設施,基于現有FLASK安全體系結構設計。本文通過對LYSLinux原型系統的測試和結果分析,進一步總結該系統的優缺點。

1 安全操作系統的發展和研究現狀

Linux網絡系統結構將整個網絡系統的結構分為內核空間和用戶空間兩部分,IP協議實現網絡層協議,其中內核空間又可以分為協議層和設備驅動層,在IP層以下是網絡設備來支持所有Linux網絡工作。Linux選用編程接口是由于它的流行性及可移植性,控制Socket文件描述符對應的就是對BSD Socket的操作,有助于應用程序從Linux平臺移植到其他Unix平臺。從INET Socket層到IP層,它由INET Sockets層來支持,發送數據時根據發送的目標地址確定需要使用的網絡設備接口和下一個需要傳送的及其地址,這一層為基于IP協議的TCP和UI)P管理傳輸端點。從而進入到BsD Socket層的操作,從IP層到數據鏈路層,接收數據時在IP層判斷數據包是向上一層協議提交還是需要做IP轉發,就是到網絡接口設備驅動程序,對數據包的采集和發送。

由于Linux安全操作系統的應用已非常廣泛,不斷成熟和完善的Linux提倡的開放源碼政策及自身安全方面所具有的一些優良特性。國內近年來在這方面也取得了大量成果,Linux的存取訪問控制機制也在不斷的發展和完善,然而,現有的Linux存取訪問控制仍有其不足之處,較之國外仍存在差距,在研究成果的產品化上亦有諸多缺陷。

2 安全體系結構

安全模型是對系統安全功能的高度抽象和概括,安全系統的設計和實現除了依賴于具體的安全模型之外,是實現具體安全機制的理論基礎。同時,還需具有良好的體構來保證系統的運行效率和質量,安全模型也是制定安全策略的依據。因此,安全體系結構(安全體系框架)是實現安全系統的基礎和依據,對安全框架的研究是十分必要的。

Flask體系結構提供了動態策略支持,從安全服務器取得主體對客體的訪問權限。Flask體系結構實現了動態安全策略,標識系統管理的對象,支持策略靈活性。緩存了數目有限的特定主體對客體的訪問權限記錄,主要為了避免由于安全服務器的頻繁訪問而造成的系統性能下降對象管理器,實施安全策略的判定;安全服務器通過該接口對象管理器能及時感知安全策略的變化,做出安全策略的判定。Flask體系結構如圖1所示。

圖1 Flask安全體系結構

3 Linux內核安全機制分析

針對自主訪問控制存在的種種不足,Linux系統下出現了許多強制訪問控制機制,SELinux是一個基于動態策略配置的強制訪問控制子系統。由于SELinux支持較細粒度的權限描述和管理,采用SELinux能極大程度的提高系統的安全性能。

SELinux安全策略配置支持RBAC模型,該模型中存在另一個實體集——用戶集。用戶可以將一個或多個類型指派給某一角色,SELinux定義的用戶是RBAC模型的組成部分,換言之,SELinux中的角色是包含一個或多個類型的更大的權限集,實際上是一個更大的權限集合。SELinux在設計初期是以內核模塊的形式插入到內核中運行的,Linux2.6內核中SELinux訪問控制建立在LSM框架之上。LSM的主要思想是內核的設計者在需要進行訪問控制的位置插入相應的鉤子函數(hooks),是Linux內核中為安全模塊(系統)的設計提供的一套內核機制。當信息流到這些鉤子函數時控制時,內核根據該反饋結果控制系統中的信息流,內核會將控制交給注冊到LSM中的安全控制函數,然后經過某一安全策略的判斷后將決策結果反饋給內核,安全控制函數首先提取出主體和客體信息, SELinux的存取訪問控制是基于LSM框架實現的。SELinux的結構如圖2所示。

圖2 SELinux存取訪問控制模型

4 Linux存取訪問控制模塊設計

Linux安全模塊(LSM)采用了通過在內核源代碼中放置鉤子的方法,滿足大多數現有Linux安全增強系統的需要,截獲主體對客體的訪問。為了Linux安全模塊(LSM)采取了簡化設計的方式,在系統運行過程中,Linux安全模塊(LSM)現在主要支持大多數現存安全增強系統的核心功能。系統通過提取存放在內核對象安全域中的信息,對一些安全增強系統要求的其他安全功能,得到主客體的安全標識。Linux安全模塊(LSM)現在主要支持“限制型”的訪問控制決策,LSM框架為多數內核對象增加了安全域。當Linux內核給予訪問權限時,進程控制塊(task struct),inode結點,用戶進程執行系統調用,首先經過Linux內核原有的邏輯找到并分配資源,進行錯誤檢查,只提供了的少量的支持,然后經過經典的UNIX自主訪問控制,對于模塊功能合成。在Linux內核試圖對內核對象進行訪問之前,Linux安全模塊(LSM)允許模塊堆棧,安全模塊根據其安全策略進行決策。LKM的最基本框架

LKM編譯成功之后,可用insmod 命令插入到系統內核,并在內核態下運行。

5 系統工作流程分析

當LYSLinux內核模塊初始化完畢后,內核中LSM框架的鉤子函數會將程序流引向LYSLinux安全策略實施機構中相應的輔助函數,安全策略實施機構開始截獲并根據安全策略實施強制訪問控制。LYSLinux安全策略實施機構的輔助函數會從內核對象中提取出LYSLinux所需的安全信息,根據激活的輔助函數及其他LSM傳遞的參數判斷主體對客體的操作請求以及該操作的類別,一般是指主體的當前有效SID和客體類型的類型號。

當存取訪問向量緩存(AVC)中找不到相應向量時,由主體的SID,客體類型的類型號以及操作和操作類別到存取訪問向量緩存中查尋相應的訪問向量,AVC會進一步請求對象管理器并得到與SID對應的主體權限信息,通過查詢安全策略數據庫計算出對該操作集的決策結果以及存取向量,然后會將主體權限信息與客體類型和操作集及操作類別發送到安全服務器。更新存取訪問向量緩存并返回決策結果,安全策略實施機構將決策結果返回給Linux內核。

安全策略服務器主要由安全策略加載器(DBLoader)和策略查詢器(PolicyQuerier)組成,安全策略服務器的結構和工作時所依賴的數據結構信息。策略查詢器(PolicyQuerier)負責根據其他組件的安全查詢請求信息從安全策略數據庫中提取出相應的信息,安全策略加載器負責構建和維護安全策略數據庫(PolicyDB )。系統啟動時安全策略加載器會從文件系統加載二進制安全策略描述文件到內核空間,計算出該請求的訪問向量并返回,并由一組加載函數從二進制策略文件中讀出策略數據,并用這些數據初始化安全策略數據庫。策略查詢器實現了db make decision函數,該函數申明如下:

int svr_make_decision(u32 domain,u32 role,u32 user,

u32 type,perm_classt class,operation_t ops,

svr_decision__t*sd);

該函數會根據一定的策略由上述的三個集合計算出該主體對該客體的所有權限以及請求操作集中被允許的權限。

6 結論

系統管理的各類軟硬件資源包括數據的安全,而在操作系統中對資源的訪問操作都需請求操作系統內核的服務,Linux操作系統以其良穩定的系統性能和開放源碼的優勢受到了廣大個人用戶和企業的青睞,因此基于操作系統內核的存取訪問控制可以有效的保證系統中數據的安全性。但是Linux操作系統的存取訪問控制還存在不足之處,對信息安全模型和安全體系結構研究的基礎上,著重對現有Linux操作系統的存取訪問控制機制進行了優缺點分析,并在此基礎是提出了若干改進思路和觀點,并構建了原型系統加以驗證。

[1]Sylvia Osborn,Ravi Sandhu,Qamar Munawer.Configuring role-based access control to enforce mandatory and discretionary access control policies.ACM Transactions on Information and System Security.2000,13(2):8-96.

[2]梁洪亮.支持多安全政策的安全操作系統的研究與實施[D].中國科學院軟什研究所,2002:11-23.

[3]Zanin,Giorgio.Towards a formal model for security policies specification and validation in the SE Linux system.Proceedings on the Ninth ACM Symposium on Access Control Models and Technologies,2004,10(5),136-145.

[4]李遠征.操作系統訪問控制模型關鍵技術研究[J].計算機工程與設計,2005,26(4):1004-1002,1095.

[5]Ray Spencer,Stephen Smalley,Peter Leacock,Mike Hitler,David Andersen,Jay Leprous.The Flask Security Architecture:System Support for Diverse Security Policies.Proceeding of The Eighth USENIX Security Symposium.1999,8:123-139.

猜你喜歡
安全策略訪問控制內核
一種跨策略域的林業資源訪問控制模型設計
多內核操作系統綜述①
強化『高新』內核 打造農業『硅谷』
活化非遺文化 承啟設計內核
基于飛行疲勞角度探究民航飛行員飛行安全策略
微軟發布新Edge瀏覽器預覽版下載換裝Chrome內核
多媒體教學服務器限制訪問的一種措施
一種防火墻安全策略沖突檢測方法*
淺析涉密信息系統安全策略
ONVIF的全新主張:一致性及最訪問控制的Profile A
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合