这10种 DNS 攻击类型,运维工程师都需要关注
2024-1-19 08:2:42 Author: Docker中文社区(查看原文) 阅读量:7 收藏

目前,针对域名系统(DNS)的攻击已经成为企业组织数字化发展中的一个严重问题,每年都有数千个网站成为此类攻击的受害者。据最近的研究数据显示,2023年企业组织与DNS攻击相关的损失同比增加了49%,这些损失不仅是在企业的财务方面,还包括对组织内部系统和云上应用造成的损害。

企业如果要保护网络免受此类攻击,前提就是要了解不同类型的DNS攻击,并找到相对应的缓解方法。在本文中,研究人员详细介绍了当前最危险的10种DNS攻击类型以及原理,并给出了相应的预防建议。

1、DNS缓存投毒攻击

DNS缓存投毒是指在用户访问合法网站时,诱使其访问欺诈性网站。例如当用户需要访问 http://gmail.com查看电子邮件时,攻击者通过破坏DNS,显示了一个欺诈性网站而不是 http://gmail.com页面,以此来获取对受害者电子邮件账户的访问权限。

攻击原理

●DNS缓存允许DNS解析器临时存储域名与IP地址的对应关系。

●攻击者利用DNS缓存投毒攻击,向DNS解析器或目标设备发送虚假的DNS响应,假冒真实的DNS服务器

●攻击者试图将虚假的DNS记录放入目标设备的DNS缓存中。

●DNS消息具有事务ID,用于将响应与相关的请求进行匹配。

防护建议

●及时更新和修补系统

●使用可信赖的DNS服务器

●实施DNSSEC(DNS安全扩展)

●监控DNS流量

●配置防火墙和入侵检测/防御系统

●加密DNS流量

2、分布式反射拒绝服务

分布式反射式拒绝服务(DRDoS)的攻击手法是通过发送大量UDP确认消息使目标不可用。在某些情况下,攻击者还可能会修改DNS、NTP等记录。为了能够将实际操作在伪造地址上的主机与更多的确认消息关联起来,攻击者需要使用伪造的源IP地址。当这些伪造的确认消息开始出现时,目标系统将变得难以访问。当这些攻击以适当的规模进行控制时,集体反射的情况就会变得明显,即多个终端广播伪造的UDP请求,生成的确认消息将指向单个目标。

攻击原理

●DDoS攻击利用网络协议的特点,使得一个小的请求能够引发巨大的响应。

●攻击流量并不直接从攻击者发送到受害者,而是发送请求到互联网上的弱点服务器或设备,这些服务器或设备会以更多的流量作出响应。

●攻击者会通过僵尸网络(botnet)发起DDoS攻击。

防护建议

●将服务器放置在不同的数据中心。

●确保数据中心位于不同的网络上。

●确保数据中心具有多个可访问路径。

●确保数据中心或与数据中心相关联的网络没有严重的安全漏洞或单点故障。

3、DNS隧道攻击

这种网络攻击利用 DNS 确认和查询通道,从多个应用程序传输编码数据。虽然它从未被广泛使用,但研究人员发现这项技术现在开始被攻击者关注,因为它能够规避接口保护措施,而入侵者必需要对目标系统、域名和 DNS 权威服务器进行物理访问才能进行 DNS 隧道攻击。

攻击原理

●域名系统中的隧道需要隐藏不属于 DNS 查询或答案的信息。

●DNS 隧道利用 DNS 协议,该协议主要用于域名解析,其目的不是预期的原因。

●使用 DNS 隧道,可以在常规 DNS 流量中建立秘密的通信路径。

●通过DNS隧道,可以从受感染的网络或系统中提取私密数据。

防护建议

●创建访问规则。

●创建协议对象。

●创建应用程序规则。

4、TCP SYN洪水攻击

TCP SYN洪水攻击是一种危险的拒绝服务(DDoS)攻击,可以破坏使用传输控制协议(TCP)进行互联网通信的任何服务。常见的基础设施组件,如负载均衡器、防火墙、入侵防御系统(IPS)和利用服务器,都可能容易受到SYN波攻击的影响,即使是设计用于管理数百万个连接的高容量设备也可能因这种攻击而瘫痪。

