十种常见的DNS攻击类型

文章目录

  • 前言
  • 一、十种常见的DNS攻击情况
    • (一)DNS缓存投毒攻击
      • 攻击原理
      • 防护建议
    • (二)分布式反射拒绝服务
      • 攻击原理
      • 防护建议
    • (三)DNS隧道攻击
      • 攻击原理
      • 防护建议
    • (四)TCP SYN洪水攻击
      • 攻击原理
      • 防护建议
    • (五)DNS劫持攻击
      • 攻击原理
      • 防护建议
    • (六)幻域攻击
      • 防护建议
    • (七)DNS 洪水攻击
      • 攻击原理
      • 防护建议
    • (八)随机子域攻击
      • 攻击原理
      • 防护建议
    • (九)僵尸网络攻击
      • 攻击原理
      • 防护建议
    • (十)域名(Domain)劫持
      • 攻击原理
      • 防护建议


前言

针对域名系统(DNS)的攻击,已经成为制约企业数字化转型的一个严重问题,每年都有数千个网站成为DNS攻击的受害者。

最新的研究数据表明,2023年企业组织与DNS攻击相关的损失同比增加了49%,这些损失不仅体现在企业的财务方面,还包括对内部系统、云上应用、商誉上造成的损害。
在这里插入图片描述


一、十种常见的DNS攻击情况

(一)DNS缓存投毒攻击

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

攻击原理

(1)DNS缓存允许DNS解析器临时存储域名与IP地址的对应关系。
(2)攻击者利用DNS缓存投毒攻击,向DNS解析器或目标设备发送虚假的DNS响应,假冒真实的DNS服务器。
(3)攻击者试图将虚假的DNS记录放入目标设备的DNS缓存中。
(4)DNS消息具有事务ID,用于将响应与相关的请求进行匹配。

防护建议

(1)及时更新和修补系统
(2)使用可信赖的DNS服务器
(3)实施DNSSEC(DNS安全扩展)
(4)监控DNS流量
(5)配置防火墙和入侵检测/防御系统
(6)加密DNS流量

(二)分布式反射拒绝服务

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

攻击原理

(1)DDoS攻击利用网络协议的特点,使得一个小的请求能够引发巨大的响应。
(2)攻击流量并不直接从攻击者发送到受害者,而是发送请求到互联网上的弱点服务器或设备,这些服务器或设备会以更多的流量作出响应。
(3)攻击者会通过僵尸网络(botnet)发起DDoS攻击。

防护建议

(1)将服务器放置在不同的数据中心。
(2)确保数据中心位于不同的网络上。
(3)确保数据中心具有多个可访问路径。
(4)确保数据中心或与数据中心相关联的网络没有严重的安全漏洞或单点故障。

(三)DNS隧道攻击

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

攻击原理

(1)域名系统中的隧道需要隐藏不属于 DNS 查询或答案的信息。
(2)DNS 隧道利用 DNS 协议,该协议主要用于域名解析,其目的不是预期的原因。
(3)使用 DNS 隧道,可以在常规 DNS 流量中建立秘密的通信路径。
(4)通过DNS隧道,可以从受感染的网络或系统中提取私密数据。

防护建议

(1)创建访问规则。
(2)创建协议对象。
(3)创建应用程序规则。

(四)TCP SYN洪水攻击

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

攻击原理

(1)TCP过程有三个步骤:SYN、SYN-ACK 和 ACK。
(2)攻击者向目标服务器发送大量 SYN(同步)数据包,同时表示他们想要建立新的连接。
(3)目标服务器为每个传入的 SYN 数据包提供系统资源,如 RAM 和有关连接状态的详细信息。
(4)攻击者经常伪造SYN数据包中的原始IP地址,以增加发现和阻止的难度。
(5)保留了太多半开放的链接,这给目标系统的内存、CPU 和连接状态表造成过大的压力。

防护建议

(1)提供对内联和离线部署的适当支持,以确保网络上不存在单一的崩溃点。
(2)能够查看和检查来自网络各个部分的流量。
(3)不同的威胁情报来源,包括统计异常检测、可自定义的入口警报和已知威胁的指纹,确保快速可靠的检测。
(4)可扩展以处理各种规模的攻击,从低端到高端,从高端到低端。

(五)DNS劫持攻击

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

攻击原理

(1)攻击者通过未经许可进入 DNS 服务器或管理界面来更改域的 DNS 记录。
(2)DNS黑客可用于诱骗人们访问看起来很像真实网站的虚假网站。
(3)攻击者可以将人员发送到恶意网站或内部漏洞利用工具包。
(4)在一些DNS劫持攻击中,官方DNS服务器或互联网服务提供商(ISP)的DNS解析器被黑客入侵。

防护建议

(1)检查网络上的解析器。
(2)严格限制对名称服务器的访问。
(3)采取措施防范缓存污染。
(4)即时修补已知漏洞。
(5)分隔权威名称来自解析程序的服务器。
(6)限制区域的更改。

(六)幻域攻击

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

防护建议

(1)增加递归客户端数量。
(2)使用参数的正确顺序以获得最佳结果。
(3)限制每个服务器的递归查询和每个区域的递归查询。
(4)启用对不响应的服务器的抑制,并检查每个区域的递归查询。

(七)DNS 洪水攻击

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

攻击原理

(1)尝试通过一次性发送大量DNS请求来破坏DNS服务器或系统;
(2)用户数据报协议(UDP)和传输控制协议(TCP)都可以用于进行DNS洪水攻击;
(3)通过使用不安全的DNS解析器或合法DNS服务器来增加发送的数据量。

