專利名稱:一種基于自學習的Linux安全策略配置方法
技術領域:
本發明屬于計算機與網絡安全技術領域,具體涉及一種基于自學習的Linux安全策略配置方法。
背景技術:
隨著Linux操作系統的日益普及,其安全性問題也越來越引起人們注意。SELinux是2.6版本的Linux內核中提供的強制訪問控制(MAC)系統。訪問控制通常由用戶預先配置安全策略,或者系統本身提供基于某個模型的安全策略,然后通過引用監控機來實現對系統資源訪問請求的仲裁。訪問控制的目的在于維護系統的保密性、完整性和可用性。對于目前可用的Linux安全模塊來說,SELinux是功能最全面,而且測試最充分的,它是在20年的MAC研究基礎上建立的。SELinux在類型強制服務器中合并了多級安全性或一種可選的多類策略,并采用了基于角色的訪問控制概念。通過配置可以實現對權限最小化控制和防止權限升級等。SELinux改進了對內核對象和服務的訪問控制,改進了對進程初始化、繼承和程序執行的訪問控制,改進了對文件系統、目錄、文件和打開文件描述的訪問控制,還改進了對端口、信息和網絡接口的訪問控制。SELinux主要應用了兩項核心技術,類型加強(TE)和基于角色的訪問控制(RBAC)。TE給每個主體(進程)和系統中的客體定義了一個類型,這些類型定義在SELinux的安全策略文件中,以安全標簽形式存放在文件本身的擴展屬性(extended attributes,簡稱xattrs)里。默認情況下,主體對客體的操作是不允許的,而由策略定義允許的操作。TE使用主體的域和客體類型的數據都存放在策略文件中。因為Linux操作系統自身的復雜性,以及上層應用的多樣性,決定了 SELinux的配置過程異常復雜。并且,SELinux涉及到操作系統底層的方方面面,更加大了配置管理員正確進行安全配置的難度;同時,如何為操作系統中每一個主體分配合理的權限,是配置管理員首先要思考的問題,通常這個過程都遵守最小化權限的原則,即分配給一個主體的權限必須剛好是能夠滿足該主體的合法訪問的要求,超過這個要求會造成潛在的安全隱患,低于這個要求會導致主體不能正常工作。綜上所述,為一個全新的業務系統構建一套穩定、安全的SELinux策略,這對每一個配置管理員來說都是一項挑戰。
發明內容
針對現有技術的不足,本發明提供一種基于自學習的Linux安全策略配置方法,以簡化系統配置的工作流程。本發明提供一種基于自學習的Linux安全策略配置方法,其改進之處在于,在SeLinux的安全服務器區中嵌入策略學習模塊;所述方法包括如下步驟:(I)安裝Linux操作系統,并將改進后的SeLinux作為安裝項;
(2)進入Linux操作系統,開啟策略學習模塊流程,并開啟所述策略學習模塊的學習開關;(3)部署應用軟件與業務系統;(4)經過一段時間的安全穩定運行,關閉所述策略學習模塊的學習開關;(5)手動調整,合并部分自動生成的訪問控制策略;(6)經過一段時間的穩定運行,對安全日志進行審計,記錄并生成沒有正常運行的主體名單及訪問的客體名單;(7)手動調整所述自動生成的訪問控制策略,為所述沒有正常運行的主體名單中的主體添加對應客體的訪問權限;(8)安全策略配置結束。其中,步驟(2)所述開啟策略學習模塊流程包括如下步驟:I)系統啟動,策略學習模塊從文件中讀取策略信息;2)操作系統中主體A對客體B進行訪問,策略學習模塊通過LSM接口攔截這一訪問過程;3)策略學習模塊讀取主體的安全標示符SIDa和客體的安全標示符SIDb ;判斷所述策略學習模塊的學習開關狀態;4)若所述學習開關為關,則所述策略學習模塊未啟用,移至步驟8),否則進行步驟
5);5)向安全服務器提交策略查詢請求,判斷是否存在<SIDa,SIDb,通過 > 的策略信息;若策略已經存在,移至步驟8,否則進行步驟6);6)所述策略學習模塊生成一條策略<SIDa,SIDb,通過 > 并向安全服務器提交;7)所述策略學習模塊將生成的策略保存到策略文件;8)轉入Selinux策略處理。其中,步驟8)所述轉入Selinux策略處理是指:安全服務器依據更新后的安全策略,對本次主客體的訪問進行決策,并將決策結果交由客體管理器;若決策結果為通過,客體管理器放行此次主體A對客體B的訪問,若決策結果為拒絕,則終止此次主體A對客體B的訪問。其中,步驟(3)所述應用軟件與業務系統是由用戶決定的,需要受到安全保護進行安全配置的應用軟件或業務系統;其中,步驟(4)和步驟(6)所述一段時間是指用戶進入所述策略學習模塊開始,將其全部功能用完一遍的時間。與現有技術比,本發明的有益效果為:1.提供自動學習開關,使配置管理員可以人為的控制安全策略自學習模式的開關。2.為SELinux提供了一種安全策略自學習模式,絕大多數系統相關的安全配置均可由自學習模式生成,這簡化了配置管理員的配置工作。3.自學習模式生成的策略均滿足主體最小權限要求,最大可能避免了人工配置出現錯誤(如權限過大或過小)所帶來的安全或穩定方面的隱患,進一步提升了系統的安全性。
4.本發明的系統運行時不會影響到主體的執行。在未應用本方法時,SELinux的“客體管理器”在攔截到主客體訪問后會將本次訪問的信息提交給“安全服務器”進行決策處理,而本方法只是將自學習模塊的工作流程放在“安全服務器”對主客體訪問進行決策處理流程之前,這樣學習模塊才能夠有機會自動生成允許本次訪問的安全策略,最終達到策略自學習、自動配置的目的;若學習模塊是在“安全服務器”進行決策處理之后再生成安全策略,則會影響到應用軟件即主體的正常執行。5.本發明相比傳統的配置方法,一是減輕了安全配置管理員的負擔,二是減少人為失誤,提高安全配置策略的質量,三是提供開關,自學習的過程可控,提供選擇性。
圖1為本發明提供的改造后的SELinux安全框架圖。圖2為本發明提供的基于自學習的Linux安全策略配置的實現方法的流程圖。圖3為本發明提供的策略學習模塊的工作流程圖。
具體實施例方式下面結合附圖對本發明的具體實施方式
作進一步的詳細說明。SELinux的訪問控制規則存放在安全策略文件中,策略文件分為二進制和源代碼文件,源代碼以策略配置語言的形式描述,由配置管理員創建和維護。源代碼經策略配置工具編譯后生成二進制文件。二進制策略在系統啟動過程中被裝載到內核空間,形成在內存中的策略庫及緩存,并由SELinux安全服務器管理。對于使用了 SELinux的安全操作系統,在引導后,任何主體對客體進行的訪問請求均會被LSM (Linux安全模塊)的Hook函數攔截,同時,通過安全服務器獲取相應的訪問策略,并進行決策處理。實現本發明所述的自學習安全策略配置技術需要對現有SELinux框架做出少量修改,并在安全服務器區增加策略學習模塊。策略學習模塊是本方案實現的關鍵點。該模塊對配置管理員用戶提供了一個自動學習開關,使得安全服務器通過判斷開關狀態來自動生成訪問控制策略。具體的,本發明改造過的SELinux體系框架圖如圖1所示。在SELinux安全服務器一側嵌入一個策略學習模塊,該模塊為配置管理員提供一個自學習開關,并通過開關是否開啟來選擇是否自動記錄操作系統中主體對客體的訪問請求,并自動生成相應的訪問控制策略。策略學習模塊主要完成以下三個功能,主客體訪問截獲,策略生成以及策略持久化存儲。策略學習模塊隨SELinux模塊加載過程中啟用,借助SELinux的LSM機制截獲操作系統應用層主體對計算機各個子系統的訪問請求,實現主客體訪問截獲;隨后依據策略學習開關狀態,選擇是否為此次請求的主客體添加新的訪問控制策略,即〈主體,客體,通過或放棄 > 三元組;由于SELinux安全服務器維護的策略信息僅留存于內存,為了保存新生成的策略數據,還需要經過持久化存儲過程,將新增加的訪問控制策略保存到對應的策略文件中。
對應的,本發明提供一種基于自學習的Linux安全策略配置方法,其流程圖如圖2所示,其核心思想是:構建基于SELinux安全服務器的策略學習模塊。開關處于開啟狀態時,記錄LSM攔截的所有主客體之間的訪問請求,自動生成相應的訪問控制策略,同時放行請求;當開關關閉,策略學習模塊將不發揮作用,安全服務器將返回現有的訪問控制策略。下面以具體步驟展示如何使用本發明提供的策略自學習方法:(I)安裝Linux操作系統,并將改進后的SELinux作為安裝項;(2)進入Linux操作系統,開啟策略學習模塊流程,并開啟所述策略學習模塊的學習開關;(3)部署應用軟件與業務系統;所述部署應用軟件與業務系統是由用戶決定的,需要正常使用,并且需要受到安全保護進行安全配置的應用軟件或業務系統;對操作系統進行安全配置,一定會影響到操作系統上層運行的應用軟件、業務系統軟件(都是軟件)等。所謂安全配置的目的,就是限制操作系統上層應用軟件的訪問權限,界定應用軟件能夠訪問合法資源的范圍。例如,一個正常的游戲軟件是不會訪問系統管理員賬號和密碼的,那么系統管理員的賬號和密碼就不在該游戲軟件能夠訪問的合法資源范圍內,假設游戲軟件在運行過程中被植入了病毒,該病毒會通過游戲軟件去訪問管理員的賬號和密碼。如果在這之前針對該游戲軟件進行了安全配置,操作系統就能夠自動拒絕該軟件對管理員帳號和密碼的訪問請求,達到提高系統安全的目的。(4)經過一段時間的安全穩定運行,關閉所述策略學習模塊的學習開關;此處的穩定運行一段時間,是為了確保步驟3中所部署的軟件,其所有功能都被用戶使用過。(5)手動調整,合并相鄰的安全訪問控制策略;本發明會為每一個主客體之間的訪問,生成一條的獨立安全訪問控制策略,但客體,即系統資源,在安全策略中的具體描述經常是可以連續表示的,比如網絡端口號,80,81,82等等,因沒有必要為每一個端口號都單獨生成一條安全策略,針對80,81,82這三個網絡端口的安全策略就可以人工的合并為一條,由80-82來表示。(6)經過一段時間的穩定運行,對安全日志進行審計,記錄并生成沒有正常運行的主體名單及訪問的客體名單;(7)手動調整所述自動生成的訪問控制策略,為所述沒有正常運行的主體名單中的主體添加對應客體的訪問權限;(8)安全策略配置結束。其中,策略學習模塊作為SELinux安全服務器的一部分,隨SELinux框架的加載過程而啟用。因此加載過程無需人工干預。依據系統功能設計,配置管理員可以在系統啟動后選擇是否開啟策略自學習開關,如果選擇開啟,策略學習模塊將針對系統后續的主客體訪問進行記錄,并生成相應策略。步驟(2)開啟策略學習模塊流程,其流程圖如圖3所示,具體包括如下步驟:I)系統啟動,策略學習模塊從文件中讀取策略信息; 2)操作系統中主體A對客體B進行訪問,策略學習模塊通過LSM接口攔截這一訪問過程;3)策略學習模塊讀取主體的安全標示符SIDa和客體的安全標示符SIDb ;判斷所述策略學習模塊的學習開關狀態;
4)若所述學習開關為關,則所述策略學習模塊未啟用,移至步驟8),否則進行步驟5);5)向安全服務器提交策略查詢請求,判斷是否存在<SIDa,SIDb,通過 > 的策略信息;若策略已經存在,移至步驟8,否則進行步驟6);6)所述策略學習模塊生成一條策略<SIDa,SIDb,通過 > 并向安全服務器提交;7)所述策略學習模塊將生成的策略保存到策略文件;8)轉入SELinux策略處理,返回攔截點。所述轉入SELinux策略處理是指:安全服務器依據更新后的安全策略,對本次主客體的訪問進行決策,并將決策結果交由客體管理器;若決策結果為通過,客體管理器放行此次主體A對客體B的訪問,若決策結果為拒絕,則終止此次主體A對客體B的訪問。最后應當說明的是:以上實施例僅用以說明本發明的技術方案而非對其限制,盡管參照上述實施例對本發明進行了詳細的說明,所屬領域的普通技術人員應當理解:依然可以對本發明的具體實施方式
進行修改或者等同替換,而未脫離本發明精神和范圍的任何修改或者等同替換,其均應涵蓋在本發明的權利要求范圍當中。
權利要求
1.一種基于自學習的Linux安全策略配置方法,其特征在于,在SeLinux的安全服務器區中嵌入策略學習模塊;所述方法包括如下步驟: (1)安裝Linux操作系統,并將改進后的SeLinux作為安裝項; (2)進入Linux操作系統,開啟策略學習模塊流程,并開啟所述策略學習模塊的學習開關; (3)部署應用軟件與業務系統; (4)經過一段時間的安全穩定運行,關閉所述策略學習模塊的學習開關; (5)手動調整,合并部分自動生成的訪問控制策略; (6)經過一段時間的穩定運行,對安全日志進行審計,記錄并生成沒有正常運行的主體名單及訪問的客體名單; (7)手動調整所述自動生成的訪問控制策略,為所述沒有正常運行的主體名單中的主體添加對應客體的訪問權限; (8)安全策略配置結束。
2.如權利要求1所述的安全策略配置方法,其特征在于,步驟(2)所述開啟策略學習模塊流程包括如下步驟: 1)系統啟動,策略學習模塊從文件中讀取策略信息; 2)操作系統中主體A對客體B進行訪問,策略學習模塊通過LSM接口攔截這一訪問過程; 3)策略學習模塊讀取主體的安全標示符SIDa和客體的安全標示符SIDb;判斷所述策略學習模塊的學習開關狀態; 4)若所述學習開關為關,則所述策略學習模塊未啟用,移至步驟8),否則進行步驟5); 5)向安全服務器提交策略查詢請求,判斷是否存在<SIDA,SIDB,通過〉的策略信息;若策略已經存在,移至步驟8,否則進行步驟6); 6)所述策略學習模塊生成一條策略<SIDa,SIDb,通過> 并向安全服務器提交; 7)所述策略學習模塊將生成的策略保存到策略文件; 8)轉入Selinux策略處理。
3.如權利要求1所述的安全策略配置方法,其特征在于,步驟8)所述轉入Selinux策略處理是指: 安全服務器依據更新后的安全策略,對主客體的訪問進行決策,并將決策結果交由客體管理器;若決策結果為通過,客體管理器放行此次主體A對客體B的訪問,若決策結果為拒絕,則終止此次主體A對客體B的訪問。
4.如權利要求1所述的安全策略配置方法,其特征在于,步驟(3)所述應用軟件與業務系統是由用戶決定的,需要受到安全保護進行安全配置的應用軟件或業務系統。
5.如權利要求1所述的安全策略配置方法,其特征在于,步驟(4)和步驟(6)所述一段時間是指用戶進入所述策略學習模塊開始,將其全部功能用完一遍的時間。
全文摘要
本發明針對Linux操作系統安全策略配置困難的問題,提出一種基于自學習的Linux安全策略配置方法,以簡化系統配置的工作流程。本發明在SELinux的安全服務器區嵌入策略學習模塊;該模塊對配置管理員用戶提供了一個自動學習開關,使得安全服務器通過判斷開關狀態來自動生成訪問控制策略。開關處于開啟狀態時,記錄LSM攔截的所有主客體之間的訪問請求,自動生成相應的訪問控制策略,同時放行請求;當開關關閉,策略學習模塊將不發揮作用,安全服務器將返回現有的訪問控制策略。本發明自學習模式生成的策略均滿足主體最小權限要求,最大可能避免了人工配置出現錯誤所帶來的安全或穩定方面的隱患,進一步提升了系統的安全性。
文檔編號G06F9/445GK103176817SQ20121056337
公開日2013年6月26日 申請日期2012年12月21日 優先權日2012年12月21日
發明者時堅, 鄧松, 張濤, 林為民, 李偉偉, 汪晨, 周誠, 管小娟, 朱其軍, 蔣靜 申請人:中國電力科學研究院, 國家電網公司