彭麗麗
摘 要:文章介紹了一款基于Windows構(gòu)架采取應(yīng)用層進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的攔截的Winsock 2 SPI編程技術(shù),適用于個人的防火墻。該防火墻具有小巧方便,操作簡潔,功能齊備,完全滿足個人防火墻要求。
關(guān)鍵詞:Windows構(gòu)架;防火墻;網(wǎng)絡(luò)封包攔截技術(shù)
引言
隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)安全問題日益突出,個人防火墻得到廣泛應(yīng)用。文章通過介紹防火墻的發(fā)展、防火墻種類及Windows構(gòu)架下個人防火墻技術(shù),提出了基于Windows構(gòu)架網(wǎng)絡(luò)數(shù)據(jù)包攔截的個人防火墻設(shè)計。
1 防火墻介紹
1.1 防火墻的發(fā)展
防火墻是實現(xiàn)內(nèi)外網(wǎng)絡(luò)的隔離,以保護內(nèi)網(wǎng)免受外部網(wǎng)絡(luò)的非法入侵而造成損害。防火墻發(fā)展共經(jīng)歷了四個階段:
第一個階段:靜態(tài)包過濾防火墻。采用包過濾技術(shù),網(wǎng)絡(luò)訪問和數(shù)據(jù)過濾完全依賴于路由器,且過濾規(guī)則完全由路由器提供。這類防火墻處理快速,但過濾規(guī)則簡單不能夠攔截到較低層的數(shù)據(jù),但實現(xiàn)了數(shù)據(jù)包過濾[1]。
第二個階段:防火墻用戶化,提供給用戶可實現(xiàn)數(shù)據(jù)過濾功能的套件。相比第一代防火墻,它是工作在電路層的防火墻,仍采用包過濾技術(shù)。用戶需要做系統(tǒng)的配置,對用戶提出較高的要求[2]。
第三個階段:應(yīng)用層防火墻,采用純軟件的方式實現(xiàn),安全性大有提高。它提供了很好的操作界面,不需要用戶進(jìn)行復(fù)雜的系統(tǒng)配置,因此這類防火墻深受用戶喜歡[3]。
第四個階段:具有安全操作系統(tǒng)的防火墻,防火墻本身就具有自己的操作系統(tǒng),盡管它的核心技術(shù)仍然是數(shù)據(jù)包過濾技術(shù),但是它采用自適應(yīng)的代理技術(shù),使防火墻有一定的自我適應(yīng)能力,在安全性上較前面各階段的防火墻有了進(jìn)一層的突破[4]。
防火墻的四個發(fā)展階段從本質(zhì)上講就是靜態(tài)包過濾和動態(tài)包過濾兩個主要階段。
1.2 防火墻種類
防火墻為實現(xiàn)對內(nèi)部網(wǎng)絡(luò)的保護,工作在以太網(wǎng)與內(nèi)部網(wǎng)之間,通過過濾和阻擋有害的網(wǎng)絡(luò)數(shù)據(jù),進(jìn)而保護內(nèi)部網(wǎng)絡(luò)免損害。
從技術(shù)上運用上防火墻可分為包過濾技術(shù)、應(yīng)用代理網(wǎng)關(guān)技術(shù)及狀態(tài)檢測技術(shù)三類[1],下面分別介紹這三類防火墻技術(shù):
1.2.1 包過濾技術(shù)
第一、二代防火墻均采用這種技術(shù),核心在于對數(shù)據(jù)包的處理分析以及應(yīng)用程序處理規(guī)則的設(shè)置。工作時將網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行攔截后與靜態(tài)的安全規(guī)則進(jìn)行對比分析,判斷是否應(yīng)該對此程序或數(shù)據(jù)包放行。
1.2.2 應(yīng)用代理網(wǎng)關(guān)技術(shù)
防火墻將內(nèi)網(wǎng)與Internet直接通信橋梁徹底隔斷。只要設(shè)置好過濾規(guī)則,危險的數(shù)據(jù)包是不可能傳到內(nèi)網(wǎng)中去。此類防火墻需用戶進(jìn)行系統(tǒng)配置,且其安全策略的設(shè)置相當(dāng)繁瑣,處理速度較慢。
1.2.3 狀態(tài)檢測技術(shù)
狀態(tài)檢測技術(shù)采用對數(shù)據(jù)包動態(tài)的過濾完成對傳輸層數(shù)據(jù)通信的控制。傳輸?shù)乃袛?shù)據(jù)包,先按照靜態(tài)規(guī)則進(jìn)行比對分析,如放行,防火墻仍保持對數(shù)據(jù)包跟蹤,此后如發(fā)現(xiàn)數(shù)據(jù)包內(nèi)容與之前攔截數(shù)據(jù)包記錄的狀態(tài)表內(nèi)容不一致時,系統(tǒng)自動將這個數(shù)據(jù)包丟棄。此類技術(shù)實現(xiàn)對數(shù)據(jù)包全程跟蹤,多次安全考核。較前面兩種應(yīng)用范圍更廣,但存在處理較慢的毛病。
2 Windows個人防火墻及與網(wǎng)絡(luò)封包攔截
2.1 Windows個人防火墻簡介
Windows個人防火墻是根據(jù)Windows網(wǎng)絡(luò)協(xié)議架構(gòu),通過在操作系統(tǒng)中插入Hook程序的方式,對所有網(wǎng)絡(luò)通信的數(shù)據(jù)進(jìn)行檢查分析,并將危險的信息過濾掉。Windows個人防火墻的由防火墻進(jìn)程、驅(qū)動程序和過濾規(guī)則集組成。驅(qū)動程序是防火墻核心,實現(xiàn)對網(wǎng)絡(luò)數(shù)據(jù)的攔截、分析及應(yīng)用程序的詢問等工作;過濾規(guī)則集則定義一些安全規(guī)則,實現(xiàn)數(shù)據(jù)包過濾放行與否的原則[3]。
2.2 WINDOWS網(wǎng)絡(luò)封包攔截技術(shù)
網(wǎng)絡(luò)封包攔截技術(shù)是Windows構(gòu)架系統(tǒng)的個人防火墻的技術(shù)核心。WINDOWS系統(tǒng)構(gòu)架下數(shù)據(jù)攔截只能在應(yīng)用層和核心層上進(jìn)行。應(yīng)用層網(wǎng)絡(luò)封包攔截有基于Winsock 2 SPI技術(shù),核心層網(wǎng)絡(luò)封包攔截有基于NDIS中間層驅(qū)動程序、基于NDIS-HOOK鉤子驅(qū)動和基于TDI過濾驅(qū)動程序。下面對這四種采取不同技術(shù)的防火墻作比較:
2.2.1 基于Winsock2SPI技術(shù):SPI技術(shù)程序能夠獲得Winsock進(jìn)程通信的詳情,通過嵌入自己的處理函數(shù)來完成數(shù)據(jù)流加密等用戶程序自定義的處理,但由于SPI僅實現(xiàn)對基于Winsock的數(shù)據(jù)包進(jìn)行攔截,對傳輸層的通信數(shù)據(jù)包無能為力無法攔截TCP/IP數(shù)據(jù)包,因而有一定的局限性。
2.2.2 基于TDI過濾驅(qū)動程序:通過TDI接口數(shù)據(jù)封包攔截,同時攔截應(yīng)用程序通信交互的接口中所要發(fā)送的通信數(shù)據(jù)包。對通訊數(shù)據(jù)包的分析,可以防止不明應(yīng)用程序?qū)Ρ緳C的攻擊。但系統(tǒng)中TDI接口位于第四層,對網(wǎng)絡(luò)層的數(shù)據(jù)通信無法實現(xiàn)攔截。
2.2.3 基于NDIS過濾鉤子程序:通過編寫鉤子程序?qū)⒆约旱奶幚砗瘮?shù)嵌入Microsoft的NDIS接口規(guī)范中,實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)攔截。僅能實現(xiàn)“釣魚”攔截,安全性較差。
2.2.4 基于NDIS中間層驅(qū)動程序:此攔截技術(shù)可以截獲所有的網(wǎng)絡(luò)通信數(shù)據(jù)包,在底層上完成數(shù)據(jù)包的交互,但截獲的數(shù)據(jù)包分析復(fù)雜,可讀性差,實際應(yīng)用少。這種技術(shù)卻具有較高的安全性。
攔截技術(shù)各有長短,單靠某一種攔截技術(shù)設(shè)計出來的防火墻往往達(dá)不到需要的安全級別。如費爾個人防火墻采用了SPI、NDIS-HOOK驅(qū)動程序兩種攔截技術(shù)。盡管Windows構(gòu)架下網(wǎng)絡(luò)封包攔截技術(shù)多樣,要想研究出更為理想的個人防火墻就須在攔截技術(shù)上揚長避短,多種技術(shù)相結(jié)合方式進(jìn)行。
4 個人防火墻設(shè)計
基于Windows系統(tǒng)的國外比較出色的PC防火墻有卡巴斯基、麥咖啡、諾頓等等;我們國家比較出色的有瑞星、江民、天網(wǎng)、360等。下文個人防火墻設(shè)計進(jìn)行描述。
4.1 系統(tǒng)功能分析
文章所設(shè)計防火墻是在應(yīng)用層進(jìn)行封包截獲,基于Winsock 2 SPI技術(shù),主要實現(xiàn)以下功能:
(1)實現(xiàn)計算機實時保護,免被非法程序的攻擊;(2)完成應(yīng)用程序的處理具有記憶功能,對同一個或同一類型的應(yīng)用程序處理動作統(tǒng)一;(3)實現(xiàn)應(yīng)用程序的入網(wǎng)操作進(jìn)行分析過濾;(4)記錄應(yīng)用程序聯(lián)網(wǎng)動作及處理方案、數(shù)據(jù)通信等詳情的日志記錄文件;(5)即時通報非法外在攻擊,并做出處理動作;總的說來,此系統(tǒng)是基于Windows 用戶封包截獲技術(shù)的基礎(chǔ)下提出的,其核心功能是應(yīng)用層網(wǎng)絡(luò)封包攔截。
4.2 系統(tǒng)流程圖
防火墻系統(tǒng)包括三個方面:防火墻進(jìn)程(.exe)、防火墻驅(qū)動程序(.vxd或者.sys)及防火墻安全控制規(guī)則集。工作流程如圖1所示。
由上述工作流程圖可知,系統(tǒng)詳細(xì)功能模塊如圖2所示。
主模塊實現(xiàn)應(yīng)用程序安裝(包括卸載)、用戶注冊、安全規(guī)則編輯、安全規(guī)則設(shè)置、防火墻系統(tǒng)工作模式設(shè)置、日志讀寫、日志記錄及其文件處理及顯示功能;控管規(guī)則文件實現(xiàn)與主模塊中的安全規(guī)則編輯進(jìn)行交互;日志文件模塊實現(xiàn)與主模塊中的讀寫日志文件進(jìn)行交互;驅(qū)動程序模塊是實現(xiàn)系統(tǒng)的核心。它由主模塊引導(dǎo)執(zhí)行,包含:網(wǎng)絡(luò)數(shù)據(jù)包封包過濾模塊、安全控管規(guī)則模塊、工作模式模塊及生成日志模塊。這些模塊與主模塊交互以完成相應(yīng)的工作。
4.3 監(jiān)控界面
個人防火墻系統(tǒng)應(yīng)用程序監(jiān)控界面如圖3所示,用戶可以看到當(dāng)前正在與互聯(lián)網(wǎng)連接訪問的應(yīng)用程序的進(jìn)程,可以清楚的此進(jìn)程的路徑、遠(yuǎn)端IP及端口、本機端口等信息。
圖3 監(jiān)控界面
5 結(jié)束語
文章首先對防火墻的發(fā)展和種類進(jìn)行了介紹,并對在各階段其實現(xiàn)技術(shù)上的差異進(jìn)行分析比較結(jié)合Windows個人防火墻原理和網(wǎng)絡(luò)封包攔截技術(shù),提出了一種基于Windows構(gòu)架下網(wǎng)絡(luò)數(shù)據(jù)包攔截技術(shù)的個人防火墻的實現(xiàn)方案。
參考文獻(xiàn)
[1]陳琪,屈光,高傳善.Windows單機版防火墻包過濾多種方案比較與實現(xiàn)[J].計算機應(yīng)用與軟件,2005(5):114-116.
[2]謝輝.包過濾技術(shù)在個人安全防御系統(tǒng)的研究與實現(xiàn)[D].西安:西安科技大學(xué)計算機學(xué)院,2006.
[3]蔡思飛.包過濾主機防火墻技術(shù)的研究[D].太原:太原理工大學(xué),2006.
[4]殷肖川,等.網(wǎng)絡(luò)編程與開發(fā)技術(shù)[M].西安:西安交通大學(xué)出版社,2009.
4.1 系統(tǒng)功能分析
文章所設(shè)計防火墻是在應(yīng)用層進(jìn)行封包截獲,基于Winsock 2 SPI技術(shù),主要實現(xiàn)以下功能:
(1)實現(xiàn)計算機實時保護,免被非法程序的攻擊;(2)完成應(yīng)用程序的處理具有記憶功能,對同一個或同一類型的應(yīng)用程序處理動作統(tǒng)一;(3)實現(xiàn)應(yīng)用程序的入網(wǎng)操作進(jìn)行分析過濾;(4)記錄應(yīng)用程序聯(lián)網(wǎng)動作及處理方案、數(shù)據(jù)通信等詳情的日志記錄文件;(5)即時通報非法外在攻擊,并做出處理動作;總的說來,此系統(tǒng)是基于Windows 用戶封包截獲技術(shù)的基礎(chǔ)下提出的,其核心功能是應(yīng)用層網(wǎng)絡(luò)封包攔截。
4.2 系統(tǒng)流程圖
防火墻系統(tǒng)包括三個方面:防火墻進(jìn)程(.exe)、防火墻驅(qū)動程序(.vxd或者.sys)及防火墻安全控制規(guī)則集。工作流程如圖1所示。
由上述工作流程圖可知,系統(tǒng)詳細(xì)功能模塊如圖2所示。
主模塊實現(xiàn)應(yīng)用程序安裝(包括卸載)、用戶注冊、安全規(guī)則編輯、安全規(guī)則設(shè)置、防火墻系統(tǒng)工作模式設(shè)置、日志讀寫、日志記錄及其文件處理及顯示功能;控管規(guī)則文件實現(xiàn)與主模塊中的安全規(guī)則編輯進(jìn)行交互;日志文件模塊實現(xiàn)與主模塊中的讀寫日志文件進(jìn)行交互;驅(qū)動程序模塊是實現(xiàn)系統(tǒng)的核心。它由主模塊引導(dǎo)執(zhí)行,包含:網(wǎng)絡(luò)數(shù)據(jù)包封包過濾模塊、安全控管規(guī)則模塊、工作模式模塊及生成日志模塊。這些模塊與主模塊交互以完成相應(yīng)的工作。
4.3 監(jiān)控界面
個人防火墻系統(tǒng)應(yīng)用程序監(jiān)控界面如圖3所示,用戶可以看到當(dāng)前正在與互聯(lián)網(wǎng)連接訪問的應(yīng)用程序的進(jìn)程,可以清楚的此進(jìn)程的路徑、遠(yuǎn)端IP及端口、本機端口等信息。
圖3 監(jiān)控界面
5 結(jié)束語
文章首先對防火墻的發(fā)展和種類進(jìn)行了介紹,并對在各階段其實現(xiàn)技術(shù)上的差異進(jìn)行分析比較結(jié)合Windows個人防火墻原理和網(wǎng)絡(luò)封包攔截技術(shù),提出了一種基于Windows構(gòu)架下網(wǎng)絡(luò)數(shù)據(jù)包攔截技術(shù)的個人防火墻的實現(xiàn)方案。
參考文獻(xiàn)
[1]陳琪,屈光,高傳善.Windows單機版防火墻包過濾多種方案比較與實現(xiàn)[J].計算機應(yīng)用與軟件,2005(5):114-116.
[2]謝輝.包過濾技術(shù)在個人安全防御系統(tǒng)的研究與實現(xiàn)[D].西安:西安科技大學(xué)計算機學(xué)院,2006.
[3]蔡思飛.包過濾主機防火墻技術(shù)的研究[D].太原:太原理工大學(xué),2006.
[4]殷肖川,等.網(wǎng)絡(luò)編程與開發(fā)技術(shù)[M].西安:西安交通大學(xué)出版社,2009.
4.1 系統(tǒng)功能分析
文章所設(shè)計防火墻是在應(yīng)用層進(jìn)行封包截獲,基于Winsock 2 SPI技術(shù),主要實現(xiàn)以下功能:
(1)實現(xiàn)計算機實時保護,免被非法程序的攻擊;(2)完成應(yīng)用程序的處理具有記憶功能,對同一個或同一類型的應(yīng)用程序處理動作統(tǒng)一;(3)實現(xiàn)應(yīng)用程序的入網(wǎng)操作進(jìn)行分析過濾;(4)記錄應(yīng)用程序聯(lián)網(wǎng)動作及處理方案、數(shù)據(jù)通信等詳情的日志記錄文件;(5)即時通報非法外在攻擊,并做出處理動作;總的說來,此系統(tǒng)是基于Windows 用戶封包截獲技術(shù)的基礎(chǔ)下提出的,其核心功能是應(yīng)用層網(wǎng)絡(luò)封包攔截。
4.2 系統(tǒng)流程圖
防火墻系統(tǒng)包括三個方面:防火墻進(jìn)程(.exe)、防火墻驅(qū)動程序(.vxd或者.sys)及防火墻安全控制規(guī)則集。工作流程如圖1所示。
由上述工作流程圖可知,系統(tǒng)詳細(xì)功能模塊如圖2所示。
主模塊實現(xiàn)應(yīng)用程序安裝(包括卸載)、用戶注冊、安全規(guī)則編輯、安全規(guī)則設(shè)置、防火墻系統(tǒng)工作模式設(shè)置、日志讀寫、日志記錄及其文件處理及顯示功能;控管規(guī)則文件實現(xiàn)與主模塊中的安全規(guī)則編輯進(jìn)行交互;日志文件模塊實現(xiàn)與主模塊中的讀寫日志文件進(jìn)行交互;驅(qū)動程序模塊是實現(xiàn)系統(tǒng)的核心。它由主模塊引導(dǎo)執(zhí)行,包含:網(wǎng)絡(luò)數(shù)據(jù)包封包過濾模塊、安全控管規(guī)則模塊、工作模式模塊及生成日志模塊。這些模塊與主模塊交互以完成相應(yīng)的工作。
4.3 監(jiān)控界面
個人防火墻系統(tǒng)應(yīng)用程序監(jiān)控界面如圖3所示,用戶可以看到當(dāng)前正在與互聯(lián)網(wǎng)連接訪問的應(yīng)用程序的進(jìn)程,可以清楚的此進(jìn)程的路徑、遠(yuǎn)端IP及端口、本機端口等信息。
圖3 監(jiān)控界面
5 結(jié)束語
文章首先對防火墻的發(fā)展和種類進(jìn)行了介紹,并對在各階段其實現(xiàn)技術(shù)上的差異進(jìn)行分析比較結(jié)合Windows個人防火墻原理和網(wǎng)絡(luò)封包攔截技術(shù),提出了一種基于Windows構(gòu)架下網(wǎng)絡(luò)數(shù)據(jù)包攔截技術(shù)的個人防火墻的實現(xiàn)方案。
參考文獻(xiàn)
[1]陳琪,屈光,高傳善.Windows單機版防火墻包過濾多種方案比較與實現(xiàn)[J].計算機應(yīng)用與軟件,2005(5):114-116.
[2]謝輝.包過濾技術(shù)在個人安全防御系統(tǒng)的研究與實現(xiàn)[D].西安:西安科技大學(xué)計算機學(xué)院,2006.
[3]蔡思飛.包過濾主機防火墻技術(shù)的研究[D].太原:太原理工大學(xué),2006.
[4]殷肖川,等.網(wǎng)絡(luò)編程與開發(fā)技術(shù)[M].西安:西安交通大學(xué)出版社,2009.