访问【WRITE-BUG数字空间】_[内附完整源码和文档]
本课题基于 U-TRI 匿名通信系统,设计一个 Windows 匿名通信客户端。该客户端在匿名通信系统中扮演了重要角色,实现了两个重要功能:第一,实现匿名通信协议,拦截/修改主机流量,与匿名通信网络设备共同防止网络中的流量嗅探;第二,采用 WFP 标记驱动作为拦截/修改流量的内核,防止本地流量嗅探。
摘要
目前许多企业网络面临着流量嗅探的安全威胁。不法分子通过技术手段,拦截、分析网络中的流量。为了防止恶意流量嗅探,可以使用匿名通信技术,将流量中的 MAC 地址、IP 地址、TCP/UDP 端口号进行伪造。匿名通信系统要求在主机上部署匿名通信客户端,用于实现匿名通信协议,同时防止本地恶意软件进行原始流量嗅探。
本课题基于 U-TRI 匿名通信系统,设计一个 Windows 匿名通信客户端。该客户端在匿名通信系统中扮演了重要角色,实现了两个重要功能:第一,实现匿名通信协议,拦截/修改主机流量,与匿名通信网络设备共同防止网络中的流量嗅探;第二,采用 WFP 标记驱动作为拦截/修改流量的内核,防止本地流量嗅探。该客户端包括三个部分:用于处理核心拦截/修改业务逻辑的匿名通信驱动程序、用于配合驱动程序工作的打开网卡混杂模式工具和为简化软件部署/移除流程而设计的客户端安装/卸载工具。经系统测试,该客户端通过了功能测试,并达到性能基本要求。
本文首先介绍了选题的背景、意义和相关技术;其次分析了系统需求,并根据需求对 Windows 匿名通信客户端进行设计与实现;再次对客户端进行功能测试和性能测试;最后总结了本课题的工作,并提出了存在的问题和对进一步完善的展望。
关键词 匿名通信 反嗅探 网络驱动
1 引言
1.1 选题背景和意义
1.1.1 选题背景
流量嗅探问题是企业网络面临的重要安全威胁之一。不法分子利用流量嗅探技术,劫持网络中的流量,再通过流量分析的方法,从被劫持流量中提取敏感数据,从而达到窃取敏感数据的目的。
从技术上来说,目前企业面临的网络嗅探问题,主要有两个方面:在网络设备上的流量嗅探和在主机本地的流量嗅探。网络设备上的流量嗅探指的是:不法分子利用漏洞等途径,入侵在企业网络中运行的网络设备(例如交换机、路由器等),对网络设备进行流量劫持,从而达到窃取敏感信息、注入恶意数据等目的。由于网络环境复杂、网络设备数量繁多,在网络设备上完全避免流量劫持是一个非常困难的事情。主机本地的流量嗅探指的是:不法分子利用植入木马、恶意软件等途径,入侵接入企业网络的终端设备,对终端设备进行本地流量劫持,从而实现流量嗅探的目的。相对于复杂繁多的网络设备,接入网络的终端更加难以集中管理、保护;所以,避免主机遭受本地流量嗅探势在必行。
1.1.2 选题意义
为了减少流量嗅探给企业带来的损失,Yulong Wang 等人设计了 U-TRI 匿名通信系统,防范不法分子进行恶意嗅探,从而提升企业网络的安全性。[1] 该系统利用 SDN 技术,为交换机重新设计一套特殊的数据包转发规则。终端设备根据这套特殊的规则,伪造发包的 MAC 地址、IP 地址、TCP/UDP 端口号,并将收包的 MAC 地址、IP 地址、TCP/UDP 端口号还原成真实的地址、端口号;网络设备也基于同样的规则,根据数据帧的 MAC 地址进行转发,确保能把数据帧正确发送到目的主机上。这套转发规则,通过主机的 MAC 地址、IP 地址、TCP/UDP 端口号的转换,隐藏了通信端点的信息,防止不法分子直接从流量中提取;通过定时更新转换规则,增加不法分子利用流量统计方法还原通信端点信息的难度。基于这套转发规则,U-TRI 匿名通信系统隐藏了网络中通信的主机信息,避免不法分子从网络流量中窃取敏感数据。
U-TRI 匿名通信系统包含两个部分:网络设备程序和主机客户端。网络设备程序安装在企业网络中的交换机上,根据 U-TRI 系统定时随机生成的规则进行数据包转发。而主机客户端则扮演了更重要的角色:一方面,通过拦截/修改主机上的原始流量,根据转发规则,对原始流量的 MAC 地址、IP 地址、TCP/UDP 端口号进行转换;另一方面,利用网络安全技术,阻止恶意软件进行本地流量劫持。所以,在整个匿名通信过程中,主机客户端的设计与实现至关重要。
Windows 操作系统是微软公司最早在 1985 年推出的图形界面 PC 操作系统,最新版本为 Windows 10。目前,Windows 操作系统有着大量的企业、个人用户,已成为了主流的 PC 操作系统。(截至 2018 年 4 月,Windows 的市场占有率已达到了 88%)[2] 所以,在安装了 Windows 操作系统的主机上设计与实现匿名通信客户端,具有较大的商业价值。
1.2 课题任务
针对企业面临的流量嗅探问题,本课题基于 U-TRI 匿名通信系统,设计匿名通信 Windows 客户端。匿名通信 Windows 客户端主要从两方面防范流量嗅探:一方面,在部署了匿名通信系统的企业网络中,接入网络的主机上部署匿名通信客户端,实现原始流量的 MAC 地址、IP 地址、TCP/UDP 端口号转换,防止网络上的恶意流量嗅探,从而提高企业网络的安全性;另一方面,针对 Windows 操作系统平台下的本地流量嗅探工具,以及 Windows 操作系统网络架构,设计匿名通信客户端,防止主机上恶意软件对网卡流量的嗅探,进一步确保网络的安全性。
本课题设计的客户端将实现以下功能:
拦截/修改网络通信流量,实现匿名通信协议:修改原始流量中发送数据包的 MAC 地址、IP 地址、TCP/UDP 端口号,伪造为用于网络设备转发的 MAC 地址、IP 地址、TCP/UDP 端口号;修改接收数据包的 MAC 地址、IP 地址、TCP/UDP 端口号,还原为对端主机发送修改前的 MAC 地址、IP 地址、TCP/UDP 端口号,并传给上层应用程序。并使得上述过程对上层应用程序透明,即两个通信端点主机上的上层应用程序利用原始的 MAC 地址、IP 地址、TCP/UDP 端口号通信。当安装了客户端的 Windows 主机接入匿名通信网络时,可以正常通信;没有安装客户端的主机接入匿名通信网络后,由于没有进行 MAC 地址、IP 地址、TCP/UDP 端口号转换,发出的数据包不能被网络设备识别,无法与网络中的其他主机通信。
防止流量嗅探工具监听原始流量:针对 Windows 平台下主流的流量嗅探工具,调研他们的工作原理,设计一个能防止流量嗅探工具对网卡原始流量嗅探的技术方案。
在企业网络中,部署了匿名通信软件的网络设备和部署了匿名通信客户端的主机,协同工作,构成完整的匿名通信系统。
1.3 论文章节安排
本文分为七章:第一章是引言,主要介绍了本课题的选题背景、选题意义,并详细描述了课题的任务和要求。第二章是相关技术介绍,首先介绍了 Windows 网络驱动架构和 Windows TCP/IP 协议栈实现,其次分别重点介绍了 WFP 和 NDIS 技术,最后分析了 Windows 主流的流量嗅探工具的实现原理。第三章是系统需求分析,主要分析了 Windows 匿名通信客户端的四大需求,包括匿名通信需求、反流量嗅探需求、非功能性需求和性能需求。第四章是系统总体设计,首先结合了相关技术和需求分析进行技术选型,然后针对初步选择的技术方向设计系统架构。第五章是系统详细设计,主要针对系统总体设计中提到的三个核心部分进行详细设计与实现,包括匿名通信驱动程序设计与实现、打开网卡混杂模式工具设计与实现和客户端安装/卸载工具设计与实现。第六章是系统测试,首先描述了系统测试的方法和测试环境,再分别描述系统的功能测试和性能测试。第七章是结束语,首先总结了针对本课题开展的相关工作,其次提出现阶段仍然存在的问题,最后针对这些问题提出进一步完善的方案。