前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?

DoH这个词对于很多安全从业人员并不是个新词,但对其前世今生能洞若观火的却不多。本期前瞻洞察将从DNS的隐私与安全问题出发,讲述DoH为什么诞生,DoH的出现到底利弊几何,对其弊端如何应对。为了便于读者理解对于“何为隐蔽隧道“DoH如何成为隐蔽隧道的利器”这些基础性的问题也进行阐述

一、传统DNS的隐私与安全问题催生安全DNS技术

DNS应该是家喻户晓的一个名词了中文名叫作域名系统用来实现域名和IP地址的映射,是互联网不可或缺的基石。DNS明文传输机制便于防火墙等安全设备进行安全检查和审计,但导致了严重的隐私问题和新的安全问题。先说说隐私问题,由于我们日常的DNS请求都经过运营商(ISP)明文传输的DNS信息在运营商那里都是全部公开透明的用户毫无隐私可言即使我们无条件相信运营商不会滥用我们的隐私数据,那么在整个互联网里明文传输的DNS信息也难免被第三方合法地、非法地窃听,后果难以意料。除了隐私问题,明文DNS还存在安全问题,比如域名劫持、重定向、钓鱼等。比如你明明在浏览器输入的是招商银行但却有可能被劫持到一个外观同招商银行一样的钓鱼网站已经有充分的证据表明 [1],DNS流量被用于非安全目的的过度审查、监管和其他非法目的。

由于安全性和隐私性的考量,对DNS进行加密的技术和方案并不少见。最早的有DNSSEC和DNSCrypt。

DNSSEC [2]通过增加签名验签机制以保护DNS数据的完整性,从而防止中间人攻击,但是DNS数据在网络流量中依然是明文格式,不能解决DNS数据机密性的问题。

DNSCrypt[3] 通过开源社区发起,同时解决了DNS数据的完整性和机密性,但是并没有提出RFC标准建议,且网络应用对其支持非常有限。

DNS over TLS (DoT) [4]于2016年正式提出并发布了RFC标准,DoT通过TLS协议对DNS请求和响应进行加密和封装,并工作于853端口。由于DoT在专门的端口提供服务,很容易被防火墙和其他安全设备识别、审查和阻断,可用性方面存在缺陷。

更引人注目和被寄予厚望的是本文的主角DNS over HTTPS (DoH)。这个方案获得IETF正式支持,于2018年10月发布了RFC 8484[5] 。DoH把DNS请求和响应数据包用HTTPS加密,从而防止第三方对明文DNS数据包的窃听和篡改。目前,DoH已经得到包括Cloudflare、Google、Quad9、阿里巴巴等代表性的公开DNS解析商的支持。主流浏览器(包括Chrome、Firefox、Edge等)和Windows11也正式支持了DoH。可以预计,尽管有监管机构和反隐私组织的反对和阻挠,DoH的使用率在未来依然会稳步提升。

二、DoH如何工作

DoH之所以被寄予厚望,主要原因是能良好融合到HTTP生态,网络应用对DoH的支持也更容易。得益于HTTP/2的特点,DoH可以允许服务端先发地把DNS响应push给客户端(早于客户端发起DNS请求),降低了DNS服务的时延,改善网络应用的性能。DoH将DNS请求和响应封装到HTTP请求的主体,客户端跟递归服务器之间建立一个TLS会话,通过HTTPS协议传输封装了DNS请求的HTTP请求。DoH的封装示意图见1

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第1张图片 图 1  DoH封装示意图

DoH的工作示意图见图 2。跟传统DNS相比,DoH 通过 443 端口的加密 HTTPS 连接接受 DNS 查询将其发送到兼容 DoH 的 DNS 服务器(解析器),而不是在 53 端口上发送纯文本。这样,DoH 就会在常规 HTTPS 流量中隐藏 DNS 查询,因此第三方监听者将无法嗅探流量,无法获悉用户的 DNS 查询,也就无法推断他们将要访问的网站。

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第2张图片

图 2  DoH工作示意图

三、DoH成为隐蔽隧道攻击的利器

