收藏 分享(赏)

windows平台下个人防火墙的设计与实现毕业论文.doc

上传人:无敌 文档编号:601453 上传时间:2018-04-14 格式:DOC 页数:35 大小:340.50KB
下载 相关 举报
windows平台下个人防火墙的设计与实现毕业论文.doc_第1页
第1页 / 共35页
windows平台下个人防火墙的设计与实现毕业论文.doc_第2页
第2页 / 共35页
windows平台下个人防火墙的设计与实现毕业论文.doc_第3页
第3页 / 共35页
windows平台下个人防火墙的设计与实现毕业论文.doc_第4页
第4页 / 共35页
windows平台下个人防火墙的设计与实现毕业论文.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、I摘要随着互联网的普及,安全问题越来越受到大家的重视。一个安全良好的网络环境能很好的保护好人们的计算机不受木马和病毒的侵扰,给人们的财产和隐私提供必要的保护。个人防火墙作为最早出现和最多使用的网络安全产品,以软件的形式存在于计算机与其所连接的网络之间,对流经计算机的未经授权的网络数据包进行监控和阻止,以起到对系统的保护作用。因此,开发有效的个人防火墙具重要意义。本文根据个人防火墙的实际需求,首先分析了目前市场上各类防火墙所采用的不同核心过滤技术,结合其优缺点和实现的难易程度,确定了本课题实现所采用的技术并做出相应的阐述。其次对本课题实现的功能和核心技术进行了详细的介绍,接着对个人防火墙的相关功

2、能进行了介绍和展示,最后对完成本论文中获得的心得体会和经验进行了系统的总结。本课题中实现个人防火墙所采用的核心过滤技术为 Filter-Hook Driver。核心过滤驱动的开发采用 Visual Studio 2010 和 Windows 下的驱动开发工具 WDK 进行编码和编译,用户层采用 C 语言进行编写。用户界面用 MFC 实现。本个人防火墙实现了对网络数据包的过滤,管控规则设置和日志功能。充分考虑了个人防火墙所需的基本功能,操作方便,界面简单友好。关键词个人防火墙;数据包过滤;Filter-Hook Driver;网络安全IIAbstractWith the popularity o

3、f the Internet, security issues are attention by more and more people. A secure network environment can protect personal computer from Trojans and viruses, and provide necessary protection to peoples property and privacy. Personal firewall as the earliest and the most used Network Security toolkit,

4、it exists as software, between a computer and its network. In order to protect the system, personal firewall monitors and prevents network packets which are flowing through the compute and unauthorized. Therefore, the development of an effective personal firewall has the important meaning.According

5、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, combined with the ease of their implementation and relative merits. This topic determined how to achieve this system and made the cor

6、responding 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 completing this paper.In this topic, the core filtering tec

7、hnology in realization of personal firewall is adopted by the Filter-Hook Driver. Filter-Hook 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 firewa

8、ll 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; Packet filtering; Filter-Hook Driver; Network security目录摘要 .IAbst

9、ract .II第一章 前言 .11.1 课题的开发背景与意义 .11.1.1 开发背景 .11.1.2 研究意义 .21.2 国内外研究现状 .21.3 课题研究内容与结构 .4第二章 相关理论简介 .52.1 防火墙核心过滤技术 .52.1.1 用户态数据包拦截技术 .52.1.2 内核态数据包拦截技术 .52.1.3 Filter-Hook Driver .62.2 TCPIP 网络通信协议 .72.2.1 IP 网际协议 .82.2.2 TCP 传输控制协议 .82.2.3 UDP 用户数据报协议 .82.3 内核模式驱动程序开发 .9第三章 开发工具与环境简介 .103.1 Micr

10、osoft Visual Studio 2010.103.2 C 语言简介 .103.3 驱动开发工具 .103.3.1 WDK 内核编程工具 .113.3.2 编译驱动程序源文件 .113.3.3 安装运行驱动程序 .123.4 MFC 简介 .12第四章 个人防火墙的总体设计 .134.1 防火墙整体结构 .134.1.1 用户层 .144.1.2 驱动层 .144.2 防火墙系统流程图 .144.3 防火墙实现的功能 .16第五章 个人防火墙的详细设计与实现 .175.1 驱动层 Filter-Hook Driver.175.1.1 初始化 .175.1.2 请求分发 .185.2 驱动

