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解析器。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MPC模型预测控制理论与实践

一、基本概念 最有控制的动机是在约束条件下达到最优的系统表现。 模型预测控制(MPC,Model Predictive Control)是通过模型来预测系统在某一未来时间段内的表现来进行优化控制,多用于数位控制,通常用离散型状态空间表…

树_二叉搜索树累加求和

//给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 // node.val 的值之和。 // // 提醒一下,二叉搜索树满足下列约束…

9.Unity搭建HTTP服务器

搭建HTTP服务器的几种方式 //1.使用别人做好的HTTP服务器软件,一般作为资源服务器时使用该方式(学习阶段建议使用) //2.自己编写HTTP服务器应用程序,一般作为Web服务器 或者 短链接游戏服务器时 使用该方式 使用别人做好的HTTP服…

ROS-ROS通信机制-服务通信

文章目录 一、服务通信基本知识二、自定义srv三、C实现四、Python实现 一、服务通信基本知识 服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即: 一个节点A向另一个节点B发送请求,B接收处理请求…

通过断点调试解决node 运行js程序直接退出(没有任何报错提示)的问题

现象: node运行程序直接退出,但是从echo $?的返回值可以知道: 一定出现了错误,但是没有显示出来 解决办法: 1. 使用node --inspect-brk 启动程序 然后在浏览器访问chrome://inspect 然后点击inspect 进行单步调试 …

软件设计之桥接模式

实现茶水间:茶可以分红茶和绿茶,每种茶又可以分大杯和中杯,现在你是服务员需要计算茶水的价格。 package Bridge;public class BlackTea implements TeaKind{private float redTeaPrice 2.0f;Overridepublic float price() {return redTeaPr…

“快慢指针”思想在物理或者逻辑循环中的应用

1 基础概念 1.1 什么是物理循环和逻辑循环? 物理循环是指物理索引访问顺序上相邻,逻辑上也相邻,比如循环链表,逻辑循环则指物理的索引上不一定相邻 1.2 快慢指针本质上可以解决逻辑循环问题,而物理循环也属于逻辑循…

【java】toString() 导致的 StackOverflowError 异常

这是怎么导致的呢? A 类属性包含着 B 类的引用 B 类属性包含着 A 类的引用 代码大概就是这样的: Data public class User{public String name;public Dog dog; }Data public class Dog{public String name;public User user; }User user new User()…

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

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

机器学习---使用 EM 算法来进行高斯混合模型的聚类

1. 指定k个高斯分布參数 导包 import math import copy import numpy as np import matplotlib.pyplot as pltisdebug False 全局变量 isdebug可以用来控制是否打印调试信息。当 isdebug 为 True 时,代码中的一些调试信 息将被打印出来,方便进行调试…

Kubernetes(k8s)访问不了Pod服务

在k8s集群部署java web应用的服务时,浏览器访问不了pod服务或linux终端curl http://192.168.138.112:30000即curl http://ip地址:端口号失败,如下图: 在网上找了很久的答案,最后还是没解决,后来突然想起来一直是在k8…

7个简单技巧,让你从容应对压力面试!

01-什么是压力面试? 压力面试是指有意制造紧张,以了解求职者将如何面对工作压力的一种面试形式。 事实上,压力面试不是单独存在的一类面试,往往是穿插在面试过程中。 面试人通过提出不礼貌、冒犯的问题,或者用怀疑、…

JavaWeb(五)

一、JDBC概述 JDBC 就是使用Java语言操作关系型数据库的一套API 全称是Java DataBase Connectivity 表示Java数据库连接。 JDBC的本质是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口,各个数据库厂商去实现这套接口&#xff0…

11、信息打点——红队工具篇FofaQuakeSuize水泽Arl灯塔

网络空间测绘引擎 Fofa Quake shodan Zoomeye 主要搜关联资产、特征资产、资产信息(在测绘引擎上直接搜IP,它会显示所有与该域名有关的信息。) fofa和Quake测绘引擎集成化工具:Finger 自动化信息收集项目 ARL灯塔 Suize水泽 …

编程语言分类

如果要将编程语言分成两大类,可以考虑以下分类方式: 编译型语言(Compiled Languages):这类语言在运行之前需要通过编译器将源代码转换为机器码或类似形式的可执行代码。编译型语言的特点包括: 需要显式的编…

二极管:TVS瞬态抑制二极管

一、什么是TVS二极管 TVS(Transient Voltage Suppressors),即瞬态电压抑制器,又称雪崩击穿二极管。 TVS二极管的符号如下图所示 什么是雪崩击穿 雪崩击穿是有必要了解一下的,不然后面还有齐纳击穿,搞不…

GoWin FPGA--- startup2

clock Click Tools\IP Core Generator\rPLL, and open the configure file 原语 for Clock 双击选项,生产对应的代码,Copy到制定的地点。 右侧有对应的说明文件

【优选算法系列】【专题一双指针】第三节.611. 有效三角形的个数和LCR 179. 查找总价格为目标值的两个商品

文章目录 前言一、有效三角形的个数 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写 1.2.3 题目总结二、查找总价格为目标值的两个商品 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 …

FastAPI与BaseModel

from typing import Optionalfrom fastapi import FastAPI from pydantic import BaseModel #当一个模型属性具有默认值时,它不是必需的。否则它是一个必需属性。将默认值设为 None 可使其成为可选属性 app FastAPI() class Item(BaseModel):name:str #没有初始值都…

动态类型语言与静态类型语言的对比与比较

编程语言可以根据类型系统和类型检查时机分为动态编程语言和静态编程语言两大类,它们在运行时的代码检查方式、变量类型的使用方式等方面有很大的区别。这一块你知道吗? 本文将为您详细讲解两种编程语言的优缺点,以及它们的应用场景。 动态编…