入侵檢測

入侵者

  1. 入侵者分爲三類:
  • 假冒者:指未經授權就使用計算機和穿透系統的訪問控制機制而冒用合法賬戶的人。
  • 違法者:指訪問未經授權的程序,數據或資源的合法用戶。
  • 祕密用戶:獲得了系統的超級控制權,並利用超級控制權逃脫系統的審計或訪問控制。
  1. 入侵者的目的是獲得系統的訪問控制權或者擴大系統的特權範圍;攻擊是利用系統或軟件的漏洞,允許用戶執行打開系統後門的代碼。

入侵檢測

  1. 相關定義
  • 安全入侵:一個或多個安全事件組合構成一個安全事故,入侵者在未經授權的情況下試圖獲得一個系統或系統資源的訪問權。
  • 入侵檢測:一種檢測並分析系統事件的安全服務,檢測未經授權的對系統或系統資源的訪問,並提供實時或近似實時的報警。
  1. IDS的分類
  • 基於主機的IDS:檢測一臺主機的特徵和該主機發出可疑活動。
  • 基於網絡的IDS:監視特定網段或設備的流量並分析網絡,傳輸和應用協議,用以發現可疑的活動。
  1. IDS的三個邏輯組件:
  • 傳感器:傳感器負責收集數據,輸入的類型包括網絡型數據包,日誌文件和系統調用記錄。
  • 分析器:分析器負責從一個或多個傳感器接受輸入,分析器確實是否發生了入侵,並可以判斷什麼活動導致了入侵。
  • 用戶接口:通過IDS的用戶接口,用戶可以查看系統輸出或控制系統的行爲。
  1. 基本原理
  • 入侵檢測的作用:

快速檢測出入侵,可以降低系統的損失。
有效的IDS可以作爲一個威懾,減少入侵。
入侵檢測技術可以收集入侵者的信息,然後可用於增強安全防護。

  • 入侵檢測基於的假設:

入侵者的行爲和攻擊者的行爲存在者可以量化的差別。

  1. 理想的IDS需要滿足的條件
  • 能夠不間斷的運行,人的參與儘可能的少
  • 具有容錯功能,系統崩潰,能夠很快的恢復和重新初始化
  • 抵禦破壞,IDS必須能夠監測自身是否已經被攻擊者修改
  • 佔用正在運行的系統最小的資源
  • 能夠根據被監測系統的安全策略進行配置
  • 能夠很方便的擴展以檢測更多的主機
  • 能夠提供良好的服務降級,也就說,IDS的某些組件停止工作,其餘部分不受影響仍能正常工作。
  • 允許動態重新設置,能夠重新配置IDS,而不需要重啓IDS

基於主機的入侵檢測

  1. 基於主機的IDS向敏感或易受攻擊的主機添加專用的安全軟件層。
  2. 基於主機的IDS主要優點是:它可以檢測基於內部和外部的入侵,這是基於網絡的IDS所不行的。
  3. 基於主機的IDS包括以下兩種:
  • 異常檢測:監測一段時間內用戶行爲的變化,然後統計檢驗被監測的行爲,以較高的置信度判斷是不是合法用戶的行爲。

閥值監測:定義發生各種事件的閥值,閥值的大小與具體用戶無關。
基於配置文件的監測:爲每個用戶定義一個活動的配置文件,用於監測每個用戶的行爲變化。

  • 特徵檢測:試圖定義一組規則和攻擊者模式,可用於確定一個給定的行爲是入侵者的行爲。
  1. 異常檢測對假冒者是有效的,假冒者不能完全模仿他們感興趣的賬戶的行爲模式;對於違法者,特徵值檢測方法能夠通過上下文識別事件和序列來發現滲透。
  2. 審計記錄
  • 入侵檢測的一個基本工具就是審計記錄,一般採用兩種方法:

原始審計記錄:用操作系統自帶的收集用戶信息的審計軟件,但可以不包含入侵檢測系統所需的信息或所需格式的信息。
檢測專用的審計記錄:利用一組專門的採集工具生成的審計記錄,包含了入侵檢測系統所需的信息,但需要花費額外的開銷。

  • 對於每個審計記錄包含以下幾個字段:

檢測專用的審計記錄的一個很好實例:在這裏插入圖片描述