攻击原理

●TCP过程有三个步骤:SYN、SYN-ACK 和 ACK。

●攻击者向目标服务器发送大量 SYN(同步)数据包,同时表示他们想要建立新的连接。

●目标服务器为每个传入的 SYN 数据包提供系统资源,如 RAM 和有关连接状态的详细信息。

●攻击者经常伪造SYN数据包中的原始IP地址,以增加发现和阻止的难度。

●保留了太多半开放的链接,这给目标系统的内存、CPU 和连接状态表造成过大的压力。

防护建议

●提供对内联和离线部署的适当支持,以确保网络上不存在单一的崩溃点。

●能够查看和检查来自网络各个部分的流量。

●不同的威胁情报来源,包括统计异常检测、可自定义的入口警报和已知威胁的指纹,确保快速可靠的检测。

●可扩展以处理各种规模的攻击,从低端到高端,从高端到低端。

5、DNS劫持攻击

DNS 劫持攻击在网络犯罪领域也很常见。发生DNS劫持攻击时,攻击者会操纵域名查询的解析服务,导致访问被恶意定向至他们控制的非法服务器,这也被成为DNS投毒或DNS重定向攻击。除了实施网络钓鱼活动的黑客外,这还可能由信誉良好的实体(比如ISP)完成,其这么做是为了收集信息,用于统计数据、展示广告及其他用途。

攻击原理

●攻击者通过未经许可进入 DNS 服务器或管理界面来更改域的 DNS 记录。

●DNS黑客可用于诱骗人们访问看起来很像真实网站的虚假网站。

●攻击者可以将人员发送到恶意网站或内部漏洞利用工具包。

●在一些DNS劫持攻击中,官方DNS服务器或互联网服务提供商(ISP)的DNS解析器被黑客入侵。

防护建议

●检查网络上的解析器。

●严格限制对名称服务器的访问。

●采取措施防范缓存污染。

●即时修补已知漏洞。

●分隔权威名称来自解析程序的服务器。

●限制区域的更改。

6、幻域攻击

幻域攻击与普通子域名攻击类似,在这种类型的攻击中,由于一些“幻影”域名从不响应DNS查询,攻击者会通过大量查询耗尽DNS解析器的资源。这种攻击的目的是使DNS解析器在放弃或提供不良响应之前等待过长的时间,从而大量影响DNS的性能。

防护建议

●增加递归客户端数量。

●使用参数的正确顺序以获得最佳结果。

●限制每个服务器的递归查询和每个区域的递归查询。
●启用对不响应的服务器的抑制,并检查每个区域的递归查询。

7、DNS 洪水攻击

DNS洪水攻击属于分布式拒绝服务(DDoS)攻击的一种,主要目标是使服务器访问过载,使其无法继续为DNS请求提供服务。当这种类型的攻击来自单个 IP地址时很容易缓解。然而,当 DDoS 涉及数百或数千人时,情况可能会变得复杂。缓解方法有时可能很棘手,因为许多查询会很快被识别为恶意错误,并且会发出许多有效的请求来混淆防御设备。

攻击原理

●尝试通过一次性发送大量DNS请求来破坏DNS服务器或系统;

●用户数据报协议(UDP)和传输控制协议(TCP)都可以用于进行DNS洪水攻击;

●通过使用不安全的DNS解析器或合法DNS服务器来增加发送的数据量。

防护建议

●任何存储在DNS中并成为分布式拒绝服务(DDoS)洪水攻击目标的域名信息都将无法访问。

●定期更新旧信息,并跟踪在许多DNS提供商中接收到最多查询的域名。

8、随机子域攻击

