具有动态种子的 DGA 系列:DNS 流量中的意外行为

2024-08-24 23:12

本文主要是介绍具有动态种子的 DGA 系列:DNS 流量中的意外行为,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

在这篇博文中,我们将简要概述 DGA,然后分享一些有趣的发现。

Akamai 安全情报小组能够分析来自CacheServe DNS 服务器的 DNS 查询的匿名日志。作为我们僵尸网络检测工作的一部分,我们观察和监控了 100 多个已知 DGA 家族的实际行为。

我们发现,动态种子 DGA(DGA 的一个子集)的行为通常与逆向工程 DGA 算法本身所暗示的行为截然不同。更准确地说,我们看到 DGA 域名在预期生成日期之前被激活。

什么是域生成算法?

恶意软件(例如僵尸网络)通常需要与集中式服务器通信以接收命令或更新。

DGA是恶意软件用来生成大量半随机域名的算法。

受感染的设备会定期尝试连接到 DGA 提供的整个算法生成的域集。只需成功访问一个域即可与 C2 服务器建立连接。这使得网络安全研究人员更难切断 C2 通信。

工作原理

例如,想象一个僵尸网络使用假设的 DGA 家族或变体,每天生成 500 个恶意域名。

使用此 DGA 系列的受感染设备每天都会查询这 500 个域名。僵尸网络的 C2 服务器每天都会生成相同的 500 个域名(我们假设使用的是相同的种子 — 稍后会详细介绍)。但是,恶意行为者只需控制这 500 个域名中的 1 个即可与受感染的机器(机器人)建立通信。

有时种子会发生变化,从而生成一组新的域名,然后重新开始这个过程。这使得安全研究人员很难阻止恶意流量,因为域名经常变化,而且通常是随机的域名,例如“ghlidae[.]com”。

顶级域名 (TLD) 是硬编码的,并且大多限于那些获取成本低廉的 TLD。

目前存在许多不同的 DGA。一旦安全社区发现一种新算法(有时设法对其进行逆向工程),通常会为其赋予一个“家族名称”。一些最著名的 DGA 家族包括 Conficker、Mirai和 CryptoLocker。

DGA 的历史

僵尸网络、犯罪软件和

这篇关于具有动态种子的 DGA 系列:DNS 流量中的意外行为的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL

SpringBoot实现Kafka动态反序列化的完整代码

《SpringBoot实现Kafka动态反序列化的完整代码》在分布式系统中,Kafka作为高吞吐量的消息队列,常常需要处理来自不同主题(Topic)的异构数据,不同的业务场景可能要求对同一消费者组内的... 目录引言一、问题背景1.1 动态反序列化的需求1.2 常见问题二、动态反序列化的核心方案2.1 ht

golang实现动态路由的项目实践

《golang实现动态路由的项目实践》本文主要介绍了golang实现动态路由项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习... 目录一、动态路由1.结构体(数据库的定义)2.预加载preload3.添加关联的方法一、动态路由1

Spring Boot 事务详解(事务传播行为、事务属性)

《SpringBoot事务详解(事务传播行为、事务属性)》SpringBoot提供了强大的事务管理功能,通过@Transactional注解可以方便地配置事务的传播行为和属性,本文将详细介绍Spr... 目录Spring Boot 事务详解引言声明式事务管理示例编程式事务管理示例事务传播行为1. REQUI

Python Selenium动态渲染页面和抓取的使用指南

《PythonSelenium动态渲染页面和抓取的使用指南》在Web数据采集领域,动态渲染页面已成为现代网站的主流形式,本文将从技术原理,环境配置,核心功能系统讲解Selenium在Python动态... 目录一、Selenium技术架构解析二、环境搭建与基础配置1. 组件安装2. 驱动配置3. 基础操作模

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++