任志欽
【摘 要】隨著計算機網絡技術的發展及其應用范圍的擴大,服務器信息安全問題也得到人們的廣泛關注。當前,服務器系統會受到病毒、木馬等惡意程序的攻擊,而為確保信息的安全,操作系統就需要從內核層出發,準確鑒別并控制對服務器安全造成威脅的主體與客體,并在內核層強制訪問控制文件、注冊表及進程等。本文從網絡隱蔽通信及系統資源等方面入手,就服務器操作系統安全內核的設計與實現展開探究。
【關鍵詞】服務器系統 安全內核 探究
服務器系統指的是安裝在服務器上的操作系統,需要承擔其額外的管理、配置、安全等功能,處于每個網絡中的心臟部位。近年來,隨著計算機網路技術的普及,服務器系統也發揮出日益重要的作用,操作系統安全更是各大企事業單位信息系統的安全保障。其中,服務器主要受到來自內部與外部的攻擊,進而威脅到系統的安全。在此種情況下,就需要采取有效的安全內核加固技術,通過對系統信息實體操作流程進行截獲,增加信息訪問的安全標識來彌補自主訪問控制模式存在的不足等,從而大大增強服務器系統的安全性。
1 服務器安全加固系統的設計原理及總體架構
本文以浪潮集團研發的SSR服務器安全加固系統為例展開研究。在此系統中,其架構主要分為兩層:驅動層與應用層。其中,應用層需與服務器展開通信,獲取其系統資源信息。通過網絡通信,管理平臺上的客戶端便可獲得服務器桑的文件及注冊表等信息,進而下發相應的策略等。操作系統安全內核具備系統加載時的驗證、對運行權限的控制及對文件的驗證,以及強制訪問控制等功能。在應用層面,此系統應用的通信機制為Client/Server,可實現安全審計、系統自身保護以及強制訪問控制等服務器安全內核要求的所有功能。其中,通過對服務強制訪問控制,可在內核層階段便有效控制惡意代碼的運行;建立系統管理權限機制,可實現操作人員“最小授權”。系統應用層采用的架構為C/S,在客戶端管理平臺上控制服務器資源訪問[1]。
對服務器系統安全內核的工作原理,系統在訪問資源時,首先需要經過安全內核,其強制訪問功能主要按照各個資源的安全標記進行。在控制端,系統管理員對服務器下發有關權限管理額指令,并審計管理資源訪問。對于B2等級操作系統而言,需分析隱蔽信道。此外,為防范計算機病毒產生的威脅,還需底層文件的網絡驅動與系統驅動實現安全保護。加載文件驅動后,便可對加載的所有系統分區進行攔截,同時控制IRP的分發。系統服務調度表,也即SSDT,會將本地系統服務地址保存下來,對函數內存地址展開定位。采用NDIS網絡驅動來控制網絡通信,并利用密碼及USB-KEY來對管理員身份及登陸過程展開認證。
2 服務器系統資源保護在內核中的實現
在訪問系統資源時,首先需經過安全內核的保護,啟動系統后,先要加載文件的默認規則。管理控制端與服務器相連接后,便可得到服務器上的信息,并對服務器上的資源下發運行策略。
服務器系統內核層規則的保存形式為Hash表,以規則文件為依據,將規則客體的Hash值計算出來,并將其保存至內存規則的列表中。收到規則后,驅動層便會將內存中的規則鏈表進行更新在對比文件規則時,需對運行文件及相應進程進行比較。只有文件與進程與規則張的主體及客體安全一直是,才可應用規則中的訪問權限,也即安全標志運行。內核安全系統對服務器操作系統的資源展開了嚴格訪問及運行規則,同時嚴格控制、審計進程文件及加載運行。為促進操作系統效率,以及與防病毒軟件兼容性的提高,采用了對可信進程訪問操作系統資源均放行的進程白名單機制[2]。
在開展注冊表安全防護時,主要將CmRegistry Callback例程應用在了Vista及以上版本中。在例程的回調函數內,以參數判斷操作類型為依據,對比用戶密碼、注冊表規則等,將凈值等值返回。對于內核級強制訪問控制,其功能主要是允許不同進程以只讀或禁用的訪問權限來設置注冊表項的訪問規則。在函數內部,昂得到注冊表操作進程的全路徑后,比較內存規則鏈中相應項,若比較符合,則采取規則鏈中的動作值來控制注冊表項的操作。
為避免進程資源被病毒感染,就要截獲應用層Write Process Memory等函數,并在核心層截獲Zw Write Virtual Memory等例程[3]。
內存鏈表中的文件規則主要由運行文件進程主題名、文件客體全路徑名、訪問權限等多元參數組成。在截獲函數中,以參數及例程的上下文為依據,便可得到文件的進程名與全路徑名。此外,低層驅動對活動進程的文件與鏈表等起維護作用,對于驅動服務的加載,系統內核層默認時拒絕,系統管理員對是否更改加載規則等,可通過操作允許防病毒軟件展開正常運行。對于驅動底層而言,其難點便是比較各項資源主體及客體的效率。驅動層原來采用SSDT HOOK的方法來對比文件,后改為IRP Dispatch HOOK的對比方法,對于注冊表的鍵值,則按照規則禁用的方法,在注冊表項應截獲函數內,獲得了注冊表的主客體,并采取相應規則內的動作來比較注冊表規則,大大提升了各項資源的Hash計算效率。
3 結語
綜上所述,安全內核是為操作系統提供服務的重要系統,構建可信的操作系統,安全內核需具備對系統引導、運行時文件控制、強制訪問控制等多方而的控制檢驗的功能。只有這樣,才能進一步促進服務器系統安全性的提高,為企事業單位工作的順利開展及信息安全提供充分保障。
參考文獻:
[1]韓立毛,趙躍華,馬祥順.嵌入式操作系統的內核安全研究與設計[J].計算機工程與設計,2010,31(14):234-235.
[2]張濤,余煬,李弋.Linux服務器安全審計系統的設計與實現[J].計算機應用與軟件,2014,31(05):18-21.
[3]陳偉東,王超,張力.服務器系統安全內核研究與實現[J].計算機應用與軟件,2013,30(03):305-307.