新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于網(wǎng)絡(luò)引擎入侵檢測(cè)系統(tǒng)的研究與實(shí)現(xiàn)

基于網(wǎng)絡(luò)引擎入侵檢測(cè)系統(tǒng)的研究與實(shí)現(xiàn)

作者: 時(shí)間:2011-08-01 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:濫用和異常的檢測(cè)模型是IDS系統(tǒng)兩大檢測(cè)模型,其對(duì)應(yīng)的技術(shù)即為和主機(jī)代理。本文主機(jī)代理采用異常的模型進(jìn)行檢測(cè),與數(shù)據(jù)庫(kù)中存儲(chǔ)的特征庫(kù)進(jìn)行比較,從而判斷是否是一次攻擊,從而一個(gè)可以監(jiān)視具有多臺(tái)主機(jī)的整個(gè)網(wǎng)段,通過企業(yè)網(wǎng)絡(luò)中所有組件不受攻擊。
關(guān)鍵詞:檢測(cè)模型;網(wǎng)絡(luò)引擎;主機(jī)代理;特征庫(kù)

近年來(lái)(IDS)成為一個(gè)非?;钴S的領(lǐng)域。所謂入侵檢測(cè),就是通過從計(jì)算機(jī)網(wǎng)絡(luò)或計(jì)算機(jī)系統(tǒng)中的若干關(guān)鍵點(diǎn)收集信息并對(duì)其進(jìn)行分析,以發(fā)現(xiàn)網(wǎng)絡(luò)或系統(tǒng)中是否有違反安全策略的行為和遭到襲擊的跡象。在二十世紀(jì)八十年代,大多數(shù)入侵者都是高水平的專家,他們經(jīng)常自己入侵系統(tǒng)的方法,而很少使用自動(dòng)工具和現(xiàn)成的代碼。雖然現(xiàn)在的入侵者的整體技術(shù)水平越來(lái)越不如以前,但是現(xiàn)在的攻擊工具卻越來(lái)越高級(jí)。這使得任何人都可以使用現(xiàn)成的工具來(lái)攻擊Internet上的計(jì)算機(jī)系統(tǒng)。入侵的目標(biāo)是將攻擊的各種表象特征化,以確認(rèn)所有真正的攻擊而且又不誤認(rèn)非攻擊活動(dòng)。

1 網(wǎng)絡(luò)引擎引入及設(shè)計(jì)
網(wǎng)絡(luò)引擎通過分析網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包,得到可能入侵的信息。它不僅是一個(gè)數(shù)據(jù)產(chǎn)生和傳輸?shù)墓ぞ?,也具有一定的分析能力。它的功能基本上相?dāng)于一個(gè)完整的基于網(wǎng)絡(luò)的入侵。為了提高網(wǎng)絡(luò)引擎的檢測(cè)的速度和準(zhǔn)確度,首先,基于已知的攻擊手段來(lái)建立黑客攻擊的元數(shù)據(jù)庫(kù),保存所有已知的黑客攻擊知識(shí),按照其類別進(jìn)行分類。其次,采用建立模糊模型來(lái)對(duì)網(wǎng)絡(luò)引擎上報(bào)事件進(jìn)行分析。
網(wǎng)安入侵檢測(cè)系統(tǒng)中的網(wǎng)絡(luò)引擎是在windows NT平臺(tái)上,使用Visual C++6.0編程。網(wǎng)絡(luò)引擎分為以下幾個(gè)模塊:數(shù)據(jù)包截獲、協(xié)議分析、數(shù)據(jù)分析。結(jié)構(gòu)如圖1所示。

本文引用地址:http://butianyuan.cn/article/155975.htm

a.jpg


