隐蔽通讯的检测
基于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地址的比率。 |
References
[1] 基于DNS隐蔽信道的攻击与检测,DigApis, https://www.freebuf.com/articles/database/210250.html