




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Snort入侵檢測系統分析2015年12月6日Snort入侵檢測系統分析簡介 Snort的一些源代碼是從著名的TCPDUMP軟件發展而來的。snort是一個基于LIBPCA包的網絡監控軟件,可以作為一個十分有效的網絡入侵監測系統。它運行在一個“傳感器”主機上,監聽網絡數據。這臺機器可能是一臺簡陋的運行FREEBSD系統的Pentium100 PC,并且至少有一個網卡。 Snort首先根據遠端的IP地址建立目錄,然后將檢測到的包以TCPDUMP的二進制格式記錄或者以自身的解碼形式存儲到這些目錄中.這樣一來,你就可以使用snort來監測或過濾你所需要的包.Snort是一個輕量級的入侵檢測系統,它具
2、有截取網絡數據報文,進行網絡數據實時分析、報警,以及日志的能力。snort的報文截取代碼是基于LIBPCA庫的,繼承了LIBPCA庫的平臺兼容性。它能夠進行協議分析,內容搜索/匹配,能夠用來檢測各種攻擊和探測,例如:緩沖區溢出、隱秘端口掃描、CGI攻擊、SMB探測、OS指紋特征檢測等等。snort使用一種靈活的規則語言來描述網絡數據報文,因此可以對新的攻擊作出快速地翻譯。snort具有實時報警能力。可以將報警信息寫到syslog、指定的文件、UNIX套接字或者使用Winpopup消息。snort具有良好的擴展能力。它支持插件體系,可以通過其定義的接口,很方便地加入新的功能。snort還能夠記錄
3、網絡數據,其日志文件可以是TCPDUMP格式,也可以是解碼的ASCII格式。簡單的說,Snort是數據包的嗅探器,也是數據包記錄器,還是NIDS。 提供數據包嗅探和記錄功能只是Snort的部分功能,Snort的特點就是其入侵檢測功能根據入侵規則匹配數據包中的內容。Snort還是一個自由,簡介,快速,易于擴展的入侵檢測系統,已經被移植到了各種UNIX平臺和winY2k上。同時,它也是目前安全領域中,最活躍的開放源碼工程之一。體系結構Snort有5個主要部件:捕包程序庫libpcap、包解碼器、預處理程序、檢索引擎、輸出組件。流 量包解碼器預處理程序器檢測引擎器輸出插件器預處理程序器圖1 Snor
4、t組件數據流程圖捕包程序庫捕包裝置把包以原始狀態捕獲后送給解碼器。解碼器是進入Snort的第一步,它將特殊協議元素翻譯成內部數據結構。它的目的是剝落包頭。利用TCP-IP棧解碼并且將包放入一個數據結構中。在最初的捕包和解碼完成后,有預處理程序處理流量。許多插入式預處理程序對包進行檢查或操作后將它們交給下一個組件檢索引擎。檢索引擎對每一個包的一個方面進行簡單的檢驗以檢測入侵。最后一個組件是輸出插件,它對可疑行為產生報警。大規模的應用程序很少采用單機模式,Snort通常采用分布式體系對網絡進行入侵檢測。最典型的安裝方式是三層體系,即傳感器層、服務器層、分析員控制臺。捕包程序庫libpcap和包解碼
5、器運行在傳感器上,負責對抓來的包進行解釋并傳遞警報。由于傳感器必須放置在要監控入侵的網段,為了保證安全,通常只安裝Snort和它在之上運行的支撐應用程序。建議Linux或BSD等UNIX類型的操作系統。傳感器的兩塊網卡一塊用作捕包接口不分配IP,一塊用作管理接口分配IP。捕包程序庫libpcap運行在Libpcap平臺上,由于Libpcap平臺的獨立性使得Snort可以被移植到任何地方,成為一個真正與平臺無關的應用程序。預處理程序預處理是Snort的一類插件。它在檢測引擎之前對數據進行處理,并且努力與不斷變化的漏洞和攻擊保持同步。可以添加新的協議為Snort提供支持。它既能對數據包操作以便檢測
6、引擎能正確分析包,又能檢測特征檢測所不能單獨發現的可疑流量。按功能可以分為三類:數據標準化,協議分析和非特征匹配檢測。數據標準化新的攻擊方法和IDS躲避技術不斷涌現,以至Snort的檢測引擎要么不能檢測,要么檢測效率不高。預處理程序可以將數據標準化以便檢測引擎能正確對其分析。多態病毒是為了躲避反病毒程序的特征匹配引擎而將病毒代碼任意改造和變異。同樣的技術也被用于遠程利用,shell代碼具有多種形態。Fnord預處理程序能檢測出變異的NO-OP sled,從而避免了由于緩沖區溢出使處理器強制執行惡意代碼導致的程序崩潰。No-op sled能被許多IDS輕易地檢測到,除非它在每次被使用時都做修改。
7、如果沒有Fnord預處理,Snort將無法檢測多態shell代碼。協議分析由于檢測引擎能分析的協議很少,所以用協議處理程序來協助檢測。ASNI_decode就能檢測ASNI(Abstract Syntax Notation抽象語法標記)協議中的不一致性。較高的協議比如SNMP、LDAP和SSL都依賴ASNI。幾乎所有起用SNMP的設備都受到緩沖區溢出或是拒絕服務(DoS)攻擊的影響。非特征匹配檢測這類預處理程序利用不同特征匹配的方法來捕獲惡意流量。例如所謂的偵察攻擊通常只是一個報警信號,無法確定是不是攻擊。信息收集嘗試利用了不合規格的流量,但這些流量通常在性質上是無害的。Portscan2和s
8、tream4就能發現這類流量和一些惡意黑客使用的躲避技術。 檢測引擎檢測引擎是Snort的一個主要部件,有兩個主要功能:規則分析和特征檢測。檢測引擎通過分析Snort規則來建立攻擊特征。Snort規則被載入到檢測引擎并以樹形數據結構分類。規則按功能分為兩個部分:規則頭(規則樹節點)和規則選項(選項樹節點)。規則頭包含特征應用的條件信息。樹形結構通過最小化發現可疑行為的必要檢測次數來提高效率。惡意行為被發現后,Snort將入侵數據寫入許多輸出插件。檢測可疑凈荷Snort特征能檢測的不只限于包頭數據,它也能檢測藏在一個看似正常的包中的可疑凈荷。某些可疑凈荷可能會引起Windows協議的緩沖區溢出并
9、導致目標主機崩潰。Snort還能捕獲大范圍的內容類型:任何來自最新的P2P文件共享工具的流量都帶有導致遠程緩沖區溢出的內容。Snort能用來對任何你所擔心的包凈荷進行監控并報警。通過特征檢測可疑流量最有效的檢測對系統或網絡的攻擊的方法是基于特征的檢測。基于特征的檢測的基礎是異常或惡意網絡流量符合一種獨特的模式,而正常或良性流量不符合。對Snort來說,一個惡意流量特征可以被創建成一個規則以載入它的檢測引擎,用于進行特征匹配。Internet控制報文協議(Internet Control Message Protocol,ICMP)主要用于ping命令來檢查某個IP地址是否有主機存在。它被用于黑
10、客常常使用的一個網絡發現工具NMAP。NMAP利用的ICMP ping 的特征將ICMP類型域設為8并且凈荷數據為空。這與在Windows 或UNIX操作系統下直接用ping命令不同。根據這一點,就可以創建一條相關規則,如果網絡中有匹配這一特征的流量就會引起報警。需要強調的是:Snort不一定要運行在這一流量要到達的計算機上,它只需要處于同一個網段就能嗅探到該流量。因此,Snort能檢測出針對大量受保護主機的NMAP ping掃描。檢測具體協議元素Snort特征可以具體針對特殊協議的一個元素描述。例如.ida擴展名是一個很少用到的微軟ISS索引服務的組件,能遠程導致嚴重的緩沖區溢出進而遠程控制
11、Web服務器,還能產生大量紅色代碼蠕蟲,使得合法用戶幾乎從外部通過.ida文件使用的索引服務。Snort的這個特征規則是只搜索URL內容而不是整個凈荷,因而更為高效。用客戶規則擴展覆蓋面Snort支持的規則對所有網絡是通用的,要想做好入侵檢測工作,需要能針對具體網絡指定特定的規則,Snort的一個特色就是能賦予程序員編寫自己規則的能力。啟發式的可疑流量檢測特征匹配雖然高效,但不能達到100%的準確率,因為有些有害流量沒有可識別的特征。統計包異常檢測引擎(SPADE)模塊就是通過啟發式匹配對無可匹配特征的可疑流量進行檢測。SPADE觀測網絡并建立一張描述網絡低流量的表。這張表記載的數據包括包的類
12、型和源地址、目的地址。在表達到一定大小后,SPADE挑出的每一個包將被賦給一個數值,該數值的大小取決于它在表中出現的頻率。頻率越低,則該數值越大。當該數值達到某一匹配好的極限時就會產生報警。這種方法對檢測黑客的偵察行動是很有效的。黑客常常緩慢地掃描端口,企圖通過把自己的掃描數據淹沒在大量的數據中來隱蔽自己。但即使一個黑客使用多個源地址進行活動,也會被SPADE注意。分布式拒絕服務攻擊(DDoS)是多臺受控主機向一臺主機發送大量偽造的請求使得合法用戶無法訪問服務器,但它也能被SPADE檢測到。采集入侵數據想預知黑客會對網絡進行哪些惡意行為幾乎是不可能的,唯一的解決方案是將與惡意流量對應的所有凈荷
13、保存起來。Snort可以將所有可能含有惡意的凈荷記入日志。評估威脅凈荷包含的數據常常是反映攻擊者意圖的窗口。凈荷數據能協助確定一次攻擊是否是人為操縱。蠕蟲病毒加大了這一任務的難度。蠕蟲可以具有復雜的攻擊步驟,包括一張關于攻擊手段和受害主機后門的詳細清單。常常與人類攻擊者遵循相同的模式。如果能夠檢查凈荷數據,就有可能將他與蠕蟲的已知行為比較,并弄清你面對的是哪種類型的威脅。如果最終確定是人進行的攻擊,就可以通過凈荷數據來確定攻擊者的技術水平,是腳本族還是黑客高手。腳本族可以通過將攻擊特征與常用工具的特征進行比較來識別。利用輸出插件進行報警Snort利用輸出插件從檢測引擎獲取入侵數據,程序員可以根
14、據需要自行配置。輸出插件的目的是將報警數據轉存到另一種資源或文件中。Snort輸出以各種格式記入日志以便入侵數據能方便地為其他應用程序或工具使用。輸出插件有以下功能:聚集數據以一種工業標準格式從許多完全不同的安全裝置聚集數據。從而進行事件相關。用統一格式和Barnyard程序記錄日志傳統的關系數據庫輸出插件是制約Snort處理帶寬能力的因素之一,Barnyard能將二進制數據解析成與它相關的數據庫插件能識別的格式,以完全獨立于Snort的方式運行,而不影響Snort的捕包能力。報警Snort有兩種主要的報警方法:syslog和swatch報警、入侵數據庫控制臺ACID報警。Swatch是一種簡
15、單且功能強大的工具。它能積極地監控系統日志,當發生了事先配置的事件是就發出報警。可采用傳呼、email或聲音等方式。ACID是從數據庫讀取入侵數據并以友好的格式把它顯示在瀏覽器中,供分析員處理。它具有復雜查詢功能。還可以按邏輯功能對報警分組并關聯到Internet上CVE標準漏洞庫的對應記錄上。ACID還有一個繪圖組件可以用來生成統計圖表。分層報警IDS領域的報警分為三類:無優先級報警、嚴格編碼的優先級報警、可定制的優先級報警。無優先級報警:不能按嚴重程度進行分類,通告會變得非常多,無法采用緊急時間自動通知機制。嚴格編碼的優先級報警:由銷售商為你決定哪些報警重要,程序員可以進行排序和篩選,但這
16、種“一個標準適用全部”的方法對于報警并不適合。可定制的優先級報警:這是現代網絡的模塊化和獨特性所需要的。報警能基于事先設置的優先級進行排序。Snort自帶了32種預定義的警報分類,像特征一樣,警報分類也是通過簡單的規則來定義的。功能入侵檢測工具的主要作用是檢測網絡中是否存在攻擊行為。目前的入侵檢測工具一般應用模式匹配、特征匹配、簽名技術等手段對網絡數據包進行識別,如果數據包的某項內容符合其中的一種,則被認定為使網絡數據包異常行為,入侵檢測系統會主動報告系統管理員相關信息。因為使用的是匹配技術,所以入侵檢測系統存在著誤報和漏報的情況,但總體來說,它還是系統管理員需要掌握的一項重要工具。Snort
17、可提供Protocol分析、內容查找和匹配,可以用來檢測各種攻擊和探測,如緩沖區溢出、隱蔽端口掃描、CGI攻擊、SMB探測、操作系統指紋識別嘗試等其中的包嗅探、數據包記錄和入侵檢測是其重要功能Snort的架構決定了它的各種功能,而Snort架構由以下4個基本模塊構成:嗅探器預處理器檢測引擎輸出模塊 Snort 體系結構Snort的最簡單形式就是包嗅探器,但當Snort獲取到數據包后會將數據包傳送到與處理模塊,然后通過檢測引擎判斷這些數據包是否違反了某些預定義規則。Snort的預處理器、檢測引擎和報警模塊都以插件形式存在插件就是符合Snort接口定義的程序,這些程序曾經是Snort內核代碼的一部
18、分,現在獨立出來使內核部分的修改變得簡單可靠包嗅探器用來監聽數據網絡,可以是硬件也可以是軟件一個網絡嗅探器使應用程序或者硬件設備能夠監聽網絡上的數據流互聯網多是IP數據流,在本地局域網或傳統網絡中多是IPX或AppleTalk數據流具體來說,包嗅探器不僅可以進行網絡分析及錯誤處理、性能分析及基準測量、監聽明文密碼及其他感興趣的數據預處理器得到原始數據包,使用不同的插件檢測數據包,這些插件檢測數據包的某些特定行為一旦數據包被確認具有某些特定行為,就會被送到檢測模塊插件可以根據需要在與處理層被啟用或停用,從而更具網絡優化級被分配計算資源并生成報警,插件是入侵檢測系統的一個非常有用的功能檢測引擎接收預處理器及其插件穿送來的數據,然后根據一系列的規則對數據進行檢測如果這些規則和數據包中的數據相匹配,就將數據包傳送給報警處理器當數據通過檢測引擎后,Snort會對其數據進行不同的處理如果數據和檢測引擎的規則相匹配,Snort就會觸發報警報警可以通過網絡連接、UNIX的套接字或Windows Popup(SMB),甚至SNMP陷阱機制發送到日志文件也可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CECS 10298-2023二階反應型水性環氧瀝青防水粘結料
- T/CECS 10083-2020增強豎絲巖棉復合板
- T/CDSA 305.16-2018盾構維護高氣壓作業規程
- T/CCSAS 050-2024化學化工實驗室化學品安全操作規程編寫指南
- T/CCMA 0108-2020預制混凝土構件振動成型平臺
- T/CCAS 014.6-2022水泥企業安全管理導則第6部分:水泥工廠危險能量隔離管理
- T/CAQI 35-2017新風式空氣凈化器顆粒物凈化性能分級
- T/CAQI 248-2022燃氣輪機進氣過濾器
- T/CAPE 12003-2021油氣潤滑油
- T/CAOE 23-2020天然氣水合物實驗測試技術規范
- 湖南省2024年對口升學考試計算機綜合真題試卷
- 江蘇省南京市(2024年-2025年小學六年級語文)統編版期末考試(下學期)試卷及答案
- 中醫適宜技術-中藥熱奄包
- 材料力學第4版單輝祖習題答案
- 2022-2023學年高中政治統編版選擇性必修二:第9課 糾紛的多元解決方式 教案
- 術前停用抗凝藥物
- 法學本科畢業論文
- 爆破安全安全規程
- 首末件檢查記錄表
- DB52∕T 046-2018 貴州省建筑巖土工程技術規范
- 真空斷路器課件
評論
0/150
提交評論