1. 程式人生 > >異常檢測之淺談入侵檢測

異常檢測之淺談入侵檢測


這裡寫圖片描述
開啟微信掃一掃,關注微信公眾號【資料與演算法聯盟】

轉載請註明出處:http://blog.csdn.net/gamer_gyt
博主微博:http://weibo.com/234654758
Github:https://github.com/thinkgamer

前言

由於業務關係,最近一段時間一直在關注入侵檢測技術方面的知識,經過了最近一天的學習與調研,在大體上還是有了一定的瞭解與研究,下面就分享一下我得學習成果,當然大部分知識都是從網上進行收集和整理的,當然加上了自己的一些想法

什麼是入侵檢測

      入侵檢測(Intrusion Detection )是對入侵行為的檢測。它通過收集和分析計算機網路或計算機系統中若於關鍵點的資訊,檢查網路或系統中是否存在違反安全策略的行為和被攻擊的跡象。入侵檢測作為一種積極主動的安全防護技術,提供了對內部攻擊、外部攻擊和誤操作的實時保護,在網路系統受到危害之前攔截和響應入侵入侵檢測技術雖然也能夠對網路攻擊進行識另拼作出反應,但其側重點還是在於發現,而不能代替防火牆系統執行整個網路的訪問控制策略。
      入侵檢測系統(intrusion Detection System ,IDS)是對計算機和網路資源的惡意使用為進行識別的系統;它的目的是監測和發現可能存在的攻擊行為,包括來自系統外部的入侵行為和來自內部使用者的非授權行為,並且採取相應的防護手段。

入侵檢測系統的分類

一:按檢測分析方法分類

1:異常檢測

      基於異常的入侵檢測方法主要來源於這樣的思想,任何人的正常行為都是有一定的規律的,並且可以通過分析這些行為的日誌資訊型總結出這些規律,而入侵和濫用行為規則通常和正常的行為存在嚴重的差異,通過檢查這些差異就可以判斷是否為入侵。總之,一場檢測基於這樣的假設和前提:使用者活動是有規律的,而且這種規律是可以通過資料有效的描述和反映;入侵時異常活動的子集和使用者的正常活動有著可以描述的明顯的區別。
      異常監測系統首先經過一個學習階段,總結正常的行為的輪廓成為自己的先驗知識,系統執行時將資訊採集子系統獲得並預處理後的資料與正常行為模式比較,如果差異不超出預設閥值,則認為是正常的,出現較大差異即超過閥值則判定為入侵。

這裡寫圖片描述

      異常檢測系統有如下特點:
      1):檢測的效率取決於使用者輪過的完備性和監控的頻率,因為不需要對每種入侵行為進行定義,而能有效檢測未知的入侵,因此也稱為一個研究熱點
      2):系統能針對使用者行為的改變進行自我調整和優化,但隨著檢測模型的逐步精確,異常檢測會消耗更多的系統資源

2:誤用檢測

       又稱為基於特徵的檢測,基於誤用的入侵檢測系統通過使用某種模式或者訊號標示表示攻擊,進而發現同類型的攻擊,其實現過程是:先收集非正常操作的行為特徵,系統就認為這種行為是入侵,系統處理過程如同:

這裡寫圖片描述

      這種方法可以檢測到許多甚至是全部已知的攻擊行為,如果入侵特徵與正常的使用者行為能匹配,則系統會發生誤報,如果沒有特徵能與某種新的攻擊行為匹配,則系統會發生漏報。
      特點:採用特徵匹配模式能明顯降低錯報率,但漏報率隨之增加,攻擊特徵的細微變化,會使得濫用檢測無能為力。

二:按資料來源分為

