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