11、控制模块的实现 .225.2.1 驱动服务安装 .235.2.2 打开驱动设备 .245.2.3 对驱动设备进行控制 .245.3 用户界面 .255.4 系统测试 .255.4.1 测试环境与工具 .265.4.2 功能测试 .26结论 .29参考文献 .30致谢 .31windows 平台下个人防火墙的设计与实现1第一章 前言本章主要阐述 windows 平台下个人防火墙开发的相关背景和课题研究意义,对个人防火墙在国内外的发展现状作简要介绍。并对本文的结构和内容进行简单的概括。1.1 课 题 的 开 发 背 景 与 意 义1.1.1 开发背景随着网络技术的飞速发展和互联网在全世界范围内的普

12、及,人们的生活越来越离不开互联网学习,娱乐,通信,信息获取等等,互联网大大提高了我们的效率,丰富了我们的生活。但随着互联网用户越来越多,互联网在给人们生活带来便利的同时,也给不少人提供了一条攻击其他用户计算机或窃取用户资料的途径,这就导致了普通用户在网络上收到攻击的现象越来越严重,各种入侵攻击层出不穷,导致人们因网络安全而导致的损失越来越大。因此,为了给用户提供一个良好的网络环境,需要一种方法来为用户抵御这类来自网络的攻击。而个人防火墙作为一种隔离控制技术,把用户和公共网络分隔开来,通过对流经它的网络信息进行监控过滤,抵御外部攻击以实现安全防护的安全工具,可以对流经它的数据包进行过滤对用户“允

13、许”的合法数据访问放行并对用户“不允许”的非法数据进行拦截过滤,以起到保护个人计算机的目的。因此,个人防火墙在保护用户个人计算机的网络安全方面起到重要作用。另一方面,Windows 操作系统凭借其简单易用的操作和强大的技术支持,几乎占据了整个桌面操作系统市场,市场占有率超过 90%。但我们知道,世界上没有绝对安全的操作系统,Windows 也存在很多漏洞,给骇客通过网络和系统漏洞对用户进行攻击留下了后门,这无疑会给用户的财产和隐私带来巨大的损失。而防火墙作为保护用户上网环境安全的工具,可以有效避免用户因遭到网络攻击造成的损失,因此,在Windows 系统下构建个人防火墙是十分必要的。考虑到各种

14、防火墙的优缺点及其实现的难易程度,并结合个人能力。本文最终采用 Filter-Hook Driver 数据包拦截技术实现个人防火墙。windows 平台下个人防火墙的设计与实现21.1.2 研究意义个人防火墙作为作为最常用的网络安全工具,其实现所用到的很多技术跟企业级防火墙和硬件防火墙的基本原理是相同的,可以从研究个人防火墙开始,由浅入深,进而理解企业级防火墙和硬件防火墙的原理和实现方法。从而研究个人防火墙也能极大的推动网络安全技术的进步,具有重大的工程意义。Windows 作为国内外主要的桌面操作系统,其平台下的个人防火墙为用户的网络安全起到了很好的防护作用。但目前市场上基于不同包截获技术的

15、防火墙的综合性能参差不齐,故在该平台下的防火墙的研究对于推动个人防火墙技术的发展具有现实意义。本文采用的通过 Filter-Hook Driver 实现数据包拦截的防火墙技术虽然不是开发防火墙最好的方法,但对于对这个领域感兴趣的个人是一个具实际意义的好的开始。1.2 国 内 外 研 究 现 状防火墙作为最早出现的网络安全产品,受到了广大用户和机构的青睐,应用十分广泛,自 1986 年美国 Digital 公司提出防火墙概念并安装第一个商用防火墙以来,防火墙技术已经获得了飞速的发展,基于功能划分,可分为以下阶段: 第一代防火墙技术几乎与路由器同时出现,采用包过滤技术。这类防火墙根据数据包头信息和

16、过滤规则来控制数据包的过滤,一般用于对安全性要求不是很高,偏重数据处理速度的网络路由器上。 第二代防火墙由贝尔实验室的 Dave Presotto 和 Howard Trickey 最早于于 1989年推出,即电路层防火墙。并同时提出了第三代防火墙应用层防火墙的概念(或者叫做代理防火墙) 。 1992 年,USC 信息科学院的 BobBraden 开发出了基于动态包过滤(Dynamic packet filter)技术后来演变为现在所说的状态监视( Stateful inspection)技术的第四代防火墙。它根据过去的通信信息和应用程序状态信息动态生成过滤规则。1994 年,以色列的 Che

