專利名稱:向計算機內(nèi)部存儲器核心空間植入安全功能模塊的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種向計算機系統(tǒng)內(nèi)部存儲器核心空間植入安全功能模塊的方法。
由于對計算機系統(tǒng)資源比如外部存儲器,網(wǎng)絡(luò)設(shè)備,顯示設(shè)備等的訪問必須使用內(nèi)存核心空間提供的系統(tǒng)服務(wù),因此在內(nèi)部存儲器核心空間實現(xiàn)安全功能是設(shè)計安全計算機的一種主要方式。操作系統(tǒng)在計算機啟動以后會把自己放到核心空間中去,因此目前向計算機內(nèi)存核心空間植入安全功能的方法都是通過修改操作系統(tǒng)源代碼來實現(xiàn)的。
操作系統(tǒng)分為開放源代碼與不開放源代碼兩種。
對于開放源代碼的操作系統(tǒng),比如Linux,F(xiàn)reeBSD等,目前在計算機內(nèi)部存儲器核心空間實現(xiàn)安全功能的做法是,對該操作系統(tǒng)的源代碼進行大范圍的修改。這種修改是分散的,即對需要加強安全控制的地方,加入代碼片段。其次,修改源代碼以后,用戶需要重新編譯和裝配操作系統(tǒng)核心,才能使該計算機系統(tǒng)具有安全功能。使用該方法的例子有美國國家安全局提供的安全增強型Linux操作系統(tǒng)(Security-enhanced Linux)。這種方法存在著明顯的不足,首先,隨著操作系統(tǒng)的不斷升級,安全代碼也要不斷修改,即使是操作系統(tǒng)源代碼只有幾行的改動,增加安全功能的修改工作也要重新設(shè)計;其次,由于修改過程是分散的,導(dǎo)致安裝過程非常復(fù)雜;再次,部分系統(tǒng)服務(wù)的功能和方式被修改,使計算機系統(tǒng)中原有的二進制應(yīng)用不得不重新編寫,重新編譯才能在該系統(tǒng)上運行,破壞了系統(tǒng)的可用性。
對沒有開放源代碼的操作系統(tǒng),比如AIX,SCO Unix,甚至最流行的Windows等,前面提到的修改操作系統(tǒng)源代碼的方法,普通計算機用戶就不能采用了,只能依賴操作系統(tǒng)生產(chǎn)廠家提供具有安全功能的該操作系統(tǒng)的增強版。
為實現(xiàn)上述目的,向計算機內(nèi)部存儲器核心空間植入安全功能模塊的方法包括利用計算機系統(tǒng)提供的裝載二進制模塊的指令,將安全功能模塊植入計算機內(nèi)部存儲器中的核心空間。
由于構(gòu)造安全功能模塊的過程與操作系統(tǒng)源代碼無關(guān),因此不受有無操作系統(tǒng)源代碼的限制。該方法不需要改動操作系統(tǒng)的源代碼,更不需要重新編譯和安裝操作系統(tǒng)核心,不會隨著操作系統(tǒng)的不斷升級而不斷重新設(shè)計安全功能模塊。
發(fā)明的
具體實施例方式
如
圖1所示,一個完整的安全功能模塊由規(guī)則庫,系統(tǒng)信息庫,日志空間,MLS檢查,ACM檢查,DEV檢查,INT檢查等子模塊組成。本發(fā)明利用計算機系統(tǒng)提供的向內(nèi)部存儲器核心空間裝載二進制代碼的指令,將一個完整的安全功能模塊植入內(nèi)存的核心空間中,在不破壞計算機原有的系統(tǒng)服務(wù)的前提下,使該計算機系統(tǒng)具有安全功能。
參考圖2,安全功能模塊的規(guī)則庫存儲著實現(xiàn)安全策略的安全規(guī)則。用戶根據(jù)自己的實際需要,制定安全策略,比如多安全級(Multi-level security)的安全策略,基于角色(Role-based)的安全策略,基于規(guī)則(Rule-based)的安全策略等。以多安全級策略為例,該策略對各種被訪問對象都設(shè)置了一個安全級別,只讀(Read only)操作的規(guī)則可以表示為用戶A訪問系統(tǒng)資源B,當(dāng)且僅當(dāng)A的安全級大于等于B的安全級。
系統(tǒng)信息庫中記錄了系統(tǒng)中各個系統(tǒng)資源的詳細描述。比如用戶信息包括,用戶的安全級別,用戶的角色(系統(tǒng)管理員,系統(tǒng)用戶,安全管理員等),該用戶與其他用戶的關(guān)系(同組,不同組等),該用戶使用網(wǎng)絡(luò)設(shè)備的方式,端口范圍等。再比如系統(tǒng)文件信息,包括文件類型(套接字,先進先出,符號連接等),文件所在物理存儲器的信息(主設(shè)備號,次設(shè)備號,區(qū)號等)。
日志空間主要提供了一個記錄安全日志的先進先出(FIFO)隊列。安全功能模塊對每一個系統(tǒng)請求進行安全檢查,當(dāng)發(fā)現(xiàn)一個請求違反了某一安全規(guī)則時,會對該請求做記錄。記錄內(nèi)容包括,請求動作發(fā)生的時間,請求者,請求訪問的方式,請求被訪問的系統(tǒng)資源等信息。
MLS多安全級檢查是根據(jù)用戶的安全級別進行訪問控制的一種檢查手段。系統(tǒng)中每個用戶擁有一個安全級,每個資源也有一個安全級。當(dāng)用戶訪問一個系統(tǒng)資源,比如文件,目錄,設(shè)備等的時候,MLS檢查會根據(jù)安全規(guī)則比較該用戶的安全級和要被訪問的系統(tǒng)資源的安全級。比如只有當(dāng)訪問者的安全級等于或高于該系統(tǒng)資源時,只讀訪問才能通過。只有當(dāng)訪問者的安全級等于該系統(tǒng)資源時,只寫訪問才能通過。
ACM是訪問控制矩陣的縮寫,該矩陣詳細規(guī)定了用戶與資源之間的訪問方式,MLS確定了哪些用戶可以訪問哪些資源,ACM則規(guī)定了用戶能用怎樣的方式訪問,比如只讀,只寫,讀寫,追加等。矩陣的二維坐標分別表示訪問動作的執(zhí)行主體和被訪問資源,矩陣的交叉點記錄的是訪問方式。
DEV檢查主要對系統(tǒng)硬件資源,比如終端,打印機,其他串、并口,USB接口設(shè)備等的訪問進行安全檢查。DEV檢查根據(jù)安全策略的規(guī)定,確定哪些用戶可以以哪些方式訪問哪些設(shè)備。
INT檢查是完整性檢查的意思,是對每個系統(tǒng)資源根據(jù)實際需要設(shè)置一個完整性值,每次對資源有所修改的訪問都會導(dǎo)致完整性的變動,當(dāng)規(guī)定了完整性范圍后,某些改動就被限制,比如把主頁設(shè)置成絕對完整性,即禁止任何人以任何方式修改該文件內(nèi)容和文件屬性,那么對該主頁的任何改動就都被禁止了,比如寫,刪除等訪問方式。
安全功能模塊的檢查工作分為以下幾個步驟a.首先是MLS檢查,先判斷訪問對象,如果被訪問對象是設(shè)備的話,交給DEV檢查子模塊,否則進行MLS檢查,檢查通過,該請求交給ACM檢查子模塊,否則禁止該訪問。
b.然后是ACM檢查,檢查通過,該請求交給INT檢查子模塊,否則禁止該訪問。
c.ACM檢查通過以后,該請求繼續(xù)傳給完整性檢查子模塊INT,完整性檢查通過以后,用戶就可以對系統(tǒng)資源進行訪問了,否則禁止該訪問。
d.如果被訪問對象是設(shè)備的話,DEV檢查通過以后,用戶就可以訪問目標設(shè)備了,否則禁止該訪問。
安全功能模塊的植入利用了系統(tǒng)向核心空間植入模塊的指令。植入安全模塊前后的計算機系統(tǒng)如附圖3a和3b所示。安全功能模塊植入核心空間以后,對核心空間的系統(tǒng)服務(wù)進行修改,使該計算機系統(tǒng)具有安全功能。
以運行Linux操作系統(tǒng)的計算機為例根據(jù)實際需要設(shè)計一個安全功能模塊,該模塊提供完整性保護,保密性保護等安全功能。用Linux系統(tǒng)提供的insmod命令植入安全功能模塊,這時系統(tǒng)中的部分涉及安全問題的系統(tǒng)服務(wù)植入了安全保護二進制代碼。
本發(fā)明的優(yōu)點在于1.現(xiàn)有的在計算機系統(tǒng)內(nèi)部存儲器核心空間實現(xiàn)安全功能的方法必須修改源代碼,因此不能用于不提供源代碼的操作系統(tǒng),而目前國內(nèi)使用的絕大多數(shù)操作系統(tǒng)比如Windows是不提供源代碼的。本發(fā)明提供的方法與操作系統(tǒng)源代碼無關(guān),因此適用范圍廣,具有很高的現(xiàn)實意義。
2.這種植入安全功能的方法,由于構(gòu)造安全功能模塊的過程與操作系統(tǒng)源代碼無關(guān),因此不受有無操作系統(tǒng)源代碼的限制。該方法不需要改動操作系統(tǒng)的源代碼,更不需要重新編譯和安裝操作系統(tǒng)核心,不會隨著操作系統(tǒng)的不斷升級而不斷重新設(shè)計安全功能模塊,因此容易實現(xiàn)。
3.該方法對外部存儲器中存儲的操作系統(tǒng)二進制文件,系統(tǒng)文件等所有信息不做任何改動,卸載后在計算機內(nèi)存核心空間中也不會留下任何改動的痕跡,所以對計算機系統(tǒng)的影響降到最小。
4.植入安全功能模塊以后,計算機系統(tǒng)提供的各種服務(wù)在沒有違反安全規(guī)則的情況下,原服務(wù)的功能和方式不會受到任何影響,因此計算機系統(tǒng)中的原有的二進制應(yīng)用都可以繼續(xù)運行。
5.植入安全功能模塊以后,計算機系統(tǒng)提供的各種服務(wù)在原有的基礎(chǔ)上增加了安全保護功能,比如完整性保護,保密性保護等,對于“特洛伊木馬”,篡改主頁,竊取文件等網(wǎng)絡(luò)入侵和攻擊具有抵御功能,可以保護文件、目錄,設(shè)備、網(wǎng)絡(luò)端口等系統(tǒng)資源免受侵害。
權(quán)利要求
1.一種向計算機內(nèi)部存儲器核心空間植入安全功能模塊的方法,其特征在于利用計算機系統(tǒng)提供的裝載二進制模塊的指令,將安全功能模塊植入計算機內(nèi)部存儲器中的核心空間。
2.按權(quán)利要求1所述的方法,其特征在于所述安全功能模塊包括規(guī)則庫,用于存儲實現(xiàn)安全策略的安全規(guī)則;系統(tǒng)信息庫,用于紀錄系統(tǒng)中各個系統(tǒng)資源的詳細描述;日志空間,用于提供紀錄安全日志的先進先出隊列。
3.按權(quán)利要求1或2所述的方法,其特征在于所述功能塊還包括多安全級檢查,用于檢查用戶的安全級別;訪問控制矩陣,規(guī)定用戶的訪問方式;硬件檢查,確定用戶可以以哪些方式訪問哪些設(shè)備。
4.按權(quán)利要求1所述的方法,其特征在于所述安全模塊還包括完整性檢查,所述的安全檢查對系統(tǒng)資源設(shè)置一個完整性范圍。
全文摘要
一種向計算機內(nèi)部存儲器核心空間植入安全功能模塊的方法,包括利用計算機系統(tǒng)提供的裝載二進制模塊的指令,將安全功能模塊植入計算機內(nèi)部存儲器中的核心空間。由于構(gòu)造安全功能模塊的過程與操作系統(tǒng)源代碼無關(guān),因此不受有無操作系統(tǒng)源代碼的限制。該方法不需要改動操作系統(tǒng)的源代碼,更不需要重新編譯和安裝操作系統(tǒng)核心,不會隨著操作系統(tǒng)的不斷升級而不斷重新設(shè)計安全功能模塊。
文檔編號G06F12/16GK1417688SQ01134530
公開日2003年5月14日 申請日期2001年11月5日 優(yōu)先權(quán)日2001年11月5日
發(fā)明者徐志偉, 李丙辰 申請人:中國科學(xué)院計算技術(shù)研究所