1:基於主機的入侵檢測

      基於主機的入侵檢測是入侵檢測的最初期形式,這種入侵檢測系統通常執行在被檢測的主機或者伺服器上,實時檢測檢測系統的執行,通常從主機的審計記錄和日誌檔案中獲得所需的主要資料來源,並輔之以主機上的其他資訊,在此基礎上完成檢測攻擊行為的任務。特別的,從主機入侵檢測技術中還可以單獨分離出基於應用的入侵檢測模型,這是特別針對於某個特定任務的應用程式而設計的入侵檢測技術,採用的輸入資料來源是應用程式的日誌資訊。
      基於主機的入侵檢測悉尼型來源主要包括:
      1):系統資訊,幾乎所有的作業系統都提供一組命令,獲得本機當前啟用的程序的狀態資訊,他們直接檢查核心程式的記憶體資訊。
      2):記賬,通常指由作業系統或操作員所執行的特定操作,記錄計算機資源的使用情況,例如CPU佔用時間,記憶體,硬碟,網路使用情況。在計算機未普及之前,記賬是為了向用戶收費的。
       3):系統日誌,可分為作業系統日誌和應用程式日誌兩部分。作業系統日誌從不同方面記錄了系統中發生的事情,對於入侵檢測而言,具備重要的價值,當一個程序終止時,系統核心為每個程序在程序日誌檔案中寫入一條記錄。
       4):C2安全審計,記錄所有可能與安全性有關的發生在系統上的事情。

     基於主機的入侵檢測能夠較為準確的檢測到發生在主機系統高層的複雜攻擊行為,其中,許多發生在應用程序級別的攻擊行為是無法依靠基於網路的入侵檢測來完成的,基於主機的入侵檢測系統巨頭檢測效率高,分析代價小,分析速度快的特點,能夠迅速並準確的定為入侵者,並可以結合作業系統和應用程式的行為特徵對入侵進行進一步的分析,響應。比如,一旦檢測到有入侵行為,我們可以立即使該使用者的賬號失效,使用者的程序中斷。他可以幫助發現基於網路的入侵檢測無法檢測的加密攻擊。基於主機的入侵檢測系統尤其對於獨立的伺服器及應用構造簡單,易於理解,也只有這種檢測方式能檢測出通過控制檯的入侵活動。目前許多是基於主機日誌分析的。

       同時,基於主機的入侵檢測系統也有若干顯而易見的缺點,由於他一定程度上依賴於特定的作業系統平臺,管理困難,必須按照每一臺機器的環境配置管理。同時主機的日誌提供的資訊有限,有的入侵手段和途徑不會在日誌中有所反映,日誌系統對網路層的入侵行為無能為力。在資料提取的實時性,充分性,可靠性方面基於主機日誌的入侵檢測系統不如基於網路的入侵檢測系統。他通常無法對網路環境下發生的大量攻擊行為作出及時的反應,他在所保護主機上執行,這也會影響宿主機的執行效能。

2:基於網路的入侵檢測系統

      通過監聽網路中的資料包,既抓包技術來獲取必要的資料來源,並通過協議分析,特徵匹配,統計分析等手段當前發生的攻擊行為。
       基於網路的入侵檢測的優點是:一個安裝在網絡合適位置NIDS系統可以監視一個很大範圍的網路,他的執行絲毫不影響主機或者伺服器的執行效率,因為基於網路的入侵檢測系統通常採取獨立主機和被動監聽的工作模式,他對網路的效能影響也很小。NIDS能夠實時監控網路中的資料流量,並發現潛在的攻擊行為和作為迅速的響應,而使攻擊者難以發現自己已被監視,另外,他的分析物件是網路協議,一般沒有移植性的問題。
       同事基於網路的入侵檢測系統的主要問題是監視資料量過於龐大並且他不結合作業系統特徵來對網路行為進行準確的判斷,在網路通訊的高峰時刻,難以檢查所有資料包;如果網路資料被加密,NIDS就不能掃描協議或內容NIDS不能判斷一個攻擊是否已經成功,對於漸進式,合作式的攻擊難以防範。

常用的入侵檢測技術