防护建议

(1)任何存储在DNS中并成为分布式拒绝服务(DDoS)洪水攻击目标的域名信息都将无法访问。
(2)定期更新旧信息,并跟踪在许多DNS提供商中接收到最多查询的域名。

(八)随机子域攻击

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

攻击原理

(1)攻击者可以通过随机子域名攻击在现有域名上创建大量子域;
(2)作为快速流转方法的一部分,攻击者会非常快速地更改与子域名相关联的IP地址;
(3)攻击者使用DGA(域名生成算法)创建大量看似随机选择的域名或子域;
(4)在随机子域攻击中,随机创建的子域名可能托管恶意软件或其他有害内容。

防护建议

(1)了解与受害者相关的解析器和网络资源产生大量流量的攻击技术
(2)了解保护激发攻击的DNS解析器的现代功能,如响应速率限制

(九)僵尸网络攻击

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

攻击原理

(1)当许多计算机感染类似机器人或僵尸等软件时,它们会形成僵尸网络。
(2)僵尸网络由攻击者通常保持的中央命令和控制计算机运行。
(3)攻击者可以使用僵尸网络同时控制许多被黑客入侵设备的操作,从不同的地方发起协同攻击。
(4)分布式拒绝服务 (DDoS) 攻击通常利用僵尸网络发动。

防护建议

(1)正确了解漏洞。
(2)保护 IoT 设备。
(3)确定缓解措施是否真实可行。
(4)发现、分类和控制漏洞。

(十)域名(Domain)劫持

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

攻击原理

(1)域名劫持是指某人非法夺取合法所有者的域名所有权。
(2)如果攻击者控制了域名,他们可以更改其DNS设置。
(3)攻击者可能添加新的子域名或更改现有的子域名,以使他们的恶意行为更加有效。

防护建议

(1)升级应用程序基础结构中的 DNS。
(2)使用DNSSEC(DNS安全扩展)。
(3)保护访问权限。
(4)启用客户端锁定功能。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/326213.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】八大排序之快速排序算法

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.快速排序简介及思路 二.快速排序代码实现的三种方式 📌左右交换法 📌挖坑填坑法 📌前后指针法 三.快速排序的时间复杂度分析…

读算法霸权笔记12_数据科学

1. 公平与公正 1.1. 公平大多数时候只是副产品 1.2. 由贪婪或偏见导致的不公正一直发生在我们身边 1.2.1. 如果承认法律面前人人平等,或者作为选民的大众应该被平等对待,我们就不能允许模型把我们分为不同的群体进行区别对待 1.3. 对于数学模型来说&…

学习Redis缓存

学习Redis缓存 NoSQL和SQL的区别缓存缓存作用缓存成本添加Redis缓存 Redis特征Redis中数据结构Redis通用命令String类型Key的层级格式Hash类型Redis的Java客户端 NoSQL和SQL的区别 缓存 缓存就是数据交换的缓冲区,是存储数据的临时地方,一般读写性比较高…

香橙派5b 移植 imx415

香橙派5b 移植 imx415 镜头配置 Sensor选用如下型号:香橙派OrangePi_5 RK3588S IMX415 我使用的时候更换了镜头,将该sensor装在了我的变焦780模组上,经过后续测试因为CAM1相对稳定,所以安装在CAM1。安装位置如下: 配…

三英战吕布web3游戏项目启动全流程

项目是一个学习相关的很好的例子并且开源,原本的项目是连接goerli网络,但我把它修改为可连接ganache网络的项目了,更方便启动。 智能合约部分 进入文件 hardhat.config.js ,增加一个钱包私钥 2.执行npm install 3.测试合约 npx ha…

分解质因数算法总结

知识概览 n中最多只包含一个大于的质因子。 例题展示 题目链接 活动 - AcWing 系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。https://www.acwing.com/problem/content/869/ 题解 分解质因数可以用试除法解决&…

高压放大器输出接法及其注意事项

高压放大器应用场景非常广泛,非常适用于半导体高压驱动、TFT产业高压驱动、各种高压工程等应用;也很适用当作音频信号产生器或函数波形产生器的波形放大使用。使用场景广泛,放大器的输出接法也多种,对于不同的放大器也有对应的输出…

计算机网络(7):网络安全

网络安全问题 计算机网络上的通信面临以下的四种威胁: (1)截获(interception)攻击者从网络上窃听他人的通信内容。 (2)中断(interruption)攻击者有意中断他人在网络上的通信。 (3)篡改(modification)攻击者故意篡改网络上传送的报文。 (4)伪造(fabrication)攻击者伪造信息在网…

【Pytorch】学习记录分享10——TextCNN用于文本分类处理

【Pytorch】学习记录分享10——PyTorchTextCNN用于文本分类处理 1. TextCNN用于文本分类2. 代码实现 1. TextCNN用于文本分类 具体流程: 2. 代码实现 # coding: UTF-8 import torch import torch.nn as nn import torch.nn.functional as F import numpy as np…

Python接口自动化-参数关联(超详细的)

前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 (博客园的登录机制已经变了,不能用账号和密…

java.lang.NoSuchFieldError: No static field xxx of type I in class

问题描述 将Library编译成 aar导入到另一个项目中依赖成功,编译成功,运行打开发生了崩溃异常如下图: 原因分析: 异常错误提示找不到id为recycler_1的控件了,我的Library中recycler_1控件是在MainActivity的xml中使用的&#xff0c…

Redis高级特性和应用(慢查询、Pipeline、事务、Lua)

Redis的慢查询 许多存储系统(例如 MySQL)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录下来,Redis也提供了类似…