WINDOWS网络数据过滤方法,软件工程硕士论文.docx

上传人:安*** 文档编号:73302656 上传时间:2023-02-17 格式:DOCX 页数:11 大小:21.78KB
返回 下载 相关 举报
WINDOWS网络数据过滤方法,软件工程硕士论文.docx_第1页
第1页 / 共11页
WINDOWS网络数据过滤方法,软件工程硕士论文.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《WINDOWS网络数据过滤方法,软件工程硕士论文.docx》由会员分享,可在线阅读,更多相关《WINDOWS网络数据过滤方法,软件工程硕士论文.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、WINDOWS网络数据过滤方法,软件工程硕士论文本篇论文目录导航:【题目】【第一章】【第二章】【3.1】【3.2 - 3.4】 WINDOWS网络数据过滤方式方法【4.1 - 4.3】【4.4 - 4.6】【第五章】【总结/以下为参考文献】 3.2 WINDOWS 网络数据过滤方式方法 拦截 Windows 下的网络数据包需要在两个层面进行操作:用户态USER-MODE形式和内核态KERNEL-MODE形式。在用户态形式下,实现数据包过滤简单方便但功能和起到的作用较小;在内核态形式下,实现数据包过滤功能强大但是实现较为复杂20. 3.2.1 用户形式下数据过滤方式方法 在用户形式下,数据过滤方

2、式方法有替换 Winsock2 DLL、Winsock2 SPIService Providerinterface服务提供者和 Windows 包过滤接口。 1重载 Winsock2 动态链接库 重载 Winsock2 DLL 的主要方式方法是重载 WS2_32.DLL 中的有关网络收发函数,添加网络封包接收/发送前后的自定义功能,实现数据包的拦截和监听。从图 3.1 观察,Winsock2 应用程序套接字通过 Winsock2 动态链接库进入内核,重载 Winsock2 DLL 的有关的函数就能够实现拦截数据包的目的。重载 Winsock2 DLL 是 Winsock 功能的扩展重要方式。但

3、是,这种网络数据包过滤技术过滤数据包不彻底,而且系统 Winsock2 动态链接库包含的私有函数没有文档资料,导致开发应用程序强健性有负面影响。 2Winsock2 分层传输服务提供者SPI Winsock2 SPIService Provider Interface,服务提供接口分为传输提供者和名字空间提供者。在应用程序访问网络的经过中,都要通过 WS2_32.DLL 和传输服务提供者的严格数据交换。详细的交换经过如下:WS2_32.DLL 根据套接字参数信息选择服务提供者,并有该服务提供者管理应用程序的实现经过。在 SPI 协议链的顶端增加分层协议服务提供者,SPI 协议链将分层服务提供者

4、和基础服务提供者组织起来,数据包就能够被拦截下来,SPI 是数据包在应用层最好拦截点。SPI 中的分层协议及协议链构造组成如此图 3.8 所示。Winsock2 传输服务提供者能够分为如下两种: a基础服务提供者,执行网络传输协议的详细细节,在网络上收发数据核心网络协议功能,有传输数据、流量监控、错误过失控制等。 b分层服务提供者,负责执行高级的自定义通信功能,依靠基础服务提供进行数据交换。 Ws2_32.dll 和一个基础服务提供者之间为一个或多个分层服务提供者执行不同的通信功能。Winsock2 SPI 工作在应用层上,CPU 占用率较低,执行效率高,编程和调试较为方便容易,并且封包未做切

5、片处理,对内容过滤实现起来愈加容易。但是,应用程序通过 TDI 过滤驱动不经过 SPI 调用 TCP/IP 传送数据包,这样对于一个病毒和攻击将无法检测到,过滤的数据包是不安全的。防火墙过滤程序仅仅采用这种过滤技术是不能保证主机安全的。并且,最好的编写 SPI 的计算机应用程序一定要用标准的安装方式来进行29,否则,假如同时安装了几个使用 SPI 的先进技术的计算机软件,有使用非标准安装方式的计算机软件,会造成有的被绕过或者不能正常网络通信。 3Windows 包过滤接口 Windows 包过滤接口允许用户形式下的应用程序或者服务指定一组 过滤描绘叙述子 ,TCP/IP 组件使用它们过滤数据包

6、。但是,包过滤的规则的设置和执行会面临有很多限制,对于个人防火墙来讲是远远不够的。 用户形式下的数据过滤是在 Winsock 层实现的,但是对于通过 SOCKET 通信协议传送的数据包却无法拦截和过滤,这样诸多垃圾邮件、恶意软件、木马等都能够避开防火墙的检测和过滤来攻击主机系统。总之,仅仅使用用户形式下的过滤方式方法设计功能强大的防火墙系统是不现实,需要与内核形式下过滤方式方法相结合使用。 3.2.2 内核形式下数据过滤方式方法 在内核形式下,数据过滤方式方法有 TDITransPort Data Interface过滤驱动程序、NDIS 中间层驱动程序NDIS Intermediate Dr