1:基於統計分析技術的入侵檢測

      他試圖建立一個對應”正常活動”的特徵原型,然後把與所建立的特徵原型中差別”很大”的所有行為都標誌為異常。顯而易見,當入侵集合與異常活動集合不完全相等時,一定會存在漏 報或者誤報的問題,為了使漏報和誤報的概率較為符合實際需要,必須選擇一個區分異常事件的閥值,而調整和更新某些系統特徵度量值的方法非常複雜,開銷巨大,在實際情況下,試圖用邏輯方法明確劃分正常行為和異常行為兩個集合非常困難,統計手段的主要優點是可以自適應學習使用者的行為,主要問題是其可能被入侵者逐漸訓練以致最終將入侵事件誤認為是正常,並且閥值設定不會當導致大比例的誤報與漏報,此外,由於統計量度對事件順序的不敏感性,事件間的關係會漏掉。

2:基於模式預測異常檢測

       基於模式預測異常檢測方法的假設條件是:事件序列不是隨機的,而是遵循可辨別的模式,這種檢測方法的特點是考慮了事件的序列和相互關係。而基於時間的推理方法則利用時間規則識別使用者行為正常模式的特徵,通過歸納學習產生這些規則集,能動態的修改系統中的規則,使之具有高的預測性,準確性和可信度。如果規則大部分時間是正確的,並能夠成功的運用預測所觀察到的資料,那麼規則就具有高的可信度,根據觀察到使用者的行為,歸納產生出一套規則集來構建使用者的輪廓框架,如果觀測到的事件序列匹配規則的左邊,而後續事件顯著的背離根據規則預測到的事件,那麼系統就可以檢測出這種偏離,這就表明使用者操作是異常。如果能預測出不著呢剛才的後繼事件的片段,則一定程度上斷定使用者行為的異常性,這種方法的主要優點是:
       1):能較好地處理變化多樣的使用者行為,具有很強的時序模式。
       2):能夠集中考察少數幾個相關的安全事件,而不是關注可疑的整個登入會話過程
       3):對發現檢測系統遭受攻擊,具有良好的靈敏度,因為根據規則的蘊含語義,在系統學習階段,能夠更容易的辨別出欺騙者訓練系統的企圖
       預測模式生成技術的問題在於未被這些規則描述的入侵會被漏檢

3:基於神經網路技術的入侵檢測

      神經網路用給定的n個動作訓練神經網路去預測使用者的下一步行為。訓練結束之後,神經網路使用已出現在網中的使用者特徵匹配實際的使用者行為,標誌統計差異較大的事件為異常或者非法。使用神經網路的優點是可以很好的處理噪聲資料,因為他只與使用者行為相關,而不依賴於任何底層資料特性的統計,但同樣有入侵者能夠在其徐誒階段訓練網路的問題。

4:基於機器學習異常檢測

      這種異常檢測方法通過機器學習實現入侵檢測,其主要的方法有死記硬背式、監督、學習、歸納學習、類比學習等。

5:基於資料探勘異常檢測

      資料探勘,也稱知識發現,通常記錄系統執行日誌得資料庫都非常大,如何從大量資料中“濃縮”出一個值或者一組值來表示物件得概貌,並以此進行行為的異常分析和檢測,這就是資料探勘技術在入侵檢測系統的應用,資料探勘中一般會用到資料聚類技術。

6:專家系統

      用專家系統對入侵進行檢測,經常時針對具有明顯特徵的入侵行為,即所謂的規則,即時知識,專家系統的建立依賴於知識庫的完備性,知識庫的完備性又取決於審計記錄的完備性和實時性。
       基於專家系統無用入侵檢測方法是通過將安全專家的知識表示城IF-THEN規則形成專家知識庫,然後,運用推理演算法進行入侵檢測,編碼規則說明攻擊的必需條件作為IF的組成部分,當規則的左邊的全部條件都滿足時,規則的右邊的動作才會執行,入侵檢測專家系統應用的實際問題時要處理大量的資料和依賴於審計跟蹤的次序,其推理方式主要又以下兩種:
       1):根據給定的資料,應用符號推理出入侵的發生情況,需要解決的主要問題時處理序列資料和知識庫的維護,不足之處就是隻能檢測已知。
       2):根絕其他的入侵證據,進行不確定性推理,這種推理的侷限性就是推理證據的不精確和專家知識的不精確。

