基于Windows内核态个人防火墙的设计和实现.docVIP

基于Windows内核态个人防火墙的设计和实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Windows内核态个人防火墙的设计与实现 摘要:为了提高防火墙对非法数据包的拦截能力,增强windows主机上网的安全性,设计并实现了一个基于windows内核态的个人防火墙。它由应用程序和驱动程序2部分组成,其中应用程序负责对数据包进行实时监控以及安全规则实现,并向用户报告防火墙的运行状态或安全事件;基于ndis中间层驱动程序对数据包进行拦截,采用设备输入和输出控制(ioctl)方法实现内核态进程与用户态进程间的通信。测试结果表明,该防火墙能在windows平台下稳定运行,能够有效拦截非法数据包。 关键词:防火墙; ndis; 中间层驱动; passthru; 进程间通信 引言 防火墙在网络安全防护中具有重要作用,从应用的角度来看,防火墙可以分为企业级防火墙和个人防火墙[1]。前者主要是部署在内、外部网络的边界,对内、外部网络实施隔离,从而保护内部网络的安全:而后者则通过纯软件的方式来实现,安装在个人电脑中,通过对网络数据包拦截、规则的设置和匹配及对网络行为的处理(允许或禁止)来达到保护网络安全的目的。 目前,windows操作系统已广泛应用在个人电脑中,基于 windwos的个人防火墙技术已经相对成熟,市场上各类产品也很多,国外较署名的产品有:kaspersky antihacker,mcafree,norton personal firewall,zonealarm pro和outpost firewall pro等,国内产品中常见的有天网、金山和瑞星等。这些个人防火墙的核心区别在于windows环境下网络数据包拦截方法,通常数据包的拦截可以在windows用户态和核心态进行,在用户态采用winsock2 spi 拦截http,ftp,telnet和pop3等应用层协议网络数据包,这种方法效率较高,容易进行数据包内容过滤,但它只能在winsock层次上拦截网络数据包,拦截能力较弱;与用户态相比,在内核态的数据包拦截能力更强,主要的方法有[2]:基于tdi传输驱动程序(transport drivers interface)、基于ndis钩子驱动(ndis hook driver)和基于ndis中间层驱动[3]等。由于tdi只实现了ip,tcp,udp等协议,对底层协议的数据包也无能为力;ndis钩子通过向ndis.sys注册一个假协议,然后利用接收数据的派遣函数的地址进行挂接后实现数据包拦截,但这种技术对平台的依赖性比较大,需要针对不同的系统平台采用不同的结构。而ndis中间层驱动位于协议驱动层和小端口驱动之间,它能够截获所有的网络数据包。虽然该方法在技术实现上较为复杂,目前的个人防火墙产品仍然较少采用。但是,由于其功能强大,过滤效率高,它依然是未来个人防火墙发展趋势。 本文深入研究基于ndis中间层驱动的数据包拦截方法以及windows内核态驱动程序与用户态应用程序间的通信机制,设计并实现了一种基于windows内核态的个人防火墙系统,它由应用程序和驱动程序2部分构成,其中,驱动程序负责对非法数据包进行拦截过滤;应用程序负责对数据包进行实时监控,并向用户报告检测结果。 1windows个人防火墙系统结构 1.1系统结构 该防火墙由运行于用户态的应用程序和运行于核心态的驱动过滤2部分构成,两者之间采用共享内存的方式进行通信,具有arp欺骗攻击检测与防御、检测与防御dns欺骗和检测网页木马等功能。其系统结构如图1所示,用户态的应用程序通过监控并分析进出网卡接口的数据包,以决定是否将该数据包的发送者列入黑名单并向用户报告。此外,应用程序还是防火墙的gui部分,负责向用户实时报告结果,提供过滤规则参数设置界面。 图1 windows个人防火墙系统结构1.2功能描述 本防火墙实现以下基本功能: (1) 能对arp攻击、dns欺骗和常见的网页木马进行检测和抵御,发现非授权的请求后应能立即拒绝,随时保护上网主机的安全。 (2) 提供一系列安全规则设置,允许或禁止特定主机的相关服务,用户可根据实际情况修改安全规则或建立黑名单。驱动程序根据安全规则及黑名单进行数据包过滤。 (3) 将所有被拦截的访问记录的详细信息写入日志,供用户查询或追踪攻击源。 2windows个人防火墙的关键技术实现 2.1驱动程序设计 ndis中间层过滤驱动(ndis intermediate driver)位于网卡驱动和协议驱动之间[4],其2个接口:miniport接口和protocol接口,所有网络数据包均流经ndis中间层。passthru[5]是microsoft公司在windows ddk[6]中提供的一个nids中间层驱动的开发框架,本防火墙的驱动部分就是在该框架的基础上实现的,其主要的作用是根据已定的规则和黑名单对非法数据进行过滤。 2.1

文档评论(0)

zxli + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档