7、iver,IM以及 NDIS 挂钩过滤驱动程序17. 1TDI 过滤驱动程序 TDI 过滤驱动程序主要针对网络层和传输层实现数据包的过滤,固然 TDI 过滤驱动形式在微软新发布的系统使用的较少,逐步被一些新开发的驱动形式 WFP 所取代,但是为了应用程序的兼容性仍然一部分开发程序使用这种过滤驱动形式,另外,TDI 过滤驱动还具有监控网络流量,对整个系统网络流量进行分析和管理的功能,尤其在防火墙系统的驱动过滤程序仍使用该过滤技术,如 360 安全卫士流量防火墙。 首先,将 DriverEntry 里替换掉所有的派遣函数为自个的函数,接着将开创建立的设备挂载到DeviceTcp 和DeviceUd

8、p 等 TDI 标准设备的设备栈上,这样就完成了一个 TDI Filter 的初始化。所有 TCP/UDP 协议的通讯程序进入到内核需要调用 afd.sys 驱动,afd.sys 驱动管理套接字都是 TDI 客户端,例如通过 SOCKET 建立 TCP 连接时,afd.sys 会打开 TDI 的 TCP 设备,至少开创建立地址和连接两个对象,地址对象用来绑定本地地址,连接对象跟踪远程连接,负责远程连接对象数据的接收或者发送。Afd.sys 将开创建立的两个对象关联起来,连接对象使用地址对象与远程跟踪的数据通讯。TCP 协议中,客户端机器工作情况如上面描绘叙述,服务端工作情况与客户端基本一致,只

9、是稍稍有些差异不同。应用程序调用函数 socket,函数 bind、函数 listen后,afd.sys 驱动需要先开创建立地址对象,在开创建立完地址对象之后才开创建立连接对象,连接对象与地址对象关联起来后,客户端发出连接请求,TDI_EVENT_CONNECT 事件会做出响应,连接成功之后就能够与客户端发送或接收数据。对于 UDP 通讯,是无连接的通信,开创建立一个地址对象,使用地址对象进行通信。 2NDIS 中间层驱动程序 网络驱动程序接口规范Network Driver Interface Specification,NDIS为网络驱动开发的标准接口,通过传输协议与网卡驱动之间通信,位于

10、系统底层,网络数据拦截的有利位置能够拦截所有通过的数据包。NDIS 支持的驱动程序包括下面几类如此图 3.9 和 3.10 所示: a微端口驱动程序Miniport drivers,通过 NDIS 接口管理网络接口卡,开放微接口供高级驱动程序调用。 b中间驱动程序Intermediate driver,IM Driver,位于中间位置,拦截所有数据通信。 c协议驱动程序Protocol drivers,位于最高层位置,协议接口与微端口接口的对接。 NDIS 中间层驱动是微软 Windows 操作系统网络驱动程序接口标准引入的新类型的驱动程序,位于 TDI 和 NDIS 网络接口驱动程序的中间位

11、置。NDIS 向上微端口接口,向下协议接口,位于微端口与协议端口之间,中间驱动从上边界向上提供 Miniport 函数集,无连接通信。 该驱动程序自下边界向下支持 Protocal 函数集,支持无连接和有连接两种通信。微端口接收到数据包发送给协议接口,NDIS 中间驱动程序首先会调用回调函数处理这些数据,处理完毕之后发送给协议端口,这样就完成对数据包的拦截处理。 NDIS 中间层驱动的用处主要包括:局域网仿真LAN Emulation、包过滤PacketFiltering、NAT 地址转换Network Address Translation、LBFO 负载平衡和失效替换AdapterLoad

12、 Balancing And Fail-Over等。NDIS 中间层驱动程序开发应用广泛、功能强大,但是,编程接口非常复杂,增加了编程实现的难度,而且自动化安装困难,采用这种驱动程序增加了系统设计的复杂性和难度。 3NDIS 挂钩过滤驱动程序 TDI Filter Driver 和 IM Driver 使用封包过滤技术,TDI 过滤驱动位于传输协议驱动之上,属于上层驱动程序,对某些接收到的数据包无法过滤,如 ICMP 的应答包直接由传输层协议驱动回复,并没有传送到 TDI 过滤驱动程序,这样导致对于一些攻击就无法过滤掉。NDIS中间层驱动程序功能强大,使用面广,但接口复杂。这两种类型的驱动过滤

13、技术都存在部分问题,不能到达良好的过滤效果。经过对 NDIS30的实现机制研究,NDIS HOOK 技术不但克制了上面提到的种种缺陷,并且还有性能稳定、安全性高、灵敏使用、无冗余代码等优点。 NDIS 挂钩过滤的原理是修改 NDIS 函数地址,拦截发送来的网络数据包31,过滤掉对主机安全有危害的数据包之后转发给系统函数,NDIS 拦截的是底层的未经处理的数据包,不容易被浸透修改,愈加可靠和安全。NDIS 挂钩过滤驱动程序安装前后的构造示意图分别如此图 3.11和图 3.12 所示。 3.2.3 网络数据过滤方式方法的选择 在前面两小节的讨论中明确了 Windows 操作系统的总体架构由两个层面

