如何使用基于DNS的技术检测僵尸网络

146 阅读5分钟

利用基于DNS的技术检测僵尸网络

在过去的几年里,许多人和组织已经接受了使用网络技术来加强数据共享和通信。数据共享也伴随着安全挑战。数据安全挑战一直是一个持续的问题,主要是由僵尸网络造成的,僵尸网络被网络犯罪分子用来煽动各种攻击。

本文将介绍基于DNS的检测僵尸网络的方法,并将解释为什么这些方法被广泛使用。我们还将提供基于DNS的工具的现实生活中的例子。

什么是僵尸网络?

我们可以将僵尸网络定义为一组感染了恶意软件的计算机或数字设备,使黑客能够控制它们。僵尸网络被网络犯罪分子用来煽动攻击,如未经授权的信息访问、数据盗窃、凭证泄漏和DDoS攻击。为了减轻这种安全威胁,人们应该能够识别网络中的攻击。

僵尸网络利用一些互联网协议掩盖其恶意活动并避免被发现。在最近,黑客们滥用了多种协议,而DNS已经成为网络攻击的核心目标。

这样的攻击是高级持续性威胁(APT),这是一种入侵者在网络中获得长期存在以获取敏感数据的攻击。在大多数情况下,经验丰富的僵尸网络开发者避免使用域名。相反,他们已经成功建立了P2P僵尸网络。

DNS系统被这种僵尸网络用来支持其指挥和控制基础设施。在过去几年里,在僵尸网络恶意软件中使用域名生成算法(DGAs)的情况有所上升。这加剧了检测僵尸网络的难度,部分原因是基于DNS的僵尸网络的开发和管理很容易。

下图显示了僵尸网络的结构。

Botnet Structure

为什么基于DNS的技术被广泛用于检测僵尸网络?

基于DNS的技术被广泛使用是因为以下原因。

  • 低成本- 基于DNS的技术不需要大量的资源,工具的成本相对较低。
  • 对网络没有影响- 这种检测技术不影响网络性能或流量。

基于DNS的技术

基于DNS的僵尸网络检测技术是基于DNS的网络流量分析来确定任何异常情况。这种技术基于四种方法:失败的DNS请求,监测恶意域名,低TTL的域名,以及监测DNS的异常流量。

1.失败的DNS请求(NXDOMAIN)

检测网络中是否存在僵尸网络的一种方法是通过统计分析失败的DNS解析请求。僵尸网络使用未注册的域名,因此,他们的DNS请求会失败。

然而,一些僵尸网络,如Torpig,利用低熵的域名来躲避被检测。因此,需要一个大的域名池来运作,而这些域名大多在解析中失败。

下面是一个来自不存在的域的DNS服务器请求的例子。

Failed DNS Request

2.对恶意域名的监控

这项技术涉及检查所有的DNS服务器请求,以确保被解析的域名没有一个在黑名单数据库中,如DNSBL。许多组织,如SpamRats,都会生成一个黑名单上的域名列表。

这成为检测网络中僵尸网络的可靠方法。然而,这种方法有一个缺点,因为必须要有对僵尸网络的先前了解,并注册其域名。这意味着它很难检测到新的僵尸网络。

3.低TTL的域名

僵尸网络创建者使用快速流转技术,通过修改与域名相关的IP地址来阻碍检测。当目标IP被改变时,检测故障变得很困难。然而,这种域名的TTL非常低,这意味着DNS系统会反复刷新与该域名相关的IP的解析缓存。

这使得具有低TTL的域名变得可疑。然而,这种技术可能具有误导性,因为它可能产生与许多连接到互联网的合法系统相联系的误报。这些系统使用一种技术,改变与域名相关的IP。

4.检测异常的DNS流量

另一种可以使用的技术是检测异常的DNS流量。这种技术旨在搜索有异常DNS请求行为的域。

这项技术试图通过分析流量的任何异常情况来检测僵尸网络,如流量的突然激增、不寻常端口的流量和网络延迟等等。所有这些都可能指出僵尸网络的存在。

基于DNS的技术工具的例子

Wireshark:这是一个非常强大的工具,主要用于僵尸网络检测期间的流量分析。Wireshark使用一个名为 "tshark-r Myfile-t fields "的命令创建一个CSV文件。此后,从创建的CSV文件中检索DNS名称和各自的IP信息。

Capinfos:这是一个用于读取单个或多个文件的软件,然后返回与输入文件相关的统计数据。一旦所有统计数据准备就绪,它们将被打印在一个文件夹中,该程序以表格的形式从统计数据中创建一个报告。通过对这些统计数据的分析,人们可以知道网络是否被僵尸网络所感染。

结论

技术的进步,特别是网络内部的进步,带来了相当多的安全挑战。黑客使用各种方式,如僵尸网络来攻击网络。

这就导致了僵尸网络检测技术的重要性。正如我们所了解的,基于DNS的僵尸网络检测技术是检测网络是否被僵尸网络渗透的最有效方法之一。