诱骗IoT恶意软件跟踪CC服务器

工作背景

在分析 IoT 僵尸网络时,识别C&C 服务器至关重要。C&C 服务器的 IP 地址一直都是商业威胁情报的重要组成部分,由于 C&C 服务器通信协议日渐复杂并且活跃周期较短,时效性和准确性也非常重要。如果可以自动化识别 IoT 恶意软件使用的 C&C 服务器,能够提供极有价值的威胁情报。

工作设计

首先在沙盒中执行 IoT 恶意软件触发C&C请求,紧接着 Profiler在所有流量中剥离出 C&C 流量,再通过 MitM 将流量重定向至给定的 IP:端口 空间范围,最后通过分析通信确定目标是否为 C&C 服务器。

激活 C&C 流量

要按照样本文件的架构使用对应架构的环境,使用 QEMU 和 RiotMan 来模拟所需环境。

C&C 流量剥离

算法如下所示。首先过滤掉不相关的协议(ICMP、DHCP、ARP、NTP等),接着计算与对端的连接次数/请求解析次数大不大。针对域名要过滤掉信誉高的域名,针对IP:端口计算连接频率与对端端口号出现的IP 地址数。

重定向探测

通过中间人模块来重定向流量,出于伦理考量需要做映射和限制。

确定C&C 服务器

在传输层使用两种方式:

(1)SYN-DATA 感知。在 SYN 设置低于阈值且存在数据交换时,即可认为是 C&C 服务器。即便握手也不代表在应用层面连接成功,但失败后一直重试也可能是C&C 服务器。

(2)指纹识别。将网络流建模成对话的模式:确定流的开始与结束,保证流符合 TCP 标准规范,再提取数据包属性。算法如下所示,属性可以是数据包大小、字节熵值或者 Payload 中的字符串等。通过这种方式,可以将每个流都转换成字符串。转换成字符串后,比较字符串间的相似度(最长公共序列,LCS)再进行聚类(K-Means)。

第一个流中,完成握手后客户端发送 11 字节数据,随后服务器回复 4 字节数据,客户端响应 1 字节数据结束。第二个流中,完成握手后客户端发送 2 字节数据,随后服务器回复 13 字节数据,紧接着服务器与客户端互相确认 FIN 流结束。

工作准备

C2Miner 使用 Python 和 Shell 编写,总计约 3500 行代码。

除了向 C&C 服务器发送的流量之外,全部都被过滤掉了。

从 MalwareBazaar 与 VirusTotal 中收集 1447 个 MIPS 架构的样本,平均每天可收集到四个新样本。

分析期间,样本向 15 万个“IP:端口”组合发出了 300 万次请求。一共有 202 个样本文件与 C&C 服务器建立了连接,生成了 230MB 流量(其中,C&C 流量只占 0.06%)。

这些样本覆盖了 11 个恶意软件家族,但 MIPS 样本的杀软标签很不准确。

工作评估

对比之下,最为稳定的就是指纹识别的方法。

聚类也可以很好地表征恶意软件家族的行为,但并不完美。大多数 Mirai 的样本模式为CLIENT_4.CLIENT_1.CLIENT_2.SERVER_2,大多数 Gafgyt 的样本模式为SERVER_4.SERVER_1.SERVER_4.SERVER_1,这二者就覆盖率 68% 的 C&C 通信。

该方法对 84% 的样本文件都有效。

工作思考

根据既定模式在大网展开探测,C2Miner 发现了好几个活跃的 C&C 服务器。

尽管每天识别出一个活跃 C&C 服务器,但受制于各方条件限制已经相当好了。

即使是正确的 C&C 服务器,也未必一定会正确响应。

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

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

相关文章

力扣100题——128题

题目 ************************************************ 解&#xff08;哈希&#xff09; VS完整代码 #include<iostream> #include<vector> #include<unordered_set> #include<utility> #include<algorithm> using namespace std; int n, nu…

二叉树(2)

目录 2.5 二叉树的存储结构 3.二叉树的顺序结构及实现 3.1二叉树的顺序结构 3.2堆的概念以及结构 3.3堆的实现 3.4堆的代码实现 3.5堆的应用 书接上回&#xff0c;我们继续学习二叉树的知识 2.5 二叉树的存储结构 二叉树一般可以使用两种数据结构&#xff0c;一种顺序…

AI绘画模型之:UNet、Imagen 与 DeepFloyd IF

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

2024西安铁一中集训DAY27 ---- 模拟赛((bfs,dp) + 整体二分 + 线段树合并 + (扫描线 + 线段树))

文章目录 前言时间安排及成绩题解A. 倒水&#xff08;bfs dp&#xff09;B. 让他们连通&#xff08;整体二分 按秩合并并查集 / kruskal重构树&#xff09;C. 通信网络&#xff08;线段树合并 二分&#xff09;D. 3SUM&#xff08;扫描线 线段树&#xff09; 前言 T1没做出…

基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(四)|| 同步 / 互斥 / 通信方法简介

本文概念部分粘贴自韦东山老师同步与互斥。 韦东山老师《FreeRTOS入门与工程实践(基于DshanMCU-103)》书籍获取 同步&互斥概念 一句话理解同步与互斥&#xff1a;我等你用完厕所&#xff0c;我再用厕所。 什么叫同步&#xff1f;就是&#xff1a;哎哎哎&#xff0c;我正在…

Linux中进程通信之信号

信号 信号通信&#xff0c;其实就是内核向用户空间进程发送信号&#xff0c;只有内核才能发信号&#xff0c;用户空间进程不能发送信号。 关于信号指令的查看&#xff1a;kill -l 例如我们之前使用的kill -9 pid用于杀死一个进程 使用一个死循环 成功发送kill -9指令&#x…

