写点什么

DNS 的 5 种攻击形式和应对举措

  • 2020-09-16
  • 本文字数:1871 字

    阅读完需:约 6 分钟

DNS的5种攻击形式和应对举措

众所周知,DNS 是一种非常基本的协议/服务,它让互联网用户和网络设备能发现使用人类可读的域名,而非纯数字 IP 地址的网站。AWS 的这篇文章详细解释了 DNS 的工作原理。如果 DNS 服务受到攻击或无法正常工作,那么你的服务或网站很有可能无法访问。


在本篇博文中,我会详细解释 DNS 服务面临的主要威胁,以及相应的缓解策略。


文中使用的真实攻击数据和相关统计均来自 Imperva 云 WAF 保护服务。

DDoS

分布式拒绝服务(DDoS)会在攻击期间导致受害者服务无法访问。根据 Techradar 的这篇文章,DDoS 的受害者甚至包括前沿的云服务提供商,比如亚马逊 AWS。


对 DNS 基础设施上的 DDoS 攻击分为以下几种:

1. Straightforward/Naive DDoS

黑客使用僵尸网络创建不同端点,在同一时间段向受害者域名服务器直接发送海量 DNS 请求。


这种攻击会在短时间内产生大量流量,利用无数请求堵塞 DNS 服务器,让其无法响应,从而达到拒绝正常用户访问的目的。

缓解措施

通过使用基于硬件的网络设备或云服务解决方案可以过滤或限制网络流量。在一场 naive DDoS 攻击中,攻击者不会欺骗源 IP,用于攻击的源数量也有限制。因此,限制策略可以是拦截攻击者使用的 IP。

2. IP 欺骗

DNS 默认依赖 UDP 协议,而由于 UDP 本身的特性导致,只需伪造数据包的 IP 地址,便可以轻易将源 IP 换成随机 IP。在这种情况下,拦截 IP 地址变成了无用功,我们需要求助于别的方案。

缓解措施

使用 DNS 缓存服务器吸收大部分的 DNS 流量。


DDoS 攻击者通常会使用不存在的域名以确保解析器会转发请求,已存在域名有可能会被保存在缓存中,这样的请求是不会被转发的。针对这种情况,我们建议在 DNS 缓存服务器中使用以下措施来限制来自不存在域名的 DNS 请求转发率。


如果传入请求的总数量超过阈值,则要求客户端从 UDP 切换到 TCP。切换后,由于 TCP 需要三次握手,则可以避免源 IP 欺骗。


下图显示了受到 Imperva 保护的权威 DNS 服务器在遭到一次 DDoS 攻击时的表现:



这次攻击持续了 24 小时,Imperva 的 DNS 代理通过过滤和限制传递到服务器的请求速率来缓解 DDoS 攻击。因此,服务器收到的请求速率没有超过配置阈值,超过这个限制的恶意流量会被拦截。

3. 反射型 DDoS

攻击者不仅会欺骗源 IP,连目的地 IP 也不会放过。来自正常 DNS 解析器的 DNS 回答会被发回给受害者(被欺骗的 IP),而不是原攻击者的 IP,从而导致受害者受到 DDoS 攻击。



这类攻击模式会放大 DDoS 的影响:黑客精心设计了能触发大量 DNS 回答的 DNS 请求,从而达到扩大伤害的效果。举例来说,“ANY”类请求或具有多个 DNS 记录的请求将触发大量 DNS 回答。


在这种情况下,合法的 DNS 服务器反而会协助攻击。

缓解措施

限制同一 IP 地址的 DNS 请求/回答速率。


因为 DNS 解析器会使用缓存,所以理论上来讲,请求转发率会十分低,一定的频率限制应当会有效。


下图显示了一位受到 Imperva 保护的客户基础架构,在遭到严重 DDoS 综合攻击后的表现:



在这次 DDoS 攻击中,黑客使用了两种不同方式:


  • 反射并放大 DNS 的 DDoS 攻击:70 Gbps 的 DNS 应答数据包,图中以黄色表示

  • UDP 欺骗 DDoS 攻击:30 Gbps 的 UDP 数据包,图中以蓝色表示


二者相结合,黑客成功实施了 100 Gbps 的 DDoS 攻击。


在这次攻击中,DNS 应答数据包平均是 1400 bytes,使得攻击的放大倍数为 20。通过利用 3.5 Gbps 带宽的 DNS 请求,黑客设法将 DNS 反射型 DDoS 攻击放大到 70 Gbps。反射型攻击方法非常普遍且强大。

4. 缓存投毒

与目标在于阻塞 DNS 服务器的 DDoS 攻击不同,缓存投毒的目标是将访客从真正的网站重定向到恶意网站。


