• 沒有找到結果。

相關入侵偵測技術(Related IDS Techniques)

第三章、 相關研究

3.1 相關入侵偵測技術(Related IDS Techniques)

第二章中我們簡介過許多入侵偵測的分析方法,在本節中,將詳細介紹與本 論文的實作直接相關的兩種入侵偵測技術。

3.1.1 N-gram 技術

一個惡意的破壞程式要對系統造成傷害,必須執行某些特權的動作來存取系 統資源,而在現今的作業系統中,要存取系統資源唯一的方法是透過作業系統所 提供的系統呼叫。因此,以檢查監督每個程式的系統呼叫來控管安全性是非常可 行的方法,許多入侵偵測系統也朝著這個方向來設計,把系統呼叫作為資料特徵 來分析。

N-gram技術是由Stephanie Forrest等人最早在1996年提出[18],並在1998年提 出改進[17]。此技術以分析系統呼叫來設計入侵偵測系統,他們在2000年時提出 以此技術為基礎的pH(process homeostasis) IDS[1]。這個方法屬於anomaly IDS,

觀察程式執行時呼叫的系統呼叫所形成之系統呼叫順序(system call sequence),

即根據程式執行了哪些系統呼叫,加以分析後判斷它的合法性。它為每一個特權 程式(privileged processes)建一套正常行為資料庫(self database),這個資料庫是根 據每個程式在特定的硬體架構、軟體版本和設定,在正常的使用狀況下建立出來 的。表1 是一個建立正常行為資料庫的例子,由以下的系統呼叫順序所建立出來:

open,read,mmap,mmap,open,getrlimit,mmap,close

表 1 N-gram 建立正常行為資料庫第一回合 第一個回合,window size=k+1=4,故觀察到第四個系統呼叫mmap,呈現的是前 四個系統呼叫的關係,open後面跟的依序為read,mmap,mmap,而read後面則

mmap mmap open getrlimit

open getrlimit mmap

close

getrlimit mmap close

close

將正常行為資料庫建立起來後,即可用來和執行時的系統呼叫進行比對,因 為在此只看呼叫之系統呼叫的順序,不看所傳的參數,所以對監督程式來說,要 做的工作只有攔截系統呼叫、與正常資料庫比對。若有一個新執行的系統呼叫順 序:

open,read,mmap,open,open,getrlimit,mmap,close

與表2的正常行為資料庫比對,可發現有四個不吻合的地方:

(1) 表2 open在position 3的位置並沒有open。

(2) 表2 read在position 2的位置並沒有open。

(3) 表2 open在position 1的位置並沒有open。

(4) 表2 open在position 2的位置並沒有getrlimit。

此種N-gram的比對方式,因為只需比對系統呼叫順序,優點是簡單有效率,

而偵測率和window size N有很大的關係,window size越大,對正常行為的要求 就越嚴謹,因為要很長一串都完全吻合才算正常,如此可以提高偵測的效果,但 相對的也會提高誤判率。

然而此方法只有比對系統呼叫順序,並沒有檢查系統呼叫所帶的參數,在偵 測攻擊上稍嫌不足,有些攻擊者會利用合法的系統呼叫卻帶不合法的參數來進行 攻擊。另外,若從它的正常行為資料庫(如表2)中選一些不影響攻擊效果的系統 呼叫塞進攻擊樣式裡,只要讓它超過window size,造成攻擊樣式被分散開來,

它便無法偵測出攻擊了,這也是此種偵測方式的缺點。

3.1.2 以狀態轉換為基礎之技術

(State-Transition-Based Technique)

有限狀態機(Finite state machine,FSM)的運作是用一群各自不同的狀態以及 描述一些觸發事件所組成的狀態轉換,各個狀態間皆有某種關係,且這些關係就 是觸發狀態轉移的事件。我們可以將入侵行為看成一連串的狀態轉換,以有限狀 態機來描述一個攻擊行為,如圖9是一個以狀態轉換來描述病毒感染的例子。本 小節中,我們將介紹以狀態轉換為基礎的入侵偵測技術。

圖 9 以 FSM 描述攻擊行為--病毒的感染

使用FSM的分析方法中比較著名的系統有由Reliable Software Group此單位 所研究的STAT(State Transition Analysis Tool)[14][20],有許多研究也是以STAT 為基礎,如STBIPW[24]。STAT使用圖形化的狀態轉換表示法,能夠比Rule-based 方法更為直覺地描述複雜的入侵行為。在及時的環境中,STAT可利用已對一使 用者監聽紀錄下的資訊來追蹤該使用者的行為,並且判斷使用者目前的動作是否 會對系統安全造成威脅。

STAT的架構與傳統的IDS架構非常類似(如圖10所示),監聽資料前置處理器 (audit record preprocessor)將原始的監聽資料重整為系統可處理的格式。資訊庫 (knowledge base)包含了規則庫(rule base)和參數庫(fact base)兩部份。規則用來建 立使用者行為和狀態轉換的關係,參數則是系統特定的資訊。介面引擎(inference engine)讀取所有的規則與監聽資料來判斷是否有入侵行為。若有可能的入侵行為 符合規則,介面引擎便會對決策引擎(decision engine)發出警報,由決策引擎決定 如何處理。

圖 10 STAT 架構

STAT能夠進行on-line和off-line的入侵分析。在off-line模式中,STAT分析已 儲存的監聽資料來追蹤有嫌疑的非法行為。在on-line模式中,每個入侵規則都會 被轉換為一個入侵樣板外掛模組(plugin),動態地載入STAT的核心中。當蒐集到 監聽資料時,會立刻送到這些外掛模組,即時地進行入侵偵測分析。

圖11將STAT當成一個元件,與其它入侵偵測元件整合成一個大型的入侵偵 測系統,結合了多種入侵偵測技術將使得偵測能力更為強大。

STAT將攻擊行為以狀態轉換來表示,優點是攻擊描述簡單且直覺,讓使用 者可以更容易的用狀態轉換圖來取代撰寫文字式的規則,省去學習描述攻擊行為 語言的時間,另外也因其簡單的特性,偵測攻擊時只需看下一個轉換狀態的條件,

非常有效率。但STAT也受到FSM先天上的限制,在強度上稍嫌薄弱,例如沒有 記憶功能,可能讓攻擊者利用繞路來達成攻擊,在4.2中我們會討論此種攻擊與 防治的方法。

圖 11 入侵偵測元件組織圖

3.2 基於人體免疫系統之入侵偵測系統