自-基于Windows内核态个人防火墙的设计与实现

上传人:逍*** 文档编号:186651575 上传时间:2021-07-19 格式:DOC 页数:8 大小:19.50KB
返回 下载 相关 举报
自-基于Windows内核态个人防火墙的设计与实现_第1页
第1页 / 共8页
自-基于Windows内核态个人防火墙的设计与实现_第2页
第2页 / 共8页
自-基于Windows内核态个人防火墙的设计与实现_第3页
第3页 / 共8页
自-基于Windows内核态个人防火墙的设计与实现_第4页
第4页 / 共8页
自-基于Windows内核态个人防火墙的设计与实现_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《自-基于Windows内核态个人防火墙的设计与实现》由会员分享,可在线阅读,更多相关《自-基于Windows内核态个人防火墙的设计与实现(8页珍藏版)》请在金锄头文库上搜索。

1、基于Wds内核态个人防火墙的设计与实现摘要:为了提高防火墙对非法数据包的拦截能力,增强wind主机上网的安全性,设计并实现了一个基于window内核态的个人防火墙。它由应用程序和驱动程序2部分组成,其中应用程序负责对数据包进行实时监控以及安全规则实现,并向用户报告防火墙的运行状态或安全事件;基于ndis中间层驱动程序对数据包进行拦截,采用设备输入和输出控制(ioctl)方法实现内核态进程与用户态进程间的通信。测试结果表明,该防火墙能在windows平台下稳定运行,能够有效拦截非法数据包。关键词:防火墙; ndis; 中间层驱动; athru;进程间通信引言防火墙在网络安全防护中具有重要作用,从

2、应用的角度来看,防火墙可以分为企业级防火墙和个人防火墙1。前者主要是部署在内、外部网络的边界,对内、外部网络实施隔离,从而保护内部网络的安全:而后者则通过纯软件的方式来实现,安装在个人电脑中,通过对网络数据包拦截、规则的设置和匹配及对网络行为的处理(允许或禁止)来达到保护网络安全的目的。目前,windows操作系统已广泛应用在个人电脑中,基于 windos的个人防火墙技术已经相对成熟,市场上各类产品也很多,国外较署名的产品有:kaspersky antihackr,mcafre,nortpesonalireall,oaar o和outpostiewall pro等,国内产品中常见的有天网、金山

3、和瑞星等。这些个人防火墙的核心区别在于winows环境下网络数据包拦截方法,通常数据包的拦截可以在winows用户态和核心态进行,在用户态采用wsocs 拦截ht,和p等应用层协议网络数据包,这种方法效率较高,容易进行数据包内容过滤,但它只能在winck层次上拦截网络数据包,拦截能力较弱;与用户态相比,在内核态的数据包拦截能力更强,主要的方法有:基于tdi传输驱动程序(transport driverntrfac)、基于ndis钩子驱动(ndis hook driver)和基于ni中间层驱动3等。由于di只实现了,tcp,udp等协议,对底层协议的数据包也无能为力;ndis钩子通过向ndi.s

4、ys注册一个假协议,然后利用接收数据的派遣函数的地址进行挂接后实现数据包拦截,但这种技术对平台的依赖性比较大,需要针对不同的系统平台采用不同的结构。而ndis中间层驱动位于协议驱动层和小端口驱动之间,它能够截获所有的网络数据包。虽然该方法在技术实现上较为复杂,目前的个人防火墙产品仍然较少采用。但是,由于其功能强大,过滤效率高,它依然是未来个人防火墙发展趋势。本文深入研究基于ndis中间层驱动的数据包拦截方法以及ndows内核态驱动程序与用户态应用程序间的通信机制,设计并实现了一种基于wiws内核态的个人防火墙系统,它由应用程序和驱动程序部分构成,其中,驱动程序负责对非法数据包进行拦截过滤;应用

5、程序负责对数据包进行实时监控,并向用户报告检测结果。1windws个人防火墙系统结构.1系统结构该防火墙由运行于用户态的应用程序和运行于核心态的驱动过滤2部分构成,两者之间采用共享内存的方式进行通信,具有arp欺骗攻击检测与防御、检测与防御ds欺骗和检测网页木马等功能。其系统结构如图1所示,用户态的应用程序通过监控并分析进出网卡接口的数据包,以决定是否将该数据包的发送者列入黑名单并向用户报告。此外,应用程序还是防火墙的部分,负责向用户实时报告结果,提供过滤规则参数设置界面。图 wnds个人防火墙系统结构1.功能描述本防火墙实现以下基本功能:(1)能对arp攻击、dns欺骗和常见的网页木马进行检

6、测和抵御,发现非授权的请求后应能立即拒绝,随时保护上网主机的安全。(2) 提供一系列安全规则设置,允许或禁止特定主机的相关服务,用户可根据实际情况修改安全规则或建立黑名单。驱动程序根据安全规则及黑名单进行数据包过滤。(3) 将所有被拦截的访问记录的详细信息写入日志,供用户查询或追踪攻击源。2now个人防火墙的关键技术实现2.驱动程序设计ndis中间层过滤驱动(niintermediate drvr)位于网卡驱动和协议驱动之间4,其2个接口:minpr接口和protool接口,所有网络数据包均流经nis中间层。passthru5是mcosoft公司在inows ddk中提供的一个nids中间层驱

