DGA域名检测相关技术            

      域名生成算法(Domain Generation Algorithm):是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段。

很显然,在这种方式下,传统基于黑名单的防护手段无法起作用,一方面,黑名单的更新速度远远赶不上DGA域名的生成速度,另一方面,防御者必须阻断所有的DGA域名才能阻断C2通信,因此,DGA域名的使用使得攻击容易,防守困难。

 

DGA域名分类

 

种子分类

 

1)基于事件的种子(time dependence)   DGA算法会将使用时间信息作为输入,如:感染主机的系统时间,http响应的时间等。

2)是否有确定性(Determinism)        主流的DGA算法输入是确定的,因此DGA可以被提前计算,也有一些DGA的算法的输入是不确定的。

 

算法分类

 

现在DGA生成算法一般分为以下4类

 

(1)基于算数   改类算法会生成一组可用ASCII编码表示的值

(2)基于哈希   用哈希值16进制表示产生DGA域名,常用的哈希算法有md5 sha256

(3)基于词典   改方式会从专有词典中挑选单词进行组合,减少域名字符上的随机性,迷惑性强,字典内嵌在恶意程序中或者从公有服务中提取

  (4) 基于排列组合  对一个初始域名进行字符上的排列组合。

 

DGA域名存活时间

 

DGA域名的存活时间一般较短,大部分域名存活时间为1-7天

 

检测方法

 

朴素贝叶斯                  NB

长短期记忆网络         LSTM  

C&C:command-and-control命令与控制。简单理解,这是一种机器与机器之间的通讯方式。

 

C&C Server:C&C 服务器是由攻击者的计算机将命令发送到受恶意软件入侵的系统,并从目标网络接收被盗的数据。值得一提,现在已经发现许多c&c服务器为IDC服务器以及使用基于云的服务,例如网络邮件和文件共享服务,因为C&C服务器可以与正常流量融合在一起并避免被检测到。

 

Botnet:僵尸网络。是指已被恶意软件感染并受到恶意参与者控制的一组计算机。僵尸网络是包括机器、人和网络的组合词,每个受感染的设备都称为僵尸网络。僵尸网络可以实现完成非法或恶意任务,包括发送垃圾邮件,窃取数据,勒索软件,欺诈性点击广告或分布式拒绝服务(DDoS)攻击。

 

反弹 shell

 

非主动访问目标主机,而是通过反射shell绕过防火墙建立连接。主控端保持监听模式即可(如使用netcat),然后让肉鸡上主动连接主控端。

 

C&C服务器

 

因为大部分的肉鸡ip为动态ip,所以远控中基本都使用反弹式通信,反弹式通信需要肉鸡每隔一段时间对主控端发送心跳包,但这或许需要保证主控端的公网ip保持不变,所以就需要一台能够集中控制僵尸网络的主机,也就是上述的C&C服务器。

 

1.通过IP地址访问C&C服务器

 

描述:IP地址硬编码到远控脚本

优点:简单粗暴,成本低

缺点:易识别

防御:ip黑名单

识别程度: *

 

2.通过域名访问C&C服务器

 

描述:域名硬编码到远控脚本(可注册比较正常的域名伪装,降低被发现的风险)

优点:简单粗暴,成本低

缺点:易识别

防御:域名黑名单,蜜罐

识别程度: **

 

3.Fast-flux && Double-flux && Triple-flux

 

描述:Fast-flux技术是指不断改变域名和IP地址映射关系的一种技术。Double-flux则是域名和ip均不断轮转。Triple flux在Double flux的基础上,增加一层Name Server通过CNAME方式解析,这样域名有可能指向ip也有可能指向别的域名,然后再指向ip,这些Name Server也会定期轮换,就增加了更多C&C通道和干扰项。

 

优点:即使识别部分ip和域名也无法将整个僵尸网络屏蔽

缺点:易识别

防御:利用TTL(存活时间)时间较短以及历史数据等特征挖掘剩余域名和ip

识别程度: ****

 

4.使用 web C&C服务器

 

描述:通过在一些论坛的冷门区域或者热门网站发送C&C控制指令,然后让恶意软件通过爬虫的方法在访问这些论坛的时候获取指令。

典型案例:2015年俄罗斯攻击者使用twitter作为Hammertoss 的C&C服务器。

优点:不易发现,且不可封禁热门网站

缺点:被发现后会被直接封禁账号损失僵尸网络。

防御:封禁账号

识别程度: ***

 

5.使用DGA随机域名生成算法

 

描述:这种C&C控制方法的思路就是控制一个确定的随机域名生成算法,用约定好的随机数种子生成大量的随机域名,恶意软件对这些域名全部进行访问。

优点:不易发现,难逆向出随机算法

缺点:灵活性差,需要平衡访问频率与等待时间的成本

防御:机器学习

识别程度: *****

 

posted on 2021-05-20 09:09 CyberSecurityBook  阅读(0)  评论(0) 编辑 收藏