明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

基于Windows基礎(chǔ)級IDS構(gòu)建過程詳述

[摘要]從現(xiàn)實(shí)來看,市場上所大行其道的IDS產(chǎn)品價格從數(shù)十萬到數(shù)百萬不等,這種相對昂貴的奶酪被廣為詬病,所導(dǎo)致的結(jié)果就是:一般中小企業(yè)并不具備實(shí)施IDS 產(chǎn)品的能力,它們的精力會放在路由器、防火墻以及3層以上交換機(jī)的加固上;大中型企業(yè)雖然很多已經(jīng)上了IDS產(chǎn)品,但I(xiàn)DS天然的缺陷導(dǎo)致其似乎無所作 為。但我...

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


上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費(fèi)電腦中毒的煩擾。