异常检测之浅谈入侵检测
打開微信掃一掃,關注微信公眾號【數據與算法聯盟】
轉載請注明出處:http://blog.csdn.net/gamer_gyt
博主微博:http://weibo.com/234654758
Github:https://github.com/thinkgamer
前言
由于業務關系,最近一段時間一直在關注入侵檢測技術方面的知識,經過了最近一天的學習與調研,在大體上還是有了一定的了解與研究,下面就分享一下我得學習成果,當然大部分知識都是從網上進行收集和整理的,當然加上了自己的一些想法
本文永久地址:http://blog.csdn.net/gamer_gyt/article/details/53876659
什么是入侵檢測
??????入侵檢測(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:模式匹配的規則
??????網絡入侵檢測以網絡中采集的數據包為數據源,使用模式匹配方法對數據包進行檢測從而發現網絡中可能存在的入侵事件,其中對數據包的檢測就是要在網絡數據包中檢測是否存在可以代表入侵行為或者入侵企圖的一些字符串,即查找出某些入侵規則中規則選項中所標識的字符串,由于規則數較多,模式匹配過程是入侵檢測系統中時間小號最大的環節之一。如果沒有高效的模式匹配算法作為保障,檢測過程中就會產生超時溢出錯誤,此時為了保證正常工作狀態,系統將主動的丟棄一些數據包,形成漏檢。
?????? 所以,一個好的高效的模式皮匹配算法對入侵檢測效率的提升至關重要。
二:模式匹配算法
參考:http://dsqiu.iteye.com/blog/1700312
案例說明
1:介紹
??????以企業入侵日志為例,假設攻擊者要攻擊某個企業,那么必需使用進入到該企業的網絡,已知該企業的網絡分為內部用戶和訪客,每次登陸都會產生一系列的日志,那么如何根據這些wlan的訪問日志來進行登陸用戶的異常行為檢測呢?
2:分析
??????根據訪問日志,我們并不能確定使用網絡的用戶哪個是進行入侵的,即我們沒有一個明確的結果來判斷入侵者和非入侵者,那么這里我們可以采用的入侵檢測技術便可以是:基于統計的入侵檢測技術
3:實現
???????首先我們可以對訪問者進行比例劃分,例如9:1,利用90%的數據進行構建用戶肖像,統計分析出用戶肖像數據,繼而利用10%的數據進行數據測試,主要依據的便是90%數據構建的用戶模型。統計處測試用戶產生的異常值。并可以根據實際情況設置一個閥值,來判定是否是入侵用戶。
??????其次,如果我們能明確知道哪些是入侵者,即數據產生方已經積累了一定的入侵用戶,那么我們可以針對入侵者的入侵手段進行建模,比如說,這些入侵者都喜歡在凌晨3點,進行網絡認證,且他們在線的時間較短,那么我們便可以收集這兩個特征作為入侵者的特征,繼而針對網絡認證用戶進行判斷。
??????當然我們也可以結合其他的一些輔助手段進行異常用戶的檢測,比如說黑名單,可以根據入侵者的行為模式構建哥規則列表,即符合該規則庫中的任意一條規則幾位入侵者。
文章推薦:以企業入侵檢測日志分析為場景談大數據安全
個人微信公眾號,歡迎關注
總結
以上是生活随笔為你收集整理的异常检测之浅谈入侵检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站增加打赏功能
- 下一篇: 【转】《从入门到精通云服务器》第六讲—O