黑客24小时在线接单网站

黑客在线接单,网站入侵,渗透测试,渗透网站,入侵网站

Palo Alto 对近些年 DNS 历史漏洞的整理分析(下)

Palo Alto近几年 DNS 历史漏洞整理分析(上)

新缓解措施

明显的缓解措施是随机分配每个请求的事务ID(而不是升序计数器)。这种缓解措施使攻击更加困难。事实上,MAX_SIZE_OF_QUERY_ID更难。事务ID因此,缓解措施使攻击比以前困难65536倍。

这些缓解措施确实使攻击变得困难,但道高一英尺,魔高一英尺。虽然16个随机密钥很大,但还不够大。让我们计算一下。

                   
  • 我们需要记下以下数据:
  •                
  • 典型DNS响应大小:100字节= 800位;
  •                
  • 攻击者带宽:每秒1兆= 1000000位
  •                
  • 返回解析器所需的合法响应时间:2秒;

关于2秒的注意事项:现在,使用现代互联网连接,即使是未缓存的域,显然也不到两秒钟就能完成DNS请求。但是出于示例的考虑,我选择了延迟,不过我还选择了过去的网速:每秒1兆位。

有65536个可能的事务ID,我们有两秒钟的时间窗口发送响应,包括成功攻击的正确响应。为了计算每次攻击的成功率,我们需要计算攻击者在实际合法响应到达分析器之前能发送多少响应包。这很容易计算:带宽乘以数据包的大小。

凭借1 Mbit / s攻击者可以在一秒钟内发送多达1万0万 / 800 = 1250个响应数据包,这意味着攻击者可以在两秒钟的窗口中发送2500个响应数据包。实现可能攻击所需的尝试次数(即1 Mbit / s至少50%的带宽成功率)约18次尝试。

完整的计算是这样的,我们用100万1mbits连接每秒可以发送的位数。我们将其除以800,这是每秒可以发送的响应数。由于2秒的窗口,我们乘以2,然后将其除以2的16次,16是事务ID字段的大小。即单次攻击的成功率为了获得成功的攻击,我们需要在x一次尝试成功。x次尝试称为“实验”,实验中所有可能结果的 *** 称为样本空间。在样本空间中击中任何物体的概率显然是100%(这是方程中最外层的1)。为了获得可能的攻击机会,我们需要获得整个样本空间,并减去任何不可能的空间“至少成功攻击一次”内容,也就是全部x另一种尝试失败的说法。一次尝试的失败是“所有(1)减去一次尝试的成功”也就是说,1降低成功率。然后,我们告诉你Wolfram Alpha,我们正在寻找一个x,该x的值将大于0.5(即50%)。

换句话说,只有18次尝试,带宽是1 Mbit / s在缓解攻击后,攻击者可以获得超过50%的成功率,这表明计划这次毁灭性攻击有多容易。

更多的缓解措施

回顾过去,选择如此弱的缓解措施似乎很奇怪,但重要的是要记住完全重新发明DNS协议是不可能的。它可能会破坏互联网,认为所有设备都有内置的分析器。他们将完全停止工作。但还有更多的事情要做。如上所示,事务ID缓解很弱。因此,对源端口采用了同样的缓解措施。DNS每个客户端、解析器或名称服务器DNS请求来自一个源端口,在缓解之前没有随机分配。

源端口为16位数,与事务有关ID同样,它只用于功能目的。例如,分析器可以尝试使用端口10650,如果之前的请求中使用,它将尝试使用10651,等等。当然,并不是所有的16人都可以使用,因为固定端口用于其他用途。

源端口和事务ID一起用作DNS通信的密钥-32位置密钥。请记住,因为这将在攻击中非常重要,我将进一步讨论,额外的16位大大降低了成功攻击的可能性。

以前,使用1mbit /s当带宽时,我们的成功率是3.8%(你可以在Wolfram Alpha中查看相关计算)。使用源端口缓解措施后,如果使用与以前相同的数据,则成功攻击的可能性为0.00005821%,实现与以前相同的成功攻击所需的尝试次数为1190820。这使得攻击的成功不够可靠。事实上,源端口的随机化结束了大部分DNS缓存攻击。

更先进的漏洞

