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