17、ckPoint 公司开发出了第一个采用这种技术的商业化的防火墙产品。 1998 年,NAI 公司推出了一种自适应代理(Adaptive proxy)技术,并在其产品 Gauntlet Firewall for NT 中得以实现,给代理类型的防火墙赋予了全新的意义,可以称之为第五代防火墙。该类型的防火墙整合了动态包过滤技术和应windows 平台下个人防火墙的设计与实现3用代理技术,本质上也可认为仍属于状态检测防火墙。另外,基于实现划分,防火墙又可分基于路由器的防火墙、用户花的防火墙、建立在通用操作系统上的防火墙和具有安全操作系统的防火墙四个阶段: 基于路由器的防火墙即第一代防火墙,上面已做简单

18、介绍。 用户化的防火墙即把过滤功能从路由器中独立出来加上日志和警告功能,并针对用户需求提供相应功能,使得防火墙的安全性和性价比相对第一代防火墙有所提高。 建立在通用操作系统上的防火墙,顾名思义,就是将防火墙以软件或硬件的实现方式独立出来,并配有专用的代理系统,以监控所有协议的数据和指令,并能保护用户的编程空间和可配置内核参数的设置,这使得防火墙的安全性和速度得到大幅提高。 具有安全操作系统的防火墙本身就是一个操作系统,在安全性上较前几种防火墙有本质的提高,这也是目前防火墙产品的主要发展趋势,这类防火墙的开发厂商有操作系统的源代码,可实现安全内核并对其加固,甚至对每个服务器和子系统都做安全处理,

19、一旦骇客攻破了一个服务器,防火墙就将它隔离在此服务器内,不会对其他部分构成威胁,且透明性良好,易于使用。windows 操作系统作为全球使用者最多的操作系统,其平台下开发出了许多优秀的个人防火墙。国外的如 Symantec 公司的 Norton、Network ice 公司的 BlackIce Defender、Mcafee 公司的 Cisco、卡巴斯基互联网安全套装个人版以及 Zone Lab 公司的 Free ZoneAlarm 等都是比较著名的个人防火墙。国内市场上个人用户较多的有天网防火墙个人版、金山网镖、瑞星、费尔等常见个人防火墙。所有这些基于 windows 的个人防火墙的区别主要

20、在于它们所采用的对网络数据包拦截的核心技术不同。总的来说,可分为用户态和内核态数据包拦截两大类 1。用户态下的个人防火墙主要为基于 winsock2 SPI 技术的个人防火墙(如费尔个人防火墙等) ;和内核态下的个人防火墙主要有:基于 TDI 过滤驱动的个人防火墙(如国内的天网防火墙和金山网镖等) ,基于 NDIS 中间层驱动(如冰盾防火墙等)的个人防火墙,基于NDIS-HOOK 的个人防火墙(如卡巴斯基互联网套装个人版)和基于 Win2K Filter-Hook Driver 的个人防火墙。目前很多比较优秀著名的个人防火墙多采用复合型数据包过滤技术进行开发,即windows 平台下个人防火墙

21、的设计与实现4采用两种或多种封包截获技术进行数据包的过滤,以达到全面、强大、平台兼容的效果。本课题将采用 Filter-Hook Driver 过滤技术,Filter-Hook Driver 是从 Windows 2000开始提供的一种机制,利用 ipfiltdrv.sys 所提供的功能来拦截网络数据包,其结构简单,相对易于实现,且能截获所有的 IP 包。1.3 课 题 研 究 内 容 与 结 构本文主要研究通过实现 Filter-Hook Driver 的方式来操控 ipfiltdrv.sys 对网络数据包的过滤,本课题主要分为核心层驱动和用户层调用函数及界面两个模块,通过用户层操作控制核心

22、层驱动程序,从而实现个人防火墙。简单来说,实现 Filter-Hook 就是对系统 ipfiltdrv.sys 的接口的实现。本文的整体结构如下: 第一章主要阐述系统开发的背景和研究意义、国内外研究现状以及本文总体概述。 第二章主要针对本文所涉及的技术的相关知识理论进行简单的介绍。 第三章将介绍本防火墙系统开发中所用到的开发环境和工具。 第四章详细介绍本文个人防火墙的系统设计和各个功能模块。 第五章主要阐述核心功能的具体实现和详细分析以及系统测试等。 最后是总结,致谢等。windows 平台下个人防火墙的设计与实现5第二章 相关理论简介本章将对课题实现中所用到的技术和开发工具进行介绍。将对各种