成也萧何败也萧何。DoH虽然具备绝佳的隐私保护能力和安全能力获得用户的青睐也由于DoH被用于隐蔽隧道攻击而遭到政府机构和安全机构的警惕关注

将DoH隐蔽隧道攻击之前先说说DNS隐蔽隧道攻击

由于几乎所有的网络应用都依赖于DNS作为前置条件,防火墙通常开放53端口供DNS服务正常运行,客户端可以连接到内部的DNS服务器或者外部DNS服务器。这就从根源上导致了DNS被攻击者视为天然的、优质的隐蔽通道。

一个简单的DNS隧道攻击流程,见3:攻击者首先接管控制一个目标域名的Name Server(NS);客户端把C&C数据命令与控制或目标数据通过编码、加密、混淆等方法嵌入到一个DNS请求的子域名中;在一个TTL窗口中(窗口大小由递归服务器确定),发起的DNS请求的域名的子域名只要是不重复的,那么递归服务器就查询不到缓存数据,就会把请求转到权威域名服务器,并通过NS指派解析到攻击者所控制的域名服务器,攻击者就能收到C&C数据或者目标数据;攻击者在DNS响应数据包里同样可以嵌入C&C数据或者目标数据,并送达客户端。见45示意。

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第3张图片

 图 3  DNS隧道拓扑图

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第4张图片

 图 4  通过DNS隧道获取控制命令示意

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第5张图片

 图 5  通过DNS隧道回传窃密信息示意

DNS 隧道可以利用多种记录类型来传输数据,例如 A、MX、CNAME、TXT、 NULL 等,见1

表 1  资源记录类型

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第6张图片

 

DNS 隧道的实现工具有很多,2介绍了三种常见的。

表 2  DNS隧道工具

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第7张图片

 

当DoH技术出现后,为上述的DNS隧道攻击提供了新的利器。基于DoH协议构建隐蔽隧道,不仅通信内容可基于HTTPS协议加密,而且与高可信DoH服务的通信(而非本地DNS服务器)不会引发异常行为,避免了基于DNS的恶意行为检测机制。

随着DoH的使用范围日益扩大,基于DoH的隧道攻击势必成为网络安全领域十分棘手的问题。这个威胁并不是针对未来形势耸人听闻的预判,而是已经成为现实的威胁。利用DoH隧道实施数据外传的首款恶意软件Godlua在2019年被披露[6];利用DoH实施数据外传的APT组织(APT34)在2020年被披露[7];其他利用DoH隧道技术进行攻击的研究和开源项目参考[8][9][10]

四、DoH流量识别技术

为了检测DoH隐蔽隧道攻击需要做两件事由于DoH流量隐藏在HTTPS加密流量中,首要任务需要把DoH流量识别出来。

来自SANS协会的Hjelm [11]提出了一种识别DoH行为模式的RITA框架,这种方法不采用网络流量,而是采用Zeek IDS的用户日志;作者认为DoH具备规律的行为模式。

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第8张图片

 图 6  RITA实验环境示意图

但是,这个成果经过其他研究人员[12]进行复现发现,RITA并不能从HTTPS流量中识别DoH流量。

Patsakis等人[13]的研究主要集中在基于DNS隧道的DGA和僵尸网络的检测,也提到了DoH和DoT。作者利用Hodrick-Prescott滤波(H-P滤波)检测出基于DoH/DoT的僵尸网络规律的行为模式,并取得很好的效果,见7。但是,DoH往往不局限于僵尸网络场景,对于更一般的通用场景下,识别DoH流量更有迫切需求和研究价值。

 前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第9张图片

图 7  基于DNS隧道的DGA和僵尸网络的检测

Bushart等人[14]的研究聚焦于识别DoH流量,但局限在于仅仅通过已知的DoH服务商的IP地址进行识别。目前,越来越多的DNS服务商也开始提供DoH服务,且标准DNS和DoH服务都使用一致的IP地址,如谷歌的8.8.8.8、Cloudflare的1.1.1.1。这就使得这种基于IP地址的识别方法不再有效。

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第10张图片

