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