近日,一名安全研究人员发现,不用解密就能识别DNS-over-HTTPS(DoH)流量。

DoH协议的初衷是为了改进整个互联网的安全性,其核心是在当对HTTP进行DNS请求与接收DNS回复的时候使用TLS。通过加密DNS流量并且向服务器请求认证,DoH期望能降低遭到被动监听与主动重定向攻击的风险。类似的保护方式有通过TLS进行DNS流量传输。

然而,根据SANS Technology Institute的研究主管Johannes Ullrich的发现,攻击者完全可以在监测到一个主机所有流量的情况下识别出DoH流量。

由于Mozilla自从2017年开始就和互联网组织合作支持DoH协议,同时Firefox可以通过SSLKEYLOGFILE环境变量收集TLS的master key(Chrome浏览器也能开启此功能),因此可以很轻松在Firefox浏览器上启用DoH协议。

Ullrich的具体实验环境如下:Mac的Firefox 71浏览器,Cloudflare作为解析器,Mozilla最近在Trusted Recursive Resolver(TRR)中新加入的NextDNS也在实验中被使用。

在实验过程中,Ullrich在启动tcpdump后,运行了Firefox并浏览了几十个站点。之后,他将捕捉到的数据包和SSL Key Logfile载入Wireshark 3.1.0中进行分析(该版本的Wireshark完全支持DoH和HTTP2流量分析)。

Ullrich表示,他只是在过滤中对数据包进行了DNS与TLS过滤,就发现了DoH流量;整个DoH流量被限制在主机和mozilla.cloudflare-dns.com(2606:4700::6810:f8f9)这唯一的连接上。在这个场景下,可以通过主机名轻松识别流量,但是也有人可以通过运行自己的DoH服务器使得识别难度增加。

在进一步的分析中,Ullrich发现DoH的payload长度同样可以被用于识别流量。DNS请求和回复一般不超过数百字节,但是HTTPS连接的长度往往会达到最大传输单元长度(Maximum Transmission Unit, MTU)。从这方面来看,Ullrich认为“一旦你看到了高持续的TLS连接,而payload长度很少超过1KB,那这很有可能是一个DoH连接”。

不过,考虑到只监测了数分钟的流量,该实验的结果并非是完善确凿的。但是,实验依然显示出DoH的流量能被轻易识别。最后,Ullrich也表示,部分的结论可能是因为自己的配置因素导致,但是如果进行更多的实验就能发现更多结论性的成果。

声明:本文来自数世咨询,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。