码迷,mamicode.com
首页 > 其他好文 > 详细

基于DNS隐蔽信道的攻击与检测

时间:2020-09-17 18:11:03      阅读:43      评论:0      收藏:0      [点我收藏+]

标签:The   统计分析   ring   数据库   clu   流量   geo   火墙   代码   

免责声明:本文作者竭力保证文章内容可靠,但对于任何错误、疏漏或不准确的内容,作者不负任何责任。文章部分内容来源于网络是出于传递更多信息的目的,对此不负任何法律责任。本文仅用于技术分享与讨论,严禁用于其他用途。

一、基于DNS的隐蔽通信

企业网络经常面临网络攻击者窃取有价值和敏感数据的威胁。复杂的攻击者越来越多地利用DNS通道来泄露数据,以及维护恶意软件的隧道C&C(命令和控制)通信。这是因为DNS对于几乎所有应用程序来说都是如此重要的服务,从本地计算机到Internet的任何通信(不包括基于静态IP的通信)都依赖于DNS服务,限制DNS通信可能会导致合法远程服务的断开,因此,企业防火墙通常配置为允许UDP端口53(由DNS使用)上的所有数据包,即DNS流量通常允许通过企业防火墙而无需深度检查或状态维护。从攻击者的角度来看,这使得DNS协议成为数据泄露地隐蔽通信通道。

攻击者利用DNS的一种方法是注册域名(例如,fengrou2019.club),以便攻击者在主机受害者中的恶意软件可以将有价值的私人信息(例如信用卡号,登录密码或知识产权)编码为形式为arbitrary-string.fengrou2019.club的DNS请求。此DNS请求由全局域名系统中的解析器转发到fengrou2019.club域的权威服务器(在攻击者的控制下),后者又向主机受害者发送响应。这为攻击者在主受害者及其命令和控制中心之间提供了低速但隐蔽的双向通信信道。如图所示为Bot在获取控制命令后回传窃密信息的流程图。

技术图片

 

DNS这种穿透防火墙的能力为攻击者提供了一个隐蔽的通道,尽管是低速通道,通过将其他协议(例如,SSH,FTP)隧道传输到命令和控制中心,可以通过该通道泄露私有数据并保持与恶意软件的通信。现代恶意软件和网络攻击在很大程度上依赖于DNS服务,使其活动可靠且难以跟踪。例如­­­,2017年发现的远程访问木马DNSMessenger使用DNS查询和响应在受感染的主机上执行恶意PowerShell命令。

二、DNS检测

监控网络DNS活动和阻止可疑域已被证明是抵御此类攻击的有效技术。对于分析DNS流量以识别恶意网络活动,人们提出了很多检测方法,比如使用字符频率分析的DNS隧道检测方法等。

对于任何组织用以对抗各种安全威胁来说,在企业级水平上的单点Bot检测至关重要。本文要介绍的DNS检测工具BotDAD,它就是部署在企业的网络边界上进行单点Bot检测的,它通过观察主机在一段时间内的DNS指纹,尝试寻找域正常的主机行为相当不同的异常行为,从而识别受感染的主机。

本文以BotDAD工具为例,将对BotDAD进行DNS检测的技术分析。

1. DNS检测特征

BotDAD中统计分析了15种DNS的行为特征,如下:

序号DNS特征描述
p1 每小时DNS请求的数量
受感染的僵尸主机每小时的请求数量往往高于正常主机。
p2 每小时不同的DNS请求数
感染DGA恶意软件的主机往往比普通主机具有更多不同的请求。
p3 单个域的最大请求数
帮助检测DNS隧道,敏感信息通过DNS协议传输。
p4 每分钟平均请求数
用于检测受恶意软件感染的计算机,该计算机不使用短暂的DNS请求,而是使用休眠间隔定期对DNS请求做出贡献。
它的计算方法是将主机发送的请求数除以主机处于活动状态并使用DNS服务的持续时间。
p5 每分钟最多请求数
帮助检测感染恶意软件的僵尸程序,这些恶意软件使用短暂的DNS请求通过域生成算法生成的多个URL与C&C服务器进行通信。
p6 MX记录查询数
是网络中基于垃圾邮件的僵尸网络的强有力指标。
p7 PTR记录(从ip地址到域名的一条记录)查询数
有助于检测网络中存在异常行为的主机以及可能的感染。
p8 查询的不同DNS服务器的数量
有助于检测网络中具有异常行为的机器,因为标准系统查询多个DNS服务器的情况并不常见。
TLD: top level domain,顶级域名
SLD: second level domain,二级域名
p9 不同TLD请求的数量
在检测基于DGA的机器人方面非常有效,这些机器人不仅生成具有不同二级域的随机域,还生成具有不同顶级域名的随机域。
p10 不同SLD请求的数量
是网络中存在基于DGA的机器人的强烈指示。
p11 唯一性比率
是在主机每小时发送至少1000个请求的假设下,发送的请求数与发送的不同请求数之比。
p12 Failed/NXDOMAIN请求的数量
是网络中主机感染的一个非常强的指标。
它通过主机维护响应代码等于DNS_RCODE_NXDOMAIN的响应数。
p13 已解析IP地址的不同城市数量
是一个强烈的异常指标,尤其是当IP地址分布在各个城市时。
使用Maxmind数据库(“Geo2 Databases | MaxMi,2017”)获得城市映射的IP地址。
p14 已经解析的ip地址的不同国家数量

p15 Flux ratio
在主机发送至少100个查询并且已收到至少100个响应的条件下,发送的不同请求与解析的不同ip地址的比率。

1425

基于DNS隐蔽信道的攻击与检测

标签:The   统计分析   ring   数据库   clu   流量   geo   火墙   代码   

原文地址:https://www.cnblogs.com/airoot/p/13631568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!