保密性安全模型Bell-LaPadula模型?

經典的資訊保密性安全模型Bell-LaPadula模型指出,程序是整個計算機系統的一個主體,它需要通過一定的安全等級來對客體發生作用。程序在一定條件下可以對諸如檔案、資料庫等客體進行操作。如果程序用作其他不法用途,將給系統帶來重大危害。在現實生活當中,許多網路黑客都是通過種植“木馬”的辦法來達到破壞計算機系統和入侵的目的,而這些“木馬”程式無一例外的是需要通過程序這一方式在機器上執行才能發揮作用的。另外,許多破壞程式和攻擊手段都需要通過破壞目標計算機系統的合法程序尤其是重要系統程序,使得系統不能完成正常的工作甚至無法工作,從而達到摧毀目標計算機系統的目的。作為伺服器中佔絕大多數市場份額的Linux系統,要切實保證計算機系統的安全,我們必須對其程序進行監控和保護。通過綜合採用使用者級別的top、ps等系統工具以及Linux核心防護技術,我們可以從使用者/核心兩個層次全方位地保護Linux系統中重要系統程序以及使用者程序的安全性。

使用者級程序監控工具

Linux系統提供了今幸膠囊-人蔘皁苷rh2: jiankang567.com who、w、ps和top等察看程序資訊的系統呼叫,通過結合使用這些系統呼叫,我們可以清晰地瞭解程序的執行狀態以及存活情況,從而採取相應的措施,來確保Linux系統的安全。它們是目前在Linux下最常見的程序狀況檢視工具,它們是隨Linux套件發行的,安裝好系統之後,使用者就可以使用。

1、who命令:該命令主要用於檢視當前在線上的使用者情況。系統管理員可以使用who命令監視每個登入的使用者此時此刻的所作所為。

2、w命令:該命令也用於顯示登入到系統的使用者情況,但是與who不同的是,w命令功能更加強大,它不但可以顯示有誰登入到系統,還可以顯示出這些使用者當前正在進行的工作,w命令是who命令的一個增強版。

3、ps命令:該命令是最基本同時也是非常強大的程序檢視命令。利用它可以確定有哪些程序正在執行及執行的狀態、程序是否結束、程序有沒有僵死、哪些程序佔用了過多的資源等。ps命令可以監控後臺程序的工作情況,因為後臺程序是不和螢幕鍵盤這些標準輸入/輸出裝置進行通訊的,如果需要檢測其情況,可以使用ps命令。

4、top命令:top命令和ps命令的基本作用是相同的,顯示系統當前的程序及其狀態,但是top是一個動態顯示過程,可以通過使用者按鍵來不斷重新整理當前狀態。如果在前臺執行該命令,它將獨佔前臺,直到使用者終止該程式為止。比較準確地說,top命令提供了實時的對系統處理器的狀態監視。它可以顯示系統中CPU最“敏感”的任務列表。該命令可以按CPU使用、記憶體使用和執行時間對任務進行排序,而且它的很多特性都可以通過互動式命令或者在個人定製檔案中進行設定。

需重點監控的一些程序

由上面的介紹可知,Linux提供的這些命令都能提供關於程序的一些資訊,可以通過它們檢視系統當前的程序狀況,也可以找出那些佔用了過多系統資源的程序並結束該程序。它們的優點在於速度快,透明性好,直觀明瞭。下表給出了Linux系統中較為常見的重要的程序(沒有完全列出,使用者可以參考相應的資料),使用者可以採用上述工具來實時的監測這些重要程序的情況,並採取相應的防護措施。

系統呼叫存在缺點

我們上述所介紹的程序監控方法和工具都是基於呼叫作業系統給我們提供的相應的API介面函式或者系統呼叫來實現的。我們所得到的只是介面函式處理後的結果,不能夠主動地從作業系統核心的程序資料結構當中獲取我們需要的資訊。因而,它們具有如下缺點:

1、傳統的程序監控方法執行效率比較低,同時反應時間也比較長,實時效能差。

2、不能夠實時、今幸膠囊-人蔘皁苷rh2高效地向用戶報告當前系統執行的安全狀況,就算系統中有不法程序在執行,系統也不能識別出來。

3、不能給使用者捕捉不法程序的行為提供證據和程序的活動軌跡。當一個不法程序執行並對系統產生破壞時,使用者即使通過察看程序列表找到了不合法的程序,也不清楚到底從程序開始執行直到捕捉到這樣一個不法程序這樣一段時間內,程序都對系統造成了哪些破壞,比如說,訪問、修改了哪些重要的系統檔案,佔用了哪些系統資源等等。這些都給以後的恢復和處理工作帶來了很大的問題。

4、執行程式工作在使用者態,本身就不安全,入侵系統的黑客可以輕鬆地找到這些程序監控程式的磁碟映像,進行刪除甚至替換,從而會給系統帶來不可估量的損失。這一點尤其需要強調,比如說,黑客入侵系統成功,就可以植入他們所改寫的ps程式以替換原來系統的ps程式,這樣就使得使用者不能通過該工具得知系統中當前執行的不法程序,這樣無論黑客如何植入木馬或者其他程式,使用者都無法知道,從而無法採取措施終止這些行為。不言而喻,這樣的後果是很嚴重的。而在我們下面所要介紹的一種運行於核心的程序監控程式當中,黑客根本無法或者很難深入核心來破壞該程序監控程式,從而使其能夠很好地保證自身的安全。

基於上述種種不足,我們提出了在今幸膠囊-人蔘皁苷rh2: jiankang567.com/tz/j01.htm Linux核心中實現程序實時監控的原理和技術。該技術主要分為以下幾個步驟:

首先,在“乾淨”的系統環境下,全面地執行系統中的安全程序,分析和蒐集Linux環境下這些程序的相關資訊(包括程序ID號、程序名稱、程序可執行映像、程序的開始時間、程序的父程序等主要資訊),形成一張“系統安全程序列表”,作為程序監控的依據。

接著,監控程式碼在程序排程過程中實時地蒐集系統中執行程序的資訊。如果發現程序不在 “系統安全程序列表”當中,則馬上通過終端輸出該程序的PID號、名稱、程序的可執行映像等資訊,或者通過聲音向用戶報警,等待使用者處理,在這個等待的過程中,終止排程該程序,直到使用者做出響應(放行該程序或者殺死該程序)。

在第二步當中,如果超級使用者(系統管理員)放行了該程序,則可以將該程序加入“系統安全程序列表”,以完善該列表;如果是一般使用者在使用過程當中放行了某個程序,那麼,需要將該使用者的使用者名稱和身份記錄下來,並且將放行的程序記錄下來存為日誌,那麼,當超級使用者(系統管理員)無論是在稽核使用者行為還是在修改“系統安全程序列表”時,都是一個有力的依據。

另外,在系統執行過程當中,如果發現“系統安全程序列表”當中的某些重要的程序 (包括kswapd、bdflush等)不在執行,則馬上將該程序“遺失”的資訊存入檔案,以備在系統的恢復過程當中,對它們進行鍼對性的恢復,根據不同的情況,有的需要馬上停機,恢復程序,有的則可以現場恢復。

相關問題答案