【正文】
火墻賦予了全新的意義,可以稱之為第五代防火墻。 1992年,USC信息科學(xué)院的BobBraden開發(fā)出了基于動態(tài)包過濾(Dynamic packet filter)技術(shù)后來演變?yōu)楝F(xiàn)在所說的狀態(tài)監(jiān)視(Stateful inspection)技術(shù)的第四代防火墻。216。本文采用的通過FilterHook Driver實現(xiàn)數(shù)據(jù)包攔截的防火墻技術(shù)雖然不是開發(fā)防火墻最好的方法,但對于對這個領(lǐng)域感興趣的個人是一個具實際意義的好的開始。 研究意義個人防火墻作為作為最常用的網(wǎng)絡(luò)安全工具,其實現(xiàn)所用到的很多技術(shù)跟企業(yè)級防火墻和硬件防火墻的基本原理是相同的,可以從研究個人防火墻開始,由淺入深,進而理解企業(yè)級防火墻和硬件防火墻的原理和實現(xiàn)方法。但我們知道,世界上沒有絕對安全的操作系統(tǒng),Windows也存在很多漏洞,給駭客通過網(wǎng)絡(luò)和系統(tǒng)漏洞對用戶進行攻擊留下了后門,這無疑會給用戶的財產(chǎn)和隱私帶來巨大的損失。因此,為了給用戶提供一個良好的網(wǎng)絡(luò)環(huán)境,需要一種方法來為用戶抵御這類來自網(wǎng)絡(luò)的攻擊。 Network securityII目錄摘要 IAbstract II第一章 前言 1 課題的開發(fā)背景與意義 1 開發(fā)背景 1 研究意義 2 國內(nèi)外研究現(xiàn)狀 2 課題研究內(nèi)容與結(jié)構(gòu) 4第二章 相關(guān)理論簡介 5 防火墻核心過濾技術(shù) 5 用戶態(tài)數(shù)據(jù)包攔截技術(shù) 5 內(nèi)核態(tài)數(shù)據(jù)包攔截技術(shù) 5 FilterHook Driver 6 TCP\IP網(wǎng)絡(luò)通信協(xié)議 7 IP網(wǎng)際協(xié)議 8 TCP傳輸控制協(xié)議 8 UDP用戶數(shù)據(jù)報協(xié)議 8 內(nèi)核模式驅(qū)動程序開發(fā) 9第三章 開發(fā)工具與環(huán)境簡介 10 Microsoft Visual Studio 2010 10 C語言簡介 10 驅(qū)動開發(fā)工具 10 WDK內(nèi)核編程工具 11 編譯驅(qū)動程序源文件 11 安裝運行驅(qū)動程序 12 MFC簡介 12第四章 個人防火墻的總體設(shè)計 13 防火墻整體結(jié)構(gòu) 13 用戶層 14 驅(qū)動層 14 防火墻系統(tǒng)流程圖 14 防火墻實現(xiàn)的功能 16第五章 個人防火墻的詳細(xì)設(shè)計與實現(xiàn) 17 驅(qū)動層FilterHook Driver 17 初始化 17 請求分發(fā) 18 驅(qū)動控制模塊的實現(xiàn) 22 驅(qū)動服務(wù)安裝 23 打開驅(qū)動設(shè)備 24 對驅(qū)動設(shè)備進行控制 24 用戶界面 25 系統(tǒng)測試 25 測試環(huán)境與工具 26 功能測試 26結(jié)論 29參考文獻(xiàn) 30致謝 31windows平臺下個人防火墻的設(shè)計與實現(xiàn)第一章 前言本章主要闡述windows平臺下個人防火墻開發(fā)的相關(guān)背景和課題研究意義,對個人防火墻在國內(nèi)外的發(fā)展現(xiàn)狀作簡要介紹。關(guān)鍵詞個人防火墻;數(shù)據(jù)包過濾;FilterHook Driver;網(wǎng)絡(luò)安全Abstract With the popularity of the Internet, security issues are attention by more and more people. A secure network environment can protect personal puter from Trojans and viruses, and provide necessary protection to people39。核心過濾驅(qū)動的開發(fā)采用Visual Studio 2010和Windows下的驅(qū)動開發(fā)工具WDK進行編碼和編譯,用戶層采用C語言進行編寫。因此,開發(fā)有效的個人防火墻具重要意義。摘要隨著互聯(lián)網(wǎng)的普及,安全問題越來越受到大家的重視。本文根據(jù)個人防火墻的實際需求,首先分析了目前市場上各類防火墻所采用的不同核心過濾技術(shù),結(jié)合其優(yōu)缺點和實現(xiàn)的難易程度,確定了本課題實現(xiàn)所采用的技術(shù)并做出相應(yīng)的闡述。用戶界面用MFC實現(xiàn)。s property and privacy. Personal firewall as the earliest and the most used Network Security toolkit, it exists as software, between a puter and its network. In order to protect the system, personal firewall monitors and prevents network packets which are flowing through the pute and unauthorized. Therefore, the development of an effective personal firewall has the important meaning. According to the actual needs of personal firewall, this paper first analyzes different core filtering technologies adopted by all kinds of firewall used in the current market, bined with the ease of their implementation and relative merits. This topic determined how to achieve this system and made the corresponding elaboration. Secondly the function and the core technology of this project is introduced in detail, then introduces and displays the related functions of a personal firewall, and finally summarizes the feelings and experiences in pleting this paper. In this topic, the core filtering technology in realization of personal firewall is adopted by the FilterHook Driver. FilterHook Driver using Visual Studio 2010 and WDK to development which is a driver development tool under the Windows, Using C language to write user layer. The user interface use MFC to achieve. This personal firewall achieved those functions: network packet filtering, control rules set and logging. Fully considering the basic functions of a personal firewall, this system is easy to operate and has friendly interfaces.Key wordsPersonal Firewall。并對本文的結(jié)構(gòu)和內(nèi)容進行簡單的概括。而個人防火墻作為一種隔離控制技術(shù),把用戶和公共網(wǎng)絡(luò)分隔開來,通過對流經(jīng)它的網(wǎng)絡(luò)信息進行監(jiān)控過濾,抵御外部攻擊以實現(xiàn)安全防護的安全工具,可以對流經(jīng)它的數(shù)據(jù)包進行過濾——對用戶“允許”的合法數(shù)據(jù)訪問放行并對用戶“不允許”的非法數(shù)據(jù)進行攔截過濾,以起到保護個人計算機的目的。而防火墻作為保護用戶上網(wǎng)環(huán)境安全的工具,可以有效避免用戶因遭到網(wǎng)絡(luò)攻擊造成的損失,因此,在Windows系統(tǒng)下構(gòu)建個人防火墻是十分必要的。從而研究個人防火墻也能極大的推動網(wǎng)絡(luò)安全技術(shù)的進步,具有重大的工程意義。 國內(nèi)外研究現(xiàn)狀防火墻作為最早出現(xiàn)的網(wǎng)絡(luò)安全產(chǎn)品,受到了廣大用戶和機構(gòu)的青睞,應(yīng)用十分廣泛,自1986年美國Digital公司提出防火墻概念并安裝第一個商用防火墻以來,防火墻技術(shù)已經(jīng)獲得了飛速的發(fā)展,基于功能劃分,可分為以下階段:216。 第二代防火墻由貝爾實驗室的Dave Presotto和Howard Trickey最早于于1989年推出,即電路層防火墻。它根據(jù)過去的通信信息和應(yīng)用程序狀態(tài)信息動態(tài)生成過濾規(guī)則。該類型的防火墻整合了動態(tài)包過濾技術(shù)和應(yīng)用代理技術(shù),本質(zhì)上也可認(rèn)為仍屬于狀態(tài)檢測防火墻。 用戶化的防火墻即把過濾功能從路由器中獨立出來加上日志和警告功能,并針對用戶需求提供相應(yīng)功能,使得防火墻的安全性和性價比相對第一代防火墻有所提高。 具有安全操作系統(tǒng)的防火墻本身就是一個操作系統(tǒng),在安全性上較前幾種防火墻有本質(zhì)的提高,這也是目前防火墻產(chǎn)品的主要發(fā)展趨勢,這類防火墻的開發(fā)廠商有操作系統(tǒng)的源代碼,可實現(xiàn)安全內(nèi)核并對其加固,甚至對每個服務(wù)器和子系統(tǒng)都做安全處理,一旦駭客攻破了一個服務(wù)器,防火墻就將它隔離在此服務(wù)器內(nèi),不會對其他部分構(gòu)成威脅,且透明性良好,易于使用。所有這些基于windows的個人防火墻的區(qū)別主要在于它們所采用的對網(wǎng)絡(luò)數(shù)據(jù)包攔截的核心技術(shù)不同。本課題將采用FilterHook Driver過濾技術(shù),F(xiàn)ilterHook Driver是從Windows 2000開始提供的一種機制,其結(jié)構(gòu)簡單,相對易于實現(xiàn),且能截獲所有的IP包。 第一章主要闡述系統(tǒng)開發(fā)的背景和研究意義、國內(nèi)外研究現(xiàn)狀以及本文總體概述。 第三章將介紹本防火墻系統(tǒng)開發(fā)中所用到的開發(fā)環(huán)境和工具。 第五章主要闡述核心功能的具體實現(xiàn)和詳細(xì)分析以及系統(tǒng)測試等。將對各種主流防火墻核心過濾技術(shù)、TCP\IP和驅(qū)動開發(fā)相關(guān)基礎(chǔ)知識再做簡單介紹。 用戶態(tài)數(shù)據(jù)包攔截技術(shù)用戶態(tài)下的數(shù)據(jù)包攔截技術(shù)主要為Winsock2 SPI(Service Provider Interface)。并且數(shù)據(jù)封包比較完整,便于內(nèi)容過濾。下面簡單介紹各包攔截技術(shù)。其優(yōu)點是可以獲取到當(dāng)前進程的詳細(xì)信息。主要在網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層對數(shù)據(jù)包進行過濾。NDIS(Network Driver Interface Specification)是微軟和3COM公司定制的一套開發(fā)Windows下網(wǎng)絡(luò)驅(qū)動程序的標(biāo)準(zhǔn),為網(wǎng)絡(luò)驅(qū)動的開發(fā)提供一套標(biāo)準(zhǔn)接口,使得網(wǎng)絡(luò)驅(qū)動程序的跨平臺性更好。但對個人而言,工作量較大。這個驅(qū)動文件默認(rèn)未加載,但可以手動加載。2. 得到指向IP Filter Driver的指針。另外,最多只能注冊一個FilterHook Driver。本文采用FilterHook Driver控制數(shù)據(jù)包過濾,故不支持Windows 2000以前的系統(tǒng)。TCP\IP協(xié)議族的四個層次與OSI七層參考模型間的對應(yīng)關(guān)系如圖21所示:圖 21 TCP\IP協(xié)議族與OSI模型對應(yīng)關(guān)系應(yīng)用層表示層數(shù)據(jù)鏈路層