入侵檢測的技術關鍵

      入侵檢測技術對於網路安全方面來說是一項重要的技術而提高入侵檢查的一項根本方法就是提高模式匹配效率,提高模式匹配的效率也就是等於提升了網路安全。

一:模式匹配技術

1:模式匹配

      入侵檢測系統對重要的網段進行監控,對網段中沒個數據包進行模式匹配和分析。如果資料包內容和入侵檢測系統規律相符,就會發出警報,並切斷網路,由此可見模式匹配是影響入侵檢測的關鍵技術。
       模式匹配定義為:設有給定的連哥哥串T和P,則在T中尋找P的子串的經過成為模式匹配。T稱為正文,P稱為模式,通常T的長度遠遠大於P的長度,若在T中找到等於P的子串,則匹配成功,否則匹配失敗。

2:模式匹配的原理

      在入侵檢測中,模式匹配可以理解為:給定入侵規則庫中的一個特定的模式字串P,在網路資料包T中進行查詢,確定P是否在T中出現。

3:模式匹配的規則

      網路入侵檢測以網路中採集的資料包為資料來源,使用模式匹配方法對資料包進行檢測從而發現網路中可能存在的入侵事件,其中對資料包的檢測就是要在網路資料包中檢測是否存在可以代表入侵行為或者入侵企圖的一些字串,即查找出某些入侵規則中規則選項中所標識的字串,由於規則數較多,模式匹配過程是入侵檢測系統中時間小號最大的環節之一。如果沒有高效的模式匹配演算法作為保障,檢測過程中就會產生超時溢位錯誤,此時為了保證正常工作狀態,系統將主動的丟棄一些資料包,形成漏檢。
       所以,一個好的高效的模式皮匹配演算法對入侵檢測效率的提升至關重要。

二:模式匹配演算法

案例說明

1:介紹

      以企業入侵日誌為例,假設攻擊者要攻擊某個企業,那麼必需使用進入到該企業的網路,已知該企業的網路分為內部使用者和訪客,每次登陸都會產生一系列的日誌,那麼如何根據這些wlan的訪問日誌來進行登陸使用者的異常行為檢測呢?

2:分析

      根據訪問日誌,我們並不能確定使用網路的使用者哪個是進行入侵的,即我們沒有一個明確的結果來判斷入侵者和非入侵者,那麼這裡我們可以採用的入侵檢測技術便可以是:基於統計的入侵檢測技術

3:實現

       首先我們可以對訪問者進行比例劃分,例如9:1,利用90%的資料進行構建使用者肖像,統計分析出使用者肖像資料,繼而利用10%的資料進行資料測試,主要依據的便是90%資料構建的使用者模型。統計處測試使用者產生的異常值。並可以根據實際情況設定一個閥值,來判定是否是入侵使用者。

      其次,如果我們能明確知道哪些是入侵者,即資料產生方已經積累了一定的入侵使用者,那麼我們可以針對入侵者的入侵手段進行建模,比如說,這些入侵者都喜歡在凌晨3點,進行網路認證,且他們線上的時間較短,那麼我們便可以收集這兩個特徵作為入侵者的特徵,繼而針對網路認證使用者進行判斷。

      當然我們也可以結合其他的一些輔助手段進行異常使用者的檢測,比如說黑名單,可以根據入侵者的行為模式構建哥規則列表,即符合該規則庫中的任意一條規則幾位入侵者。


個人微信公眾號,歡迎關注
這裡寫圖片描述