随机子域名攻击的构造与简单的拒绝服务攻击(DoS)基本相同,因此通常被视为DoS攻击。此类攻击的目标是创建一个拒绝服务(DoS)攻击,以超负荷运行负责处理主域名的官方DNS服务器,从而阻止DNS记录的查询。这些请求通常将来被感染的访问用户,他们并不知道自己在发送特定类型的查询,使得这种攻击很难被识别和阻止。

攻击原理

●攻击者可以通过随机子域名攻击在现有域名上创建大量子域;

●作为快速流转方法的一部分,攻击者会非常快速地更改与子域名相关联的IP地址;

●攻击者使用DGA(域名生成算法)创建大量看似随机选择的域名或子域;

●在随机子域攻击中,随机创建的子域名可能托管恶意软件或其他有害内容。

防护建议

●了解与受害者相关的解析器和网络资源产生大量流量的攻击技术

●了解保护激发攻击的DNS解析器的现代功能,如响应速率限制

9、僵尸网络攻击

僵尸网络是一组受感染的 Internet 连接设备,可用于发起协调的拒绝服务攻击,在此期间,受感染的设备可用于窃取信息、发送垃圾邮件,并授予攻击者对受感染设备及其网络连接的完全控制权。

攻击原理

●当许多计算机感染类似机器人或僵尸等软件时,它们会形成僵尸网络。

●僵尸网络由攻击者通常保持的中央命令和控制计算机运行。

●攻击者可以使用僵尸网络同时控制许多被黑客入侵设备的操作,从不同的地方发起协同攻击。

●分布式拒绝服务 (DDoS) 攻击通常利用僵尸网络发动。

防护建议

●正确了解漏洞。

●保护 IoT 设备。

●确定缓解措施是否真实可行。

●发现、分类和控制漏洞。

10、域名(Domain)劫持

在这种攻击中,攻击者会修改域名注册商和 DNS 服务器,以便将用户的流量重新路由到其他地方。如果攻击者获得了DNS 数据的控制权,则域名劫持也可能发生在 DNS层面上。当攻击者控制用户的域名时,他们可以使用它来发起攻击,例如为 PayPal、Visa 或银行系统等支付系统设置虚假页面。

攻击原理

●域名劫持是指某人非法夺取合法所有者的域名所有权。

●如果攻击者控制了域名,他们可以更改其DNS设置。

●攻击者可能添加新的子域名或更改现有的子域名,以使他们的恶意行为更加有效。

防护建议

●升级应用程序基础结构中的 DNS。

●使用DNSSEC(DNS安全扩展)。

●保护访问权限。

●启用客户端锁定功能。

原文:https://blog.51cto.com/atomguo/9139559,版权归原作者所有。

推荐阅读 点击标题可跳转

《Docker是什么?》

《Kubernetes是什么?》

《Kubernetes和Docker到底有啥关系?》

《教你如何快捷的查询选择网络仓库镜像tag》

《Docker镜像进阶:了解其背后的技术原理》

《教你如何修改运行中的容器端口映射》

《k8s学习笔记:介绍&上手》

《k8s学习笔记:缩扩容&更新》

《Docker 基础用法和命令帮助》

《在K8S上搭建Redis集群》

《灰度部署、滚动部署、蓝绿部署》

《Docker垃圾清理》

《Kubernetes(k8s)底层网络原理刨析》

《容器环境下Node.js的内存管理》

《Linux 与 Unix 到底有什么不同?》

《浅谈几种常见 RAID 的异同》

《Docker中Image、Container与Volume的迁移》

《漫画|如何用Kubernetes搞定CICD》

《写给前端的Docker实战教程》

《16个概念带你入门 Kubernetes》


免责声明:本文内容来源于网络,所载内容仅供参考。转载仅为学习和交流之目的,如无意中侵犯您的合法权益,请及时联系Docker中文社区!



文章来源: http://mp.weixin.qq.com/s?__biz=MzI1NzI5NDM4Mw==&mid=2247496718&idx=1&sn=969f42aeea01079c1bd8e484be51e1ff&chksm=eb305bcb311c370a164e3e5c5eb51bc9ad68a7f5a5b43a805edfeedb3c42fb212ffb07debbdb&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh