当前位置: 首页 > news >正文

[论文精读]TorWard: Discovery, Blocking, and Traceback of Malicious Traffic Over Tor

期刊名称:IEEE Transactions on Information Forensics and Security

发布链接:TorWard: Discovery, Blocking, and Traceback of Malicious Traffic Over Tor | IEEE Journals & Magazine | IEEE Xplore

中文译名:TorWard:发现,阻止和追踪 Tor 上的恶意流量

 阅读原因:计网、网安、方班

论文主要探讨了在Tor网络上发现、阻止和追踪恶意流量的方法和技术。下面是内容分析:

1.前置知识:

 网络基础知识

  • TCP/IP协议栈:了解传输控制协议(TCP)和互联网协议(IP)的基本工作原理。
  • 路由器和网关:理解网络中路由器和网关的作用及其在数据包转发过程中的角色。
  • NAT(网络地址转换):掌握NAT的基本原理及其在网络中的应用。

网络安全与隐私保护

  • 匿名通信系统:了解匿名通信系统的基本原理,如Tor、I2P等。
  • 加密技术:熟悉对称加密和非对称加密技术,以及其在保护数据隐私中的应用。
  • 入侵检测系统(IDS):了解IDS的基本概念及其在网络安全防护中的作用。

Tor网络的工作原理

  • 洋葱路由(Onion Routing):掌握Tor网络的核心原理,即通过多层加密和多节点跳转实现用户匿名。
  • Tor组件:了解Tor客户端、Tor路由器、目录服务器和应用服务器的功能和作用。
  • Tor控制协议:理解Tor控制协议如何用于配置和管理Tor网络中的节点。

恶意流量分析与追踪

  • 僵尸网络:了解僵尸网络的结构和工作机制,特别是命令和控制服务器的作用。
  • 垃圾邮件和拒绝服务攻击(DoS):理解这些常见网络攻击的原理和方法。
  • 双音多频信令(DTMF):掌握DTMF信号的基本概念及其在通信中的应用。

2. 研究背景和问题:

背景

 Tor 网络的基本体系结构:

它由四个组件组成:Tor 客户端、Tor  路由器、目录服务器和应用服务器。一般来说,Tor 客户端安装 Tor 代理(OP),  它是 Tor 网络和客户端之间的接口。Tor 路由器(OR)构成核心 Tor 网络,并在 Tor  客户端和应用服务器之间中继流量。目录服务器保存所有公共 Tor 路由器的信息。应用服务器承载 TCP 应用服务,例如 web。Tor 还提供了隐藏服务来隐藏服务器的位置。

 常见的集中式僵尸网络 C&C 的架构

由三个组件组成:

(i) Bot master,它依赖 C&C 通道向其机器人发出命令,并通过 C&C 服务器从受感染的主机接收信息;
(ii) C&C 服务器,它代表 botmaster 将命令中继给机器人,从机器人收集信息或将结果转发给 botmaster;
(iii) Bot,它们是带有机器人软件的受感染计算机,并从 C&C 服务器接收控制命令以实际实施攻击。

问题

 1. Tor网络的滥用问题

  • 恶意活动:Tor网络被广泛用于匿名通信,但也被滥用于非法活动,如僵尸网络、垃圾邮件发送、拒绝服务攻击和恶意软件传播。
  • 法律和行政投诉:Tor出口路由器管理员经常面临法律和行政投诉,这使得在敏感环境中监控和分析恶意流量变得复杂。

2. 系统性研究的不足

  • 现有解决方案的局限性:目前对Tor上恶意流量的系统性研究依然不足,特别是在安全分析和流量追踪方面的有效解决方案尚未完善。
  • 手动配置的困难:Tor上恶意流量的多样性和复杂性导致了难以手动配置路由器的策略来阻止潜在的恶意流量。

3. 敏感环境中的监控与分析

  • 避免法律问题:如何在不触发法律和行政投诉的情况下,在敏感环境中(如大学校园网络)监控和分析恶意流量。
  • 动态管理工具:通过开发自动管理工具来动态添加和删除防火墙规则,实现有效的流量控制和管理。

4. 恶意流量的发现与阻断

  • IDS的应用:通过部署入侵检测系统(IDS)来检查Tor出口路由器上的流量,并利用自动管理工具动态地中断恶意流量。
  • 透明代理与重定向:将出口路由器的出站Tor流量重定向到透明代理,形成一个两跳电路,再将流量传递到Tor网络中,以吸引更多的Tor客户端选择该路由器。

5. 恶意流量的追踪

  • 双音多频信令(DTMF)方法:使用基于DTMF的方法来追踪僵尸网络流量,评估检测率和误报率,验证了该方法在嵌入信号情况下的有效性。
  • 实验验证:通过广泛的理论分析和实际实验相结合,验证了TorWard系统的有效性和可行性。

6. 本文贡献

设计并实现了TorWard,他在Tor出口路由上集成了一个入侵检测系统IDS,用于Tor恶意流量的发现、分类和相应。本文的TorWard可以发现和分类Tor中的恶意流量,还可以阻止和跟踪恶意流量