7、动的开发框架,本防火墙的驱动部分就是在该框架的基础上实现的,其主要的作用是根据已定的规则和黑名单对非法数据进行过滤。2.1数据包的获取非法数据包的过滤是在驱动程序中实现的。在asthru中负责接收数据的派遣例程有2个,分别是ptee和ptcevepake。在ptecve和ptreivepaket两个例程中调用获取数据包例程petpcketonent,ptgetacktoent例程如下:2.2应用程序设计应用程序是防火墙的gui部分,负责向用户报告结果和提示操作的界面。应用程序对数据包监控分析及过滤规则的设置,用户通过防火墙安全规则的设定,向数据包拦截模块传递规则。实时显示数据包的过滤和黑名单的

8、拦截情况。应用程序部分的核心类共包含:apptuidlg,capture,dee,checkdefenddnsof和chckhetpy等5个类,如图所示。其中:(1) auidg:防火墙系统总调度显示类,负责其他所有类的创建和相互调度;() cape:捕获数据包类,负责捕获数据包;(3) etect:检测防御ap攻击7类,该类接受capture类捕获的ar数据包,并对数据包进行检测分析;() checkdfenddntoof:检测防御n欺骗类,该类接受aptur类捕获的dn数据包,并对数据包进行检测分析;(5)chekhetsp:检测网页木马类,该类接受capre类捕获的htp数据包,并对数据

9、包进行检测分析。图2应用程序主要类图.3驱动程序和应用程序的通信个人防火墙不仅要实现对网络数据包的拦截,还要分析数据包后,根据设定的规则对数据包进行处理,并将保存日志。因此,驱动程序和应用程序就要进行通信以达到信息的交互。驱动程序和应用程序之间通过共享内存的方式实现通信,两者间的内存共享有种实现方法9是通过共享内存对象方法来实现,另一种是通过设备输入和输出控制(otl)方法来实现。本文的防火墙采用驱动定义的ioctl方法。ioctl值是个3位的无符号整数。d(drivrdevlopmt its)提供一个cl_ode,其定义如下:ctl_ode(deviet,fuctio,method,ace)

10、其中deiceype指定设备对象的类型,这个类型应和创建设备时的类型相匹配。一般是形如的宏;futio指的是驱动程序定义的ctl码,而0x0007ff为微软保留,0x800xf由程序员自己定义;mod是指操作模式,由ethod_buffred、hod_in_direct,methodout_drect和mthod_neithr其中之一组成;accss为访问权限10。如ioct的定义如下:#dfiniot_ptuerio_as_entptusero_ctl_od (105,td_uffere,| )上述ioctl定义是将事件信号传递给驱动,使用缓冲区方式操作,可读写。定义ioctl之后,应用程序

11、通过调用in32pi devceicontrol例程与驱动程序相互通信。iceiocontrl的声明如下:驱动中的派遣例程按照以下步骤完成用户的请求:() 从irp结构中获取ioconrocode,判断用户当前发出的是哪一个请求;(2) 从p结构中获取用户传递过来的参数(可选);() 按用户的要求完成相关操作;(4)调用iocompeerequest向i/o管理器指示已完成用户的请求。3系统测试首先在windowsxp环境下安装该防火墙,为了完成测试工作,自行编写了atackr(arp攻击程序)和dnschea(ds攻击程序)并在网页中嵌入木马程序。该防火墙启动界面如图3所示。图防火墙运行状态

12、因篇幅有限,下面仅以攻击为例说明测试过程,用于测试的主机ip地址为192.68.5,ma地址为02456789b;网关i地址为19269.25,mac地址为026eab8cc。启动ataker程序,依次进行以下攻击行为冒充网关;攻击者散布虚假ap广播报文;非法扫描主机;防火墙的响应分别如图4图6所示。图4冒充网关攻击响应从图中可以看出,该防火墙在wndows平台下运行稳定,能够对各种arp攻击、dn攻击和常见木马病毒等攻击行为进行检测和处理,将可疑的主机地址加入黑名单并将结果报告给用户,能有效保护widws主机的上网安全。图5散布虚假ap广播报文攻击响应图6非法扫描攻击响应4结语防火墙是解决用

13、户上网安全问题的一种重要技术手段。本文基于wdows内核态讨论并给出了个人防火墙关键技术的设计及实现过程,在局域网(以太网)中通过自行编写的攻击程序进行了rp攻击、dns攻击和网页木马病毒等进行了测试, 结果表明,该防火墙运行稳定,能够有效拦截非法数据包,达到了预期的设计目标。下一步研究工作还需要在此基础上集成更多的防御网络攻击的功能,提高中间层驱动过滤程序的工作效率,进一步降低防火墙对网络接口数据传输性能的影响。参考文献1oonan w, dubrwski防火墙基础.陈麒帆,译北京:人民邮电出版社,.2程克勤,邓林,王继波,等基于应用层的idows个人防火墙的设计与实现.合肥工业大学学报:自然科学版,010,3(5):6699.3谭文,杨潇,邵坚磊,等windo内核安全编程m.北京:电子工业出版社,2004ou onghua, zhaodg. resecnd design o pe lteg eo is intemiatdriverj. control &automatio, 206, 22(12): 41143.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 社会学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号