到目前为止,我们主要关注单人DNS记录的缓存,www.example.com位于93.184.216.34,也称为A记录。我们在受害者自己DNS服务器(如路由器或Kubernetes通过这种方式,我们努力攻击恶意软件攻击单个域。

安全研究员Dan Kaminsky2008年,我们发现了一种比我们到目前为止在本文中讨论的更好的 *** 。这个漏洞在安全界引起了轩然 *** 。一般的执行 *** 与到目前为止讨论的 *** 非常相似,这意味着我们仍然需要猜测事务ID和源端口。成功的可能性几乎相同,但根据卡明斯基的 *** ,如果我们成功了,我们可能会破坏更多的记录。

NS记录

顾名思义,名称服务器(NS)记录是DNS记录,指示哪一个DNS服务器对域具有权威性,这意味着哪个服务器包含实际域IP地址。在前面的例子中,example.com的NS记录将是包括在内的服务器www.example.com,email.example.com和任何?.example.com的地址。

攻击者的目标是攻击受害者的分析器,使受害者试图访问www.example.com,email.example.com或任何?.example.com当时,解析器将要求转发给攻击者的名称服务器,而不是example.com名称服务器。

这样,攻击者就可以控制对方example.com访问每个子域,而不仅仅是像以前那样控制www域。

令人惊讶的是,攻击与我们在本文中描述的攻击非常相似,但攻击者并没有尝试使用它A记录攻击分析器缓存,但尝试使用NS记录攻击缓存。

攻击者将首先为他们想要攻击的域配置一个名称服务器,没有什么能阻止任何人配置自己的域名服务器。然而,它通常毫无意义,因为没有其他服务器指向它。


整个区域攻击

然后攻击者将继续向他们想要攻击的击的子域DNS请求必须是一个没有缓存的域,这样他们就可以确定分析师会将请求转发给根服务器。不仅如此,在我们的例子中,域名NS记录(example.com的权威域名服务器)也不应该被缓存。如果缓存了请求,解析器将直接将请求转发给权威名称服务器,甚至不需要将请求转发给根服务器。

攻击者将受害者的解析器转发到根服务器后,根服务器通常是NS记录进行回复,这大致相当于说:“我不知道答案,但你可以在那里问服务器。这是它的IP地址。”

为了成功攻击,攻击者现在需要在发送根服务器响应之前超过根服务器,并传播包含恶意软件的响应。这是通过发送所需的区域NS为了实现记录的大量响应,别忘了攻击者还需要猜测交易ID(可能有源端口)。

每个NS有一个回复“glue”这是名称服务器的实际记录IP地址。如果采用其他 *** ,则请求服务器将不知道在哪里可以找到名称服务器。解析器接收此“glue”记录,缓存并与之共享“glue” 记录指向的名称服务器联系,以获取要求域的地址。

如果攻击成功,从现在开始,每个向分析器发出的请求都将到达攻击者的域名服务器,该域名在攻击区域(www.example.com中的example.com)没有缓存。

应用空间

利用这种高级攻击,攻击者可以同时攻击大量域。理论上,攻击者甚至可以攻击整个域.com域。

尽管攻击整个.com域将是一个挑战,但在某些情况下,攻击者实际上会攻击整个缓存。具体示例如下:

1.20151月26日,一名黑客组织试图将访问者重新定位到马来西亚航空网站,并将访问者重新定位到另一个显示恶意内容的网站。

2.20112011年11月7日,黑客试图攻击整个互联网服务提供商的缓存,将用户重新定位到安装恶意软件的网站,然后将用户重新定位到他们要求的网站。

3.2009年12月18日,DNS劫持攻击使Twitter暂时受一小时左右影响。

这样的攻击每年都会发生数百起。

缓解措施

由于使用已使用的事务,没有实际的新缓解措施ID这种攻击几乎不可能与端口随机缓解措施一起实施。然而,如果攻击者试图绕过这些缓解措施,那么使用这种攻击而不是“常规的”单A记录攻击会严重得多。

和以前一样,使用事务ID创建一个足够大的密钥与端口随机化,使攻击者难以猜测,从而缓解作用。

最近的漏洞

即使DNS该协议被认为是安全的,开发人员可能无法安全实现。

例如,存在一个普遍的误解,即随机函数应该是不可预测的,因此可以将其用于生成加密密钥。但是,这些函数并不用于密码学或安全性。不幸的是,在DNS随机函数的误用经常发生在实现的情况下。

仅两年前,它就被用于随机化CoreDNS中事务ID这种情况发生在函数中。开发人员选择使用math.rand,它是Golang伪随机数生成器,中非加密安全。这是个大问题。如果攻击者能预测交易ID,他们绝对可以按照本文前面提到的方式攻击CoreDNS缓存。这意味着每次使用。CoreDNS作为其DNS分析器的应用程序容易恶意DNS记录攻击。换句话说,因为CoreDNS主要用于Kubernetes,因此,整个集群中每个节点中的每个应用程序都很容易受到攻击。

另一个例子是几周前发现的一项新技术,它使用了Internet控制消息协议(ICMP)确定服务器上哪些端口已经关闭,从而揭示哪些端口实际上是开放的。DNS在攻击中使用可以大大减少攻击者需要猜测的端口数量,从而减少上述端口的随机性缓解措施的有效性。

当然,也有一些与缓存无关的典型漏洞,如缓冲区溢出。dn *** asq是许多Linux常用于发行版和路由器DNS甚至是分析器Kubernetes也使用了早期版本。近年来,发现dn *** asq很容易受到许多内存漏洞的影响,这可能会导致拒绝服务(DoS),执行远程代码(RCE)等问题。

总结

本文描述DNS如果攻击成功,那将是毁灭性的。由于现代的缓解措施,攻击者不太可能发动DNS攻击,除非与解析器应用程序中的任何其他漏洞相结合。不幸的是,这些漏洞仍然经常被发现。

多年来,研究人员发现了一些缓解漏洞的措施,如用户数据报告协议(UDP)分段。

尽管如此,即使攻击者试图攻击证书的使用,即使攻击者试图攻击某个域DNS服务器,由于证书不匹配,浏览器的受害者很可能不会加载该页面。但是,通过使ISP的DNS解析器攻击并将请求转发到不存在的地方IP该技术仍然可以用于巨大的地址DoS攻击。

Palo Alto Networks本文所述的攻击可以通过多种方式避免,Palo Alto Networks下一代防火墙可以通过检测可疑DNS查询和异常DNS响应来阻止DNS攻击。通过防火墙内置与消耗或大量通信相关的攻击DoS或者通过区域保护配置文件来处理这些保护DNS覆盖安全服务DNS补充威胁和指示器。

此外,Pri *** a Cloud集群可以通过警告过时和易受攻击的组件和云中错误的应用程序来保护。本文描述的大多数攻击都需要破坏集群的内部 *** ,从内部到内部DNS服务器发送恶意数据包,几乎总是通过使用过时和配置错误的应用程序来发生。

本文翻译自:https://unit42.paloaltonetworks.com/dns-vulnerabilities/如果转载,请注明原始地址。

   
  • 评论列表:
  •  俗野寰鸾
     发布于 2022-05-29 20:20:00  回复该评论
  • ,但尝试使用NS记录攻击缓存。攻击者将首先为他们想要攻击的域配置一个名称服务器,没有什么能阻止任何人配置自己的域名服务器。然而,它通常毫无意义,因为没有其他服务器指
  •  俗野谜兔
     发布于 2022-05-29 14:02:55  回复该评论
  • 名称服务器,甚至不需要将请求转发给根服务器。攻击者将受害者的解析器转发到根服务器后,根服务器通常是NS记录进行回复,这大致相当于说:“我不知道答案,但你可以在那里问服务器。这是它的IP地址。”为了成功攻击,攻击者现在需要在发送根服务
  •  听弧酒事
     发布于 2022-05-29 18:22:51  回复该评论
  • 可能会导致拒绝服务(DoS),执行远程代码(RCE)等问题。总结本文描述DNS如果攻击成功,那将是毁灭性的。由于现代的缓解措施,攻击者不太可能发动DNS攻击,除非与解析器应用程序
  •  辞眸喵叽
     发布于 2022-05-30 00:12:20  回复该评论
  • 术,它使用了Internet控制消息协议(ICMP)确定服务器上哪些端口已经关闭,从而揭示哪些端口实际上是开放的。DNS在攻击中使用可以大大减少攻击者需要猜测的端口数量,从而减少上述端口的随机性缓解措施的有效性。当然,也有一些与缓存无关的典型漏洞,如缓冲区溢出。dnsmasq是
  •  语酌绾痞
     发布于 2022-05-29 23:17:30  回复该评论
  • 录攻击。换句话说,因为CoreDNS主要用于Kubernetes,因此,整个集群中每个节点中的每个应用程序都很容易受到攻击。另一个例子是几周前发现的一项新技术,它使用了Internet控制消息协议(ICMP)确定服务器上哪些端口已经关闭,从而揭示哪些端口实际上是开放的。D

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.