摘 要: 從操作系統的訪問控制機制角度出發,探討Linux系統的安全性。以Linux的通用訪問控制框架為基礎,增加一層訪問控制,實現一個具有可擴展性的訪問控制體系結構,并定義和實現相應的功能模塊,達到增強Linux系統安全訪問的目的。
關鍵詞: Linux; 操作系統; 安全訪問; 訪問控制機制
0 引言
操作系統的安全功能主要是實現訪問控制。訪問控制是實現既定安全策略的系統安全技術,它對所有資源訪問請求進行仲裁,即根據安全策略的要求,對每個資源訪問請求做出是否許可的判斷,能有效地阻止非法用戶訪問系統資源和合法用戶非法使用資源。TCSEC(Trusted Computer System Evaluation Criteria,可信計算機系統評估準則)把訪問控制作為評價系統安全的主要指標之一,具有不可替代的作用[1]。Linux是多用戶、多任務的操作系統,本文從增強操作系統訪問控制功能的角度,探討Linux系統訪問控制機制的安全性及其改進措施。
1 Linux訪問控制機制分析
Linux系統在訪問控制方面采用基于保護位的自主型訪問控制,只能對user,group,other定義三種權限read,write,execute,并且root不受權限限制。在安全訪問方面存在如下缺點。
?、?超級用戶的權利太大。入侵者可以利用應用程序的漏洞,不通過身份認證就可以成為超級用戶,這個假冒的超級戶就可以輕松地修改系統的設置,安置后門,進而破壞系統。
?、?系統上的重要文件可以很容易地被修改。在操作系統上有很多重要的系統文件,如管理認證的系統程序(/bin/login)、存放系統用戶口令的系統配置文件(/etc/shadow,/etc/passwd)等。只要是Linux系統的超級用戶,就能夠做一切事情,包括替換系統的認證程序,刪除系統的重要日志文件等。
?、?權限粒度太大,被保護對象太少,對進程、設備等不加保護。
?、?由文件所有者自主設置權限,難以實現全局訪問控制,系統不能基于單個用戶決定設置訪問權限。
為了增強Linux操作系統的安全訪問特性,可以從多個方面采用不同的技術,如采用防火墻、入侵檢測等技術增強網絡安全,采用系統漏洞掃描對系統進行安全分析與檢測,采用強制訪問控制、審計、客體重用等技術提高操作系統安全的安全級別等??偟膩碚f,無論采用哪種技術及其綜合,都涉及到在體系結構設計上以通用訪問控制框架作為基礎,要考慮Linux操作系統在安全訪問控制方面的可擴展性、可適應性和靈活性;在系統實現上,要考慮基于Linux安全框架的模塊機制實現系統功能模塊[2]。
2 擴展的訪問控制體系結構
Linux的訪問控制機制是以通用訪問控制框架為基礎而設計的,分為三層:策略實施模塊AEF(Access Control Enforcenment Facility)、策略判斷模塊ADF(Access Control Decision Facility)、訪問控制信息模塊ACI(Access Control Information)。
為了增強Linux操作系統的訪問控制機制,在Linux原有的三層訪問控制機制的基礎之上,增加一層訪問控制,實現一個具有可擴展性的訪問控制體系結構。其設計思想是:在內核級動態地截獲訪問請求,然后,根據安全管理員制訂的訪問控制策略,判斷請求的操作是否被授權,從而實施增強的訪問控制,控制系統中用戶特別是超級用戶的訪問權限,增強對系統資源主要是文件和進程的保護。
AEF實施各個訪問控制模型定義的安全策略,通過系統調用截獲訪問請求,然后擴展系統調用完成具體決策的實施。ADF是主決策模塊,它定義AEF和訪問控制模型之間的接口。該接口對于各種訪問控制模型來說,猶如一個軟總線,所有已實現了的訪問控制模塊通過它掛入策略判斷系統;該接口為AEF提供了統一的策略判斷調用界面,屏蔽了具體的訪問控制模型??梢哉f,ADF是各種模型和AEF之間的橋梁。因為ADF只是一個接口,所以必須通過調用具體訪問控制模型的決策函數才能完成策略判斷。各個模塊在實施策略判斷時,需要參考各自的訪問控制規則,它們保存ACI中。在本體系結構中,ACI只是一個文件,為了保證信息的安全性,它存放在特殊目錄中,并通過某種方式加以保護。
擴展的訪問控制體系結構通過內核安全模塊實現與操作系統的無縫集成,保證Linux系統安全性、高效率、用戶透明性,主要具有如下特點。
?、?可擴展性:該體系結構是開放的,可以根據應用需要添加其他的訪問控制模型,只要這些模型遵循ADF定義的接口規則,該規則定義了請求的類型,客體類型。ADF定義的請求類型和客體類型是所有模型實現訪問控制功能的基礎,必須基于這些定義實現訪問控制功能,才能集成到該框架中,以協同工作。
?、?靈活性:在該體系結構中可以實現多種訪問控制模型,用戶可以根據不同的管理需求選擇一種或多種模型,具有配置靈活性。
⑶ 功能強大:這依賴于各個訪問控制模型的功能。如基于用戶的訪問控制、基于角色的訪問控制、強制訪問控制、附加的訪問控制模型,可以克服現有系統在訪問控制方面的不足。
3 功能模塊的設計
遵循模塊化的設計思想實現擴展的訪問控制體系結構,將相關的功能單元在同一模塊中實現。功能模塊的劃分及其模塊之間的關系。
?、?文件系統訪問控制(File System Access Control,FSAC)增強模塊:在操作系統的安全功能之上提供一個安全保護層。通過修改文件系統相關的系統調用,在核心層截取文件訪問請求,然后利用訪問控制模型中的ACL(Access Control List),實施增強的訪問控制,以加強文件安全性、實現權限集中管理、限制root權限。
對于系統中的關鍵文件,如日志文件、口令文件、權限配置文件、安全模塊程序等,由于它們的作用至關重要,需要采取額外的措施加以更嚴格的保證,此部分功能由該模塊中的關鍵文件保護子層實現。文件系統保護是基礎服務,核心態下的其他功能模塊依賴于該模塊提供的保護功能[3]。
?、?進程保護模塊。傳統的Linux沒有提供進程保護機制。進程的屬主和root可以用命令或系統調用殺死正在運行的進程[4]。實際上,一些關鍵進程如數據庫守護進程、應用程序進程等應該一直運行,不能被殺死。因此采用進程防殺死技術和隱藏技術,以保護關鍵進程。
?、?自身保護模塊。內核模塊是實現訪問控制功能增強的載體,因此內核模塊的安全性直接影響訪問控制功能能否成功實施、甚至影響系統的安全。鑒于訪問控制增強模塊的重要性和內核模塊機制潛在的安全隱患,必須慎重考慮模塊的安全性問題,保證加載到核心的內核模塊安全,使其不被發現、不被惡意卸載、不被插入惡意模塊。為此,采用模塊隱藏和內核密封技術,以滿足系統模塊的安全性要求,增強系統自身的保護能力[5]。隱藏內核模塊,使其不可見,從而降低模塊的安全風險;內核密封,防止內核模塊的加載/卸載,阻斷惡意攻擊。另外,安全程序將放入特殊目錄,通過程序文件的保護,防止刪除安全程序。
?、?配置管理工具。該模塊運行在用戶態,為安全管理員提供制定訪問控制策略的界面,提供管理系統的接口。使用策略配置工具,可以添加、刪除、更新、顯示某個客體的訪問控制列表項,訪問控制列表項定義了哪個主體可以以何種權限訪問某個客體。使用管理工具,可以將系統密封或者解封,查看系統運行狀態,配置系統運行參數等操作。
4 結束語
本文針對Linux訪問時存在的安全缺陷,以通用訪問控制框架為基礎,設計并實現了Linux訪問控制增強系統,拓展了Linux系統在訪問控制方面的可擴展性,可適應性和靈活性。如實現的ACL模型,既可以根據訪問控制規則限制root權限,也可以基于單個用戶制定訪問控制策略。當然,也可以進一步實現其他更高級的訪問控制模型。實現的保護對象是文件和進程,對系統中的其他對象如設備、網絡、進程間通信也可以加以保護。比如,實現內核級防火墻對網絡實施訪問控制,從而提高網絡安全性。這些方面有待于后續進一步研究和實現。
參考文獻:
[1] 劉東輝,王樹明.Linux微內核模型[J].微計算機信息,2007.8(23):12-14
[2] 陳莉君.深入分析Linux內核源代碼[M].人民郵電出版社,2002.
[3] 陳嶺,陳根才.在Linux文件系統中增加ACL功能[J].計算機應用,2000.11(24):56-57
小編推薦優秀電子期刊 《電工技術學報》電力論文發表期刊
《電工技術學報》(雙月刊)創刊于1986年,由中國電工技術學會主辦,機械工業出版社出版的綜合性學術期刊。主要涉及:電機與控制、電器、電力電子技術、電力系統、工業自動控制、電工測試、理論電工、電氣絕緣、材料、信息化技術等。
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >