具有动态种子的 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

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

Java导出Excel动态表头的示例详解

《Java导出Excel动态表头的示例详解》这篇文章主要为大家详细介绍了Java导出Excel动态表头的相关知识,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录前言一、效果展示二、代码实现1.固定头实体类2.动态头实现3.导出动态头前言本文只记录大致思路以及做法,代码不进

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

使用zabbix进行监控网络设备流量

《使用zabbix进行监控网络设备流量》这篇文章主要为大家详细介绍了如何使用zabbix进行监控网络设备流量,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装zabbix配置ENSP环境配置zabbix实行监控交换机测试一台liunx服务器,这里使用的为Ubuntu22.04(

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

如何用Python绘制简易动态圣诞树

《如何用Python绘制简易动态圣诞树》这篇文章主要给大家介绍了关于如何用Python绘制简易动态圣诞树,文中讲解了如何通过编写代码来实现特定的效果,包括代码的编写技巧和效果的展示,需要的朋友可以参考... 目录代码:效果:总结 代码:import randomimport timefrom math

Java中JSON字符串反序列化(动态泛型)

《Java中JSON字符串反序列化(动态泛型)》文章讨论了在定时任务中使用反射调用目标对象时处理动态参数的问题,通过将方法参数存储为JSON字符串并进行反序列化,可以实现动态调用,然而,这种方式容易导... 需求:定时任务扫描,反射调用目标对象,但是,方法的传参不是固定的。方案一:将方法参数存成jsON字