23、主流防火墙核心过滤技术、TCPIP 和驱动开发相关基础知识再做简单介绍。另将主要介绍如 Filter-Hook Driver、IP 过滤驱动( IP Filter Driver)等所用到的技术。2.1 防 火 墙 核 心 过 滤 技 术网络防火墙的核心过滤都是基于数据包的拦截技术之上的。在 Windows 下数据包的拦截方式可分为用户态和内核态数据包拦截两大类 2。2.1.1 用户态数据包拦截技术用户态下的数据包拦截技术主要为 Winsock2 SPI(Service Provider Interface) 。Winsock2 是 Windows Sockets 的 2.0 版本,SPI 是

24、Winsock2 提供的一个可编程接口。SPI 以动态链接库( DLL)的形式工作在应用层,开发者通过安装自己编写的 SPI程序(服务提供者接口程序)来处理截获的基于 Socket 的网络数据包以完成过滤。Winsock2 SPI 以 DLL 形式存在,编程简单,调试方便。并且数据封包比较完整,便于内容过滤。但无法拦截核心层或不用 Socket 的网络通讯(如 ICMP)的数据包,容易被木马或病毒绕过 3。2.1.2 内核态数据包拦截技术内核态下的数据包拦截方式有多种:TDI 过滤驱动程序、NDIS 中间层驱动程序、NDIS-Hook Driver 和 Filter-Hook Driver。目

25、前很多大型防火墙都是采用复合型的数据包过滤技术。下面简单介绍各包拦截技术。Filter-Hook Driver 将在后边进行单独的介绍。1. TDI(Transport Driver Interface)过滤驱动:TDI-Filter Driver 程序通过将创建的一个或者多个设备对象挂载到一个现有的驱动程序(tcpip.sys )之上,当有应用程序或其他驱动程序调用这一个或多个设备对象时,会首先映射到过滤驱动程序上,然后再由过滤驱动程序传递给原来的设备对象 4。这就完成了数windows 平台下个人防火墙的设计与实现6据包的过滤。其优点是可以获取到当前进程的详细信息。缺点是该驱动位于tcpi

26、p.sys 上,不能获取由 tcpip.sys 直接处理的数据包,且 TDI 驱动需重启系统才能生效。另外 Windows 2000 之前的系统不支持。2. NDIS 中间层驱动:位于协议驱动和小端口驱动之间。主要在网络层和数据链路层对数据包进行过滤。NDIS 由于是在网卡驱动程序和传输驱动程序间插入了一层,其优点是过滤功能强大,能截获所有的数据包,安全系数高 5。缺点是编程规范要求苛刻复杂,难度较大;不容易安装,安装出错容易导致系统错误;也不支持 Windows 2000 之前的系统。3. NDIS-Hook Driver:NDIS-Hook Driver 是目前大多数网络防火墙采用的方法。

27、NDIS(Network Driver Interface Specification)是微软和 3COM 公司定制的一套开发 Windows 下网络驱动程序的标准,为网络驱动的开发提供一套标准接口,使得网络驱动程序的跨平台性更好。该技术的实现方法是安装 Hook 钩子到 ndis.sys 中,替换其中某些关键函数,从而达到截获网络数据包的目的 6。具有安装简单,截包完整全面,安全性高等优点,但无法获得应用程序进程信息。以上几种方法对于团队开发而言,NDIS-Hook 是最佳选择,TDI-Filter Driver次之。但对个人而言,工作量较大。2.1.3 Filter-Hook Driver

28、国内关于 TDI 和 NDIS 驱动的资料比较多,但有关 Filter-Hook Driver 的书籍资料就相对少很多。本文所采用的 Filter-Hook Driver 数据包拦截过滤驱动技术在 Microsoft 微软相关文档里也只有 Windows 2000 DDK 中有一些介绍,实际上它只是扩展了 IP 过滤驱动(IP Filter Driver)的功能,是一种内核模式驱动(Kernel Mode Driver) 。IP Filter Driver 对应 ipfltdrv.sys 文件,该文件在 Windows XP 中的 System32drivers 目录下,它允许用户注册自己的 IP 数据包处理函数。这个驱动文件默认未加载,但可以手动加载。Filter-Hook Driver 主要利用 IpFilterDriver(ipfiltdrv.sys)所提供的功能来拦截网络数据包,可应用与 TCPIP 协议 7。其工作方式如下:在 Filter-Hook Driver 中提供我们自己编写的回调(callback )函数,然后用 IP 过滤驱动注册回调函数。实现步骤如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报