主體:動作的發起者
動作:由主體對一個客體執行的操作或聯合另一個客體完成的操作。
客體:動作的接受者
異常條件:如果有異常條件發生,則返回異常條件
資源的使用:大量元素列表,其中每一項列出了資源的使用量。
時間戳:標識動作發生的唯一時間和日期戳

上述該命令有Smith發出,將可執行文件GAME.EXE從當前目錄複製到< Library > 目錄下,複製被終止,因爲Smith沒有寫入到< Library>的權限。

  • 用戶動作分解的三個優點:

使用基本動作可以對影響一個客體的所有行爲進行審計,系統可以檢測出破壞訪問控制的行爲。
單客體,單動作的審計記錄簡化了模型,也易於實現。
便於將原始的審計記錄轉換成檢測專用的審計記錄。

  1. 異常檢測
  • 閥值檢測:閥值檢測與一段時間內特殊事件發生的次數有關,如果一定時間內特殊事件發生的次數超過預先設定的合理數值,則認爲存在入侵。

閥值和時間間隔必須是確定的。但是由於用戶是不斷變化的,這樣的閥值會造成大量的誤報和漏報。

  • 基於配置文件的入侵檢測:歸納出單個用戶或相關用戶組的歷史行爲特徵,用於發現重大偏差的行爲,定義一組參數,單個參數的偏差可能無法引起警報。

審計記錄以兩種方式作爲入侵檢測函數的輸入:

第一種方式是,一段時間內的審計記錄分析可用於確定一般用戶的活動配置文件。 因此,審計記錄用來定義典型的行爲。
第二種方式是, 當前的審計記錄作爲入侵檢測的輸入。也就是說,入侵檢測模型分析當前審計記錄,判定當前行爲與一般行爲的偏差。

  • 基於配置文件檢測的度量標準:

計數器:是一個非負整數,如果沒有被複位,則只能增加不能減少,通常記錄一定時間內某些事件類型發生的次數。
計量器:可增可減的一個非負整數,計量器用來策量某些實體的當前值。
間隔計數器:兩個相關事件的時間間隔。
資源利用:一定時間內消耗資源的數量。
根據這些度量標準,可以用多種方法確定當前活動是否在可接受的範圍內:

均值和標準差:測量在一段時間間隔內一個參數的均值和標準差,均值和標準差可廣泛應用計數器,計量器和資源度量器。
多變量:多變量模型基於兩個或兩個以上變量之間的相關性,通過這種相關性的分析,可以對入侵者的行爲進行可信度更高的表徵。
馬爾可夫過程:馬爾可夫過程模型用於建立各種狀態的轉移概念。ex:兩個命令相繼發生的概率。
時間序列:時間序列模型以時間間隔爲基礎,查找事件發生太快或太慢的序列。
操作:通常定一個固定的界限,觀測值超出此界限的行爲則被認爲是入侵。

  1. 特徵檢測
  • 特徵檢測通過觀察系統內的事件,運用規則集來判斷一定給定的活動模式是否是可疑的。
  • 分爲異常檢測和滲透識別兩種方法:

基於規則的異常檢測:
歷史審計記錄進行分析來定義一組規則集,規則用來表示用戶,程序,特權,時隙和終端等過去行爲模式,然後觀察當前行爲與規則集進行匹配,來確定每個行爲是否與歷史行爲模式向匹配。
檢測方案基於對過去對觀察,並假定將來對行爲和過去很相似。
基於規則的滲透識別:
主要功能是利用規則來識別已知的滲透,規則還可以用來識別可疑的行爲,開發這樣的規則最有效的方法是從Internet上收集攻擊工具和腳本。
審計記錄一旦生成就與規則集進行匹配,如果找到匹配項,則用戶的可疑度增加。如果有足夠多的匹配項且超過一定的閥值,系統報告異常。

  1. 基數謬誤
    如果實際入侵比系統的合法使用數低,則誤報率將很高。

分佈式基於主機的入侵檢測

  1. 分佈式IDS設計中存在的問題:
  • 分佈式IDS需要處理不同格式的審計記錄
  • 網絡中的一個或多個節點負責收集並處理網絡中各系統的數據,原始審計記錄或彙總的審計記錄在網絡中傳輸需要保證其完整性和進行
  • 集中式或分佈式的結構都是可用。集中式一個節點負責收集網絡各系統的數據,但存在單點故障問題。在非集中式,有多個分析中心,但必須建立協調活動和信息交換機制。
  1. 一個分佈式IDS的實例
  • 三個主要組件