1)數(shù)據(jù)包截獲 該模塊將網(wǎng)絡(luò)接口設(shè)置為混雜模式,將流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)包截取下來(lái),供協(xié)議分析模塊使用。由于效率的需要,有時(shí)要根據(jù)設(shè)置過濾網(wǎng)絡(luò)上的一些數(shù)據(jù)包,如特定IP、特定MAC地址、特定協(xié)議的數(shù)據(jù)包。該模塊的過濾功能的效率是該網(wǎng)絡(luò)監(jiān)聽的關(guān)鍵,因?yàn)閷?duì)于網(wǎng)絡(luò)上的每一數(shù)據(jù)包都會(huì)使用該模塊過濾,判斷是否符合過濾條件。低效率的過濾程序會(huì)導(dǎo)致數(shù)據(jù)包丟失、分析部分來(lái)不及處理。
為提高效率,本系統(tǒng)采用了專門為數(shù)據(jù)監(jiān)聽?wèi)?yīng)用程序設(shè)計(jì)的開發(fā)包Winpcap來(lái)實(shí)現(xiàn)這模塊,開發(fā)包中內(nèi)置的內(nèi)核層所實(shí)現(xiàn)的BPF過濾機(jī)制和許多接口函數(shù),不但能夠提高監(jiān)聽部分的效率,也降低了開發(fā)的難度。同時(shí)Winpcap是從UNIX平臺(tái)上的Libpcap移植過來(lái)的,它們具有相同的接口,減輕了不同平臺(tái)上開發(fā)網(wǎng)絡(luò)代理的難度。Winpcap有3部分組成:一個(gè)數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動(dòng)程序,一個(gè)低級(jí)的動(dòng)態(tài)連接庫(kù)和一個(gè)高級(jí)的靜態(tài)連接庫(kù)。數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動(dòng)程序直接從數(shù)據(jù)鏈路層取得網(wǎng)絡(luò)數(shù)據(jù)包,并不加修改地傳遞給運(yùn)行在用戶層的應(yīng)用程序。數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動(dòng)程序支持BPF過濾機(jī)制,可以靈活地設(shè)置過濾規(guī)則。低級(jí)的動(dòng)態(tài)鏈接庫(kù)運(yùn)行在用戶層,它把應(yīng)用程序和數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動(dòng)程序隔離開來(lái),使得應(yīng)用程序可以不加修改地在不同Windows系統(tǒng)上運(yùn)行。高級(jí)靜態(tài)鏈接庫(kù)和應(yīng)用程序編譯在一起,它使用低級(jí)動(dòng)態(tài)鏈接庫(kù)提供的服務(wù),向應(yīng)用程序提供完善的監(jiān)聽接口。
2)協(xié)議分析 協(xié)議分析的功能是辨別數(shù)據(jù)包的協(xié)議類型,以便使用相應(yīng)的數(shù)據(jù)分析程序來(lái)檢測(cè)數(shù)據(jù)包。把所有的協(xié)議構(gòu)成一棵協(xié)議樹,一個(gè)特定的協(xié)議是該樹結(jié)構(gòu)中的一個(gè)節(jié)點(diǎn),可以用一棵二又樹來(lái)表示,如圖2所示。

b.jpg


一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的分析就是一條從根到某個(gè)葉子的路徑。在程序中動(dòng)態(tài)地維護(hù)和配置此樹結(jié)構(gòu)即可實(shí)現(xiàn)非常靈活的協(xié)議分析功能。在該樹結(jié)構(gòu)中可以加入自定義的協(xié)議節(jié)點(diǎn),如在HTTP協(xié)議中可以把請(qǐng)求URL列入該樹中作為一個(gè)點(diǎn),再將URL中不同的方法作為子節(jié)點(diǎn),這樣可以細(xì)化分析數(shù)據(jù),提高檢測(cè)效率。樹的結(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)中包含以下信息:該協(xié)議的特征、協(xié)議名稱、協(xié)議代號(hào),下級(jí)協(xié)議代號(hào),協(xié)議對(duì)應(yīng)的數(shù)據(jù)分析函數(shù)鏈表。協(xié)議名稱是該協(xié)議的唯一標(biāo)志。協(xié)議代號(hào)是為了提高分析速度用的編號(hào)。下級(jí)協(xié)議代號(hào)是在協(xié)議樹中其父結(jié)點(diǎn)的編號(hào),如TCP的下級(jí)協(xié)議是IP協(xié)議。協(xié)議特征是用于判定一個(gè)數(shù)據(jù)包是否為該協(xié)議的特征數(shù)據(jù),這是協(xié)議分析模塊判斷該數(shù)據(jù)包的協(xié)議類型的主要依據(jù)。數(shù)據(jù)分析函數(shù)鏈表是包含對(duì)該協(xié)議進(jìn)行檢測(cè)的所有函數(shù)的鏈表。該鏈表的每一節(jié)點(diǎn)包含可配置的數(shù)據(jù),如是否啟動(dòng)該檢測(cè)函數(shù)等。

c++相關(guān)文章:c++教程



上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