Saturday, July 3, 2010

Echeneidae IDS 2 Alpha 2 Release

經過長時間的Debug後,我終於解決了那個隱藏的Bug,原來是對IP碎片封包組合出了點錯誤,導致IDS卡死(事實上也發現了我對IP碎片理解的錯誤,所以重組模組幾乎是重新改寫)

Alpha 2中我強化了簡陋的規則,目前能追蹤TCP連線,檢測TCP Scan跟UDP Scan(通過Nmap基礎測式),會將紀錄檔存在log資料夾下,並且加上時間和哪條規則觸發的詳細資訊

也修補了不少小地方的Bug,讓IDS更加穩定

目前還有的問題是,IP碎片重組後不會驗證是否所有碎片已到齊,這功能將會在下一版中加入

其它特色我在Echeneidae IDS 2 Alpha 1 Release已經說明了

使用方法有些改變,如下
  1. 由於會有一個packet.swap當暫存檔(610MB),所以建議至少準備1GB以上硬碟空間
    記憶體建議至少有128MB的空間(1G以上最好)
  2. 建議把IDS放在英文目錄下
  3. 需要Winpcap捕捉封包,並且需要Python 3.1.2(32bit版本,可裝在64bit OS上)來執行IDS
  4. 下載IDS http://xcfileapp.appspot.com/download/echeneidae2alpha2.zip?fileid=1278128714.7
請用記事本開啟IDS資料夾下的define.py,修改最後一行local_ip=[192,168,2,3],改為local_ip=[xxx,xxx,xxx,xxx](xxx為你的IP,注意中間不是用"."隔開,而是用","隔開)



接著雙擊echeneidae.py啟動IDS,如果無法開啟,請執行run.bat(裡面的python.exe路徑預設為C:\Python31\python.exe,如果你裝在別的路徑,請修改)

這時它會詢問你要監控哪一張網卡,請輸入上面列出網卡旁的編號


接著它會問你是否要把紀錄顯示在螢幕上(這樣會比較耗CPU),一般建議選0,不要顯示


Enter後,便會停住,這時IDS已經開始運作了,請不要關閉這個視窗(關閉它代表停止IDS)
要看紀錄可以去log資料下,會有紀錄檔


關於規則的寫法,我之後會公布,有興趣的人可以先去研究一下rule資料夾下的規則檔
基本上Python是這個IDS的效能致命傷,我已經盡量改善了,建議在多核心CPU上運行,這樣可以發揮經過設計的平行運算效能

No comments:

Post a Comment