主機代理模塊:作爲後臺進程運行在被監測系統上,其作用是收集系統與安全相關事件的數據並且傳輸這些數據到中央管理器模塊。
局域網監測器模塊:與主機代理模塊以相同的方式運行,它分析局域網的流量並向中央管理器報告結果。
中央管理器模塊:從主機代理模塊和局域網監測器模塊接受報告,並對其進行管理分析以檢測入侵。

  • 工作流程

首先代理模塊捕獲由原始審計記錄的每條記錄,僅保留哪些與安全相關的記錄,並將這些記錄標準化爲檢測專用的審計記錄格式。
然後,使用模版驅動的邏輯模塊分析可疑的活動記錄,最底層的代理負責掃描與以前截然不同的事件。而叫高層的代理負責尋找攻擊相匹配的攻擊模式,最後,代理根據用戶的歷史配置文件查找每個用戶的異常行爲,如執行程序數,訪問文件數。
檢測到可疑活動時,將報警信息發送給中央管理器,中央管理器使用專家系統,從收到的數據推導出可能的結果,中央管理器還可能會主動要求單個主機提供審計記錄的副本,以便與其他主機提供的審計記錄進行關聯分析。
局域網監測器也向中央管理器提供信息,局域網監測器代理模塊審計主機與主機之間的連接,使用的服務和網絡流量等信息,同時還負責搜索重大事件,如網絡負載的突然變化,與安全相關的服務的使用。


基於網絡的入侵檢測

  1. 基於網絡的IDS監控是一個網絡或多個相互連接的網絡上選定位置的網絡流量
  2. NIDS實時或近似實時分析數據包,以試圖發現網絡模式
  3. NIDS監測的是網絡上流向易受攻擊的計算機系統的數據包流量,而基於主機的IDS系統檢測的是主機上用戶和軟件活動
  4. 典型的NIDS包括:
  • 大量傳感器用來監視網絡流量
  • 一個或多個服務器負責NIDS管理功能
  • 一個或多個人機交互的接口
  1. 網絡傳感器類型
  • 內嵌傳感器

將被插入到網絡段,以使網絡流量必須通過傳感器
兩種實現方法:

NIDS傳感器將於另一個網絡設備(如防火牆,局域網交換機)進行邏輯組合,不需要額外的單獨的硬件設備。
使用單獨的內嵌式NIDS傳感器

  • 被動傳感器
被動傳感器監視網絡流量的備份,實際的流量並未通過這個設備。被動傳感器比內嵌傳感器更有效,內嵌傳感器需要額外的處理步驟,將會導致數據包的延遲。 傳感器的監控接口通常不設置IP地址,管理接口設置IP地址以使傳感器能顧與NIDS管理服務器通信。
  1. NIDS傳感器的部署
    在這裏插入圖片描述
  • 位置1-外部防火牆之內

觀測源自外部的攻擊,建立入侵網絡的外圍防護
強調防火牆策略或性能問題
觀測可能針對web服務或DNS服務器的攻擊
即使不能檢測到進入的攻擊,有時也可以識別出因遭受攻擊而輸出的網絡流量

  • 位置2-外部防火牆與Internet之間

監控來自Internet上對目標網絡的攻擊
監控來自Internet上對目標網絡的攻擊類型

  • 位置3-內部防火牆的任意一側

監控一個網絡的大量流量,而從提高發現攻擊的概率
檢測到授權用戶在企業安全範圍內的非授權活動

  • 位置4-保護一些企業的關鍵子網

檢測針對關鍵系統和資源的攻擊
允許將有限的資源集中到最有價值的網絡資產

  1. 入侵檢測技術
  • 特徵檢測技術

應用層偵察和攻擊

大多數NIDS技術都要分析幾十個應用協議:DHCP,DNS,Finger,FTP,HTTP等等。
NIDS主要查找已被標識爲面向這些協議的攻擊模式,包括緩衝區溢出攻擊,口令猜測和惡意軟件傳輸等等。

傳輸層偵查和攻擊

NIDS分析TCP和UDP流量,也可能是其他傳輸層協議,攻擊的例子包括異常數據包碎片,易受攻擊端口掃描和TCP特定攻擊。
網絡層偵察和攻擊
NIDS在這一層通常分析IPv4,ICMP和IGMP,攻擊的實例是IP地址欺騙和非法的IP地址首部值。

意外應用服務:

