返回

新的侧通道攻击重新启用了严重的DNS缓存中毒攻击

发布时间:2022-02-15 12:35:38 438
# 服务器# 漏洞# 技术# 攻击
DNS Cache Poisoning Attacks

研究人员展示了SAD DNS缓存中毒攻击的另一种变体,该攻击使约38%的域名解析程序易受攻击,使攻击者能够将原本发送到合法网站的流量重定向到其控制下的服务器

加利福尼亚大学的研究者柯宇满,新安周刊和支云倩说:“攻击允许一个越野攻击者将恶意DNS记录注入DNS缓存中。”“SAD DNS攻击允许攻击者将任何流量(最初指向特定域)重定向到自己的服务器,然后成为中间人(MITM)攻击者,从而允许窃听和篡改通信。”

 

最新的漏洞会影响Linux内核以及流行的DNS软件,包括在Linux上运行的BIND、Unbound和dnsmasq,但在其他操作系统FreeBSD或Windows上运行时不会影响

从卡明斯基攻击到SAD DNS

DNS缓存中毒,也称为DNS欺骗,是一种将损坏的数据引入DNS解析程序缓存的技术,这样DNS查询会返回一个受信任域(例如www.example.com)的错误响应(即IP地址),并将用户定向到恶意网站。该攻击最初由研究人员Dan Kaminsky在2008年发现,其原因是递归解析器通常使用单个开放端口(通常为53个)向权威名称服务器发送和接收消息

 

这不仅使猜测源端口变得微不足道,对手还可以通过向解析程序发送DNS响应来伪造响应,这些响应针对发送到名称服务器的DNS查找请求所附加的大约65000个可能的事务ID中的部分或全部

为了实现这一点,攻击者只需猜测16位标识符—;i、 也就是说,只能有65536个事务ID值—;用于验证名称服务器的真实性,并证明返回的IP地址是合法的。因此,如果具有正确事务ID的恶意应答在权威服务器的响应之前到达,那么DNS缓存将中毒,返回攻击者选择的地址,而不是合法的IP地址

 

DNS Cache Poisoning Attacks

但由于递归解析程序缓存从权威名称服务器接收的信息,这也意味着如果解析程序接收到另一个客户端最近请求的域名IP地址请求,它只需从缓存中将请求的记录回复给客户端,而无需与命名服务器通信

 

从那时起,通过使用事务ID和随机化UDP端口作为第二个标识符来增加熵,而不是使用默认端口53进行查找查询,攻击变得不可行。然而,新发现的泄漏侧通道使临时端口号的去随机化成为可能,从而有效地解除了保护

 

SAD DNS又名侧通道攻击DNS,由同一组研究人员于2020年11月披露,它依赖ICMP“port unreachable”消息作为推断使用哪个临时端口的手段。虽然ICMP对于在IP网络中路由诊断和错误响应是必要的,该协议的速率限制功能提供了一种机制,用于限制端口上的入站ICMP流量可能使用的带宽量,目的是防止当攻击者试图用ICMP消息过载网络时可能出现的拒绝服务(DoS)攻击

 

这种新的侧通道攻击涉及攻击者向目标发送大量包含受害者伪造源地址的伪造UDP探测,其大小足以触发速率限制,并使用该技术缩小开放端口并猜测事务ID,就像原始卡明斯基攻击一样

 

DNS Cache Poisoning Attacks

“特别是,如果猜测的端口号(在伪造的UDP探测中)恰好与正确的临时端口匹配,解析程序将不会生成ICMP消息(否则会生成),”研究人员说。“这会导致一个固定的限制计数器或计数器的递减。然后,攻击者可以通过尝试从其真实/非欺骗的IP请求UDP探测器的ICMP响应来检查计数器是否已耗尽。”

一个以前被忽视的攻击面

以前的方法(计算SAD DNS)使用UDP探测来确定UDP端口是打开的还是关闭的,而新发现的DNS缓存中毒攻击在处理ICMP错误消息的过程中直接探测一个侧通道—;i、 例如,需要ICMP frag或ICMP重定向数据包—;通过设计不会引起回应,用它作为实现相同目标的标准

“攻击者不一定要依赖ICMP探测器的明确反馈,”研究人员指出。“相反,即使ICMP探测的处理是完全静默的,只要某个共享资源的状态受到影响,我们就可以找到方法(其他探测)来观察共享资源的状态变化。”

 

攻击的中心思想是使用全局异常缓存(2048桶哈希表)中有限的总插槽数,来识别在一批ICMP探测之后是否发生了更新。侧通道也不同于SAD DNS,因为它在处理传入ICMP消息(与出口数据包相反)时产生,并且“利用空间资源限制(即,存储下一跳异常缓存的空间有限),而SAD DNS的侧通道利用时间资源限制”(即ICMP错误生成率有限)。"

研究人员提出了一些缓解措施来防止最新的攻击,例如随机缓存结构、拒绝ICMP重定向消息,以及设置套接字选项IP_PMTUDISC_OMIT,它指示底层操作系统不接受ICMP frag所需的消息,因此完全消除了内核中与侧通道相关的处理

“DNS是互联网上最基本、最古老的协议之一,支持许多网络应用和服务,”研究人员说。“不幸的是,DNS的设计没有考虑到安全性,并且受到各种严重的攻击,其中一种是众所周知的DNS缓存中毒攻击。在几十年的发展过程中,事实证明,在DNS中加装强大的安全功能非常具有挑战性。”

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线