让子弹多飞一会:论如何优化DDoS

假设1枚炮弹击中目标的伤害为10,而4枚炮弹同时击中目标的伤害为200。现在我方只有一门火炮,4枚炮弹。此火炮每次只能发射一枚炮弹。问如何操作可以使其伤害达到200?

答案是”让子弹多飞一会儿”,不过这个回答不是来自姜文的电影,而是源于美军在二战中提出的 MRSI (Multiple Rounds Simultaneous Impact)技术,粗糙的翻译一下就是“发射多次却同时命中”。

我们知道炮弹飞行的时间取决于开炮时的发射仰角,比如仰角大于45度时,炮弹的飞行的长度和时间比仰角小于45度要长。那么我们就可以采用MRSI 技术,以从大到小的发射仰角,连续发射4次。这样第一次发射的炮弹飞行时间最长,最后一次发射的飞行时间最短。只要我们精确的计算好角度和发射的时间间隔,就有可能让4枚炮弹同时击中目标,从而造成200的伤害。

简而言之,就是利用炮弹的飞行时间差来弥补发射的间隔时间。

Ryan Rasti在Temporal Lensing and its Application in Pulsing Denial-of-Service Attacks一文中提出了一种利用网络延迟来增强DDoS攻击效果的方法。以DNS放大攻击为例。假设攻击者选择了两个DNS 服务器(A和B)来攻击目标, 已知A到目标的网络延迟为110毫秒,B到目标的网络延迟为40毫秒。而攻击者到A和B的延迟忽略不计。那么攻击者可以先给A发一个假冒的DNS请求,让A反射目标。略等70毫秒以后(110-40=70毫秒),攻击者再发给B请求,让B反射目标。这样,虽然攻击者的两个DNS请求不是同时发出的,但是反射出来的攻击消息却可以同时击中目标。如下图所示

这么做的好处是什么呢?当然是提高了DDoS的效率,攻击者的发报率是1包/70毫秒,而在某个时间点却有2个反射包击中目标。这相当于巧妙的利用了网络延迟而把所有的攻击包汇聚在某一个特定的时间点上。例子中只用到了2个DNS服务器,但是在实际攻击中,可以扩展到n个。攻击方式也不仅限于DNS放大攻击,用http 代理的CC攻击也可以。

优化过的DDoS步骤是

1.假设有n条线路(取决于具体的攻击方法,可能有n个DNS服务器,n个http代理等等),攻击者先测量出每条攻击路线的延迟, 对应记为 (L1,L2,…,Ln)。

2.从(L1,L2,…,Ln)中找出最大延迟,记为Lmax

3. 对于路线i(1≤ i ≤n),攻击者在发送前须等待 Lmax-Li

普通的DDoS是拼命打,有多少打多少。这样的结果是数据包击中最终目标的时间是平均分布的,如下图所示

而优化过的DDoS应该是这样的

然而为了成功的优化DDoS,我们还必须得解决一个首要问题,如何测量网络延迟。 对于HTTP CC类攻击来说比较简单,攻击者配制好代理,对攻击目标发一个http请求,接收http响应,就可以得到请求往返时间,然后用这个请求往返时间来估算网络延迟。当然,在实际情况中,网络延迟取决于很多因素,还需要用不同的方法降低噪音带来的影响,比如多次测量取平均值等等。

对于DNS放大攻击,一般用King测量法。比如攻击者(A)打算用DNS服务器D来攻击目标T。然而,直接测量 A经过D到T的网络延迟 (LADT)是很难的。但是,我们可以利用DNS递归查询的特性,测量出 A经过D到T的DNS服务器 的网络延迟(LADT(DNS))。方法是让A对D发一个关于T域的DNS查询,在这种情况下D会向T的DNS服务器递归查询。从而该攻击者可以用此DNS请求往返时间来估算LAT(DNS)。一般来说, DNS服务器都在离其他服务器很近的地方,延迟差别可以忽略不计,因此LAT ≈ LAT(DNS) 。

比如攻击者打算利用google DNS (8.8.8.8)来攻击test.com的web 服务器。为了优化,攻击者需要先知道他到8.8.8.8再到test.com web服务器的延迟。怎么计算延迟呢? 攻击者可以给8.8.8.8发送一个DNS查询:[随机子域].test.com 。由于8.8.8.8 并不负责test.com子域名,它只能递归询问test.com的DNS服务器。test.com的DNS服务器收到该询问以后,会进行本地记录查询。因为该子域是随机产生的,所以肯定会返回找不到啦,8.8.8.8收到回答以后,会再把这一回答继续转发给攻击者。这样攻击者就可以计算出他到8.8.8.8再到test.com DNS服务器的延迟。由于一般DNS服务器都在离WEB服务器很近的地方,因此可以推算出到8.8.8.8再到test.com web服务器的延迟。

为什么查询的时候要使用随机子域呢?是为了防止查询结果被cache缓存。如果查询结果被缓存了,那么DNS服务器就不递归查询了,从而导致测量结果不准确。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/137413.html<

(0)
管理的头像管理
上一篇2025-03-02 13:16
下一篇 2025-03-02 13:17

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注