网络知识

什么是 DDoS 攻击?

先来说说近期发生的规模较大的 DDOS 攻击。

全球最大同性交友网,没错,就是GitHub!美国东部时间 2 月 28 日,GitHub 在一瞬间遭到高达 1.35Tbps 的带宽攻击。这次 DDoS 攻击几乎可以堪称是互联网有史以来规模最大、威力最大的 DDoS 攻击了。

在 GitHub 遭到攻击后,事件并没有停歇,仅仅一周后,DDoS 攻击又开始对 Google、亚马逊甚至 Pornhub 等网站进行了 DDoS 攻击。后续的 DDoS 攻击带宽最高也达到了 1Tbps。


那 DDoS 攻击究竟是什么?

DDoS的本质就是:通过占用目标的资源(计算资源 / 带宽资源),使目标业务拒绝对外提供服务。

为了更直观地体会啥是DDoS攻击,咱们不妨先尝试使个坏D一下银行的对外服务(只是YY一下,坏事情咱们绝不能干)。已知银行是通过:取号-叫号-应答 的流程,来为到银行的用户提供服务的。

方式一:暴力堵门(洪水攻击)

直接号召小伙伴们同一时间前往银行,把银行堵个水泄不通,那么正常用户连银行的门都进不了,也就破坏了银行的正常服务。

  • DDoS-洪水攻击:银行大门正如网络流量的通路:带宽,堵塞的通路,也就堵塞了访客接受服务的渠道。洪水攻击是DDoS攻击的最常见的途径,通过向目标受害者的网络发送大量流量,消耗目标带宽资源,以致正常用户无法访问。通常情况下,攻击者经常使用僵尸网络来增加攻击目标网络或服务器的流量,助力攻击者发起大规模的DDoS攻击,其范围从每秒数百吉比特到每秒兆比特,远远超出了大多数系统可以在其自己的网络上处理的能力。

方式二:取完你的号(协议攻击)

由于银行提供服务必须按照“取号-叫号-应答”的协议,咱们只需要击破其中一个环节,就能使银行中断服务,就以“取号”取号机最多是4位数字,也就是从0000-9999,最多一万个号,咱们号召小伙伴,取完所有的号,那么后续的正常用户,就无法取号,也就破坏了银行的正常服务。

  • DDoS-协议攻击:“取号-叫号-应答”类同于TCP协议的三次握手,作为网络基础通信协议,其本身存在逻辑上的漏洞,可能被攻击者利用,目的是耗尽网络或中间资源(例如防火墙)的计算能力,从而导致拒绝服务。由于协议攻击是在数据包级别进行的,因此通常以每秒的数据包为单位进行度量。

方式三:占用服务台(应用层攻击)

上述两种方式涉及的人员都太多了,难度有些大,所以转换思路,咱们和小伙伴几个模拟正常用户的 取号-叫好-应答 流程,前往服务台,但是不取钱,不存钱,不办业务就唠嗑,占用服务台资源,破坏银行的正常服务。

DDoS-应用层攻击:模拟正常访客,占用服务资源,致使正常用户无法访问。主要针对的是Web服务器,Web应用程序平台和特定的基于Web的应用程序,而不是网络本身。攻击者的目标是使服务器崩溃,使用户无法访问网站或应用程序。这些攻击可以针对已知的应用程序漏洞,应用程序的基础业务逻辑,或者滥用诸如HTTP / HTTPS(超文本传输​​协议/安全)之类的高层协议。这些攻击通常比其他类型的攻击使用更少的带宽,因此并不总是显示流量突然增加,因此更难检测,应用层攻击以每秒请求数衡量。

再举几个其他的例子:

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

打个比方,两家相互竞争的商铺,一家为了抢生意,雇佣大批人挤在对方商铺,赖着不走,让真正的顾客无法进入,或者和店员东拉西扯,妨碍正常工作,让对手错过真正的顾客,造成损失。DDoS攻击利用的就是这种思路。