NIDS試圖確定傳輸連接上的活動是否與預期應用協議一致,一個實例是主機運行未經授權的應用服務

策略違背:

使用不恰當的web站點和禁用的應用協議。

  • 異常檢測技術

適用於異常檢測技術的實例:

拒絕服務攻擊
掃描:攻擊者通過發送不同類型的數據包到目標網絡或系統,使用從目標系統返回的數據包,可以瞭解到目標系統的許多特徵和安全漏洞。
蠕蟲

  • NIDS傳感器記錄的典型信息如下:

時間戳
連接或會話的ID號
事件或警報的類型
分級(如優先級,嚴重性等等)
網絡層,應用層或傳輸層的協議
源和目的IP地址
源和目的TCP或UDP端口,或者ICMP類型和代碼
通過連接傳輸的字節數
已解碼的有效載荷數據
狀態相關信息(如經過身份驗證的用戶名)


分佈式自適應檢測

  1. 分佈式基於主機的IDS,它們之間可以互相通信,NIDS重點關注網絡事件和網絡設備,分佈式基於主機的IDS和NIDS都涉及使用一箇中央IDS來管理協調入侵檢測和響應。
  2. 一個新的攻擊方法:降低攻擊的傳播速度,是傳統的算法更難檢測。
  • 解決方法:開發合作系統以識別基於細微線索的攻擊,然後快速響應。

在自適應合作系統中,本地節點以概率的形式告知其他計算機:網絡正在遭受攻擊,如果一臺計算機收集到足夠的這些信息,且超過一個閥值,則計算機就認爲攻擊正在進行並作出響應,計算機通過本地響應來保護自身並將警報發送給中央系統。
每個終端和每個網絡設備都被認爲是潛在的傳感器並且能夠安裝傳感器軟件模塊,這種分佈式的傳感器可以交換信息以確定網絡的狀態。
這種方法的好處:

可以提供更高的覆蓋率以及對攻擊更快的響應,尤其是對於緩慢增長的攻擊。
主機級的網絡流量提供了一種比網絡級的網絡流量相比更少的一種流量分析環境。
基於主機的檢測器可以使用更豐富的數據集,可以使用本地應用程序的數據。

使用多個本地傳感器,將它們每個看到的攻擊進行協助處理,由於許多系統看到形同的證據,可以降低誤報的風險。即不是使用大量的時間關鍵來降低誤報風險而是使用大量的傳感器來減少誤報並檢測攻擊。
在這裏插入圖片描述
中央處理器配置了一組默認的安全策略,這些策略根據傳感器的輸入進行自適應,將具體的動作傳遞給分佈式系統的各種平臺,設備的特定策略包括立即採取的動作或對參數的調整。
中央系統接受三種類型的輸入:

摘要事件:由中間採集點採集的來源不同的事件,這些事件被總結以便交付給中央策略系統。
DDI事件:分佈式檢測和推理事件。當gossip流量是平臺得出攻擊正在進行的結論時生成的警報。
PEP事件:策略實施點,位於可信的,自防禦的平臺,這些系統關聯分佈式信息,本地決策和單個設備動作來檢測主機級別無法發現的入侵。


入侵檢測交換格式

  1. 入侵檢測消息模型交換關鍵元素:
  • 數據源:IDS用來檢測的非授權或非預期活動的原始數據。例如網絡數據包,操作系統審計日誌。
  • 傳感器:從數據源處採集數據,將事件轉發給分析器。
  • 分析器:用來分析傳感器採集的標記爲非授權或非預期的活動或管理員感興趣的數據或進程。
  • 管理員:對設置企業的安全策略,部署決策和配置IDS。
  • 管理器:傳感器的配置,分析器的配置,事件通知管理,數據合併和報告。
  • 操作員:IDS管理器的主要用戶,操作員監控IDS的輸出並啓動或建議進一步操作。
  1. 入侵檢測按以下方式進行
  • 傳感器監視數據源並查找可疑的活動
  • 傳感器將可疑的活動以事件的形式發送給分析器,如果分析器確定發生了入侵,它將發送警報通知管理器組件,包括檢測到的異常活動及發生時的細節信息。
  • 管理器組件向操作員發送通知,響應由操作員產生或由管理器自動產生。

響應包括:

將活動記入日誌,記錄描述該事件的原始數據
終止用戶,網絡或應用會話
更改網絡或系統的訪問控制策略


蜜罐

  1. 蜜罐是掩人耳目的系統,是爲了引誘攻擊者遠離真正的系統而設計的。
  2. 功能:
  • 使攻擊者遠離真正的關鍵系統
  • 收集有關攻擊活動的信息
  • 使攻擊者在蜜罐中逗留足夠多的事件,以便對攻擊作出響應。
  1. 蜜罐系統裝備了敏感的監控器和事件記錄器,用於檢測這些訪問並收集儘可能多的攻擊信息。
  2. 蜜罐的位置
  • 位置1

優點:

不會增加對內部網絡的威脅
吸引了許多潛在的攻擊,減少了由防火牆和內部IDS引起的警報。

缺點:

捕獲內部攻擊者的能力有限,特別是當防火牆從兩個方向過濾網絡流量時。

  • 位置2:

網絡中的外部可用服務通常被稱作DMZ-非軍事區域
典型的DMZ是無法訪問的,防火牆通常會過濾掉訪問DMZ中不需要的服務流量,

  • 位置3:

優點:

可以捕獲內部攻擊
可以捕獲由防火牆的不正確配置從而導致的從Internet流向內部網絡的流量。

缺點:

如果蜜罐遭到破壞,可以利用蜜罐攻擊內部的其他主機。
防火牆必須調整過濾器以允許到蜜罐的通信量,會增加防火牆配置的複雜度。


實例系統:Snort

  1. snort是開源的,高度可配置且可移植的基於主機或基於網絡的IDS。
  2. 特徵:
  • 可以輕鬆的在網絡中的大部分節點中部署
  • 使用少量的內存和處理器進行高效的操作
  • 系統管理員可以很容易的配置,在短期內實現既定的安全解決方案
  1. snort可以進行實時數據包的捕獲,協議分析以及內容搜索與匹配,根據由一組系統管理員配置的規則,能夠檢測到很多攻擊和探測。
  2. snort體系
    在這裏插入圖片描述
  • 數據包解碼器( packet decoder ):數據包解碼器處理每個捕獲的數據包,在數據鏈路層、網絡層、傳輸層和應用層識別和隔離協議首部。解碼器被設計爲儘可能高效,它的主要工作包括設置指針,以便可以很容易地提取各種協議首部
  • 檢測引擎( detection engine ):檢測引擎完成入侵檢測的實際工作。每個數據包依據所有規則進行檢查,以確定該數據包是否與根據規則定義的特徵相匹配。與已解碼的數據包匹配的第一個規則觸發規則指定的動作。如果沒有規則匹配該數據包,則檢測引擎放棄此數據包。
  • 記錄器( logger ):對於每個與規則匹配的數據包,該規則指定什麼日誌和報警選項是要執行的。
  • 報警器( alerter ):對於每個檢測到的數據包,發送一個報警。匹配規則中的報警選項確定事件通知中包括哪些信息。
  1. snort規則
    在這裏插入圖片描述
  • 動作:告訴snort當他它到符合符合規則條件的數據包時應該如何去做。
  • 協議:snort繼續分析數據包的協議是否匹配這個字段。snort當前支持的四個協議,TCP,UDP,ICMP,IP
  • 源IP地址
  • 源端口
  • 方向:可以是單向或雙向。
  • 目的IP地址
  • 目的端口
    -選項字段:由關鍵字組成,關鍵字定義選項,後面跟着參數。

元數據( meta data ):提供關於規則的信息,但在檢測期間不起任何作用。
有效載荷(payload ):查找有效載荷數據包中的數據,可以是相關的。
非有效載荷(non payload ):查找非有效載荷數據。
後檢測(post-detection ):當規則匹配一個數據包後引發的特定規則。
在這裏插入圖片描述
在這裏插入圖片描述
例:Alert tcp $EXTERNAL_NET any-> $HOME_NET any\
(msg :”SCAN SYN FIN" flags: SF, 12; \
reference: arachnids, 198; classtype: atternpted-recon;)

Snort 中,保留的反斜槓字符“\”用於續行。本實例用於檢測TCP級的一種叫做SYNFIN攻擊的攻擊。變量名$EXTERNAL_NET $HOME_NET是預定義的,用來指定特定網絡。在本例中,任何源端口或目的端口被指定。本例在忽略八位標誌中的保留位1和保留位2的情況下檢查是否僅僅SYN FIN 位被置位。 reference 選項指出這種攻擊的外部定義,它是attempted-recon類型的攻擊。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章