基于Windows平台下的个人防火墙设计设计.doc
《基于Windows平台下的个人防火墙设计设计.doc》由会员分享,可在线阅读,更多相关《基于Windows平台下的个人防火墙设计设计.doc(33页珍藏版)》请在沃文网上搜索。
1、江苏大学学士学位论文 基于Windows平台下的个人防火墙设计摘 要随着互联网的飞速发展,越来越多的企业和用户连接到互联网中。人们在充分享受着互联网所带来的方便和高效的同时,也不断受到各种计算机病毒感染和黑客恶意攻击的侵扰。在网络安全解决方案中,建立或设置防火墙是一个非常关键和有效的环节。目前市场上大多数的防火墙产品虽然功能强大,但有一个致命缺点:防外不防内。因为它们基于下述假设:内部网是安全的,所有威胁来自网外。所以难以实现对企业内部局域网主机之间的安全通信,也不能很好的解决每一个拨号上网用户所在主机的安全问题。而大多数个人上网之时,并没有真正处于得到防护的安全网络中。个人上网用户多使用Wi
2、ndows操作系统,而Windows操作系统本身的安全性就不高。各种Windows漏洞不断被公布,对主机的攻击也越来越多。因此,为了保护主机的安全通信,研制有效的个人防火墙很有必要。网络安全问题长期威胁着网络终端用户,需要有有效的安全工具解决这个问题,个人防火墙就是其中的一种常用的安全工具。为了实现个人防火墙软件,选用VC+ 6.0开发工具。软件系统主要包括两项工程,一是核心模块设计,即DLL工程,实现了封包截获、管制动作和协议封包的解析任务,主要利用Winsock 2 SPI技术实现网络封包截获,之后利用控管规则对过往封包进行合法性检查和过滤,方法是首先利用Winsock 2 SPI技术建立
3、winsock钩子,用它来截获winsock的调用,然后作出相应动作处理,动作处理需通过控管规则的检查后,确定socket连接是否允许通过,其中控管规则由用户层设置;二是用户模块设计,即EXE工程,实现用户界面和负责与DLL模块的通信,提供了3个主要界面,即封包监视、控管规则、控管规则设置。最后通过测试和应用,基本解决了终端用户的网络连接安全问题。关键词: 过滤;动态连接库;Winsock 2 SPI;网络封包;协议封包第 1 页 共 28 页Design of Windows-based Personal FirewallAbstractWith the rapid development
4、of Internet, many enterprise users and single users connect to it. People enjoy the convenience and greatefficiency brought by the Internet, at the same time, their computers are continually suffered from many kinds of computer virus and hackersattack. One of the effectual and important solutions fo
5、r network security is to set firewall. On the market though most products functions of firewall are quite strong at present, they are based on blow hypothese, which the inner network is safe and reliable, and all the threats are from the outer network. Then the firewall only needs to be cautious to
6、the outer network, and not to the inner. Thus, it is difficult to realize the secure communication between the host computers in the LAN of enterprise, and also to settle hosts security problem of every dialing Internet user. Most hosts have not placed themselves under the protection of inner securi
7、ty network during users in network. The personal Internet user mostly uses Windows OS, and its security is not very good. Various kinds of Windows loophole are being annouonced constantly, attack of the host computer is more and more, too. Then to protect the secure communication of the host compute
8、r, it is very necessary to develop effective personal firewall.Network security of a threat to the terminal user, to have good security tools to solve the problem, personal firewall is one of the general security tools. In order to achieve personal firewalls, the selection of the VC+ 6.0 development
9、 tool. Software system including two projects, a central module, or DLL project design and implement a package of intercept, control and packet the resolution of the agreement, Main Winsock 2 SPI implementation techniques of intercepting network packets of control and the rule of the packet filter a
10、nd a check and legitimacy. Method is the first to use Winsock 2 SPI technology to establish winsock hook, it is used to intercept calls winsock, and then make the appropriate action and action to control the rules is required to pass the tests to determine whether to allow the socket connection, the
11、 rules of control by the user settings.The second is the design and engineering modules exe, the user interface and coordinate with dll module, offers three main interface, the packet to monitor and control regulations, rules settings. Finally, through testing and application, with the basic a termi
12、nal user security issues. the network connectivity.Key words: Filter ;DLL;Winsock 2 SPI; Analyzer; Decnet目录第一章引言11.1课题背景与意义11.2设计实现的主体功能11.3本课题的研究方法2第二章 WINSOCK 2 SPI编程技术42.1 Winsock 2 SPI基础42.2 传输服务提供者4第三章开发平台与开发工具5第四章系统设计与模块划分64.1本课题要实现的具体功能64.2程序工作流程图64.3模块划分74.3.1模块划分原则74.3.2模块结构84.3.3模块接口定义94.4
13、编码规则104.5控管规则文件结构设计104.5.1控管规则文件需要存储的内容114.5.2控管规则文件结构124.6界面设计134.6.1制定界面风格134.6.2界面设计文档13第五章核心功能的代码实现175.1 DLL的封包截获175.2 DLL的访问控管205.2.1对服务提供者函数做管制的函数205.2.2封包处理函数215.2.3 管制函数225.2.4 设置函数25第六章 测试26结 论28参考文献29致 谢30第一章 引言1.1 课题背景与意义Internet的出现及迅速发展给现代人们的生产和生活都带来了前所未有的飞跃。互连网已经成为扩展个人和企业发展的重要工具,人们已经进入了
14、信息时代.互连网将整个人类社会缩小成了一个村落“地球村”,促进了信息的交流,提高了人们的工作效率,丰富了人们的生活。人们享受着信息时代带来的种种便利,体验着互联网带来的生活上的全新感受。但凡事有利必有一弊,随着对网络的依赖越来越大,网络安全问题也越来越明显。由于黑客攻击和信息泄露并不是直接对系统造成损害,所以往往不能引起人们的注意。人们总是在网络安全问题发生带来严重后果后,才意识到网络安全的重要.随着网络的进一步普及,网络安全产品逐渐地进入人们的视野,而防火墙作为把守用户安全大门的重要工具,越来越受到人们的重视。自从1986年美国Digital公司在Internet上安装了全球第一个商用防火墙
15、系统,提出了防火墙概念后,防火墙技术得到了飞速的发展。国内外已有数家公司推出了功能各不相同的防火墙产品系列。目前的防火墙产品主要有堡垒主机、包过滤路由器、应用层网关(代理服务器)以及电路层网关、屏蔽主机防火墙、双宿主机等类型。作为内部网络与外部公共网络之间的第一道屏障,防火墙是最先受到人们重视的网络安全产品之一。虽然从理论上看,防火墙处于网络安全的底层,负责网络间的安全认证与传输,但随着网络安全技术的整体发展和网络应用的不断变化,现代防火墙技术已经逐步走向网络层之外的其他安全层次,不仅要完成传统防火墙的过滤任务,同时还能为各种网络应用提供相应的安全服务。另外还有多种防火墙产品正朝着数据安全与用
16、户认证、防止病毒与黑客侵入等方向发展。虽然防火墙是目前保护网络免遭黑客袭击的有效手段,但也有明显不足:无法防范通过防火墙以外的其它途径的攻击,不能防止来自内部变节者和不经心的用户们带来的威胁,也不能完全防止传送已感染病毒的软件或文件,以及无法防范数据驱动型的攻击。目前市场上大多数的防火墙产品仅仅是网关型的,虽然它们的功能相当强大,但由于它们基于下述的假设:内部网是安全可靠的,所有的威胁都来自网外。因此,他们防外不防内,难以实现对企业内部局域网内主机之间的安全通信,也不能很好的解决每一个拨号用户所在主机的安全问题,而大多数个人上网之时,并没有置身于得到防护的安全网络内部。个人上网用户多使用Win
17、dows操作系统,而Windows操作系统本身的安全性就不高。各种Windows漏洞不断被公布,对主机的攻击也越来越多。一般都是利用操作系统设计的安全漏洞和通信协议的安全漏洞来实现攻击。如假冒IP包对通信双方进行欺骗;对主机大量发送IP数据包进行轰炸攻击,使之崩溃;以及蓝屏攻击等。因此,为了保护主机的安全通信,研究有效的个人防火墙技术很有必要。1.2 设计实现的主体功能现在防火墙的花样与种类繁多,让人眼花缭乱。但是防火墙的主要功能是防止外部网络的攻击以达到保护主机的目的。我认为哪些未知的网络IP可能对主机产生攻击可能我们都不知道。只要试验过才知道。所以现在防火墙一般与防病毒软件配合使用。这样才
18、能安全的保护主机。1实现的主要的核心功能如下定义:1. 根据应用程序访问规则可对应用程序连网动作进行过滤;2. 对应用程序访问规则具有自学习功能;3. 可实时监控、监视网络活动。1.3 本课题的研究方法本课题由两大模块构成,分别为DLL模块和EXE模块。首先利用Winsock 2 SPI技术建立winsock钩子用来截获winsock调用从而拦截TCP/IP封包,并做相应处理。然后设置控管规则访问控制,通过控管规则的检查认证,确定socket连接是否允许通过。最后是TCP/IP的封包分析,利用TIP/IP的封包结构分析截获的数据,提取需要的数据。这些封装在DLL里面。EXE模块主要是用户页面的
19、制作。这里介绍与DLL通信的地方。EXE中与DLL直接通信的小模块主要有两个。一个是完成应用程序初始化的类CPropertyApp,它继承自CWinApp,是EXE的入口,其实里面封装了WinMain函数;另一个是主窗口模块CMainFrame,这个主窗口并不是EXE显示出来的那个属性页窗口,而是一个隐藏的窗口,它继承自CMrameWnd,是一个无模式窗口,他隐藏显示,充当接受机,用来接受DLL及其他模块发送过来的消息,然后对消息进行相应的处理。2每一个连网的程序连网之前都会建立一个Socket连接。这时钩子程序就会起作用,把截获的底层服务进行“过滤”。及先调用自定义的函数再转给下层服务提供者
20、函数。我就是在这一层实现封包过滤的。把规则与功能写到这一层。这一层的实现是本课题的核心。3第二章 WINSOCK 2 SPI编程技术Winsock 2是Windows Sockets的2.0版本,在此之前的版本是1.1。与1.1版本相比,2.0版本引入了一种新的叫做SPI的编程接口。利用这种技术可以在Socket中插入一曾层,从而可以完成诸如扩展TCP/IP协议栈,网络安全控制等功能,所以这是一个非常强大而且有用的接口,下面介绍这种编程技术。42.1 Winsock 2 SPI基础Winsock是为上层应用程序提供的一种标准网络接口,上层应用程序不用关心Winsock实现的细节,它为上层应用程
21、序提供透明的服务。Winsock 2 引入的一个新的功能就是打破服务提供者的透明,让开发者可以编写自己的服务提供者接口程序,即SPI程序。SPI以动态链接库的形式存在,它工作在应用层,为上层API调用接口函数。Winsock 2是一个接口,不是一个协议。作为接口,它只能发现和利用底层传输协议完成通信。5自己编写的SPI程序安装到系统之后,所有的Winsock请求都会发送到这个程序并由它完成网络调用。由于系统提供的SPI已经可以完成网络传输功能,所以自己编写的SPI没有必要重新编写这部分功能。一般可以直接调用系统函数完成网络传输,这样工作的效果就是“钩子程序”。Winsock 2 SPI除了有完
22、成网络传输的传输服务提供者,还有提供友好名称服务的名字空间服务提供者。传输服务提供者能够提供建立通信、传输数据、流量控制和错误控制等服务。名字空间服务提供者把一个网络协议的地址属性和一个或多个用户友好名称关联起来,这样可以起用与协议无关的名字解析方案。62.2 传输服务提供者传输服务提供者又分为基础服务提供者和分层服务提供者。基础服务提供者和分层服务提供者都开放相同的SPI接口,所不同的是基础服务提供者位于提供者的最底层。所以编写基础服务提供者和分层服务提供者基本相同。但安装是却需要将基础服务提供者安装在服务提供者加载顺序链的最底端,而分层服务提供者则根据需要分布在顺序链的中间。第三章 开发平
23、台与开发工具开发平台如题说明,以Windows平台为主,重点讨论开发工具的选择。根据不同的工程选择不同的开发工具,可以有效地提高工作效率。不同的开发工具各有各的优点同时又各有各的不足,在开发中要扬长避短。目前常用的Windows开发工具有VS 5.0/6.0、VS.net(包括VB、BC、VFP、VJ、C#等一组开发工具)、delphi、C+ Builder,JBuilder、PB等。在这些开发工具里面,VFP和PB一般用来专门开发数据库系统,它们具有灵活的数据库接口。VB和Delphi既可以方便地做出复杂的数据库管理系统,又能轻松地完成操作系统级的任务。最优秀的是很容易做出漂亮的界面。VC和
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Windows 平台 个人防火墙 设计
