• 沒有找到結果。

核心層模組(Kernel level module)

第五章、 系統架構

5.3 核心層模組(Kernel level module)

核心層模組的主要功能在於即時地偵測攻擊,包含產生 FSM 實體、攔截系 統呼叫、執行攻擊 FSM 實體的狀態轉換,處理合作攻擊。另外訓練正常行為資 料庫也是核心層模組的功能之一,這些模組的功能都將於本節中一一介紹。

5.3.1 正常行為收集模組(Normal Behavior Collector)

樣板檢驗模組中使用的正常行為資料庫,是由使用者在安全的環境下,由正 常行為收集模組記錄正常使用下之系統呼叫順序所建立出來的。使用此方式建立 正常資料庫的前提是系統必須處於安全、無攻擊之虞的環境下,蒐集到的正常資 料庫才有意義,檢驗攻擊樣板時才能精確地檢查出錯誤。

此訓練方式適用於任何應用程式,使用者可透過Wrapper Driver,在Wrapper Manager中設定紀錄正常系統呼叫的條件,例如指定收集某個程式執行的系統呼 叫。Wrapper Manager即可根據設定的條件呼叫正常行為收集模組為該應用程式 訓練出專屬的正常行為資料庫,如圖32所示。訓練資料庫的時間和資料庫的大小 亦可由使用者自行決定,訓練時間越久、資料庫越大,越能精確地檢驗攻擊樣板、

減少誤判情形。另外在測試階段時,若使用者發現正常行為資料庫中有不合實用 的資料,亦可對此資料庫進行更新的動作。

圖 32 正常行為資料庫之建立

5.3.2 合作攻擊處理模組(Co-operation handle module)

當我們的Wrapper Manager攔截到一個exec系統呼叫,經過與攻擊樣板的監 督條件比對,可以判斷是否要監督發出此exec的程式。若程式需要受監督,

Wrapper Manager會產生出監督這個程式的FSM實體。當這個程式執行fork系統呼 叫,合作攻擊處理模組會產生出子程式的FSM實體,同時也會產生出一個家族 FSM實體,如圖33所示。之後攔截到父程式執行的系統呼叫,合作攻擊處理模 組都會檢查父程式本身和家族的FSM實體。攔截到子程式執行的系統呼叫,則 會檢查子程式本身和家族的FSM實體,如圖34所示。

若是子程式再執行fork系統呼叫,則合作攻擊處理模組會產生出孫程式的 FSM實體,但不會再產生新的家族 FSM實體,而是會將孫程式的FSM實體和已 產生的家族FSM實體建立起關連,屬於同一個監督家族,如圖34。

由於家族成員都是由最早的一個程式所fork出來的,彼此間有合作進行攻擊 的可能。因此在家族FSM產生後,家族成員中的任何一個程式執行系統呼叫都 會參考家族FSM的轉換條件,故家族成員間彼此合作進行攻擊時,不管哪個家 族成員執行攻擊的步驟,都會使得家族FSM做狀態轉換,而無法逃過我們的偵 測。家族FSM實體必須等到所有家族成員皆執行結束,才會被系統刪除。

圖 33 合作攻擊處理模組

圖 34 合作攻擊處理模組

5.3.3 其他核心層模組

本節中我們將介紹其他核心層模組之功能以及各模組間的關係,包含 Wrapper Manager,Wrapper Driver,State Information center,這些模組皆以Wrapper Manager為中心來運作。

Wrapper Manager

當一個應用程式開始執行時,Wrapper Manager會檢查所有攻擊樣板中的監 督條件是否與此應用程式相符,如程式的uid、gid、command等等。例如圖29之

攻擊樣板,經由Wrapper Driver載入後便存在核心的攻擊樣板表(penetration template table)中,其監督條件為comm=wuftpd,因此任何人只要執行wuftpd這個 程式,便會在攻擊樣板表中找到符合監督條件comm=wuftpd之攻擊樣板圖29。此 時Wrapper Manager會動態地產生監督wuftpd的FSM實體,存在攻擊FSM實體表 (penetration instance table)中。當wuftpd執行結束,即發出exit系統呼叫時,Wrapper Manager便會將對應的FSM實體從攻擊FSM實體表中刪除。

Wrapper Manager根據FSM實體的目前狀態與轉換條件,檢查每個所攔截之 系統呼叫是否會使對應的FSM實體轉換到最終狀態。Wrapper Manager攔截到系 統呼叫,在呼叫原本核心中的系統呼叫函式之前,可先執行某些動作,例如設定

Wrapper Manager的另一個功能是根據使用者設定的條件,呼叫正常行為收 集模組,記錄下正常使用狀況下的系統呼叫順序,存到所訓練的正常行為資料庫 中。

Wrapper Driver

Wrapper Driver是使用者層元件與核心層元件溝通的橋樑,提供各種命令給 使用者層元件呼叫。使用者可利用這些命令設定訓練正常行為資料庫的條件,亦 可管理、載入攻擊樣板於核心。

State Information center

State Information center是核心元件中儲存資訊的地方,包含儲存被載入之攻 擊樣板的攻擊樣板表,儲存FSM實體之攻擊FSM實體表,目前所監督之程式列 表,目前所監督之系統呼叫列表,以及各個FSM實體的目前狀態。

第六章、實驗與評估

在這個章節,我們將做一些實驗來證明我們提出之系統的效能與可行性。6.1 介紹實驗的環境,包含使用的硬體、作業系統以及實驗的方法。有效率的入侵偵 測防禦系統在即時偵測攻擊時,必須避免對系統造成太大的負擔,6.2中將討論 我們的系統執行時間上的負擔(overhead)。6.3中介紹實際利用使用者訓練出來的 正常行為資料庫來檢驗出不當攻擊樣板的實例。6.4中,我們使用蓄意規避偵測 的攻擊行為,證明我們的系統可以防止這些規避行為,更為精確地偵測出攻擊。