資訊與網路安全技術 第 十一章 入侵偵測與網路病毒  上一頁      下一頁

 

11-6 入侵偵測技術

內容:

  •  11-6-1 入侵偵測技術 - 簡介

  • 11-6-2 入侵偵測技術 - 特徵型

  • 11-6-3 入侵偵測技術 - 異常型

  • 11-6-4 入侵偵測技術 - 資料引擎

11-6-1 入侵偵測技術簡介

無論所蒐集到的『系統日誌』『網路日誌』『網路訊務』、以及『安全稽核』資料,還是必須經過分析才可以分辨出那些資料是屬於駭客入侵。目前 IDS 系統上有『誤用偵測』(Misuse Detection『異常偵測』(Anomaly Detection兩種主要辨識技術。在未介紹這兩種技術之前,首先需釐清『入侵行為』的概念?應如何由許多正當的資料之中分辨出來?我們可由兩個方面來思考:

  • 如果訊息的行為超出正常的行為範圍,或是訊息行為當中有『不應該出現的動作』,則判斷為入侵行為,這種方法稱為『異常偵測』技術。

  • 如果訊息的行為與其他入侵行為相同(或類似)時,則判斷為入侵行為,此種方法稱為『誤用偵測』或『特徵偵測』技術。

上述兩種偵測技術需要一套完善的『資料引擎』(Data Engine來實現,以下分別介紹之。

11-6-2 入侵偵測技術特徵型

『誤用偵測』(Misuse Detection又稱為『特徵型偵測』(Signature-based Detection或『知識基礎入侵偵測』(Knowledge-based Intrusion Detection),其實是用已知攻擊手法及系統漏洞的資訊為基礎,將網路攻擊或試圖利用系統安全漏洞入侵的過程中,將所可能產生的『特徵』集合成一個知識庫。IDS 將所有實際發生的事件(無論是否為攻擊事件)都與此知識庫進行特徵比對,作為評估是否為攻擊或可疑事件的依據。由此可見,『誤用』的邏輯思考為:除非攻擊動作具應有的特徵之外,所有動作都將會被視為合理正常的。

由此可見,誤用偵測與一般所熟悉的病毒掃描一樣,必須有足夠完整的『攻擊特徵』(Attack Signature知識庫,才能偵測出所有已知攻擊手法,並且必須定期下載最新的攻擊特徵,使可偵測出最新的攻擊手法。就現況而言,可供下載的攻擊特徵已超過 2000 個以上,相信還會不斷的成長;比對攻擊特徵遠比掃描病毒來得複雜許多,對於高速流量的網路設備而言,已漸漸會感覺到處理速度的不足。

11-6-3 入侵偵測技術異常型

傳統的『異常偵測』(Anomaly Detection採取異常行為偵測(Behavioral Anomaly Detection)的策略,此策略是假設每一個人行為模式都有固定的軌跡可尋,並認為經過一段時間的學習及觀察之後,理論上可以分析出使用者的『正常』與『合法』活動。當一些偏離這些平常活動的事件發生時,即意味著可能有資源被盜用或是潛在攻擊事件的可能。因此,所有和過去學習得來的行為模式資訊不符時,皆會被認定為潛在的可能入侵意圖。

由於網路間溝通,基本上是以通訊協定為基礎,理論上所有活動都必須依循通訊協定的要求進行,因此只要出現某些活動未依照規範進行時,即代表可能隱藏可疑的攻擊行為,這種做法被稱為『協定異常偵測』(Protocol Anomaly Detection

協定異常偵測可能會引發另一個疑問:既然所有網路活動都必須依循協定規範而為,違反協定規範的行為理應被接收端拒絕才對,如此又何必去偵測它呢?當然,理論上可能是如此,但實際上卻完全不是這麼一回事。由於許多網路服務或用戶端軟體的程式設計也有類似的想法,在撰寫程式時往往會假設或預期通訊的另一端『應該』會依照協定規範來進行通訊,因此就忽略了對方所傳送過來的資料是否依照協定規範來檢查,或是對預期之外的對話進行異常處理。此時,當接收到非標準規範的對話時,可能就會出現不可預期的結果,輕則程式停止運作,重則導致資料毀壞或執行不應該執行的程式,這些不可預期的結果往往就是攻擊者利用的目標。

事實上,許多安全弱點都是由使用者不正常操作狀況下,看到不正常反應之後發現的。惡意攻擊者多半利用這種手法,尋找系統的安全漏洞。譬如,攻擊者常利用特殊字元、過長參數、不正常路徑、或異常封包等方式,作為測試程式是否可以被利用進行攻擊的途徑。尤其目前『緩衝器溢位』(Buffer Overflow攻擊法就是在這種情況下被發揮的淋漓盡致,此種方法是攻擊者盡其可能嘗試每一個可以輸入參數的地方,並餵給可能超過長度的參數,再觀察該程式是否會因為預留的變數長度不足而產生緩衝器溢位的問題。由此可見,偵測異常協定也有相當好的偵測效果,尤其對某些具有清楚的狀態(State)的協定而言,透過協定異常偵測不僅可以偵測到可疑的異常事件,還可以偵測出攻擊者是否成功入侵。

譬如,駭客經常利用連接 POP3 伺服器時,使用過長的使用者名稱來測試系統的的弱點;一般 POP3 伺服器多半預留 100 Byte 作為儲存使用者名稱的空間,但當輸入名稱過長時,便會發生緩衝器溢位的問題。此時,POP3 伺服器的服務連線會中斷,而回到 Shell Script,結果駭客可不經由登入程序便進入系統。

當然協定異常偵測並不針對過長的參數而造成緩衝器溢位而已,許多其他異常現象也可以當作協定異常的判斷指標,譬如:

    • HTTPPOPIMAP 等協定中出現伺服器傳回的 Shell 提示字元時。

    • 嘗試使用伺服器不支援的指令

    • 伺服器出現超出協定範圍或預期的回應訊息

    • ICMP 封包超出正常比率值。

    • 封包重組會造成資料重疊或被覆蓋的現象時。

    • 來源 IPPort 與目的 IPPort 相同時。

    • 異常封包標頭

    • 參數中出現可執行的二進位檔時。

上述僅列出較常出現的範例,攻擊者多半會再研究出更多奇奇怪怪的非典型封包格式,來攻擊主目標系統。

11-6-4 入侵偵測技術 - 資料引擎

有了上述兩種檢測技術之後,接著必須探討如何將所蒐集的資料,利用這兩種技術分析找出入侵跡象。簡單的說,某一個資料處理設備具有異常偵測或誤用偵測處理能力,並可由一大筆的資料中,找出所期望的入侵訊息,一般將此設備稱之為『資料引擎』(Data Engine),常用技術如下:

  • 專家系統(Expert System):將非法行為(或合法行為)以規則化(Rule-basedif-then 敘述)建立推論引擎,每當事件發生時,再進入推論引擎內比對,找出可疑事件(或合法事件)。

  • 有限狀態機(Finite State Machine:以有限狀態機描述非法行為(或合法行為),並建立一個知識庫。當事件發生時,再依照事件運作的程序比對有限狀態是非法事件還是合法事件。

  • 統計分析(Statistical Measure):以統計技術為基礎,找出非法行為(或合法行為)的輪廓,並建立一個知識庫,當事件發生時,再比對該事件的輪廓是否為目標事件(合法或非法)。

  • 類神經網路(Neural Network):利用類神經網路的適應性學習技巧,學習現有的目標事件,使其改變各網路端點上的加權量,隨著學習事件越多,判斷非法事件(或合法事件)的準確度相對越高。

  • 資料探勘(Data Mining):資料探勘是目前最熱門的入侵偵測技術。它是由雜亂無章的資料內萃取所需資訊,經『分類』(Classification)後,再由『連結分析』(Link Analysis)與『序列分析』(Sequence Analysis)找出可疑目標。

以上僅列出較常見的資料引擎方法,並沒有詳述其相關技術;讀者對這方面有興趣的話,請自行參考其他相關文獻,本書限於篇幅無法一一介紹。

主講人:粘添壽博士

 

資訊與網路安全技術