TsuKing: Coordinating DNS Resolvers and Queries into Potent DoS Amplifiers

目录

  • 笔记
  • 后续的研究方向
  • 摘要
  • 引言
    • 之前的工作。
    • 我们的研究
    • 贡献

TsuKing: Coordinating DNS Resolvers and Queries into Potent DoS Amplifiers
CCS 2023

在这里插入图片描述

笔记

本文介绍了一种名为 TsuKing 的新型 DNS 放大攻击。与以前利用单个DNS解析器的攻击不同,TsuKing协调多个易受攻击的DNS解析器并精心构建的查询,以形成强大的DoS放大器。该攻击有三种变体:DNSRetry、DNSChain 和 DNSLoop,它们都利用不一致的 DNS 实现来实现显着的放大效果。作者进行了测量,发现大约14.5%的开放DNS解析器可能容易受到TsuKing的攻击。实际评估表明,攻击者可以使用 DNSChain 变体实现至少 3,700× 的数据包放大系数。作者已向受影响的供应商报告了漏洞,并收到了积极的回应,并分配了 3 个 CVE。该文件还提供了缓解建议。

大意:

  • TsuKing是一种新的DNS放大攻击,可以协调多个易受攻击的DNS解析器和查询。
  • 该攻击有三种变体:DNSRetry、DNSChain 和 DNSLoop。
  • 大约 14.5% 的开放 DNS 解析器可能容易受到 TsuKing 的攻击。
  • 攻击者可以使用 DNSChain 变体实现至少 3,700× 的数据包放大因子。
  • 已向受影响的供应商报告了漏洞,并分配了 3 个 CVE。
  • 已提供缓解建议。

后续的研究方向

  1. 开发缓解技术:探索和开发有效的缓解技术来防御 TsuKing 攻击。这可能涉及增强 DNS 解析器以检测和防止恶意查询的转发,在更广泛的 DNS 实现中实现负缓存,以及改进对 RD 标志的处理。

  2. 分析对互联网基础设施的影响:调查 TsuKing 攻击对互联网基础设施的潜在影响,包括 DNS 系统的可扩展性和弹性。这可能涉及分析 DNS 解析器在受到攻击时的性能,并评估现有防御机制的有效性。

  3. 研究经济影响:研究 TsuKing 攻击的经济影响,包括发动此类攻击的成本和受害者的潜在经济损失。这可能涉及分析攻击者发起 TsuKing 攻击的动机,并探索可能的经济对策。

  4. 评估对策的有效性:评估现有对策的有效性,例如限速、流量过滤和异常检测。这可能涉及进行实验和模拟,以评估这些对策减轻 TsuKing 攻击影响的能力。

  5. 调查其他潜在的攻击媒介:探索其他潜在的攻击媒介,这些攻击媒介可以与 TsuKing 攻击结合使用以扩大影响。这可能涉及分析其他网络协议和服务的漏洞,并评估它们遭受放大攻击的可能性。

  6. 评估法律和政策影响:研究 TsuKing 攻击的法律和政策影响,包括 DNS 运营商的责任以及可能需要采取监管措施来减轻此类攻击的影响。这可能涉及分析与 DNS 安全相关的现有法律和法规,并为政策制定者提出建议。

这些研究方向有助于更好地了解TsuKing攻击,并有助于制定有效的对策以减轻其影响。

摘要

在本文中,我们提出了一种新的DNS放大攻击,名为TsuKing。TsuKing没有单独利用单个DNS解析器来实现放大效果,而是巧妙地协调了许多易受攻击的DNS解析器,并将精心制作的查询组合在一起,形成了强大的DoS放大器。我们证明,使用TsuKing,初始的小放大因子可以通过协调放大器的内层呈指数级增加,从而导致极其强大的放大攻击。TsuKing有三种变体,包括DNSRetry、DNSChain和DNSLoop,所有这些变体都利用一套不一致的DNS实现来实现巨大的放大效果。通过全面的测量,我们发现130万个开放式DNS解析器中约有14.5%可能容易受到TsuKing的攻击。真实世界的受控评估表明,攻击者可以实现至少3700×(DNSChain)的数据包放大因子。我们已经向受影响的供应商报告了漏洞,并向他们提供了缓解建议。我们收到了6家供应商的积极回应,包括Unbound、MikroTik和AliDNS,并分配了3家CVE。其中一些正在执行我们的建议。

