開源 Bro Snort suricata對比

2021-09-19 14:18:16 字數 3091 閱讀 7525

場景

前兩者的缺點就是它的優點

缺點:學習有一定的門檻。

支援snort/ suricata的裝置不能與網路上其他支援snort的裝置通訊,也不能集中管理它們。

對於小型企業來說,它們可能工作得很好,但對於中型或大型網路,它們可以帶來更多的工作,而帶來更少的價值。

規則分析

bro提供了一些關鍵的高階特性:強大的用於對事件做深入分析的策略指令碼、規則與策略指令碼的互動,

snort也對一些應用層協議如http、portmap、telnet,ftp做了些簡單的解碼和處理(也即snort預處理器功能),這些處理先對匹配做了一些優化(相比bro的事件生成引擎機制要簡單得多),然後再根據不同的協議特徵進行匹配. 相比來說snort檢測方式還是簡單粗糙的,但是snort新的版本2.0後也支援了很多高階特性:如支援正規表示式的資料匹配、規則關聯等。

ips同時2者都可以提供ips的功能

snort用一種inline模式結合iptable能提供對所有攻擊資料報進行攔截的功能(drop掉資料報),但是這種情況下snort通過iptable截獲資料報而不是通過libpcap庫獲取資料報的拷貝,自己特徵匹配後再交給iptable處理,作為防火牆來說,勢必嚴重影響其處理速度,我們這裡還是不宜使用。

bro通過rst應用程式直接給對方傳送tcp rst包中斷和對方的連線,但是細讀幫組說明文件,沒有看到其對udp包如何攔截(個人感覺僅僅關閉tcp還談不上ips功能)。而僅僅對於tcp的連線關閉,snort也有更好的支援,用關鍵字resp可以關閉雙方或者單方的連線。

影響力snort由於知名度比較高,使用廣泛,國內幾乎成為ids的代名詞,所以相關的輔助工具很多,比如報警日至分析工具(snortsnarf),資料庫瀏覽分析工具(acid),還有snort有乙個很好的規則配置以及智慧型公升級工具ids policy manager(windows2000/xp平台),用來公升級配置規則都很簡單.

資料庫檢測

snort支援很多檢查資料庫(oracle,my_sql,ms_sql)攻擊的規則,如刪除oracle資料庫中表的企圖等,

bro對資料攻擊支援幾乎沒有.

規則庫snort由乙個專業的商業公司(sourcefire)支援維護, 其vrt(vulnerability research team) 專案組專們跟蹤當前網路攻擊,提供了攻擊特徵庫的實時公升級(並且負責測試規則),目前(2006-2-5)的特徵規則數目達到5600多條,

特徵規則庫只有隨bro版本公升級時候一起公升級發布!bro推出了乙個工具snort2bro,將snort的規則轉化為bro的指令碼語言,這個工具能轉化大部分規則!

日誌snort還可以直接寫到syslog或者資料庫oracle,my sql,ms sql

bro不行。bro可以直接通過e-mail報警,snort必須通過第三方工具swatch。

檢測能力擴充套件

snort基本上只能簡單的匹配乙個個規則,snort利用sfportscan,stream4預處理外掛程式也可以檢測出ip,tcp,udp的portscan,以及ddos攻擊等。

bro可以在事件處理(event  handle)中對乙個個網路行為進行分析,可以分析出一些異常行為!但是對於一般常見的行為如tcp的連線,埠掃瞄

研發投入

.bro策略指令碼的編寫需要不少時間和精力的投入,bro的作者提供了完整的使用手冊,包括各種特定資料型別的說明、引擎本身支援的函式說明、如何使用的示例,使用者必須經過一定時間的學習可以完全掌握。實際上bro策略指令碼提供了乙個基本框架,裡面定義了一些事件處理器(event handle)和函式,感覺類似於windows下的訊息驅動機制,事件生成引擎用乙個類似message queue的event queue,然後會根據應用層協議自動呼叫這些event handle, 第三方可以補充修改它擴充功能。

