当前位置: 首页 > 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…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...