智能主動防御系統(tǒng)(08-100)
2.1.3 智能防火墻的實現(xiàn)
本文引用地址:http://www.antipu.com.cn/article/91772.htm智能防火墻的實現(xiàn)可以分為用戶態(tài)程序和NDIS中間層驅(qū)動程序兩部分,如圖3所示。
圖3 智能防火墻的實現(xiàn)
1. 用戶態(tài)程序的實現(xiàn)
用戶態(tài)程序使用了WinPcap開發(fā)庫和多線程技術(shù)。利用WinPcap可以實現(xiàn)捕獲原始數(shù)據(jù)包(包括在共享網(wǎng)絡(luò)上各主機(jī)發(fā)送/接收的以及相互之間交換的數(shù)據(jù)包)以及在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)包;
本程序的監(jiān)聽線程中使用了WinPcap的數(shù)據(jù)包捕獲功能,對到達(dá)主機(jī)每個網(wǎng)絡(luò)接口的數(shù)據(jù)包進(jìn)行分析。本程序的掃描線程則使用了WinPcap的發(fā)送原始數(shù)據(jù)包的功能,進(jìn)行局域網(wǎng)存活主機(jī)的掃描。
整個實現(xiàn)用戶態(tài)程序包括以下三部分的功能:
1) 與攻擊者進(jìn)行交互, 提取未知入侵特征碼
2) 將配置信息傳遞給NDIS中間層驅(qū)動
3) 將NDIS中間層驅(qū)動反饋信息提示給用戶
智能防火墻為了實現(xiàn)主機(jī)網(wǎng)絡(luò)的全面保護(hù),對每個網(wǎng)絡(luò)接口都啟動了單獨的保護(hù)線程,因此對于裝有多網(wǎng)卡的計算機(jī),智能防火墻對每個接口都起到了保護(hù)作用。
2. 維護(hù)存活主機(jī)列表
程序內(nèi)部維護(hù)一張存活主機(jī)列表,并且定時對其進(jìn)行更新(10s)。由于列表中元素增刪操作比較頻繁,因此存活主機(jī)列表采用便于增刪操作的“單鏈表”描述。
更新存活主機(jī)列表由掃描和監(jiān)聽兩個線程配合進(jìn)行:
1) 掃描線程:程序利用WinPcap逐一向網(wǎng)內(nèi)所有主機(jī)發(fā)出ARP請求數(shù)據(jù)包。
2) 監(jiān)聽線程: 程序利用WinPcap對到達(dá)本機(jī)的ARP應(yīng)答數(shù)據(jù)包進(jìn)行分析,并對存活主機(jī)列表進(jìn)行更新。
3. 解決智能防火墻的相互干擾
當(dāng)局域網(wǎng)內(nèi)運行有兩個或兩個以上的智能防火墻實例時,其中一個實例在更新存活主機(jī)列表時會向每臺主機(jī)發(fā)出ARP請求,其中也包括向不存活主機(jī)發(fā)出的請求。如果不做任何處理,其它的智能防火墻就會認(rèn)為這是攻擊,就會向其進(jìn)行虛假應(yīng)答,從而導(dǎo)致該智能防火墻不能得到正確的存活主機(jī)列表。如果互相干擾那么智能防火墻就不能正常工作了。
為了解決這個問題,我們在智能防火墻發(fā)出的ARP請求數(shù)據(jù)包的附加數(shù)據(jù)區(qū)設(shè)置了標(biāo)志。智能防火墻就能明確是敵是友了。
4. 發(fā)現(xiàn)未知入侵
當(dāng)程序的監(jiān)聽線程檢測到有ARP請求時,檢查存活主機(jī)列表,如果發(fā)現(xiàn)是對未存活主機(jī)的ARP請求,則偽裝成目的主機(jī)給出虛假應(yīng)答。
當(dāng)智能防火墻給攻擊者發(fā)出虛假的ARP應(yīng)答時,攻擊主機(jī)發(fā)送給不存活主機(jī)的數(shù)據(jù)都會發(fā)送給本機(jī)(智能防火墻)。智能防火墻的監(jiān)聽線程會對接收到的數(shù)據(jù)包進(jìn)行分析并根據(jù)事先設(shè)置好的應(yīng)答規(guī)則對其進(jìn)行應(yīng)答,并對攻擊主機(jī)發(fā)送的數(shù)據(jù)包進(jìn)行特征提取,存入特征數(shù)據(jù)庫。
5. 特征提取采用的方法
入侵?jǐn)?shù)據(jù)包的特征提取是智能防火墻用戶態(tài)程序的核心工作,特征提取的好壞直接影響著整個防火墻系統(tǒng)的性能。智能防火墻采取的特征提取方法是:去掉數(shù)據(jù)包傳輸層以下的協(xié)議頭數(shù)據(jù),對剩余部分?jǐn)?shù)據(jù)(應(yīng)用層協(xié)議頭和應(yīng)用層數(shù)據(jù)體)進(jìn)行“摘要算法(MD5)”計算,計算的結(jié)果就是我們所要提取的入侵特征。這種特征提取方法具有結(jié)果唯一性和低存貯空間的特點。為在底層驅(qū)動中進(jìn)行數(shù)據(jù)包特征的比對提供了便利。
評論