Sunday, June 27, 2010

Echeneidae IDS 2 Alpha 1 Release

內容
Echeneidae IDS是一個擁有模組化規則的網路入侵檢測系統(只檢測不防禦,沒有Firewall的功能),每個規則都為一個Python Module,被載入後可以透過繼承modrule.rule和其他通用模組進行封包的取得和分析。

每個規則模組都為獨立Process,因此如果一個模組出現異常導致關閉,不會影響到其他規則
並且由於為多個獨立Process,所以在多核心CPU上可以發揮平行運算的效能(核心捕捉封包的模組設計上盡量減少了多個Process存取同一個資源時所造成的等待)

目前已完成的基本模組有封包解析模組(modfilter.py,目前已能解析Ethernet II、ARP、IPv4、TCP)、IPv4碎片重組(modipfrag.py)、計時模組(define.py中,由於受限於GIL,可能不是很準)

核心C Extension Module已經盡量提升效能了,不過礙於Python本身是直譯式語言的關係,效能問題頗嚴重,不過在多核CPU上可以藉由平行運算的優勢來改善一些

測試
目前內建測試規則有兩個,偵測Port Scan和紀錄TCP連線,至於規則的寫法,之後會有說明文件(有興趣的人可以直接去研究rule資料夾下的ruleX.py,裡面的都是標準寫法)

需要Winpcap和Python 3.1.2才能運行(Python 3.1.2必須是32bit版本,OS是64bit沒關係)
執行資料夾下的echeneidae.py,輸入網卡代號選擇網卡,Echeneidae IDS便開始運作,將偵測結果顯示在螢幕上

注意,由於會有一個緩衝用的檔案packet.swap,會占用610MB的硬碟空間,建議在1G以上硬碟空間執行,另外建議不要在中文目錄下執行

目前測試Intel CPU單核 雙核 四核都能正常運作,以測正常運作作業系統有Windows 7 32bit和下面(是我目前能測的,不代表其他Windows OS不能運作)

Windows XP SP3 32bit

Windows Server 2003 SP2 32bit

Windows Server 2008 R2 64bit





No comments:

Post a Comment