图 8  基于已知DoH服务商IP地址的识别

五、DoH隧道攻击检测技术

DoH流量从浩瀚的HTTPS加密流量中识别出来之后还需要进一步区分这些DoH流量是良性的还是隐蔽隧道攻击

针对DoH隧道检测技术的研究并不多,大部分研究集中在传统的DNS隧道检测方面。

一些具备代表性的研究成果有:Paxson等人[15]研究开发了一种DNS隧道检测工具,计算DNS请求和响应数据包传递的信息量;Liu等人[16]利用DNS数据包的时间间隙、请求包大小等4个特征训练分类器,实现对DNS隧道的检测;文献[17]提出了一种称为Byte-level CNN的深度神经网络实现检测;Luo等人[18]提出一种可以检测利用A和AAAA资源记录的隧道攻击;Wu等人 采用一种半监督学习的自编码器实现流量特征自动提取,并检测隧道攻击。上述研究成果仅仅针对传统的、明文的DNS数据包发起的隧道攻击。

DoH流量的特征分析可以分为两个阶段:HTTPS客户端-服务端握手阶段、加密传输DNS请求应答阶段。在第一阶段的握手过程中,客户端和服务端之间有少量的数据包交互,且这些数据包包含了明文信息,可用于识别是什么应用发起了HTTPS连接。这个称为TLS指纹的一类技术是实现DoH识别、DoH隧道检测的基础性技术。

TLS指纹技术方面的研究成果颇丰。最具代表性的是Cisco的一些列研究成果[19][20][21][22],通过对大规模TLS流量的分析,得到恶意软件、企业应用如何使用TLS的模式,提出一种基于目的地上下文和先验知识的精确的TLS指纹生成方法。

考虑到互联网实际场景的复杂性、客户端到递归服务器链路的多样性,基于TLS指纹技术的分类器性能会存在下降。另外,从攻击者视角,攻击者会想方设法逃逸检测。因此,需要构建模拟一些实验场景,通过放大攻击者的逃逸能力从而寻找到DoH隧道检测性能的下确界。如果攻击者需要付出极高代价才能进行逃逸,就能说明DoH隧道检测的有效性。

为数不多且有一定代表性的针对DoH隧道检测的文献,是来自加拿大University of New Brunswick的研究[23],利用DoH流量特征和神经网络实现了99%的检测准确性。

前瞻洞察|DoH,隐蔽隧道又添利器,强盾在何方?_第11张图片

图 9  DoH隧道检测技术框架

六、总结——强盾在何方?

DoH的提出是隐私保护和安全提升的一个里程碑。但是,对于攻击者而言,把攻击活动隐藏到加密的DNS流量是个不错且必然的选择。由于DNS请求和响应的内容不再可见,现有基于域名特征的DNS隧道检测技术几乎全部失效。

构筑DoH隧道攻击的强盾,思路应聚焦于对加密DoH流量的特征分析。具体是采用各种机器学习模型,尤其是深度神经网络,对DoH流量的统计特征、时序特征进行分类。

需要强调的是,根据文献[24]的研究结论,对HTTPS加密流量进行代理解密会大幅降低连接的安全性。这种简单粗暴的代理解密方法难以持续。因此,采用中间人代理的方式对DoH流量进行解密从而把DoH隧道检测问题降级为传统DNS隧道检测的思路并不可行。

