如何構建入門級IDS
IDS作為網(wǎng)絡安全產(chǎn)品受到各大企業(yè)的關注,但是因為IDS產(chǎn)品價格居高致使許多中小型企業(yè)沒有能力購進如此昂貴的系統(tǒng),它們的精力會放在路由器、防火墻以及3層以上交換機的加固上;大中型企業(yè)雖然很多已經(jīng)上了IDS產(chǎn)品,但IDS天然的缺陷導致其似乎無所作為。但IDS作為企業(yè)來說是一個必需的過程,那么我們?nèi)绾尾拍芾蒙倭康馁Y金來達到自己的安全防護效果呢?本文簡單講述了如何構建入門級IDS系統(tǒng)。
其實IDS的技術手段并不很神秘,接下來我們用一種“順藤摸瓜”的脈絡,看看構建入門級IDS需要哪些步驟。從市場分布、入手難易的角度來看,選擇NIDS作為范例進行部署,比較地恰當。本文以完全的Windows平臺來貫穿整個入侵檢測流程,由于篇幅所限,以定性分析角度來陳述。
預備知識
IDS:Intrusion Detection System(入侵檢測系統(tǒng)),通過收集網(wǎng)絡系統(tǒng)信息來進行入侵檢測分析的軟件與硬件的智能組合。
對IDS進行標準化工作的兩個組織:作為國際互聯(lián)網(wǎng)標準的制定者IETF的Intrusion Detection Working Group(IDWG,入侵檢測工作組)和Common Intrusion Detection Framework(CIDF,通用入侵檢測框架)。
IDS分類:Network IDS(基于網(wǎng)絡)、Host-Based IDS(基于主機)、Hybrid IDS(混合式)、Consoles IDS(控制臺)、File Integrity Checkers(文件完整性檢查器)、Honeypots(蜜罐)。事件產(chǎn)生系統(tǒng)
根據(jù)CIDF闡述入侵檢測系統(tǒng)(IDS)的通用模型思想,具備所有要素、最簡單的入侵檢測組件。根據(jù)CIDF規(guī)范,將IDS需要分析的數(shù)據(jù)統(tǒng)稱為Event(事件),Event既可能是網(wǎng)絡中的Data Packets(數(shù)據(jù)包),也可能是從System Log等其他方式得到的Information(信息)。
沒有數(shù)據(jù)流進(或數(shù)據(jù)被采集),IDS就是無根之木,完全無用武之地。
作為IDS的基層組織,事件產(chǎn)生系統(tǒng)大可施展拳腳,它收集被定義的所有事件,然后一股腦地傳到其它組件里。在Windows環(huán)境下,目前比較基本的做法是使用Winpcap和Windump。
大家知道,對于事件產(chǎn)生和事件分析系統(tǒng)來說,眼下流行采用Linux和Unix平臺的軟件和程序;其實在Windows平臺中,也有類似Libpcap(是Unix或Linux從內(nèi)核捕獲網(wǎng)絡數(shù)據(jù)包的必備軟件)的工具即Winpcap。
Winpcap是一套免費的, 基于Windows的網(wǎng)絡接口API,把網(wǎng)卡設置為“混雜”模式,然后循環(huán)處理網(wǎng)絡捕獲的數(shù)據(jù)包。其技術實現(xiàn)簡單,可移植性強,與網(wǎng)卡無關,但效率不高,適合在100 mbps以下的網(wǎng)絡
相應的基于Windows的網(wǎng)絡嗅探工具是Windump(是Linux/Unix平臺的Tcpdump在Windows上的移植版),這個軟件必須基于Winpcap接口(這里有人形象地稱Winpcap為:數(shù)據(jù)嗅探驅動程序)。使用Windump,它能把匹配規(guī)則的數(shù)據(jù)包的包頭給顯示出來。你能使用這個工具去查找網(wǎng)絡問題或者去監(jiān)視網(wǎng)絡上的狀況,可以在一定程度上有效監(jiān)控來自網(wǎng)絡上的安全和不安全的行為。
這兩個軟件在網(wǎng)上都可以免費地找到,讀者還可以查看相關軟件使用教程。
下面大略介紹一下建立事件探測及采集的步驟
1、裝配軟件和硬件系統(tǒng)。根據(jù)網(wǎng)絡繁忙程度決定是否采用普通兼容機或性能較高的專用服務器;安裝nt核心的Windows操作系統(tǒng),推薦使用Windows Server 2003企業(yè)版,如果條件不滿足也可使用Windows 2000 advanced Server。分區(qū)格式建議為ntfs格式。
2、服務器的空間劃分要合理有效,執(zhí)行程序的安裝、數(shù)據(jù)日志的存儲,兩者空間最好分別放置在不同分區(qū)。
3、Winpcap的簡單實現(xiàn)。首先安裝它的驅動程序,可以到它的主頁或鏡像站點下載Winpcap auto-installer (driver+dlls),直接安裝。
注:如果用Winpcap做開發(fā),還需要下載 developer's pack。
Winpcap 包括三個模塊:第一個模塊NPF(netgroup packet filter),是一個VXD(虛擬設備驅動程序)文件。其功能是過濾數(shù)據(jù)包,并把這些包完好無損地傳給用戶態(tài)模塊。第二個模塊packet.dll為win32平臺提供了一個公共接口,架構在packet.dll之上,提供了更方便、更直接的編程方法。第三個模塊 wpcap.dll不依賴于任何操作系統(tǒng),是底層的動態(tài)鏈接庫,提供了高層、抽象的函數(shù)。具體使用說明在各大網(wǎng)站上都有涉及,如何更好利用Winpcap需要較強的C環(huán)境編程能力。
4、Windump的創(chuàng)建。安裝后,在Windows命令提示符模式下運行,用戶自己可以查看網(wǎng)絡狀態(tài),恕不贅述。
如果沒有軟件兼容性問題、安裝和配置正確的話,構建入門級IDS中的第一步,事件探測及采集已能實現(xiàn)。
事件分析系統(tǒng)
由于我們的網(wǎng)絡大都用交換式以太網(wǎng)交換機連接,所以建立事件分析系統(tǒng)的目的是實現(xiàn)對多種網(wǎng)絡防火墻設備的探測,以及多種采集方式(如基于Snmp、Syslog數(shù)據(jù)信息的采集)日志的支持,并提供一定的事件日志處理,統(tǒng)計、分析和查詢功能。
事件分析系統(tǒng)是IDS的核心模塊,主要功能是對各種事件進行分析,從中發(fā)現(xiàn)違反安全策略的行為,如何建立是重點也是難點。如果自己能或與人合作編寫軟件系統(tǒng),就需要做好嚴謹?shù)那捌陂_發(fā)準備,如對網(wǎng)絡協(xié)議、黑客攻擊、系統(tǒng)漏洞有著比較清晰的認識,接著開始制定規(guī)則和策略,它應該基于標準的技術標準和規(guī)范,然后優(yōu)化算法以提高執(zhí)行效率,建立檢測模型,可以模擬進行攻擊及分析過程。
事件分析系統(tǒng)把檢測引擎駐留在監(jiān)視網(wǎng)段中,一般通過三種技術手段進行分析:模式匹配、協(xié)議分析和行為分析。當檢測到某種誤用模式時,產(chǎn)生對應的警告信息并發(fā)送給響應系統(tǒng)。目前來看,使用協(xié)議分析是實時檢測的最好方式。
這個系統(tǒng)一種可能的方式是由協(xié)議分析器作為主體,可以在現(xiàn)成的、開放式的協(xié)議分析工具包基礎上來構建;協(xié)議分析器可以顯示分組級網(wǎng)絡傳輸流,基于網(wǎng)絡協(xié)議規(guī)則的警告進行自動分析來快速探測攻擊的存在;由此,網(wǎng)絡程序員和管理員可監(jiān)控并分析網(wǎng)絡活動,從而主動檢測并定位故障。用戶可以嘗試一下一個叫ethereal的免費網(wǎng)絡協(xié)議分析器,它支持Windows系統(tǒng)。用戶可以對由事件產(chǎn)生系統(tǒng)抓取后保存在硬盤上的數(shù)據(jù)進行分析。你能交互式地瀏覽抓取到的數(shù)據(jù)包,查看每一個數(shù)據(jù)包的摘要和詳細信息。Ethereal有多種強大的特征,如支持幾乎所有的協(xié)議、豐富的過濾語言、易于查看TCP會話經(jīng)重構后的數(shù)據(jù)流等。
響應系統(tǒng)
響應系統(tǒng)是面向人、物的交互系統(tǒng),可以說是整個系統(tǒng)的中轉站和協(xié)調站。人即是系統(tǒng)管理員、物是其他所有組件。詳細說來,響應系統(tǒng)這個協(xié)調員要做的事很多:按照預置定義的方式,記錄安全事件、產(chǎn)生報警信息(如E-mail形式)、記錄附加日志、隔離入侵者、終止進程、禁止受害者的端口和服務、甚至反戈一擊;可以采取人工響應和自動響應(基于機器的響應),兩者結合起來會比較好。
響應系統(tǒng)的設計要素
(1) 接受自事件產(chǎn)生系統(tǒng)經(jīng)事件分析系統(tǒng)過濾、分析、重建后的事件警報信息,然后交互給用戶(管理員)查詢并做出規(guī)則判斷和采取管理行為。
(2) 給管理員提供管理事件數(shù)據(jù)庫系統(tǒng)的一個接口,可以修改規(guī)則庫、根據(jù)不同網(wǎng)絡環(huán)境情況配置安全策略、讀寫數(shù)據(jù)庫系統(tǒng)。
(3)作用于前端系統(tǒng)時,可管理事件產(chǎn)生、分析系統(tǒng)(合稱事件探測器),對該系統(tǒng)采集、探測、分析的事件進行分類、篩選,可針對不同安全狀況,重新對安全規(guī)則進行洗牌。
響應系統(tǒng)和事件探測器通常是以應用程序的形式實現(xiàn)。
設計思路:響應系統(tǒng)可分為兩個程序部分,監(jiān)聽和控制。 監(jiān)聽部分綁定某個空閑端口,接收從事件探測器發(fā)出的分析結果和其他信息,并轉化存儲文件到事件數(shù)據(jù)庫系統(tǒng)中,作為管理員可根據(jù)用戶權限調用來只讀、修改以及特別的操作??刂撇糠挚捎胓tk+來編寫gui,開發(fā)出較為直觀的圖形用戶界面,目的主要是給用戶一個更方便友好的界面來瀏覽警告信息。
事件數(shù)據(jù)庫系統(tǒng)
在Windows平臺下,雖然Access更易掌握,但采用SQL Server 2000構建會比Access有效,而且并不是很難入手,此系統(tǒng)主要功能:記錄、存儲、重排事件信息,可供管理員調用查看和對攻擊審查取證使用。
此系統(tǒng)構造相對簡單,只需利用到數(shù)據(jù)庫軟件的一些基本功能。
要協(xié)調各組件之間的有目的通信,各組件就必須能正確理解相互之間傳遞的各種數(shù)據(jù)的語義??蓞⒖糃IDF的通信機制,構建3層模型。注意各個組件之間的互操作性,保證安全、高效、順暢。
整合在后續(xù)的工作中會不斷進行,各個組件的功能也會不斷完善。我們已經(jīng)成功構建入門級IDS系統(tǒng)。滿足網(wǎng)絡條件的話,試試親手做做自己的奶酪吧,有一種不可名狀的勞作后的甜蜜。
【編輯推薦】
- 通過網(wǎng)絡監(jiān)控檢測內(nèi)核入侵攻擊
- 交換機的無線與有線入侵檢測
- 如何在Linux下實現(xiàn)入侵檢測IDS
- 假想案例談論IPS系統(tǒng)部署
- 如何實現(xiàn)IPS系統(tǒng)深度檢測