引言

作为互联网的基础设施,域名系统(DNS)负责映射域名和IP地址。它提供对多种网络服务的支持,如云托管[57]、证书颁发[58]和电子邮件身份验证[52]。

然而,DNS的设计缺乏足够的安全考虑,尽管它至关重要。潜在的问题之一是,响应包的大小可能比查询的大得多。此外,DNS是建立在无状态UDP之上的,攻击者可以利用它通过欺骗源地址来进行反射放大攻击。因此,数以千万计的域成为基于DNS的拒绝服务(DoS)攻击的受害者[9,48]。

随着DNS生态系统的发展,包括公共DNS服务的发展[44],DNS的结构变得越来越复杂,为通过DNS发起DoS攻击提供了更多机会。例如,根据Randall等人[44],谷歌公共DNS在世界各地有许多出口IP,每个出口IP都可以用来放大查询流量。尽管已经提出了DNS Cookie[4]等新技术来缓解此类攻击,但DNS仍面临着被TsuNAME[39]和其他放大攻击[51,55]等放大攻击作为目标或被用来发起放大攻击的新安全风险。

之前的工作。

关于放大攻击,基本上有两种方法可以增加放大因子:(i)一种是增加DNS响应包的大小以放大带宽,就像攻击一样使用ANY、TXT和DNSSEC查询[10,40,51];(ii)另一种是增加传出查询包的数量,例如利用NS和CNAME记录处理的漏洞[7,39]。然而,除了使用僵尸网络和源地址欺骗外,这些工作主要依靠单个易受攻击的解析器来进行放大攻击。安全社区已经设计了相应的技术来减少放大影响,例如拒绝ANY查询或限制查询数量[7,14,19,39],因此发起这些攻击变得更加困难。

我们的研究

在本文中,我们提出了一种新的DNS放大攻击,名为TsuKing。TsuKing没有专注于具有大放大能力的单个目标,而是通过巧妙地创建新的DNS解析路径,将大量可能具有小放大能力的易受攻击的DNS解析器协调为强大的DoS放大器。沿着这条路径,初始的小放大因子呈指数级增长到千倍大。TsuKing可以以较低的成本攻击范围广泛的受害者。TsuKing利用两种关键技术进行DNS放大攻击,可以概括为Tsu(Tsunami)和King[24]。Tsu技术增加了放大效果,而King技术将DNS解析器协调在一起。与King一样,它使用权威的名称服务器来指导DNS查询以测量任何IP地址之间的延迟,TsuKing也使用这样的名称服务器指导恶意的DNS查询和响应。对手使用精心编制的NS响应来操纵要在不同解析器之间转发的DNS查询,从而产生查询链或查询循环(King)。另一方面,解析器的重试机制与多个度一起生成额外的分组,从而导致放大(Tsu)。这种重试过程在链(环)上不断复制,导致逐级呈指数级放大(见第3节)。

基于这些技术,TsuKing有三种攻击变体:(i)DNSRetry使解析器积极重试,直接向受害者发送大量查询。(ii)DNSChain将易受攻击的解析器的数量协调到查询链中,以分层放大查询。它只需两台设备就可以发起DDoS攻击,比传统的基于僵尸网络的攻击更具成本效益。(iii)DNSLoop将许多易受攻击的解析器组装成查询循环,无限度地处理同一请求(见第4节)。

为了调查TsuKing在野外的影响,我们通过仔细扫描IPv4地址空间并考虑道德因素,收集了130万个开放式DNS解析程序。我们的分析表明,大约14.5%的DNS解析器容易受到TsuKing攻击。特别是,我们发现一些流行的公共DNS服务,如114DNS[3],容易受到TsuKing的攻击。通过实验和分析,我们发现许多广泛使用的DNS实现对TsuKing攻击构成了潜在风险(见第5节)。

