企业隔离网络环境中的DNS存在常见错误配置,可能导致气隙网络及其保护的高价值资产面临外部攻击风险。

前情回顾·打破物理隔离神话

  • 打破物理隔离!利用电源信号灯的轻微闪烁进行窃听
  • 打破物理隔离:通过观察灯泡振动进行窃听
  • 物理隔离神话的迷信or自信?击穿气隙系统的17个恶意软件框架

安全内参12月9日消息,研究人员发现,企业环境中的域名系统(DNS)存在常见错误配置,可能导致气隙网络(Air-Gapped Networks,即隔离网络)及其保护的高价值资产面临外部攻击风险。

安全验证厂商Pentera的研究人员日前发布文章称,在使用接入DNS服务器的气隙网络时,组织可能会无意间将资产暴露给恶意黑客,并导致严重的数据泄露。

研究人员表示,攻击者可使用DNS作为命令与控制(C2)通道,借助接入互联网的DNS服务器与内部网络通信,最终成功入侵这些被认定为安全隔离的网络。

之所以要对气隙网络进行隔离,避免业务或企业IT环境内的公共用户网络访问互联网,是为了保护组织“皇冠上的明珠”——最具价值的核心资产。要想访问这部分内容,必须借助VPN或用户网络等“跳板”。

但这些气隙网络仍离不开DNS服务,要借此为系统分配名称、实现网络的可发现性。如果网络管理员未能认真配置DNS,就会给看似安全的气隙网络留下安全隐患。

Pentera公司安全研究员Uriel Gabay表示,“我们的研究发现,DNS配置错误会无意中影响到气隙网络的完整性。”

对企业来说,只要能操纵DNS,恶意黑客就可通过通信线路稳定接入气隙网络,进而窃取敏感数据。而且从安全协议的角度来看,这类行为看起来完全合法。

DNS协议极易出现配置错误

Gabay强调,企业在建立气隙网络时最常犯的错误,就是忽略了接入本地DNS服务器所带来的隐患。在大多数情况下,这些DNS服务器其实会接入公共DNS服务器,也就是“无意间突破了自己的气隙边界”

研究人员在博文中解释说,只有理解DNS的工作原理,才能把握攻击者入侵气隙网络的具体方法。

要在DNS上发送信息,首先需要向协议请求一条由其处理的记录(例如TXT文本记录,或者NS命名服务器记录),再将信息放置在该记录名称的第一部分中。如此一来,恶意黑客就能请求TXT记录并收取DNS返回的文本响应,通过名称中相应的部分接收信息。

虽然DNS协议也能在TCP上运行,但其多数情况下还是基于UDP。而UDP并不具备内置安全机制,因此攻击者才能恶意利用DNS。此外,UDP中也无法控制数据传输的过程或顺序

由于UDP中缺乏错误检测机制,恶意黑客可以在发送有效载荷前先行压缩、在发送后立即解压缩。这个过程可以使用Base64等任何编码方式实现。

使用DNS突破气隙边界

尽管如此,与DNS成功通信并借此突破气隙的过程其实也没那么简单。DNS对所接收的字符类型有所限制,所以攻击一方不可能随意发送字符。研究人员解释道,那些不能用的部分被称为“坏字符”。而发送的字符长度同样受限。

为了克服难以在DNS中控制数据流的问题,恶意黑客可以通知服务器应缓冲哪个数据包并指明预期的最后一个数据包。另外,黑客还要确定在前一个数据包被成功收取前,不应发送其他数据包。

为了避免使用坏字符,恶意黑客在数据发送前会对内容应用Base64编码。另外,他们还会将数据拆分成多个部分以逐一发送,借此绕开DNS的字符长度限制。

研究人员解释说,为了避免防御方通过阻止请求服务器的方式屏蔽DNS请求,攻击者还可使用两端均知晓且能理解的变量生成域名。

“虽然整个执行过程并不算特别困难,但攻击者个人或团伙确实需要相应的基础设施以持续获取DNS根记录。”

恶意黑客还可以配置恶意软件,要求其根据特定日期在DNS中生成域,这样就能使用新的已知根域通过DNS持续发送新请求。“对于那些只使用静态方法、甚至是基础异常检测进行检测和预防的组织来说”,这类配置将“很难防范”。

缓解对气隙网络的DNS攻击

咨询机构IDC的最新版《全球DNS威胁报告》显示,2022年内有88%的组织报告曾遭受到某种类型的DNS攻击。面对DNS攻击发生频繁的持续提升,组织必须了解如何缓解并防御由DNS滥用引发的风险。

一种可行方法,就是为气隙网络创建专用的DNS服务器。但Gabay也提醒称,组织一定得确保该服务器未接入组织内可能存在的其他DNS服务器,否则其“最终还是会接入公共互联网”

企业还应利用IDS/IPS工具在网络中建立异常检测,用以监控和识别不同寻常的DNS活动。Gabay指出,考虑到不同业务环境总有独特性质存在,所以不同组织的解决方案也肯定会有所区别。

但无论如何,总有一部分通行的异常DNS活动值得所有组织给予关注,例如:指向恶意域的DNS请求、短时间内的大量DNS请求,以及在非正常时段发出的DNS请求。Gabay补充道,组织还应推行SNORT规则以监控所请求的DNS记录的长度。