snort 規則指令碼簡單的多,一條規則僅僅是簡單的包括規則頭和規則體,頭部制定乙個動作行為,如alert,log,pass等. 規則體就是一些關鍵字構成動作的條件.

這樣當使用者對規則進行配置的時候,一般也就是使用不使用這條規則,這樣只要提供乙個索引檔案,把所有得規則對應的檔名,位置記錄下來,使用者配置好了後,就根據這個檔案找到規則所在檔案去注釋或者啟用一條規則,很方便簡單。 bro由於規則是寫在指令碼語言程式裡,要修改指令碼程式(一般也就是注釋掉一段**),相比snort注釋一行**要麻煩點。

規則可讀性

snort每條規則都有乙個說明文件,對該規則功能,特徵作了詳細的說明,

bro的規則必須自己讀懂乙個個指令碼語言程式,自己分析程式**提供的功能! 不過bro的規則一般也都是snort的子集,有snort作為參考,bro的規則好理解多了!bro缺少的規則我們可以用其工具snort2bro,將snort的規則轉化為bro的。

資料檢索

snort使用普及的多,網上中文資料很多,

bro還在發展狀態,網上的中文資料很少,必須自己去看提供的user-mannul,reference-mannul,總共400多頁!完全是英文的,對於英文不是很好的讀者,看懂理解要花費不少時間.本人就是在讀這些英文手冊以及研究自帶指令碼提供的功能上浪費了大量時間(主要是英文看得太累,一句話要看n遍才看的是懂非懂,看著看著人就發懶,看看其他東西調節去了^_^)!不過最痛苦的時候基本已經過去,現在對ids有了一定理解回頭再檢視也簡單容易理解多了!

bro

snort

wireshark& tshark優勢

高階的

異常檢測

正規表示式,簽名

流量分析

關注資料

連線物件,

事件

資料報,

資料流

協議剖析

可程式設計性

bro dsl 不

不 實時或重放

兼備 兼備

pcap重放

應用層應用層 自動化,

資料動態分發

自動化,

手動,

解析器

bro除了上述實驗的功能,還提供了不少關鍵的高階特性,例如在事件生成引擎中實現應用層協議功能。在計算機取證分析中,可以高效地分析網路流量,從而找出入侵的痕跡,幫助管理者追究責任、減少損失。

bro是乙個值得網路入侵檢測系統開發者參考和借鑑的好工具,也是具有一定網管經驗的使用者定製攻擊檢測功能的選擇。

開源 非開源 呼籲開源!

開源 非開源 對於我和我的朋友來說,開源對於我們的生活至關重要。這不是工作或職業,而是 我認為這是我為cloud evangelist播客錄製的最重要的歌曲之一。這是我們談話的摘錄 去年,我在英國的年輕線州 new rewired state 的邊緣地帶,這正在進行中,它向我展示了很多孩子從未有過程...

開源 非開源 輕鬆進入開源

開源 非開源 開源使人們感到恐懼。將它們扔到最深處通常不會減輕這種恐懼。相反,我們需要幫助人們簡化使用開放源 的過程。技術教練兼作家scott nesbitt分享一些建議來幫助您做到這一點。首先,遏制使用開源肥皂盒的衝動。相反,請發掘其中的核心 向他們展示如何使用它進行工作。開源不僅適用於技術人員。...

開源cms 和 開源部落格 開源如何擾亂CMS市場

開源cms 和 開源部落格 開源正日益改變著軟體行業。我們可以看到,開源產品如今在幾乎每個類別中都獲得了市場份額,並且這種發展正在持續快速發展。儘管在開源軟體方面,許多商務人士仍然憑直覺想到linux,但是內容管理系統在改變公司內部的思維方式中起著舉足輕重的作用。為什麼?因為cms行業是最早採用開源...