我们在现实世界中对每种攻击变体进行了对照实验,以评估其可行性并提供深入分析。结果表明,攻击者可以简单地发起三种攻击变体,即使在小规模实验中,TsuKing也可以实现至少3700倍的数据包放大因子(PAF)(DNSChain攻击)。具体而言,这三种攻击变体达到638PAF(DNSRetry)、3700PAF(DNSChain),并在24小时内转发43190次攻击查询(DNSLoop)(见第6节)。

我们已经向受影响的供应商和服务提供商推荐了缓解解决方案,并提供了漏洞报告。所以到目前为止,我们已经收到了6家供应商的回复,包括Unbound、MikroTik和AliDNS等DNS软件和服务,他们都确认了该漏洞,并承诺提供修补代码来修复它。此外,TsuKing还获得了3个新的CVE号码(见第7节和第8节)。

贡献

新的威胁模型。我们提出了一种新的DNS扩增攻击威胁模型:TsuKing,它通过协调DNS解析器和查询来创建扩增攻击。

测量和评估。我们全面测量了影响TsuKing的实际因素,并通过广泛的评估确定了大量易受攻击的DNS解析器。

缓解和披露。我们向所有受影响的供应商提供了缓解解决方案和漏洞报告,并收到了他们的确认和修补计划。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Linux-实现小型日志系统

目录 一.日志 二.实现任意个数元素求和 三.编写一个日志函数 1.设置日志等级 2.设置日志时间 3.设置日志的打印格式 4.将日志的内容输出到文件 一.日志 日志等级,日志时间,日志内容,文件的名称和行号 日志等级…

写论文焦虑?No,免费AI写作大师来帮你