键盘输入数据的过程

当我们在键盘中按下按键的时候&#xff0c;键盘会向我们的 CPU 发送硬件中断&#xff08;也就是给 CPU 特定的针脚发送信号&#xff09;&#xff0c;该硬件中断有着自己的中断号&#xff0c;然后 CPU 内的寄存器就会记录下该中断号&#xff0c;然后会在操作系统中的中断向量表&…

DNTRo

文章目录 AbstractMethodExperimentConclusioninnovation link code Abstract 本文旨在解决计算机视觉领域中微小物体检测的问题。由于图像数据中微小物体所占像素比例很小&#xff0c;因此精确地检测这些物体仍然是一个巨大的挑战。特别是在地理科学和遥感领域&#xff0c;高…

18现代循环神经网络—seq2seq与束搜索

1.序列到序列学习(seq2seq) 上图展示的是 DNA 转录,它也是一种序列到序列的学习机器翻译 seq2seq 最早是用来做机器翻译的,给定一个源句子,自动翻译成目标语言给定一个源语言的句子,自动翻译成目标语言机器翻译中的输入序列和输出序列都是长度可变的seq2seq seq2seq 指的…

AI+生命科学方向第一课【Datawhale AI夏令营】

[我是大佬的搬运工] 01 赛题背景解析 http://competition.sais.com.cn/competitionDetail/532230/format 翻译一下&#xff1a; mRNA&#xff1a;疾病基因 siRNA&#xff1a;药物基因 RNAi&#xff1a;药物基因作用于疾病基因的机制 我们要完成的任务&#xff1a;预测某类…

力扣高频SQL 50题(基础版)第二十六题

文章目录 力扣高频SQL 50题&#xff08;基础版&#xff09;第二十六题1667.修复表中的名字题目说明实现过程准备数据实现方式结果截图总结 力扣高频SQL 50题&#xff08;基础版&#xff09;第二十六题 1667.修复表中的名字 题目说明 表&#xff1a; Users ----------------…

货拉拉论文入选亚太消费者研究会议及亚太营销国际学术会议

近日,亚太消费者研究会议(AP-ACR)召开。本次会议上,货拉拉和香港中文大学合作就论文《Why Showing Multiple Options Simultaneously Makes Customers Less Picky》(《为什么同步显示多个选项会使消费者变得更不挑剔》)进行主题报告。此前,本篇论文也曾在第二届亚太营销国际学术…

【Docomo】优质 4G

https://www.docomo.ne.jp/area/premium_4g/?icidCRP_AREA_technology_to_CRP_AREA_premium_4g 优质 4G 移动通信速度超过千兆字节LTE加速的主要基础技术256QAM44 MIMO&#xff08;麦莫&#xff09; 移动通信速度超过千兆字节 从 2020 年 3 月起将提供高达 1.7Gbps 的接收速度…

IoTDB 入门教程 实战篇⑤——Python示例(开源)

文章目录 一、前文二、新建Python项目三、安装依赖四、示例源码五、参考 一、前文 IoTDB入门教程——导读 本文详细阐述了如何通过一个Python项目成功连接到IoTDB时序数据库&#xff0c;进而展示了如何向该数据库高效地写入数据以及执行精确的数据查询操作。 此示例旨在为读者提…

云计算实训16——关于web,http协议,https协议,apache,nginx的学习与认知

一、web基本概念和常识 1.Web Web 服务是动态的、可交互的、跨平台的和图形化的为⽤户提供的⼀种在互联⽹上浏览信息的服务。 2.web服务器&#xff08;web server&#xff09; 也称HTTP服务器&#xff08;HTTP server&#xff09;&#xff0c;主要有 Nginx、Apache、Tomcat 等。…

程序员学长 | 快速学会一个算法,ANN

本文来源公众号“程序员学长”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;快速学会一个算法&#xff0c;ANN 今天给大家分享一个强大的算法模型&#xff0c;ANN。 人工神经网络 (ANN) 是一种深度学习方法&#xff0c;源自人类…

5种IO模型简述

文章目录 前言什么是IO模型&#xff1f;阻塞IO非阻塞IO多路复用IO信号驱动IO异步IO 结语 前言 最近学netty&#xff0c;当然无法避免IO模型这部分知识。 我尽量用最简洁的语言来讲清楚这个东西。 什么是IO模型&#xff1f; 既然最近学netty&#xff0c;就拿它来举例子。 比如…

计算机网络必会面经

1.键入网址到网页显示&#xff0c;期间发生了什么 2.在TCP/IP网络模型中。TCP将数据进行分段后&#xff0c;为什么还需要IP层继续分片 3.详细说明tcp三次握手&#xff0c;为什么是三次&#xff0c;若每次握手丢了&#xff0c;解决办法是什么 4.详细说明tcp四次挥手&#xff…

【JS|第22期】深入理解跨域

日期&#xff1a;2024年7月6日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xff…

esp-idf-v5.1.1所有官方例程讲解(esp32、esp32-C2、esp32-S3)之 a2dp_sink 详解

目录 1. 获取ESP-IDF和示例代码 2. 导航到示例代码 3. 示例代码结构 4. 关键文件解析 main.c 初始化和配置: bt_app_core.c 和 bt_app_core.h bt_app_av.c 和 bt_app_av.h A2DP事件处理: AVRCP事件处理: bt_app_sink.c 和 bt_app_sink.h 5. 编译和烧录 6. 测试…