匿名通信 Windows 客户端的设计与实现

news2024/11/22 5:27:51

访问【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 匿名通信客户端的四大需求,包括匿名通信需求、反流量嗅探需求、非功能性需求和性能需求。第四章是系统总体设计,首先结合了相关技术和需求分析进行技术选型,然后针对初步选择的技术方向设计系统架构。第五章是系统详细设计,主要针对系统总体设计中提到的三个核心部分进行详细设计与实现,包括匿名通信驱动程序设计与实现、打开网卡混杂模式工具设计与实现和客户端安装/卸载工具设计与实现。第六章是系统测试,首先描述了系统测试的方法和测试环境,再分别描述系统的功能测试和性能测试。第七章是结束语,首先总结了针对本课题开展的相关工作,其次提出现阶段仍然存在的问题,最后针对这些问题提出进一步完善的方案。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/550341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP 三次握手与四次挥手

1 三次握手 三次握手的过程如下图: 一开始,客户端和服务端都处于 CLOSE 状态。先是服务端主动监听某个端口,处于 LISTEN 状态 客户端会随机初始化序号(client_isn),将此序号置于 TCP 首部的「序号」字段中…

如何在 iPhone 上恢复已删除的应用程序数据

您是不小心删除了重要应用程序并且似乎无法在您的设备上找到它的 iPhone 用户吗?别担心,你并不孤单。在 iPhone 上丢失应用程序可能会令人沮丧,但幸运的是,有一些方法可以恢复它们。在本文中,我们将通过分步说明向您展…

你真的懂Java中的Cloneable接口和深拷贝么?

Cloneable接口 和 深拷贝 💐文章导读 这篇文章就为大家讲讲什么是Cloneable接口,接口的用法以及什么是深拷贝和浅拷贝,如果有不足的地方,还望读者在评论区提出!!! 上篇文章讲过用Comparable接口…

单模光纤的特征方程以及MATLAB求解

在之前的文章中,我们写出了单模光纤的特征方程以及对应的导波模式 这里我们在MATLAB中求解特征方程并表示出几个归一化参数的变化曲线 用到的公式是单模光纤导波模式的特征方程: clear close all tic Vmax 10; N 100;for j 1:NV(j) j/N*Vmax;Vtemp …

电脑微信占用100多GB空间 解决办法来了:重回清爽流畅

这几天微信吃内存的话题又上热搜了,作为一款10亿用户的国民级APP,微信的真是让人又爱又恨,不用几乎不可能,用起来槽点又多,光是磁盘占用就是个头疼的问题。 不论是工作还是日常沟通,微信里面的文件及语音、…

python中的类型转换

文章目录 类型转换简介int()float()str()bool() 类型转换简介 所谓的类型转换,将一个类型的对象转换为其他对象。 类型转换不是改变对象本身的类型,而是将对象的值转换为新的对象。 类型转换四个函数 int() 、 float() 、 str() 、 bool() int() int()…

cpp11实现线程池(一)——项目介绍

项目介绍 线程池是库的形式提供给用户,是必须放到代码中,不能单独运行,亦称为基础组件 第一版线程池任务对象使用继承技术,提供一个抽象基类Task,里面有一个纯虚函数run(),使用时继承该类,并重…

第二篇:强化学习中的7个基础概念

你好,我是zhenguo(郭震) 这是强化学习第二篇:强化学习7个基础概念 在强化学习中,智能体需要在不断尝试和错误的过程中学习,通过观察环境的反馈(奖励或惩罚)来调整自己的行为&#xf…

windows系统安装curl

下载安装包 https://curl.se/windows/ 2.如图所示,把下载的zip包解压到C盘某个目录下 把bin目录配置到系统环境变量Path里 在命令行里直接输入curl即可开始使用 5.curl测试访问百度 6.curl 测试ip端口连通性 用法:curl -v ip:port

推荐一款C端的低代码产品

目录 写在前面 低代码平台 平台怎么选 各平台区别 为什么选它 写在前面 大家都知道低代码这个叫法是从B端叫起来的,也就是说不管是业务人员还是开发人员,都是企业内部使用。那么有没有C端的,且免费使用的低代码产品呢? 低代码…

Matlab论文插图绘制模板第93期—带类别标签的散点图

在之前的文章中,分享了很多Matlab散点图的绘制模板: 进一步,再来分享一种特殊的散点图:带类别标签的散点图。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请…

数据库基础5-复合查询

文章目录 多表查询自连接子查询合并查询 基础查询中,再补充一个点: 在使用年薪进行降序排序中,我们有以下语句 //A: select ename, sal*12ifnull(comm,0) as 年薪 from emp order by 年薪 desc;查询到的结果: //B: select ename,…

Leetcode 剑指 Offer II 027. 回文链表

题目难度: 简单 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个链表的 头节点 head ,请判断其是否为回文链表…

ROS 开发环境搭建(虚拟机版本)(一)

相关工具,以及镜像(以后有用) 链接:https://pan.baidu.com/s/1xgtp-XGFFNCACV_-0TJO2A 提取码:ar1w 1. 下载vm虚拟机(我选择的官方最新的vm虚拟机),安装好 2.安装百度网盘里面的…

办公智慧化风起云涌,华为MateBook X Pro 2023是最短距离

今年以来,我们几乎每个月,甚至每星期都可以看到大模型应用,在办公场景下推陈出新。 办公智慧化已成必然,大量智力工作正在被自动化。一个普遍共识是:AI能力范围之内的职业岌岌可危,AI 能力范围之外的职业欣…

【TES710D】基于复旦微的FMQL10S400全国产化ARM核心模块

板卡概述 TES710D是一款基于上海复旦微电子FMQL10S400的全国产化核心模块。该核心模块将复旦微的FMQL10S400(兼容FMQL20S400)的最小系统集成在了一个50*70mm的核心板上,可以作为一个核心模块,进行功能性扩展,特别是用…

第二章、认识用户体验五要素(本文作用是通俗讲解,让你更容易理解)

1.用户体验要素分五个层面,分别是战略层、范围层、结构层、框架层、表现层。 战略层:指的是产品所要解决的社会问题,和公司在这个产品上的收益目标。也就是大家所说的产品战略。 范围层:指的是我们要做的业务范围,我…

零基础学Java——基础part01

java基础第一篇 今日任务: 1、什么是软件开发 2、人机交互 3、常用的dos命令(了解) 4、什么是计算机语言 5、Java三种技术架构(了解) 6、Java语言特性(跨平台原理) (了解) 7、Java开发环境搭…

模拟运行600万年 数据0损坏!Solidigm把QLC闪存玩到了极致

不可否认的是,SLC、MLC、TLC、QLC、PLC、HLC……闪存技术一路走下来,整体的可靠性、寿命指标是逐步走低的,这也是NAND闪存架构天然属性所决定的。 当然,这不代表QLC、PLC闪存的就难堪大用,关键是看如何设计与优化&…