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