14、组成:用户态和内核态,并且在这两个层面上实现网络数据包的过滤方式方法有多种,实现数据包拦截的技术却略有不同。 利用 Winsock2 SPI 数据过滤技术工作效率会比拟高,同时 CPU 占用率比拟小,能够截获完好的数据封包,没有被切片处理。因而,用户态形式下采用 Winsock2 SPI 过滤技术来实现。 内核态网络数据包的拦截是通过驱动程序来实现的,而且内核形式下的数据过滤方式方法较多,如 TDI 过滤驱动程序、NDIS 中间层驱动程序、以及 NDIS 挂钩过滤驱动程序。经过对这几种数据比拟和分析,由于 NDIS-Hook Driver 方式具有如下优点:安装简单,能截获所有的IP 数据封包

15、,同时可以以获得数据包的以太帧;安全性较高,木马和病毒等不易穿透。总之,进过分析比照研究,选择的网络数据方式方法是:用户形式下的 Winsock SPI 分层服务提供者和内核形式下的 NDIS HOOK 钩子过滤驱动相结合使用的数据拦截过滤技术。 3.3 防火墙工作形式及流程分析 3.3.1 防火墙工作形式分析个人防火墙的工作形式能够分为总工作形式和子工作形式,两级工作形式,会执行不同的过滤操作21. 1总工作形式 设定个人防火墙的总体过滤形式有下面三种: aNS_PASS_ALL:全部放行 在全部放行工作形式下,个人防火墙的设置形同虚设,就像并不存在这个防火墙系统是一样的,起不到任何拦截数据

16、封包保卫主机的作用,最好不要这样设置,除非某些特殊情况下不能打开防火墙。 bNS_DENY_ALL:全部拒绝 在全部拒绝的工作形式下,个人主机与外部网络是不能进行任何通信的,所有的数据包都会被丢弃掉。一般防火墙的默认设置是全部拒绝的形式。 cNS_QUERY_ALL:过滤 在过滤工作形式下,防火墙才能到达保卫主机的目的,根据规则放行/拒绝数据包,过滤掉不安全的数据包,放行安全的。 2子工作形式 针对应用程序、ICMP 等设置不同的子工作形式。 a对于应用程序,有下面五种子工作形式能够设置1全部放行,放行所有 WNISOCK2、TCP、UDP 通信;2禁止连入,不允许外部网络访问本机;3禁止连出

17、,不允许本机应用程序访问任何外部网络;4双向禁止;5使用规则,设置相应规则过滤数据包,丢弃有危险的数据包,放行对本机安全的数据包,这是防火墙主要功能部分。 bICMP 过滤子形式1全部放行,允许所有 ICMP 报文通过;2禁止外部网络连接本机,即外部主机不能够主动 ping 本机,禁止向本机发送任何消息,这是默认子工作形式;3禁止本机连接外部网络,也就是禁止本机通过 Ping 命令与外部网络连接;4双向禁止,禁止 Ping 对方的地址或域名。 3.3.2 防火墙工作流程分析 个人防火墙PSFW主要划分为两大模块:1 PSFW.DLL模块是位于应用层的动态链接库,拦截所有采用 Winsock2

18、进行网络通讯的数据包,根据控管中心设置的多种过滤规则进行过滤,与此同时也会把产生的日志信息发送给上层模块。2 PSFW.EXE 模块是可执行程序部分,是一个普通应用程序,为用户提供多种接口。本模块为数据中心,用户在这个模块设置的不同过滤规则,而本模块设置过滤规则的实现则是由 PSFW.DLL 模块执行。如在该模块设置添加某项控管规则,会发送消息函数给 PSFW.DLL 模块,执行详细函数来添加规则到规则集中,在过滤数据包时查看能否设置的规则与此数据包有关,根据控管规则决定是放行还是拒绝该数据包,并将数据通信的具体日志信息记录到日志文件,方便用户进行访问信息查询。防火墙的总体模块工作流程图如此图 3.13 所示。 3.4 本章小结 本章主要介绍 Windows 网络组件构造和处理数据包的 TCP/IP 协议构造,网络组件构造分为用户形式和内核形式两个方面进行介绍,网络组件在不同形式下采取不同的数据过滤方式方法,并针对主要的数据过滤方式方法进行具体阐述。经过仔细的分析和比拟,本文设计的个人防火墙采用用户形式 Winsock2 SPI 和内核形式 NDIS HOOK 过滤方式方法相结合的形式进行设计。并对防火墙的工作形式和工作流程进行研究分析。

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

当前位置:首页 > 应用文书 > 毕业论文 > 文化交流

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