zoukankan      html  css  js  c++  java
  • 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控制方法的思路就是控制一个确定的随机域名生成算法,用约定好的随机数种子生成大量的随机域名,恶意软件对这些域名全部进行访问。
    优点:不易发现,难逆向出随机算法
    缺点:灵活性差,需要平衡访问频率与等待时间的成本
    防御:机器学习
    识别程度: *****
  • 相关阅读:
    Promise对象
    iterator和for of 循环
    vue项目基本流程
    BASH_SOURCE 用法
    Java GC CMS 日志分析
    zookeeper 删除snapshot和transaction log的源码解读
    openresty nginx 安装过程记录
    opentesty--luasocket 安装
    为什么要使用SLF4J而不是Log4J
    要过一遍的博客列表
  • 原文地址:https://www.cnblogs.com/networking/p/14788479.html
Copyright © 2011-2022 走看看