攻击阶段

  1. 黑客发送 DNS 请求到 DNS 解析器,解析器会转发请求到 Root/TLD/权威 DNS 服务器并等待回答。

  2. 黑客随后发送大量包含恶意 IP 地址的投毒响应到 DNS 服务器。黑客需要抢在权威 DNS 回答之前用伪造响应命中正确的端口与查询 ID,这一步可以通过蛮力来提高成功机会。

  3. 任何正常用户请求该 DNS 解析器都会得到缓存中被投毒的响应,然后被重定向到恶意网站。

缓解措施

  • 使用 DNSSEC。DNSSEC 通过提供签名过的 DNS 回答来阻止这类攻击。使用 DNSSEC 的 DNS 解析器会验证其从 Root/Top Level Domain (TLD)/权威 DNS 服务器得到的签名响应。

  • 下列措施可以让黑客更难成功:

  • 对每条请求使用随机查询 ID

  • 对每条请求使用随机源端口

  • 丢弃重复的转发请求

  • 确保响应中所有区域均与请求相符合:query ID、name、class 和 type


详细清单请查看这篇文章

结论

为确保网站的基础功能可以正常运转,网站管理者应确保 DNS 服务能正常工作,并避免受到上述攻击。


原文地址:


https://www.imperva.com/blog/why-should-you-worry-about-dns-attacks/


2020-09-16 08:007312
用户头像

发布了 197 篇内容, 共 134.5 次阅读, 收获喜欢 219 次。

关注

评论

发布
暂无评论
发现更多内容

阿里云与达摩院合作 AHPA 弹性预测论文被顶会 ICDE 录用

阿里巴巴云原生

新闻速递 I MobTech首席数据官杨冠军受CSDN之邀,探索企业数字化转型最佳路径

MobTech袤博科技

数字化转型 企业 数智未来

Whats On Tap | Tapdata Cloud 如何助力大型家居连锁商城推进数字化经营?

tapdata

AI 加持实时互动|ZegoAvatar ⾯部表情随动技术解析

ZEGO即构

计算机视觉 即构科技 Avatar

netty系列之:netty中的核心MessageToByte编码器

程序那些事

Java Netty 程序那些事 4月月更

Flutter 简单实用的 fluro 路由管理插件简介

岛上码农

flutter 大前端 ios开发 安卓开发 跨平台开发

计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解

喀拉峻

网络安全 IP

前端食堂技术周刊第 31 期:Vue 3、Vitest 中文文档上线、Pinia 正式成为 Vue 官方默认推荐的状态管理库、Vite v2.9.0

童欧巴

JavaScript 前端 Web web前端 前端工程师

Redis集群架构剖析(4):槽位迁移,重新分配

非晓为骁

redis 分布式架构 redis cluster

Rust中值销毁前的清理动作

Shine

rust

软件设计模式:适配器模式

正向成长

设计模式 适配器模式

北京市支援合作办公室党组书记、主任丁勇一行到正镶白旗调研京蒙协作工作

科技大数据

Linux之lastb命令

入门小站

完美结合,10款提升编程能力的游戏项目!

Jackpop

津厦两地托育行业发展线上视频交流会成功召开

InfoQ 天津

中国信通院联合OpenMLDB邀您参加《开源数据库发展研究报告》调研问卷

第四范式开发者社区

数据库 大数据 开源

信通院牵头数列科技参与主编的《信息系统稳定性保障能力建设指南》正式发布

TakinTalks稳定性社区

在线JSON压缩工具

入门小站

工具

在线正则表达式可视化测试工具

入门小站

工具

吹爆Python,解决了10个痛苦已久的难题

Jackpop

持续精进,性能突破,openGauss 3.0社区版正式发布

Geek_32c4d0

GaussDB(for openGauss) 社区版

Redis(二)分布式锁与Redis集群搭建

神农写代码

2022第12周-程序接盘侠

李印

离职交接

《数据密集型型系统设计》LSM-Tree VS BTree

懒时小窝

哈希 B-tree 列式存储 LSM-Tree

好身体,从增加睡眠时间开始

石云升

睡眠 4月月更

【限时免费】阿里云 ACR EE 增强型扫描引擎限时体验中,多维度保障容器镜像安全

阿里巴巴云原生

一文浅谈:我们为什么需要云原生

穿过生命散发芬芳

4月月更

Tapdata Cloud 2.1.2 来啦:大波细节已就绪!字段类型可批量修改、支持微信扫码登录、新增支持 Vika 为目标

tapdata

沙龙:如何使信息系统更加稳定

博睿数据

模块二:作业微信朋友圈的高性能复杂度

本人法海

「架构实战营」

东方园林应邀参加人民网《人民会客厅——两会时刻》栏目访谈

科技大数据

DNS的5种攻击形式和应对举措_安全_Michael Soikis_InfoQ精选文章