测量 DNSSEC 验证的发生率
1. 引言
原始的域名系统(DNS)规范没有提供任何安全措施来防止伪造域名。由于 DNS 严重依赖 UDP 消息,攻击者可以发送欺骗性的 DNS 响应。为了减轻 DNS 欺骗,发送者目前在不破坏消息格式的情况下将随机熵编码到 DNS 消息中,但这仍无法完全阻止攻击。
为了使 DNS 欺骗不可行,人们提出了加密 DNS 协议扩展,其中最著名的是 DNSSEC。DNSSEC 利用公钥密码学对公共 DNS 数据进行签名和验证。不过,DNSSEC 的部署也带来了一些副作用,例如增加了名称服务器和验证解析器的 CPU 和网络负载,使分布式拒绝服务攻击更有效,还限制了政府和 ISP 进行合法的 DNS 重定向。
本文的贡献是提出一种测量客户端 DNSSEC 验证发生率的方法,并对这种测量进行实际分析。我们选择统计客户端数量,因为从这个指标可以推断出受 DNSSEC 保护的用户数量。
2. 方法
我们设置了一个 DNS 区域 verteiltesysteme.net,对其进行签名并在.net 区域中添加了 DS 记录。该区域中有两个域名返回 A 记录,sigok 具有有效签名,sigfail 具有占位符签名(语法正确但验证失败)。我们使用两种测试类型:脚本测试和隐藏测试。
2.1 脚本测试
基于 Web 的脚本测试使用客户端 JavaScript 从 sigfail 域名加载图像。如果图像加载成功,说明解析器未验证 DNSSEC 签名;如果加载失败,脚本会尝试从 sigok 域名加载图像,以排除其他错误源。如果第二个图像加载成功,则解析器正确验证了 DNSSEC 签名;如果
超级会员免费看
订阅专栏 解锁全文
483

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



