[Paper-Review2]DNS Cache Poisoning Attack Resurrections with Side Channels
Github link
Fragment needed based attack
1.公开的端口
攻击者使用自己的 IP 发送需要 ICMP 片段的消息。嵌入的 UDP 标头包含猜测的临时端口。
在片段需要的消息中,攻击者告诉解析器“前一条消息”(Linux 接受内部 ICMP 消息,只要内部源地址和端口正确)太大并显示攻击者设置的 MTU。解析器会将此路径 MTU(PMTU) 更改为攻击者提供的 MTU。攻击者会向解析器发送一个大于 MTU 的 PING。如果猜到的端口是正确的,回复就会被分片。如果错误,解析器将发回与 PING 相同字节的回复。
2.私密的端口
在此设置中,解析器将检查 4 元组以在连接中定位套接字。因此,目标IP应该是name server的IP。下一跳异常缓存对攻击者也是不可见的(看不到MTU是否改变),因为它会直接到name server。
linux哈希表中有2048个桶,每个桶是一个有5个槽的链表。密钥哈希函数是公开的并且有一个秘密。除非重新启动,否则秘密不会被更新。这里的一个策略是找到 5 个与权威名称服务器 IP 具有相同哈希值的不同 IP。另一种是猜测秘密(32位)。在第二种情况下,我们只需要在受害者解析器中为哈希函数找到 5 个与任何 IP 发生冲突的 IP。并通过输入 6 个 IP 在我们自己的环境中尝试不同的秘密。使它们散列到同一个桶中的秘密是解析器中使用的秘密的可能值。有了这个秘密,很容易找到5个与权威名称服务器具有相同哈希值的IP(其中一个IP应该在攻击者的控制之下)。攻击者首先将目的端口设置为自己的 IP,其余 4 个 IP 发送低
DNS缓存中毒攻击:侧信道复兴

本文深入探讨了两种DNS缓存中毒攻击方式:基于片段需求的攻击和基于重定向的攻击。在碎片需求攻击中,攻击者利用ICMP片段、UDP端口猜测和Linux的内部机制来实现。而在重定向攻击中,攻击者通过ICMP重定向消息改变解析器的路由。了解这些攻击模式对于提升网络安全防御至关重要。
最低0.47元/天 解锁文章
426

被折叠的 条评论
为什么被折叠?



