發(fā)布時間:所屬分類:計算機職稱論文瀏覽:1次
摘 要: 論文通過介紹如何運用包過濾技術(shù)實現(xiàn)個人防火墻,深入的剖析了個人防火墻中所用到的各種技術(shù),并重點介紹了通過微軟的NDIS 中間驅(qū)動程序?qū)崿F(xiàn)網(wǎng)絡(luò)封裝包,以及驅(qū)動程序與應(yīng)用程序之間的通訊方法。
關(guān)鍵詞:包過濾技術(shù),NDIS,中間層驅(qū)動程序,刊發(fā)論文
摘 要:論文通過介紹如何運用包過濾技術(shù)實現(xiàn)個人防火墻,深入的剖析了個人防火墻中所用到的各種技術(shù),并重點介紹了通過微軟的NDIS 中間驅(qū)動程序?qū)崿F(xiàn)網(wǎng)絡(luò)封裝包,以及驅(qū)動程序與應(yīng)用程序之間的通訊方法。
隨著網(wǎng)絡(luò)的迅速發(fā)展,各種各樣的網(wǎng)絡(luò)軟件也隨之出現(xiàn),人們的生活和學(xué)習(xí)對網(wǎng)絡(luò)的依賴也越來越多,但問題也接踵而來,防火墻是一種用于在兩個網(wǎng)絡(luò)間進(jìn)行訪問控制的設(shè)備,防火墻系統(tǒng)防范的對象是來自被保護(hù)的網(wǎng)絡(luò)的外部的對網(wǎng)絡(luò)安全的威脅,它通過檢測、限制、更改跨越防火墻的數(shù)據(jù)流,盡可能的實現(xiàn)對外部網(wǎng)絡(luò)的安全保護(hù)。刊發(fā)論文《計算機科學(xué)與探索》雜志是由中華人民共和國工業(yè)和信息化部主管、華北計算技術(shù)研究所主辦的國內(nèi)外公開發(fā)行的計算機學(xué)報級高級學(xué)術(shù)期刊,中國計算機學(xué)會會刊,2010年開始由雙月刊更改為月刊,大16開。歡迎踴躍投稿(中文,英文稿件均可)。報導(dǎo)范圍:堅持刊登計算機(硬件、軟件)各學(xué)科具有創(chuàng)新性、前沿性、導(dǎo)向性、開拓性及探索性的科研成果。讀者對象:計算機相關(guān)專業(yè)科研開發(fā)人員、工程技術(shù)人員及大專院校師生。
一、防火墻和包過濾技術(shù)簡介
而包過濾技術(shù)是防火墻最基本的實現(xiàn)技術(shù),具有包過濾技術(shù)的裝置是用來控制內(nèi)、外網(wǎng)絡(luò)數(shù)據(jù)流入和流出,包過濾技術(shù)的數(shù)據(jù)包大部分是基于TCP/IP協(xié)議平臺的,對數(shù)據(jù)流的每個包進(jìn)行檢查,根據(jù)數(shù)據(jù)報的源地址、目的地址、TCP和IP的端口號,以及TCP的其他狀態(tài)來確定是否允許數(shù)據(jù)包通過。
二、截獲網(wǎng)絡(luò)封裝包
截獲數(shù)據(jù)包是實現(xiàn)一個防火墻的第一步,截獲數(shù)據(jù)包的方法有很多種,既可以在用戶態(tài)下攔截網(wǎng)絡(luò)數(shù)據(jù)包,又可以在核心狀態(tài)下進(jìn)行數(shù)據(jù)包截獲。
在用戶態(tài)下進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包攔截有以下幾種方法:
(1)Winsock Layered Service Provider (LSP)。
(2)Windows 2000 包過濾接口。
(3)替換系統(tǒng)自帶的WINSOCK動態(tài)連接庫。
很顯然,在用戶態(tài)下可以很簡單的進(jìn)行數(shù)據(jù)包攔截,但其最致命的缺點就是只能在Winsock層次上進(jìn)行,而對于網(wǎng)絡(luò)協(xié)議棧中底層協(xié)議的數(shù)據(jù)包無法進(jìn)行處理。對于一些木馬和病毒來說很容易避開這個層次的防火墻。
因此大多數(shù)的個人防火墻選擇利用網(wǎng)絡(luò)驅(qū)動程序來實現(xiàn)的。例如用中間層驅(qū)動程序來截獲數(shù)據(jù)包。
中間層驅(qū)動介于協(xié)議層驅(qū)動和小端口驅(qū)動之間,它能夠截獲所有的網(wǎng)絡(luò)數(shù)據(jù)包(如果是以太網(wǎng)那就是以太幀)。NDIS中間層驅(qū)動的應(yīng)用很廣泛,不僅僅是個人防火墻,還可以用來實現(xiàn)VPN,NAT,PPPOverEthernet以及VLan。中間層驅(qū)動的概念是在Window NT SP4之后才有的,因此對于Windows9x來說無法直接利用中間層驅(qū)動的功能。Windows DDK提供了兩個著名的中間層驅(qū)動例子:Passthru以及Mux。開發(fā)人員可以在Passthru的基礎(chǔ)上進(jìn)行開發(fā),Mux則實現(xiàn)了VLan功能。目前個人防火墻的產(chǎn)品還很少用到這種技術(shù),主要的原因在于中間層驅(qū)動的安裝過于復(fù)雜,尤其是在Windows NT下。Windows 2000下可以通過程序?qū)崿F(xiàn)自動安裝,但是如果驅(qū)動沒有經(jīng)過數(shù)字簽名的話,系統(tǒng)會提示用戶是否繼續(xù)安裝。中層層驅(qū)動功能強大,應(yīng)該是今后個人防火墻技術(shù)的趨勢所在,特別是一些附加功能的實現(xiàn)。
三、驅(qū)動程序和應(yīng)用程序間的通訊
當(dāng)驅(qū)動程序截獲網(wǎng)絡(luò)數(shù)據(jù)包后,驅(qū)動程序要和應(yīng)用程序進(jìn)行通訊,通知應(yīng)用程序?qū)?shù)據(jù)包進(jìn)行判斷,如果符合過濾規(guī)則,則接受數(shù)據(jù)包,否則,則放棄該數(shù)據(jù)包,其步驟大致如下:
(1)應(yīng)用程序創(chuàng)建一事件Event;
(2)應(yīng)用程序通過CreateFile創(chuàng)建驅(qū)動程序?qū)嵗?
(3)把該事件的句柄傳給驅(qū)動程序;
(4)驅(qū)動程序通過DeviceControl函數(shù)接受Event的句柄;
(5)應(yīng)用程序通過DeviceIOControl函數(shù)傳遞控制驅(qū)動程序的消息;
(6)驅(qū)動程序通過Dispatch歷程得到應(yīng)用程序傳來的消息,然后根據(jù)消息類型進(jìn)行不同的服務(wù);
(7)把結(jié)果數(shù)據(jù)放入共享內(nèi)存區(qū),設(shè)置Event事件通知應(yīng)用程序所請求的事情已經(jīng)辦完;
(8)應(yīng)用程序通過WaitForSingleObject來獲知事件發(fā)生;
(9)應(yīng)用程序在共享內(nèi)存區(qū)獲得數(shù)據(jù),并重置該事件。
四、過濾規(guī)則設(shè)置
包過濾防火墻的過濾規(guī)則集由若干條規(guī)則組成,它應(yīng)涵蓋對所有出入防火墻的數(shù)據(jù)包的處理方法,
對于沒有明確定義的數(shù)據(jù)包,應(yīng)該有一個缺省處理方法;過濾規(guī)則應(yīng)易于理解,易于編輯修改;
同時應(yīng)具備一致性檢測機制,防止沖突。IP包過濾的依據(jù)主要是根據(jù)IP包頭部信息如源地址和目的地址進(jìn)行過濾,
如果IP頭中的協(xié)議字段表明封裝協(xié)議為ICMP、TCP或UDP,那么再根據(jù)ICMP頭信息(類型和代碼值)、
TCP頭信息(源端口和目的端口)或UDP頭信息(源端口和目的端口)執(zhí)行過濾,其他的還有MAC地址過濾。
應(yīng)用層協(xié)議過濾要求主要包括FTP過濾、基于RPC的應(yīng)用服務(wù)過濾、基于UDP的應(yīng)用服務(wù)過濾要求以及動態(tài)包過濾技術(shù)等。
在一般情況下,我們可以從以下幾個方面來進(jìn)行訪問規(guī)則的設(shè)置:
(1)禁止一切源路由尋徑的IP包通過;
(2)IP包的源地址和目的地址;
(3)IP包中TCP與UDP的源端口和目的端口;
(4)運行協(xié)議;
(5)IP包的選擇。
動作 協(xié)議 方向 訪問時間 遠(yuǎn)端IP 端口 應(yīng)用程序 備注
放行 IP 流進(jìn) 工作時間 202.114.165.240 8080 IE
詢問 TCP 流進(jìn) 工作時間 202.114.165.192 1080 IE
拒絕 IP 流出 工作時間 202.114.204.153 80 IE
五、記錄和報警
防火墻處理完整日志的方法:防火墻規(guī)定了對于符合條件的報文做日志,應(yīng)該提供日志信息管理和存儲方法。
提供自動日志掃描:指防火墻是否具有日志的自動分析和掃描功能,這可以獲得更詳細(xì)的統(tǒng)計結(jié)果,達(dá)到事后分析、亡羊補牢的目的。
提供自動報表、日志報告書寫器:防火墻實現(xiàn)的一種輸出方式,提供自動報表和日志報告功能。
動作 開始時間
-結(jié)束時間 協(xié)議 進(jìn)流量 出流量 本地IP:端口-
遠(yuǎn)端IP:端口 應(yīng)用程序 備注
放行 21:54 -
22:00 TCP 200 400 202.114.165.240:80
202.114.165.225:80 IE
放行 22:01-
22:10 IP 250 100 202.114.165.240:80
202.114.165.193:80 IE
警告通知機制:防火墻應(yīng)提供告警機制,在檢測到入侵網(wǎng)絡(luò)以及設(shè)備運轉(zhuǎn)異常情況時,通過告警來通知管理員采取必要的措施,包括E-mail、呼機、手機等。
提供簡要報表(按照用戶ID或IP 地址):防火墻實現(xiàn)的一種輸出方式,按要求提供報表分類打印。
提供實時統(tǒng)計:防火墻實現(xiàn)的一種輸出方式,日志分析后所獲得的智能統(tǒng)計結(jié)果,一般是圖表顯示。
用包過濾技術(shù)實現(xiàn)防火墻較為容易,具有比較好的網(wǎng)絡(luò)安全保障功能,但也存在不足之處,由于過濾技術(shù)中無法包括用戶名,而僅僅是客戶機的IP地址,那么如果要過濾用戶名就不能使用包過濾技術(shù)了,另外,由于包過濾技術(shù)遵循”未禁止就允許通過”的規(guī)則,因此,一些未經(jīng)禁止的包的進(jìn)出,可能對網(wǎng)絡(luò)產(chǎn)生安全威脅。今后防火墻的發(fā)展會朝著簡單化、安全化方向邁進(jìn), 綜合包過濾和應(yīng)用代理的功能,達(dá)到兩者的有效結(jié)合,實現(xiàn)新型加密算法的設(shè)計,使數(shù)據(jù)的傳輸更加安全, 會和IDS、病毒檢測等相關(guān)安全產(chǎn)品聯(lián)合起來,充分發(fā)揮各自的長處,協(xié)同配合,共同建立一個有效的安全防范體系。