新闻资讯

新闻资讯 / SolarWinds / SUNBURST:是DGA还是DNS隧道?

SolarWinds / SUNBURST:是DGA还是DNS隧道?

时间 : 2020-12-25 14:41:33

当我们继续对FireEye描述为“高度逃避”域生成算法(DGA)事件的SolarWinds攻击进行分析和包装时,我们首先需要就术语达成共识,然后才能继续识别和分析可观察到的行为。 

 

尽管有关SUNBURST恶意软件的许多报道都描述了DGA在命令和控制中的使用,但我们必须考虑“真正的” DGA行为是否正在发挥作用。难道真的是DNS隧道传输?两者之间存在细微的差异,但这种差异可能会对我们识别行为并开始辨别对手可能采取的后续措施产生重大影响。例如,请参阅有关如何检测DNS隧道的先前分析。

 

DGA或DNS?一个值得深入研究的问题。

所述MITER ATT&CK Ⓡ框架描述DGA(技术T1568.002)如下: 

 

专家可以利用域生成算法(DGA)来动态标识用于命令和控制流量的目标域,而不是依赖于静态IP地址或域的列表 。这样做的好处是使防御者更难阻止,跟踪或接管命令和控制通道,因为恶意软件可能会检查成千上万个域,以检查指令。”

 

ATT&CKⓇ没有为DNS隧道分配明确的技术;相反,它将这种技术标识为“应用层协议的命令和控制”子技术,如下所述: 

 

专家可以使用域名系统(DNS)应用层协议进行通信,以免通过与现有流量融合来进行检测/网络过滤。远程系统的命令,通常是这些命令的结果,将被嵌入到客户端和服务器之间的协议通信中。”

 

总结以上两个描述,DGA是恶意代码识别命令和控制服务器并避免阻止或其他防御措施的手段。另一方面,DNS隧道是恶意代码将信息传递到命令和控制服务器,然后允许服务器将命令或其他信息传递回植入的恶意软件的手段。

 

这种区别看似微妙,但在识别行为以及识别恶意行为者可能采取的行动时至关重要。

 

通过上面的两个描述,我们可以看到DGA和DNS隧道之间的主要区别在于查询的结构,最明显的是意图在查询后面。DGA的有效性在很大程度上取决于查询的结构和DNS协议的层次结构性质。具体来说,必须动态生成注册表后缀(“ drive.google.com”中的“ google”)下的顶级域;否则,C2流量的识别和随后的阻塞变得相对简单。将其与SUNBURST示例相关联,如果防御者要设置防火墙阻止规则以停止对“ * .avsvmcloud [。] com”的所有查询,则它将有效地停止所有C2通信,从而使此选项不那么可行。 C2。观察到的DNS通信背后的意图似乎并不是要确定恶意C2服务器在何处以及如何到达该服务器。由于域名的所有权和对权威域名服务器的控制权,  

 

SUNBURST:DNS隧道案例

第二眼将我们引向DNS隧道角度。DNS隧道的用例是通过DNS协议启用恶意软件和C2服务器之间的通信。同样,通过SUNBURST,对“ avsvmcloud [。] com”的DNS查询的结构和内容的研究表明,用于这些查询的最低级别的子域标签是与受感染网络的活动目录域名相对应的编码数据。 。这并不适合DGA用例,因为注册表后缀下的顶级域没有更改,并且在防火墙处阻止此类流量很简单。但是,这确实为威胁参与者提供了有关哪个网络(甚至可能是哪个受感染主机)进行查询的准确信息,这是在广泛的环境中管理大量感染时的一项关键功能。此外,对这些查询的响应并不表示C2服务器的实际IP地址。相反,它们指示威胁参与者希望恶意植入程序采取的命令或行动。这正是DNS隧道功能的方式。

 

IronNet的DNS隧道分析

IronNet的DNS隧道分析可检测DNS流量作为隐蔽网络通道的使用。可以使用编码的子域标签和资源记录将数据隐藏在DNS消息中,然后通过常规域名解析过程进行传输。DNS隧道可能表明存在与恶意软件植入的敌对通信或来自企业的秘密信息的秘密传输。有许多利用此技术的恶意工具,包括Pisloader和ALMA Communicator,以及销售点恶意软件,例如Multigrain / NewPosThings,它们都已使用DNS隧道传输凭据和信用卡信息。

 

对于SUNBURST,该恶意软件利用DNS隧道中继有关受感染网络的信息。研究人员已经确定,编码的子域标签至少会传输受感染主机的域名(IronNet已验证),并且可能传递有关受感染系统的其他信息。在返回的A记录响应中传输的已解析IP地址又用于向恶意软件提供指令。