楊銘
摘 要:本文對(duì)網(wǎng)絡(luò)入侵檢測(cè)技術(shù)中的BP進(jìn)行了深入研究。首先講述了入侵檢測(cè)的發(fā)展史和入侵檢測(cè)數(shù)據(jù)包的截獲技術(shù)的分類。然后詳細(xì)分析了BPF(Berkeley Packet filter)的數(shù)據(jù)包截獲和信息過(guò)濾技術(shù)。最后給出了入侵檢測(cè)系統(tǒng)的發(fā)展趨勢(shì)。
關(guān)鍵詞:入侵檢測(cè);BPF;數(shù)據(jù)包截獲;信息過(guò)濾
1 入侵檢測(cè)的發(fā)展歷史
James Anderson在《計(jì)算機(jī)安全威脅監(jiān)控與監(jiān)視》的技術(shù)報(bào)告第一次提出入侵檢測(cè)的概念。它將對(duì)計(jì)算機(jī)系統(tǒng)的威脅分成內(nèi)部滲透、外部滲透和不法行為三種,并融入了利用審計(jì)跟蹤數(shù)據(jù)、監(jiān)視入侵活動(dòng)的方法。
1986年,Denning提出了第一個(gè)入侵檢測(cè)模型,它是入侵檢測(cè)系統(tǒng)中影響最深遠(yuǎn)的。該系統(tǒng)在一個(gè)應(yīng)用中運(yùn)用基于規(guī)則和統(tǒng)計(jì)兩種技術(shù),使用特定的系統(tǒng)平臺(tái)和應(yīng)用環(huán)境、系統(tǒng)弱點(diǎn)以及入侵類型,為構(gòu)建入侵檢測(cè)系統(tǒng)提供了一個(gè)通用的框架。入侵檢測(cè)基于的一個(gè)重要前提是:入侵行為和合法行為是可區(qū)分的,也就是說(shuō)可以通過(guò)提取網(wǎng)絡(luò)行為的數(shù)字特征來(lái)分析判斷該行為的合法性。它作為一種積極主動(dòng)的安全防護(hù)技術(shù),分析計(jì)算機(jī)網(wǎng)絡(luò)或是計(jì)算機(jī)系統(tǒng)中若干關(guān)鍵點(diǎn)收集的信息,從中發(fā)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)或是計(jì)算機(jī)系統(tǒng)中是否有被攻擊的跡象或者違反安全策略的行為。提供了對(duì)內(nèi)部攻擊、外部攻擊和誤操作的實(shí)時(shí)保護(hù),在網(wǎng)絡(luò)系統(tǒng)受到危害之前攔截和響應(yīng)入侵,是入侵檢測(cè)研究中最有影響的一個(gè)系統(tǒng)。
2 入侵檢測(cè)數(shù)據(jù)包截獲技術(shù)的分類
入侵檢測(cè)最重要的工作就是網(wǎng)絡(luò)數(shù)據(jù)包的截獲。它具有多面性,一方面黑客可以利用它刺探網(wǎng)絡(luò)的傳輸數(shù)據(jù),另一方面網(wǎng)絡(luò)管理員可以用來(lái)監(jiān)聽(tīng)網(wǎng)絡(luò)的流量情況,同時(shí)網(wǎng)絡(luò)開(kāi)發(fā)的程序員可以用它來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)的應(yīng)用程序?,F(xiàn)在有許多免費(fèi)的和商業(yè)性質(zhì)的網(wǎng)絡(luò)監(jiān)聽(tīng)工具,這類工具又叫網(wǎng)絡(luò)嗅探器(sniffer)。通過(guò)嗅探器可以截獲并分析網(wǎng)絡(luò)上的數(shù)據(jù)。其中l(wèi)ibpcap和BPF就是有名的嗅探器函數(shù)庫(kù)。
截獲網(wǎng)絡(luò)數(shù)據(jù)有以下兩種方法:一是通過(guò)設(shè)置路由器的監(jiān)聽(tīng)端口或鏡像端口,二是利用以太網(wǎng)絡(luò)的廣播特性來(lái)實(shí)現(xiàn)。以太網(wǎng)傳輸網(wǎng)絡(luò)數(shù)據(jù)幀采用CSMA/CD(載波偵聽(tīng)/沖突檢測(cè))的技術(shù)。載波偵聽(tīng)的工作原理是:網(wǎng)絡(luò)中的每個(gè)主機(jī)都是平等的。傳輸數(shù)據(jù)時(shí),先要監(jiān)聽(tīng)檢測(cè)信道的狀態(tài)。如果是空閑狀態(tài),就將數(shù)據(jù)傳輸出去,如果信道忙碌,則等待信道空閑再傳輸。當(dāng)兩個(gè)主機(jī)同時(shí)檢測(cè)到網(wǎng)絡(luò)空閑則使用沖突檢測(cè)技術(shù)。在載波偵聽(tīng)/沖突檢測(cè)模式下,以太網(wǎng)采用廣播機(jī)制傳輸數(shù)據(jù)幀,同一網(wǎng)段上的主機(jī)彼此透明,可以看到該網(wǎng)段上所有傳輸?shù)臄?shù)據(jù)幀,完成所有網(wǎng)絡(luò)包的分析和截獲。
3 BPF數(shù)據(jù)包截獲與分析
1993年,Steven McCanne與Van Jacobson在Usenix93會(huì)議上提出的一種使用Unix內(nèi)核的數(shù)據(jù)包截獲過(guò)濾機(jī)制—伯克利包過(guò)濾(Berkeley Packet filter,BPF)。BPF大大提高系統(tǒng)運(yùn)行的性能。在設(shè)計(jì)體制上,BPF有兩個(gè)改進(jìn):第一使用了一種新型的基于寄存器的“過(guò)濾虛擬機(jī)”,它可以高效的在基于寄存器的RISC處理器上進(jìn)行包過(guò)濾。第二BPF使用了一種可以為每個(gè)單獨(dú)的進(jìn)程提供服務(wù)的非共享緩存模型,該模型使系統(tǒng)性能得到很大提高。
BPF由Unix系統(tǒng)內(nèi)核實(shí)現(xiàn),由以下兩大部分組成:網(wǎng)絡(luò)接口和數(shù)據(jù)包過(guò)濾器。網(wǎng)絡(luò)接口主要通過(guò)網(wǎng)絡(luò)驅(qū)動(dòng)程序從網(wǎng)卡上獲取流經(jīng)網(wǎng)卡的所有數(shù)據(jù)包,然后把數(shù)據(jù)包分發(fā)給正在等待的系統(tǒng)進(jìn)程。為防止無(wú)用的數(shù)據(jù)包被調(diào)進(jìn)用戶空間,通過(guò)用戶定義的相應(yīng)規(guī)則,數(shù)據(jù)包過(guò)濾器丟棄沒(méi)用的數(shù)據(jù)包。包過(guò)濾器將有效的數(shù)據(jù)包緩存,等待它被用戶程序調(diào)用。
4 BPF的信息過(guò)濾技術(shù)
BPF實(shí)現(xiàn)數(shù)據(jù)包過(guò)濾具體步驟是:首先網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序收集網(wǎng)絡(luò)數(shù)據(jù)包,交由過(guò)濾器處理,然后過(guò)濾器過(guò)濾該數(shù)據(jù)包。BPF模型將其實(shí)現(xiàn)為BPF虛擬機(jī),通過(guò)在BPF虛擬機(jī)上執(zhí)行過(guò)濾程序,過(guò)濾器決定是否捕獲數(shù)據(jù)包,如果捕獲,則捕獲該數(shù)據(jù)包的哪些部分。當(dāng)過(guò)濾器過(guò)濾完數(shù)據(jù)包后,將數(shù)據(jù)提交給過(guò)濾器關(guān)聯(lián)的上層應(yīng)用程序。接下來(lái)控制權(quán)由鏈路層設(shè)備驅(qū)動(dòng)程序重新獲得,把過(guò)濾后的網(wǎng)絡(luò)數(shù)據(jù)包提交給上層的系統(tǒng)協(xié)議棧處理。
引入了數(shù)據(jù)包過(guò)濾機(jī)制后,網(wǎng)絡(luò)上的每個(gè)數(shù)據(jù)包都會(huì)被系統(tǒng)過(guò)濾,根據(jù)該數(shù)據(jù)包是否滿足過(guò)濾條件,判定是否接收該數(shù)據(jù)包和接收該數(shù)據(jù)包的哪些部分,然后復(fù)制數(shù)據(jù)包中的相應(yīng)內(nèi)容。但是,引入包過(guò)濾機(jī)制增加了系統(tǒng)處理數(shù)據(jù)包的時(shí)間。網(wǎng)絡(luò)監(jiān)聽(tīng)的關(guān)鍵是過(guò)濾的性能,低效率的過(guò)濾程序?qū)⒁饋G失數(shù)據(jù)包以及來(lái)不及分析等問(wèn)題。
5 入侵檢測(cè)技術(shù)發(fā)展的趨勢(shì)
隨著網(wǎng)絡(luò)流量的不斷增長(zhǎng),對(duì)獲得的數(shù)據(jù)進(jìn)行實(shí)時(shí)分析的難度加大,這對(duì)入侵檢測(cè)系統(tǒng)的要求也逐漸升高。入侵檢測(cè)產(chǎn)品能否高效處理網(wǎng)絡(luò)中的數(shù)據(jù)是衡量入侵檢測(cè)產(chǎn)品的重要依據(jù)。增進(jìn)對(duì)大流量網(wǎng)絡(luò)的處理能力,向高度可集成性發(fā)展也成為入侵檢測(cè)技術(shù)未來(lái)的發(fā)展趨勢(shì)。
[參考文獻(xiàn)]
[1]白媛.分布式網(wǎng)絡(luò)入侵檢測(cè)防御關(guān)鍵技術(shù)的研究[D].北京郵電大學(xué), 2010.
[2]趙闊.高速網(wǎng)絡(luò)入侵檢測(cè)與防御[D].吉林大學(xué),2008.
[3]馬振嬰.混合軟計(jì)算技術(shù)在入侵檢測(cè)中的應(yīng)用研究[D].重慶大學(xué),2010.