3. 技术框架:

 

  • Tor的组成: Tor由四个组件组成:Tor客户端、Tor路由器、目录服务器和应用服务器。
  • 系统架构: 本文设计了一个包含防火墙、入侵检测系统(IDS)、透明代理和Tor出口路由器的技术框架。通过一台带有两个网络接口的计算机作为连接到校园专用网络的网关,另一台计算机作为Tor出口路由器连接到网关。
  • 端口转发和自动管理工具: 使用防火墙实现出口路由器与公网之间的端口转发,并开发了自动管理工具来动态添加和删除防火墙规则。
  • 透明代理和流量重定向: 将出口路由器的出站Tor流量重定向到透明代理,并将出口路由器设置为接受所有流量,提供高带宽以吸引更多的Tor客户端选择该路由器。透明代理在网关上运行,接收并重定向出站Tor流量,形成一个两跳电路,再将流量传递到Tor网络中。

 

4. 实验设计与结果分析:

  • 实验验证: 通过实验和实际数据分析验证了TorWard系统的有效性。
  • 流量统计: 使用一个或多个Tor出口路由器可以获得可靠的Tor流量统计数据。
  • 恶意流量分析: 通过分析不同类型的恶意流量,揭示了僵尸网络主机和命令控制服务器利用Tor隐藏其通信的可能性。
  • 双音多频信令(DTMF)方法: 为追踪僵尸网络流量,研究使用了基于DTMF的方法,评估了检测率和误报率。实验表明,在嵌入信号的情况下,可以成功提取特征频率追踪恶意流量,误报率较低,验证了该追溯方法的有效性。

5. 结论与展望:

  • TorWard系统的贡献: TorWard系统用于发现、分类和响应Tor恶意流量,特别是通过IDS检查Tor出口路由器上的流量,并通过将流量重定向到Tor来避免管理和法律问题。
  • 动态中断恶意流量: 为了阻止出口路由器上的恶意流量,部署了IDS来将警报转发给TorWard的哨兵代理,该代理可以通过Tor控制协议动态地中断恶意流量。
  • DTMF信令方法的应用: 设计了一种有效的双音多频(DTMF)基于信令的方法来跟踪跨Tor的恶意流量。作为一个具有重要实际意义的例子,成功地通过Tor跟踪了僵尸网络流量。
  • 理论与实验的结合: 通过广泛的理论分析和实际实验相结合,验证了TorWard的有效性和可行性。

相关文章:

[论文精读]TorWard: Discovery, Blocking, and Traceback of Malicious Traffic Over Tor

期刊名称:IEEE Transactions on Information Forensics and Security 发布链接:TorWard: Discovery, Blocking, and Traceback of Malicious Traffic Over Tor | IEEE Journals & Magazine | IEEE Xplore 中文译名:TorWard:…...

pytest - 多线程提速

import timedef test1_test1():time.sleep(1)assert 1 1, "11"def test1_test2():time.sleep(1)assert 1 1, "11" 上面2个函数,执行情况: 正常执行时,花费 2.08s2个进程执行时,花费 1.18s2个线程执行时&a…...

python中logging的用法

logging.error 是 Python logging 模块中的一个方法,专门用于记录错误级别(ERROR)的日志信息。logging 模块是 Python 提供的标准日志工具,用于生成各种级别的日志消息,并支持日志的格式化和存储。 logging.error 的基…...

【YOLO目标检测车牌数据集】共10000张、已标注txt格式、有训练好的yolov5的模型

目录 说明图片示例 说明 数据集格式:YOLO格式 图片数量:10000(2000张绿牌、8000张蓝牌) 标注数量(txt文件个数):10000 标注类别数:1 标注类别名称:licence 数据集下载:车牌数据…...

gdb xterm 调试 openmpi 程序

1&#xff0c;编写编译一个openmpi程序 迭代计算 PI 的源程序&#xff1a; pi_reduce.c #include <stdio.h>#include <math.h> #include <mpi.h>double f(double); double f(double x) {return (4.0/(1.0x*x)); }int main(int argc, char* argv[]) {int d…...

【STM32】江科大STM32笔记汇总(已完结)

STM32江科大笔记汇总 STM32学习笔记课程简介(01)STM32简介(02)软件安装(03)新建工程(04)GPIO输出(05)LED闪烁& LED流水灯& 蜂鸣器(06)GPIO输入(07)按键控制LED 光敏传感器控制蜂鸣器(08)OLED调试工具(09)OLED显示屏(10)EXTI外部中断(11)对射式红外传感器计次 旋转编码器…...

Java基础扫盲(二)

想看Java基础扫盲&#xff08;一&#xff09;的可以观看我的上篇文章Java基础扫盲 目录 String为什么设计为不可变的 String有长度限制吗 为什么JDK9将String的char[]改为byte[] 泛型中K,T,V,E,Object,?等都代表什么含义 怎么修改一个类中使用了private修饰的String类型…...

