欢迎来到天天文库
浏览记录
ID:34618039
大小:39.21 KB
页数:4页
时间:2019-03-08
《开题报告(样本)new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于NDISIMD的防火墙的研究与实现一、选题背景及目的随着近几年Internet技术的飞速发展,计算机网络在人们的生活中的应用也越来越得到普及,网络已经成为了当今社会信息交换的主要平台。与此同时,Internet上与日俱增的各种不安全的因素,如病毒、木马、黑客等,已经对连入Internet的计算机产生了严重的威胁,轻者可能造成个人信息泄漏,重者可能导致计算机被当作“肉鸡”悄悄的控制。因此,保护连入Internet的计算机的安全已经成为了信息安全领域的一个重要的研究课题,防火墙技术也应运而生。防火墙是
2、在两个网络之间执行访问控制策略的系统,它的存在方式或者是软件,或者是硬件,还可以两者方式同时使用。它的主要功能包括:过滤掉不安全的服务和非法用户、提供对某些特殊站点的访问控制和提供安全监视和预警的手段。在通常情况下,对某个子网中若干台计算机提供整体的安全保护时常常采用硬件防火墙,而对个人的某台计算机进行保护时常采用软件防火墙,也称为个人防火墙。因此本课题的目的在于:在Windows2000/XP/2003操作系统上研究个人防火墙的基本实现原理,并给出一种可行的实现方法。二、国内外基本研究状况目前,国内
3、外信息安全相关的科研机构和企业对个人防火墙的研究一直在进行之中,在市场上也出现了不少成熟的防火墙产品。国外的较著名的产品有ZoneAlarm、NortonPersonalFirewall、SygatePersonalFirewall等,国内较著名的产品有天网防火墙、金山网镖、费尔防火墙等。当然,这些防火墙都是运行在Windows平台上的,在Unix/Linux平台下,同样有相应的防火墙实现方案。比如在Linux下通过对netfilter/iptables系统的配置即可实现防火墙功能。由于本课题主要是在
4、Windows操作系统上研究个人防火墙的实现原理与方法,所以以下提到的防火墙,如果不作特别说明,均指Windows下的防火墙。纵观这些防火墙产品使用的技术,在其最底层的模块基本上都是在Windows的核心态中实现具有防火墙功能的网络驱动程序,通过与用户态的客户程序的交互,配合一定的网络访问控制规则,通过控制数据的发送与接收来达到保护主机的目的。三、系统实现的关键技术3.1在核心态实现数据包截获与过滤在Windows2000及其后的操作系统中,网络设备接口规范(NDIS)库从网络驱动程序中对网络硬件进行
5、了抽象。它在分层的网络驱动程序中规定了一个标准接口,从而抽象了低1层次的硬件来提供给高层次网络上的网络管理,如网络传输。NDIS支持三种网络驱动程序形式:小端口驱动程序(NDISMiniportDriver)、中间层驱动程序(NDISIntermediateDriver,缩写为IMD)和协议驱动程序(NDISProtocolDriver)。这3种驱动程序的结构示意图如图1所示:图1NDIS支持的3种驱动程序的结构因此在Windows2000及其后的操作系统中,利用核心态的驱动程序对网络数据包进行截获与
6、过滤的方式有以下几种:(1)通过TDI过滤驱动程序(TDIFilterDriver)(2)通过Windows2000过滤钩子驱动程序(Windows2000FilterDriver)(3)通过NDIS中间层驱动程序(NDISIntermediateDriver)(4)通过NDIS钩子驱动程序(NDISHookDriver)我在本课题中使用的技术将是第3种,即NDIS中间层驱动程序(IMD)。由于IMD处于驱动程序层次的中间位置,所以IMD必须与上层的Protocol驱动程序和下层的Miniport驱动
7、程序都进行相互通信,具体方法是:IMD在其下端导出协议实体入口点(即Protocol×××系列函数),供NDIS调用,从而完成IMD与底层Miniport驱动程序之间的数据通信;同时,IMD在其上端导出小端口实体入口点(即Miniport×××系列函数),供NDIS调用,从而完成IMD与上层的Protocol驱动程序之间的数据通信。因此,NDIS中间层驱动程序在逻辑上表现为:下边界是一个Protocol接口,上边界是一个Miniport驱动接口。这两个接口通过NDIS库的介入,分别与下层的Minipo
8、rt驱动程序和上层的Protocol驱动程序进行交互,从而完成网络数据包在上下层次之间的传送操作。其示意图如图2所示:2图2NDIS中间层驱动程序在Miniport驱动和Transport驱动之间由于NDIS驱动程序操作的对象是网络数据包,因此要实现网络数据包的截获与过滤,我的做法是通过设计中间层驱动程序,在IMD中获得流入和流出IMD的数据包,并根据规则对其进行相应的处理(继续传送或者丢弃),从而实现在核心态按照事先自定义的规则对数据包进行过滤的目的。
此文档下载收益归作者所有