zl程序教程

您现在的位置是:首页 >  其它

当前栏目

DDoS介绍

介绍 ddos
2023-09-14 09:15:47 时间

1.DDoS是什么

  分布式拒绝服务(DDoS)攻击是通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为。

  DDoS攻击利用多台受损计算机系统作为攻击流量来源以达到攻击效果。利用的机器可以包括计算机,也可以包括其他联网资源(如IoT设备)。

  总体而言,DDoS攻击好比高速公路发生交通堵塞,妨碍常规车辆抵达预定目的地。

  可能我举个例子会更加形象点。

  我开了一家有五十个座位的火锅店,由于用料上等,童叟无欺。平时门庭若市,生意特别红火,而对面二狗家的火锅店却无人问津。二狗为了对付我,想了一个办法,叫了五十个人来我的火锅店坐着却不点菜,让别的客人无法吃饭。

  DDOS攻击由于容易实施、难以防范、难以追踪等而成为最难解决的网络安全问题之一,给网络社会带来了极大的危害(网吧流行的时候,就有老板找人DDos攻击对门的网吧)。目前,视频直播平台、在线游戏、网上交易平台、互联网金融等领域是DDoS攻击的高发行业。

2.如何识别DDoS攻击

  DDoS攻击最明显的症状是网站或服务突然变慢或不可用。但是,造成类似性能问题的原因有多种(如合法流量激增),因此通常需要进一步调查。流量分析工具可以帮助发现DDoS攻击的一些明显迹象:

    • 来自单个IP地址或IP范围的可疑流量
    • 来自共享单个行为特征(例如设备类型、地理位置或 Web浏览器版本)的用户的大量流量
    • 对单个页面或端点的请求数量出现不明原因的激增
    • 奇怪的流量模式,例如一天中零碎时间上的激增或看似不自然的模式(例如,每10分钟出现一次激增)
    • 被攻击主机上有大量等待的TCP连接。
    • 大量到达的数据分组(包括TCP分组和UDP分组〉并不是网站服务连接的一部分,往往指向机器的任意端口。
    • 网络中充斥着大量的无用的数据包,源地址为假。
    • 制造高流量的无用数据,造成网络拥塞,使受害主机无法正常和外界通信。
    • 利用受害主机提供的服务和传输协议上的缺陷,反复发出服务请求,使受害主机无法及时处理所有正常请求。
    • 严重时会造成死机
    • DDoS攻击还有其他更具体的迹象,具体取决于攻击的类型。

3.常见的 DDoS 攻击有哪几类

  不同类型的DDoS攻击针对不同的网络连接组件。为了解不同的DDoS攻击如何运作,有必要知道网络连接是如何建立的。

  互联网上的网络连接由许多不同的组件或“层”构成。就像打地基盖房子一样,模型中的每一步都有不同的用途。

  OSI模型(如下图所示)是一个概念框架,用于描述7个不同层级的网络连接。

  虽然几乎所有DDoS攻击都涉及用流量淹没目标设备或网络,但攻击可以分为三类。攻击者可能利用一种或多种不同的攻击手段,也可能根据目标采取的防范措施循环使用多种攻击手段。

  • 应用程序层攻击

  攻击目标:

  此类攻击有时称为第7层DDoS攻击(指OSI模型第7层),其目标是耗尽目标资源。

  攻击目标是生成网页并传输网页响应HTTP请求的服务器层。在客户端执行一项HTTP请求的计算成本比较低,但目标服务器做出响应却可能非常昂贵,因为服务器通常必须加载多个文件并运行数据库查询才能创建网页。

  第7层攻击很难防御,因为难以区分恶意流量和合法流量。

  应用程序层攻击示例:

  HTTP洪水

  HTTP洪水攻击类似于同时在大量不同计算机的Web浏览器中一次又一次地按下刷新 – 大量HTTP请求涌向服务器,导致拒绝服务。

  这种类型的攻击有简单的,也有复杂的。

  较简单的实现可以使用相同范围的攻击 IP 地址、referrer 和用户代理访问一个URL。复杂版本可能使用大量攻击性IP地址,并使用随机referrer和用户代理来针对随机网址。

  • 协议攻击

  攻击目标:

  协议攻击也称为状态耗尽攻击,这类攻击会过度消耗服务器资源和/或防火墙和负载平衡器之类的网络设备资源,从而导致服务中断。

  协议攻击利用协议堆栈第 3 层和第 4 层的弱点致使目标无法访问。

  协议攻击示例:

  SYN洪水

  SYN洪水就好比补给室中的工作人员从商店的柜台接收请求。

  工作人员收到请求,前去取包裹,再等待确认,然后将包裹送到柜台。一时之间,工作人员收到太多包裹请求,来不及确认,直到无法处理更多包裹,实在不堪重负,致使无人能对请求做出回应。

  此类攻击利用TCP握手(两台计算机发起网络连接时要经过的一系列通信),通过向目标发送大量带有伪造源IP地址的 TCP“初始连接请求”SYN 数据包来实现。

  目标计算机响应每个连接请求,然后等待握手中的最后一步,但这一步确永远不会发生,因此在此过程中耗尽目标的资源。

  • 容量耗尽攻击

  攻击目标:

  此类攻击试图通过消耗目标与较大的Internet之间的所有可用带宽来造成拥塞。攻击运用某种放大攻击或其他生成大量流量的手段(如僵尸网络请求),向目标发送大量数据。

  放大示例:

  DNS放大

  DNS放大就好比有人打电话给餐馆说“每道菜都订一份,请给我回电话复述整个订单”,而提供的回电号码实际上属于受害者。几乎不费吹灰之力,就能产生很长的响应并发送给受害者。

  利用伪造的IP地址(受害者的IP地址)向开放式DNS服务器发出请求后,目标IP地址将收到服务器发回的响应。

4.如何防护DDoS攻击?

  若要缓解DDoS攻击,关键在于区分攻击流量与正常流量。

  例如,如果因发布某款产品导致公司网站涌现大批热情客户,那么全面切断流量是错误之举。如果公司从已知恶意用户处收到的流量突然激增,或许需要尽量缓解攻击。

  真正的难点在于区分真实客户流量与攻击流量。

  在现代Internet中,DDoS流量以多种形式出现。流量设计可能有所不同,从非欺骗性单源攻击到复杂的自适应多方位攻击无所不有。

  多方位DDoS攻击采用多种攻击手段,以期通过不同的方式击垮目标,很可能分散各个层级的缓解工作注意力。

  同时针对协议堆栈的多个层级(如 DNS放大(针对第3/4层)外加HTTP洪水(针对第7层))发动攻击就是多方位DDoS攻击的一个典型例子。

  为防护多方位DDoS攻击,需要部署多项不同策略,从而缓解不同层级的攻击。

  一般而言,攻击越复杂,越难以区分攻击流量与正常流量 - 攻击者的目标是尽可能混入正常流量,从而尽量减弱缓解成效。

  如果缓解措施不加选择地丢弃或限制流量,很可能将正常流量与攻击流量一起丢弃,同时攻击还可能进行修改调整以规避缓解措施。为克服复杂的破坏手段,采用分层解决方案效果最理想。

  黑洞路由

  有一种解决方案几乎适用于所有网络管理员:创建黑洞路由,并将流量汇入该路由。在最简单的形式下,当在没有特定限制条件的情况下实施黑洞过滤时,合法网络流量和恶意网络流量都将路由到空路由或黑洞,并从网络中丢弃。

  如果互联网设备遭受DDoS攻击,则该设备的互联网服务提供商(ISP)可能会将站点的所有流量发送到黑洞中作为防御。这不是理想的解决方案,因为它相当于让攻击者达成预期的目标:使网络无法访问。

  速率限制

  限制服务器在某个时间段接收的请求数量也是防护拒绝服务攻击的一种方法。

  虽然速率限制对于减缓Web爬虫窃取内容及防护暴力破解攻击很有帮助,但仅靠速率限制可能不足以有效应对复杂的DDoS攻击。

  然而,在高效DDoS防护策略中,速率限制不失为一种有效手段。

  Web应用程序防火墙

  Web Application Firewall (WAF)是一种有效工具,有助于缓解第 7 层 DDoS 攻击。在互联网和源站之间部署WAF后,WAF可以充当反向代理,保护目标服务器,防止其遭受特定类型的恶意流量入侵。

  通过基于一系列用于识别DDoS工具的规则筛选请求,可以阻止第7层攻击。有效的WAF的一个关键价值是能够快速实施自定义规则以应对攻击。

  Anycast网络扩散

  此类缓解方法使用 Anycast network,将攻击流量分散至分布式服务器网络,直到网络吸收流量为止。

  这种方法就好比将湍急的河流引入若干独立的小水渠,将分布式攻击流量的影响分散到可以管理的位置,从而分散破坏力。

  Anycast网络在缓解 DDoS攻击方面的可靠性取决于攻击规模及网络规模和效率。采用Anycast分布式网络是 Cloudflare实施DDoS防护策略的一个重要组成部分。

5.如何发动DDoS攻击

  DoS/DDoS攻击工具如何分类?

  市面上有诸多工具可以通过调整来发动 DoS/DDoS 攻击,或者明确设计用于此类目的。前一类工具通常是“压力源”,宣称的用途是帮助安全研究人员和网络工程师对自己的网络进行压力测试,但也可用来发动真正的攻击。

  一些工具属于专用工具,仅关注 OSI 模型的特定层;另一些工具则设计为允许使用多种攻击手段。攻击工具的类别包括:

  低速缓慢攻击工具:

  顾名思义,此类攻击工具仅使用少量数据,而且运行速度非常慢。设计用于通过多个连接发送少量数据,以便尽可能确保目标服务器端口长时间处于打开状态;这些工具将不断占用服务器资源,直到服务器无法维持其他连接为止。独特之处在于,即使不使用僵尸网络这样的分布式系统,低速缓慢攻击有时也可能会得逞,并且通常由一台机器来发动。

  应用程序层(L7)攻击工具:

  这类工具以OSI 模型的第 7 层为目标,基于互联网的请求(例如 HTTP)在这一层上发生。恶意用户可以利用某种 HTTP 洪水攻击,通过HTTP GET和POST请求淹没目标,从而发起攻击流量,使其很难与实际访问者提出的正常请求区分开来。

  协议和传输层(L3/L4)攻击工具:

  此类工具深入协议堆栈,利用UDP等协议向目标服务器大规模发送流量,例如在UDP洪水攻击期间。虽然单独使用通常不起作用,但此类攻击常常以DDoS攻击的形式出现,增加参与攻击的机器数量可加大攻击效果。

6.常用的 DoS/DDoS 攻击工具有哪些?

  一些常用的工具包括:

  低轨道离子炮 (LOIC)

  LOIC是一款开源压力测试应用程序。提供了对用户友好的所见即所得型界面,可被用来发动TCP和UDP协议层攻击。鉴于原始工具广为流传,现已演化出多种衍生工具,可被用来通过Web浏览器发动攻击。

  高轨道离子炮 (HOIC)

  此类攻击工具用于取代LOIC,不仅扩展了功能,还新增了自定义项。采用HTTP协议后,HOIC可以发起难以缓解的针对性攻击。这款软件设计为集合至少50人就能发起协同攻击。

  Slowloris

  Slowloris是一款针对目标服务器发动低速缓慢攻击的应用程序。只需占用相对有限数量的资源,便可产生破坏性效果。

  R.U.D.Y(死亡之子)

  R.U.D.Y.也是一款低速缓慢攻击工具,它的设计可使用户运用简洁的点击式界面来轻松发动攻击。此类攻击会打开多个HTTP POST请求,并尽可能确保这些连接长时间处于打开状态,从而慢慢压垮目标服务器。

  具体可参考:DDoS工具介绍

7.DDoS攻击历史

  历来规模最大的 DDoS 攻击是哪一次?

  迄今最大规模的DDoS攻击发生于2017年9月。该攻击的目标是Google服务,规模达到2.54 Tbps。Google Cloud于2020年10月披露了这次攻击。

  攻击者向18万个web服务器发送虚假请求,后者将响应发送给 Google。这次攻击并非一个孤立的事件:攻击者在之前六个月内已对 Google的基础设施发动了多次DDoS攻击。

  第一次拒绝服务攻击

  第一次拒绝服务攻击发生在1996年9月6日下午5:30。Panix,这个纽约市历史最悠久、规模最大的互联网服务提供商成为了攻击的受害者。公司的邮件、新闻、Web和域名服务器等同时遭受攻击。据《时代杂志》(Time Magazine)报道,至少6000名用户因此而无法收取邮件。

  攻击者采用的方法非常简单:不断向服务器发送连接请求(TCP SYN请求),速度高达每秒150次。服务器忙于应对这些请求,从而无法回应正常的用户。这种攻击方式后来被称为“SYN FLOOD攻击”,是拒绝服务攻击的一种。即使到现在,SYN FLOOD攻击也经常被使用。此外,攻击者还采用了随机伪造源地址的方式。一方面,这使得攻击来源难以追踪;另一方面,随机的源地址也使得过滤和阻断攻击变得非常困难。

  完全消除DDoS攻击是极为困难的一件事。尤其当用户正常的访问量较大时,很难立刻将其与恶意伪造的访问区分开来。幸运的是,削弱这种攻击造成的危害是可能实现的。我们一般称其为“缓解技术”。Panix被攻击后,计算机紧急响应小组(CERT)做出了快速响应。9月19日发布了TCP SYN Flooding and IP Spoofing Attacks,提出了缓解SYN FLOOD攻击和IP欺骗攻击的建议。

  2000年黑手党袭击

  2000年,一个名叫“Mafiaboy”的15岁黑客入侵了包括CNN,Dell,E-Trade,eBay和Yahoo!在内的多个主要网站,其中最后一个是当时最受欢迎的搜索引擎。世界。这次攻击具有毁灭性的后果,包括在股票市场造成混乱。

  黑手党男孩后来被揭露是名叫Michael Calce的高中生,他通过破坏几所大学的网络并使用其服务器进行DDoS攻击来协调攻击。这次攻击的后果直接导致了当今许多网络犯罪法律的产生。

  2007年爱沙尼亚袭击

  2007年4月,爱沙尼亚国遭受了针对政府服务,金融机构和媒体的大规模DDoS攻击。由于爱沙尼亚政府是在线政府的较早采用者,而且当时几乎是无纸化的,因此产生了令人沮丧的影响。甚至全国大选都是在线进行的。

  这次袭击被许多人认为是网络战的第一幕,是对因第二次世界大战纪念碑“塔林的青铜士兵”的迁徙而与俄罗斯发生政治冲突的回应。结果涉嫌俄罗斯政府涉嫌参与其中,并逮捕了一名来自俄罗斯的爱沙尼亚国民,但俄罗斯政府未允许爱沙尼亚执法部门在俄罗斯进行进一步调查。这场磨难导致国际网络战法的产生。

  2013年Spamhaus攻击

  有史以来最大的一次攻击是针对Spamhaus的2013年攻击,该组织致力于打击垃圾邮件和与垃圾邮件相关的活动。Spamhaus负责过滤多达80%的垃圾邮件,这使它们成为希望看到垃圾邮件到达预期收件人的人们的热门目标。

  攻击以300 Gbps的速度将流量驱使到Spamhaus。攻击开始后,Spamhaus注册了Cloudflare。Cloudflare的DDoS保护可缓解攻击。攻击者对此进行了回应,通过寻求某些Internet交换和带宽提供商的支持,以试图降低Cloudflare。这次攻击没有达到目的,但确实对伦敦互联网交换所LINX造成了重大问题。攻击的主要罪魁祸首是在英国的一名年轻的应聘黑客,他被发动了发起DDoS攻击。

  2015年GitHub攻击

  当时有史以来最大的DDoS攻击,也恰好针对GitHub。这种出于政治动机的攻击持续了几天,并根据已实施的DDoS缓解策略进行了调整。DDoS流​​量起源于中国,专门针对两个旨在绕开中国国家审查制度的GitHub项目的URL。据推测,攻击的意图是试图迫使GitHub消除那些项目。

攻击流量是通过将JavaScript代码注入访问过中国最受欢迎的搜索引擎百度的每个人的浏览器中而创建的。其他使用百度分析服务的网站也正在注入恶意代码。此代码导致受感染的浏览器将HTTP请求发送到目标GitHub页面。攻击后,确定恶意代码不是源自百度,而是由中间服务添加的。

  2016Dyn攻击

  2016年10月,另一次大规模的DDoS攻击针对主要的DNS提供者Dyn。该攻击具有破坏性,并且对许多主要站点造成了破坏,这些站点包括Airbnb,Netflix,PayPal,Visa,亚马逊,纽约时报,Reddit和GitHub。这是使用名为Mirai的恶意软件完成的。Mirai用受感染的物联网(IoT)设备(例如相机,智能电视,收音机,打印机,甚至婴儿监视器)创建一个僵尸网络。为了创建攻击流量,这些受感染的设备都经过编程,可以向单个受害者发送请求。

  幸运的是,Dyn能够在一天内解决攻击,但从未发现攻击的动机。Hacktivist组织声称对这次攻击负责,是对WikiLeaks创始人朱利安·阿桑奇(Julian Assange)在厄瓜多尔被拒绝访问互联网的回应,但没有证据支持这一说法。也有人怀疑攻击是由不满的玩家进行的。

  2018年2月GitHub DDoS攻击

  在此2.3 Tbps攻击之前,有记录以来最大的可验证DDoS攻击针对GitHub,这是数百万开发人员使用的流行在线代码管理服务。该攻击达到了1.3Tbps,以每秒1.269亿的速度发送数据包。

  GitHub攻击是Memcached DDoS攻击,因此不涉及僵尸网络。相反,攻击者利用了流行的数据库缓存系统(称为memcached)的放大效果。通过用欺骗的请求向内存缓存的服务器泛洪,攻击者能够将其攻击放大大约50,000倍。

  幸运的是,GitHub使用的是DDoS保护服务,该服务会在攻击开始后的10分钟内自动发出警报。该警报触发了缓解过程,并且GitHub能够迅速阻止攻击。大规模的DDoS攻击仅持续了大约20分钟。

  还应该注意的是,对GitHub的攻击发生5天后,据称发生了1.7Tbps DDoS攻击。但是,此攻击的受害者从未公开披露过,也没有发布太多有关此攻击的信息,因此很难进行验证。

  2020

  最大的DDoS攻击迄今为止发生在二月2020年。在攻击高峰时,传入流量的速率为2.3 Tbps(太比特/秒)。AWS报告称它缓解了这一大规模攻击,但未透露该攻击的目标客户。

  负责的攻击者使用了劫持的无连接轻量目录访问协议(CLDAP)Web服务器。CLDAP是用户目录的协议。它是LDAP(协议的较旧版本)的替代方法。近年来,CLDAP已用于多种DDoS攻击中。