如果把互联网上的网站或服务器看作一个个商店(比如淘宝、京东、微信等等),每个访问网站的网民看作是商店里的顾客。DDoS 就相当于一堆小混混装成正常顾客涌入商店,逛来逛去赖着不走让正常的顾客进不来,或者跟售卖员有一搭没一搭地说话,占用他们的时间,让他们无法正常服务客户。

上面这个例子讲的就是典型的 DDoS 攻击,全称是 Distributed Denial of Service,翻译成中文就是分布式拒绝服务。一般来说是指攻击者利用“肉鸡”对目标网站在较短的时间内发起大量请求,大规模消耗目标网站的主机资源,让它无法正常服务。在线游戏、互联网金融等领域是 DDoS 攻击的高发行业。


DDoS攻击有哪些方式?

DDoS攻击通过大量合法的请求占用大量网络资源,以达到使网络瘫痪的目的。具体攻击方式可分为以下几种:

1、通过使网络过载来干扰甚至阻断正常的网络通讯;

2、通过向服务器提交大量请求,使服务器超负荷;

3、阻断某一用户访问服务器;

4、阻断某服务与特定系统或个人的通讯。

DDoS攻击犯罪已经进入产业化时代——从需要专业不法黑客实施全部攻击过程的行为,发展成由发单人、攻击实施人、肉鸡商、出量人、不法黑客攻击软件作者、担保人等多个犯罪个体共同参与实施的产业化犯罪行为。


黑客为什么选择DDoS

不同于其他恶意篡改数据或劫持类攻击,DDoS简单粗暴,可以达到直接摧毁目标的目的。另外,相对其他攻击手段DDoS的技术要求和发动攻击的成本很低,只需要购买部分服务器权限或控制一批肉鸡即可,而且攻击相应速度很快,攻击效果可视。另一方面,DDoS具有攻击易防守难的特征,服务提供商为了保证正常客户的需求需要耗费大量的资源才能和攻击发起方进行对抗。这些特点使得DDoS成为黑客们手中的一把很好使的利剑,而且所向霹雳。

从另一个方面看,DDoS虽然可以侵蚀带宽或资源,迫使服务中断,但这远远不是黑客的正真目的。所谓没有买卖就没有杀害,DDoS只是黑客手中的一枚核武器,他们的目的要么是敲诈勒索、要么是商业竞争、要么是要表达政治立场。在这种黑色利益的驱使下,越来越多的人参与到这个行业并对攻击手段进行改进升级,致使DDoS在互联网行业愈演愈烈,并成为全球范围内无法攻克的一个顽疾。


DDoS防护困难

一方面,在过去十几年中,网络基础设施核心部件从未改变,这使得一些已经发现和被利用的漏洞以及一些成成熟的攻击工具生命周期很长,即使放到今天也依然有效。另一方面,互联网七层模型应用的迅猛发展,使得DDoS的攻击目标多元化,从web到DNS,从三层网络到七层应用,从协议栈到应用App,层出不穷的新产品也给了黑客更多的机会和突破点。再者DDoS的防护是一个技术和成本不对等的工程,往往一个业务的DDoS防御系统建设成本要比业务本身的成本或收益更加庞大,这使得很多创业公司或小型互联网公司不愿意做更多的投入。


如何应对 DDoS 攻击?

高防服务器

还是拿我开的重庆火锅店举例,高防服务器就是我给重庆火锅店增加了两名保安,这两名保安可以让保护店铺不受流氓骚扰,并且还会定期在店铺周围巡逻防止流氓骚扰。

高防服务器主要是指能独立硬防御 50Gbps 以上的服务器,能够帮助网站拒绝服务攻击,定期扫描网络主节点等,这东西是不错,就是贵~

黑名单