兼容React的刮刮乐完整代码实现

需要兼容React的刮刮乐完整代码实现 在现代Web开发中&#xff0c;React作为一种流行的前端框架&#xff0c;为开发者提供了构建动态界面的强大工具。刮刮乐效果作为一种趣味性的用户交互&#xff0c;能够显著提升用户体验和参与度。本文将详细介绍如何在React项目中实现一个兼…...

PHP程序如何实现限制一台电脑登录?

PHP程序如何实现限制一台电脑登录&#xff1f; 可以使用以下几种方法&#xff1a; 1. IP地址限制&#xff1a;在PHP中&#xff0c;可以通过获取客户端的IP地址&#xff0c;然后与允许登录的IP地址列表进行比对。如果客户端的IP地址不在列表中&#xff0c;就禁止登录。 “php $…...

nodejs fs 模块的简介与相关案例

fs 文件系统模块 什么是 fs 文件系统模块&#xff1f; fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性&#xff0c;用来满足用户对文件的操作要求。* 例如&#xff1a; fs.readFile() 方法用来读取文件内容。fs.writeFile() 方法用来写入文…...

计算机毕业设计 基于Flask+Vue的博客系统 Python毕业设计 前后端分离 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

基于SSH的酒店管理系统的设计与实现 (含源码+sql+视频导入教程)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSH的酒店管理系统拥有两种角色 管理员&#xff1a;房间管理、房型管理、客户管理、预定管理、入住管理&#xff08;到店入住、预定入住、正在入住&#xff09;、账单管理、会员管理…...

消息队列10:为RabbitMq添加连接池

环境&#xff1a; win11rabbitmq-3.8.17.net 6.0RabbitMQ.Client 6.8.1vs2022 安装RabbitMq环境参照&#xff1a; window下安装rabbitmqlinux下安装rabbitmq 问题&#xff1a;rabbitmq的c#客户端没有自带连接池&#xff0c;所以需要手动实现。 简易实现如下&#xff1a; usi…...

在使用 Docker 时,用户可能会遇到各种常见的错误和问题

在使用 Docker 时&#xff0c;用户可能会遇到各种常见的错误和问题。以下是一些需要注意的常见错误及其可能的解决方案&#xff1a; 1. 权限问题 在 Linux 系统上运行 Docker 命令时&#xff0c;可能会遇到权限不足的问题。解决这个问题通常有两种方法&#xff1a; 使用 sud…...

MinIO使用客户端进行桶和对象的管理

MinIO使用客户端进行桶和对象的管理 minio安装完成后&#xff0c;除了自带的webui管理界面&#xff0c;还可以使用官方配套的客户端mc进行管理。除此之外&#xff0c;还可以使用第三方客户端s3browser也可以完成对象和桶的生命周期管理。 1. 官方客户端mc MinIO客户端 mc 命…...

数据库管理-第244期 一次无法switchover的故障处理(20240928)

数据库管理244期 2024-09-28 数据库管理-第244期 一次无法switchover的故障处理&#xff08;20240928&#xff09;1 问题展现2 问题排查与处理2.1 问题12.2 问题2 3 问题分析4 总结 数据库管理-第244期 一次无法switchover的故障处理&#xff08;20240928&#xff09; 作者&…...

太绝了死磕这本大模型神书!

今天给大家推荐一本大模型神书&#xff0c;就是这本&#xff1a;《大语言模型&#xff1a;基础与前沿》 书籍介绍&#xff1a; 本书深入阐述了大语言模型的基本概念和算法、研究前沿以及应用&#xff0c;涵盖大语言模型的广泛主题&#xff0c;从基础到前沿&#xff0c;从方法…...

Kevin‘s notes about Qt---Episode 6 不同类中创建同一对象

问题描述 使用场景 现在在我的Qt界面中需要同时使用采集卡的AI(Analog Input)和AO(Analog Output)功能,均已分别调通,但是像之前一样通过创建两个类,然后分别在两个线程中进行操作的方式并不能实现。 原本写法 头文件 art_ao.h 核心代码如下: #ifndef ART_AO_H #defi…...

YOLOv9改进策略【Conv和Transformer】| AssemFormer 结合卷积与 Transformer 优势,弥补传统方法不足

一、本文介绍 本文记录的是利用AssemFormer优化YOLOv9的目标检测网络模型。传统卷积和池化操作会导致信息丢失和压缩缺陷,且传统的注意力机制通常产生固定维度的注意力图,忽略了背景中的丰富上下文信息。本文的利用AssemFormer改进YOLOv9,以在特征传递和融合过程中增加多尺…...

Git 的安装和配置

Git 是跨平台的&#xff0c;可以在 Windows&#xff0c;Linux、Unix 和 Mac 各几大平台上使用 由于笔者主要是使用 Windows&#xff0c;其他平台下安装 Git 的方法暂且不表&#xff08;可参考廖雪峰老师的博客&#xff1a;安装 Git&#xff09; ‍ Windows 安装 Git 从 Git…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...