先来看1分钟的视频,对于要写论文的你来说,绝对有所值! 还在为写论文焦虑?免费AI写作大师来帮你三步搞定 第一步:输入关键信息 第二步:生成大纲 稍等片刻后,专业大纲生成(由于举例&am…

Java的第二十一章:网络通信

网络程序设计基础 网络程序设计编写的是与其他计算机进行通信的程序。Java 已经将网络程序所需要的元素封装成不同的类,用户只要创建这些类的对象,使用相应的方法,即使不具备有关的网络支持,也可以编写出高质量的网络通信程序。 …

二叉树的基本概念(详解)

树的定义 树是一种非线性数据结构,由n(n>1)个节点以及n-1条边组成,其中有且仅有一个节点作为根节点。树的定义具有以下特点: 每个节点具有零个或多个子节点。除了根节点外,每个节点有且仅有一个父节点…

【Pytorch使用自制数据集,Dataloader】

数据集结构 话不多说,直接上核心代码 myDataset.py from collections import Counter from torch.utils.data import Dataset import os from PIL import Imageclass MyDataset(Dataset):"""读取自制的数据集args:- image_dir: 图片的地址- labe…

【ETL】Kettle清洗任务异常提醒,Spoon作业异常通知

清洗作业如果挂在第三方任务平台或比较多的任务,执行失败无法跟踪,需要给任务添加异常提醒,这里用钉钉的群消息机器人。 钉钉机器人文档 自定义机器人接入 - 钉钉开放平台 作业示例 通过请求触发告警消息

谈一谈C++的类对象的存储方式

在C的类中,有成员变量和成员函数。当类经过实例化后,便有了类对象,C示例对象中的成员变量和成员函数是分开存储的。 成员变量 : 普通成员变量 : 在 对象 指针指向的内存中存储 , 存储方式与 C 语言中的 struct 结构体 存储变量的 内存结布局 …

Python图像处理利器解密:Pillow库使用指南

更多资料获取 📚 个人网站:ipengtao.com 引言 Pillow库是Python编程中用于图像处理的重要工具。作为Python Imaging Library(PIL)的一个分支,Pillow库提供了丰富的功能和易用的API,用于处理图像的各种操作…

基于SpringBoot的校园互助网站

简介 本系统分为三个角色,分别是普通用户和管理员、以及超级管理员,主要的功能模块有注册、登录、物品代购、快递代取、话题管理、任务管理、反馈管理、投诉管理、订单管理等功能模块。 项目 数据库 首页 登录 新增反馈 发布话题 发布任务 接单 我要投诉…

华为无线配置模板 一

华为无线配置模板 一 拓扑图1.配置SwitchA和AC,使AP与AC之间能够传输CAPWAP报文2.配置AC作为DHCP服务器,为STA和AP分配IP地址3.配置AP上线4.配置WLAN业务参数5.验证配置结果 拓扑图 采用如下的思路配置小型网络的WLAN基本业务:1.配置AP、AC、…

接口自动化测试过程中怎么处理接口依赖?

面试的时候经常会被问到在接口自动化测试过程中怎么处理接口依赖? 首先我们要搞清楚什么是接口依赖。 01. 什么是接口依赖 接口依赖指的是,在接口测试的过程中一个接口的测试经常需要依赖另一个或多个接口成功请求后的返回数据。 那怎么处理呢&#x…

2023年【A特种设备相关管理(锅炉压力容器压力管道)】考试内容及A特种设备相关管理(锅炉压力容器压力管道)复审考试

题库来源:安全生产模拟考试一点通公众号小程序 A特种设备相关管理(锅炉压力容器压力管道)考试内容根据新A特种设备相关管理(锅炉压力容器压力管道)考试大纲要求,安全生产模拟考试一点通将A特种设备相关管理…

Rust的From与Into Trait

Into的本质是调用了From Trait 的方法。 From是底层的方法,把From实现了,Into的实现,编译器会自动根据From Trait生成Into Trait的代码 编译器自动类型推导出Into Trait的U的类型,调用了U类型的From的方法,实现其他类…

【多线程】-- 12 线程协作之生产者消费者问题及解决办法

多线程 9 线程协作 “生产者消费者问题” ——并非二十三种设计模式之一 9.1 生产者消费者问题 “线程通信” 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费如果…

JDK8升级11常见问题

JDK8升级11常见问题 1. 使用rt.jar/jce.jar情况 原代码&#xff1a; <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><targe…

vue el-select多选封装及使用

使用了Element UI库中的el-select和el-option组件来构建多选下拉框。同时&#xff0c;也包含了一个el-input组件用于过滤搜索选择项&#xff0c;以及el-checkbox-group和el-checkbox组件用于显示多选项。 创建组件index.vue (src/common-ui/selectMultiple/index.vue) <tem…

生成式 AI 应用落地小结:高估的模型能力,低估的工程实施

虽然 ChatGPT 已经诞生了一周年&#xff0c;但是大量的人依旧对于生成式 AI 没有足够的认识。在研发领域&#xff0c;Thoughtworks 一直在与不同的大型企业合作&#xff0c;保持开放性的探索。 在我负责的 Thoughtworks 开源社区&#xff0c;我们与外部的几家大型企业一起探索和…

OpenCV-python:图像像素类型转换与归一化

目录 1.图像像素类型转换 2. 图像像素转换适用情形 3.图像归一化 4.归一化方法支持 5.归一化函数 6.知识笔记 1.图像像素类型转换 图像像素类型转换是指将图像的像素值从一种类型转换为另一种类型。常见的像素类型包括无符号整数类型&#xff08;如8位无符号整数、16位无符…

leetCode 37.解数独 + 回溯算法 + 图解

编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08;请参考示例图&#xff09; 数独部分空…

c语言指针详解(上)

目录 一、指针的基本概念和用法 二、指针运算 2.1 指针的自增和自减运算 2.2 指针的自增和自减运算 三、数组和指针 四、指针和函数 4.1 在函数中使用指针作为参数和返回值 4.1.1 使用指针作为函数参数 4.1.2 使用指针作为函数返回值 4.2 指针参数的传值和传引用特性 4.2.1 指针…