参考文献

  1. P. Pearce, B. Jones, F. Li, R. Ensafi, N. Feamster, N. Weaver, V. Paxson, Global measurement of DNS manipulation, in: 26th USENIX Security Symposium, USENIX Security, 2017, pp. 307–323.
  2. DNSSEC, https://www.dnssec.net/.
  3. DNScrypt, https://www.dnscrypt.org/.
  4. DNS over TLS (DoT), RFC7858, https://tools.ietf.org/html/rfc7858.
  5. DNS over HTTPS (DOH), RFC8484, https://tools.ietf.org/html/rfc8484
  6. First-ever malware strain spotted abusing new DoH (DNS over HTTPS) protocol, https://www.zdnet.com/article/first-ever-malware-strain-spotted-abusingnew-doh-dns-over-https-protocol/.
  7. Iranian hacker group becomes first known APT to weaponize DNS-over-HTTPS (DoH), https://www.zdnet.com/article/iranian-hacker-group-becomesfirst-known-apt-to-weaponize-dns-over-https-doh/.
  8. DNS exfiltration over DNS over HTTPS (DoH) with godoh, https://sensepost.com/blog/2018/waiting-for-godoh/
  9. Data exfiltration over DNS request covert channel, https://github.com/Arno0x/DNSExfiltrator.
  10. D. A. E. Haddon and H. Alkhateeb. 2019. Investigating Data Exfiltration in DNS Over HTTPS Queries. In 2019 IEEE 12th International Conference on Global Security, Safety and Sustainability (ICGS3).
  11. Drew Hjelm. 2019. A New Needle and Haystack: Detecting DNS over HTTPS Usage. (2019).
  12. D. Vekshin, K. Hynek, T. Cejka, DoH insight: detecting DNS over HTTPS by machine learning, in: Proceedings of the 15th International Conference on Availability, Reliability and Security, 2020, pp. 1–8.
  13. Constantinos Patsakis, Fran Casino, and Vasilios Katos. 2020. Encrypted and covert DNS queries for botnets: Challenges and countermeasures. Computers & Security 88 (2020), 101614.
  14. Jonas Bushart and Christian Rossow. 2019. Padding Ain’t Enough: Assessing the Privacy Guarantees of Encrypted DNS. arXiv preprint arXiv:1907.01317 (2019).
  15. V. Paxson, M. Christodorescu, M. Javed, J. Rao, R. Sailer, D.L. Schales, M. Stoecklin, K. Thomas, W. Venema, N. Weaver, Practical comprehensive bounds on surreptitious communication over DNS, in: 22nd USENIX Security Symposium, USENIX Security, 2013, pp. 17–32.
  16. J. Liu, S. Li, Y. Zhang, J. Xiao, P. Chang, C. Peng, Detecting DNS tunnel through binary-classification based on behavior features, in: 2017 IEEE Trustcom/BigDataSE/ICESS, IEEE, 2017, pp. 339–346.
  17. M. Luo, Q. Wang, Y. Yao, X. Wang, P. Yang, Z. Jiang, Towards comprehensive detection of DNS tunnels, in: IEEE Symposium on Computers and Communications, ISCC, IEEE, 2020, pp. 1–7.
  18. K. Wu, Y. Zhang, T. Yin, TDAE: Autoencoder-based automatic feature learning method for the detection of DNS tunnel, in: 2020 IEEE International Conference on Communications, ICC, IEEE, 2020, pp. 1–7.
  19. B. Anderson, D. McGrew, TLS beyond the browser: Combining end host and network data to understand application behavior, in: Proceedings of the Internet Measurement Conference, IMC, 2019, pp. 379–392.
  20. B. Anderson, D. McGrew, Machine learning for encrypted malware traffic classification: accounting for noisy labels and non-stationarity, in: Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD, 2017, pp. 1723–1732.
  21. B. Anderson, S. Paul, D. McGrew, Deciphering malware’s use of TLS (without decryption), J. Comput. Virol. Hacking Tech. 14 (3) (2018) 195–211.
  22. B. Anderson, D. McGrew, Accurate TLS fingerprinting using destination context and knowledge bases, 2020, arXiv preprint arXiv:2009.01939
  23. M. MontazeriShatoori, L. Davidson, G. Kaur, A.H. Lashkari, Detection of DoH tunnels using time-series classification of encrypted traffic, in: The 5th IEEE Cyber Science and Technology Congress, IEEE, 2020, pp. 63–70.
  24. Z. Durumeric, Z. Ma, D. Springall, R. Barnes, N. Sullivan, E. Bursztein, M. Bailey, J.A. Halderman, V. Paxson, The security impact of HTTPS interception, in: Network and Distributed System Security Symposium, NDSS, 2017.

你可能感兴趣的:(网络安全,网络安全)