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