面对火锅店里面的流氓,我一怒之下将他们拍照入档,并禁止他们踏入店铺,但是有的时候遇到长得像的人也会禁止他进入店铺。这个就是设置黑名单,此方法秉承的就是“错杀一千,也不放一百”的原则,会封锁正常流量,影响到正常业务。

DDoS 清洗

DDos 清洗,就是我发现客人进店几分钟以后,但是一直不点餐,我就把他踢出店里。

DDoS 清洗会对用户请求数据进行实时监控,及时发现DOS攻击等异常流量,在不影响正常业务开展的情况下清洗掉这些异常流量。

CDN 加速

CDN 加速,我们可以这么理解:为了减少流氓骚扰,我干脆将火锅店开到了线上,承接外卖服务,这样流氓找不到店在哪里,也耍不来流氓了。

在现实中,CDN 服务将网站访问流量分配到了各个节点中,这样一方面隐藏网站的真实 IP,另一方面即使遭遇 DDoS 攻击,也可以将流量分散到各个节点中,防止源站崩溃


近两年DDoS攻击的著名案例

1、2016年5月,不法黑客针对全球范围内的多家银行网站发动了一系列的DDoS攻击。导致约旦、韩国以及摩纳哥等央行网络系统陷入了半小时的瘫痪状态,无法进行正常工作。

2、2016年11月,俄罗斯五家主流银行遭遇长达两天的DDoS攻击。来自30个国家2.4万台计算机构成的僵尸网络持续不断发动强大的DDOS攻击。

3、2017年4月初,江苏省某网络公司服务器频繁遭到DDoS流量攻击,导致挂载在服务器上的多个网站无法正常运营,损失严重。

4、2018年3月,Github遭受了迄今为止记录的最大的DDoS攻击。攻击者通过公共互联网发送小字节的基于UDP的数据包请求到配置错误的memcached服务器,作为回应,memcached服务器通过向Github发送大量不成比例的响应,形成巨大规模的DDoS攻击。

上述案例只是近年来DDoS攻击的一小部分,由此可见,DDoS攻击对全球网络安全构成了极大威胁。DDoS攻击的产业化不仅增加了打击难度,还降低了DDoS攻击的实施门槛。因此,对于DDoS攻击黑产团伙,必须坚持攻击不停、打击不止的态度,铲除DDoS攻击黑色产业链,保障网络空间安全和纯净。


DDoS防护手段

DDoS的防护系统本质上是一个基于资源较量和规则过滤的智能化系统,主要的防御手段和策略包括:

a)资源隔离

资源隔离可以看作是用户服务的一堵防护盾,这套防护系统拥有无比强大的数据和流量处理能力,为用户过滤异常的流量和请求。如:针对Syn Flood,防护盾会响应Syn Cookie或Syn Reset认证,通过对数据源的认证,过滤伪造源数据包或发功攻击的攻击,保护服务端不受恶意连接的侵蚀。资源隔离系统主要针对ISO模型的第三层和第四层进行防护。资源隔离示意图如下:

b)用户规则

从服务的角度来说DDoS防护本质上是一场以用户为主体依赖抗D防护系统与黑客进行较量的战争,在整个数据对抗的过程中服务提供者往往具有绝对的主动权,用户可以基于抗D系统特定的规则,如:流量类型、请求频率、数据包特征、正常业务之间的延时间隔等。基于这些规则用户可以在满足正常服务本身的前提下更好地对抗七层类的DDoS,并减少服务端的资源开销。详细示意图如下:

c)大数据智能分析

黑客为了构造大量的数据流,往往需要通过特定的工具来构造请求数据,这些数据包不具有正常用户的一些行为和特征。为了对抗这种攻击,可以基于对海量数据进行分析,进而对合法用户进行模型化,并利用这些指纹特征,如:Http模型特征、数据来源、请求源等,有效地对请求源进行白名单过滤,从而实现对DDoS流量的精确清洗。

d)资源对抗

资源对抗也叫“死扛”,即通过大量服务器和带宽资源的堆砌达到从容应对DDoS流量的效果