如何从浏览器端保护和检测 DNS 操作?

信息安全 dns
2021-08-31 22:20:32

在阅读了关于被操纵的谷歌分析脚本的问题后,我想知道你将如何防止这种攻击。

想到的是在网络配置中设置固定的 DNS IP 或使用隧道,但在这两种情况下,您都不会检测到攻击。

有没有办法保护自己并能够检测到攻击?

2个回答

恐怕在我们让每个人都使用 DNSSEC 之前,我们不会有合适的解决方案。

但是,我预测除非有人发现 DNS 协议中的一个非常严重的缺陷,迫使每个人都实施它,否则这将需要很多年☹(看看 IPv6)。

作为部分解决方案,您可以将 DNS 解析器设置为受信任的 DNS 解析器,该解析器还使用自己的密钥对所有未签名的响应进行签名。这不会检测到 DHCP 响应中提供的 dns 服务器是恶意的/中毒的,但是 - 在存根解析器上添加适当的代码 - 如果所有 DNS 查询都由邪恶的 DNS 服务器回答,您会注意到这一点。

我认为检测攻击的唯一方法是在会话的后台运行自定义脚本,它将所有 DNS 请求发送到受信任的安全 DNS 服务器(使用签名或 HTTPS)以及本地 DNS。然后它可以比较结果并在结果不匹配时给你一个警告框,例如,如果提供的 IP 地址没有在同一个域下注册......