专栏首页madMen什么是DDOS

什么是DDOS

什么是 DDOS

DDOS(Distributed Denial of Service),即分布式拒绝服务,是一种针对于网络服务的攻击行为。对于 DDOS 我们可以这样通俗地理解,假如有一家商店在售卖商品,突然涌过来一大帮人说要买东西,这里面有的人是真正的顾客,有的人只是过来捣乱的,但是售货员可能就会崩溃了(不知道该卖给谁),就会导致一种拒绝服务攻击了。而分布式拒绝服务攻击,则是因为黑客控制了很多台肉鸡来发动攻击。这种攻击近些年来越来越流行,对于攻击者来说,成本小,但是相对收益大,对于受害者来说,造成的伤害却是巨大的。因为对于服务提供者来说,一旦服务不可用,就会造成不可挽回的损失,可能会导致用户量的流失。根据腾讯云发布的《2018年泛互联网行业DDoS攻击态势报告》,2018年 DDOS 攻击已经进入 TB 时代,2018 年的攻击峰值为 1.23Tbps(同比增长121%),而业界的攻击峰值更是达到惊人的 1.94Tbps。

有人说对于 DDOS 攻击,有钱的话,就死命扩容,没钱的话,就忍一忍。虽然是玩笑话,但是有一定的道理。最近也是自己了解 DDOS 攻击这一块知识,下面简单介绍一下自己看到的一些。

DDOS 攻击类型

常见的 DDOS 攻击主要包括以下几类:网络层攻击、传输层攻击、会话层攻击以及应用层攻击。

传输层 DDOS 攻击

传输层 DDoS 攻击一般是针对于 TCP 以及 UDP 协议地攻击,主要是指 Syn Flood,Ack Flood,UDP Flood,ICMP Flood、RstFlood 等攻击。

以最常见的 DDOS 攻击 Sync Flood 为例,它利用了 TCP 协议的三次握手机制,当服务端接收到一个 Syn 请求时,服务端必须使用一个监听队列将该连接保存一定时间。因此,通过向服务端不停发送 Syn 请求,但不响应 Syn+Ack 报文,从而消耗服务端的资源。当等待队列被占满时,服务端将无法响应正常用户的请求,达到拒绝服务攻击的目的。

DNS DDoS 攻击

DNS 服务对于企业来说是比较重要的,因此针对 DNS 服务的 DDOS 攻击也是比较常见的。DNS DDoS 攻击主要是指 DNS Request Flood、DNS Response Flood、虚假源+真实源 DNS Query Flood、权威服务器和 Local 服务器攻击。

以 DNS Query Flood 攻击为例,其本质上执行的是真实的 Query 请求,属于正常业务行为。但如果多台肉鸡同时发起海量的域名查询请求,对服务端来说则无法为正常的 Query 请求返回结果,从而导致拒绝服务。

连接型DDoS攻击

连接型 DDoS 攻击主要是指TCP慢速连接攻击,连接耗尽攻击,Loic,Hoic,Slowloris,Pyloris,Xoic等慢速攻击。

以 Slowloris 攻击为例,其攻击目标是 Web 服务容器的并发上限,当 Web 服务容器的连接并发数达到上限后,Web 服务即无法接受新的请求。具体来说,Web 服务接收到新的 HTTP 请求时,建立新的连接来处理请求,并在处理完成后关闭这个连接;如果该连接一直处于连接状态,收到新的 HTTP 请求时则需要建立新的连接进行处理;而当所有连接都处于连接状态时,Web 将无法处理任何新的请求。

Slowloris 攻击利用 HTT P协议的特性来达到攻击目的。HTTP 请求以 \r\n\r\n 标识 Headers 的结束,如果 Web 服务端只收到 \r\n,则认为 HTTP Headers 部分没有结束,将保留该连接并等待后续的请求内容。

Web应用层DDoS攻击

Web应用层攻击主要是指 HTTP Get Flood,HTTP Post Flood,CC 等攻击。

通常应用层攻击完全模拟用户请求,类似于各种搜索引擎和爬虫一样,这些攻击行为和正常的业务并没有严格的边界,难以辨别。

Web 服务中一些资源消耗较大的事务和页面(例如,Web 应用中的分页和分表,如果控制页面的参数过大,频繁的翻页将会占用较多的 Web 服务资源)。尤其在高并发频繁调用的情况下,类似这样的事务就成了早期 CC 攻击的目标。

由于现在的攻击大都是混合型的,掺杂在正常的业务中,因此一般存在模拟用户行为的频繁操作都可以被认为是 CC 攻击。但总体来说,CC 攻击这类应用层的攻击特点,是和业务应用边界模糊。例如,各种刷票软件对网站的访问,从某种程度上来说就是CC攻击。

CC 攻击瞄准的是 Web 应用的后端业务,除了导致拒绝服务外,还会直接影响 Web 应用的功能和性能,包括 Web 响应时间、数据库服务、磁盘读写等,都会导致功能和性能的异常。

面对 DDOS,我们能做些什么

扩容,这似乎是最简单,最粗暴,也是最有效的解决办法。因为只要你的应用地服务能力始终在 DDOS 攻击之上,那么你的服务就可以从容应对 DDOS 攻击。但,扩容是要钱的,所以无限扩容理论上也不是现实的,而且如果你的服务还没有上云,还不能够做到快速扩容,还是有很大问题的。面对与不同的 DDOS攻击类型,需要不同的应对方法。

以国内抗 DDOS 设备为例,作为国内的主流网络设备供应商,其抗 DDOS 主要针对网络包的分析。主要防护策略主要是针对于不同协议的防护策略:包括 TCP 防护策略, UDP 防护策略, HTTP(HTTPS) 防护策略以及 DNS 防护策略。针对不同的网络协议,也有不同的攻击类型,主要防护策略都是结合对源 IP 包的分析,发现异常包,以及访问频率超过异常的包,从而来进行防护。但是这种防护策略针对于应用层的攻击显得就不是那么有效了,而且有可能会造成对正常用户的误伤。

WAF(网络应用防火墙),作为这几年越来越流行的网络安全设备,似乎成为了企业安全的镇妖法宝。要是哪个企业出门说自己还没有上 WAF,出门肯定会被别人嘲笑。但是 WAF 真的不是灵丹妙药,如果说是把 WAF 拿做来抵抗 DDOS,是有一定的效果,但是 WAF 并不是用于解决 DDOS,它还是主要用于防范主流的安全攻击,比如 SQL 注入, XSS, 文件包含等等。当然,目前不少 WAF 厂商可能宣扬可以防护 DDOS,某个国外 WAF 厂商的确很厉害,上了的确有立竿见影的效果,但是指望它能解决一切问题,可能就不太现实了。

说一千到一万,防护 DDOS 还是需要应用本身来做出优化。如果你的应用做的足够好,架构足够合理,那么你系统能够承载的访问量也会大大提升。针对于应用的提升也是多方面的:包括系统服务的瘦身,减少每次请求资源的消耗;包括前端方面的优化,包括资源体积的压缩;静态资源 CDN 化,将静态资源部署到 CDN 上,从而避免对自身服务器资源的消耗。

DDOS 攻击类型是多种多样的,而往往黑客的攻击它地攻击方式是多种多样的,精细化的。如果只有一种攻击方式,那么就很好防护了,你只要使用一种防护策略就可以了。但是人家一旦使用组合拳,你就头大了,你就必须想出足够好、足够合理的防护策略。这种防护的过程将会是一个相互斗争的过程。

本文分享自微信公众号 - madMen(mad_coder),作者:madneal

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Chrome 在野零日漏洞

    卡巴斯基安全防护是卡巴斯基产品的一部分,过去已成功检测到许多零日攻击。最近,为 Google的 Chrome 浏览器发现了一个未知的新漏洞。我们会立即将此情况报...

    madneal
  • Holiday -- hack the box

    Holiday is an insane box officially. It's really difficult to get the user permi...

    madneal
  • 持续发布 Chrome 插件

    Chrome 插件对于 Chrome 浏览器用户来说是必不可少的利器之一。之前我有开发过一款七牛云图床的 Chrome 插件 image-host。后来由于我自...

    madneal
  • 分布式拒绝服务进入了1Tbps时代:如何识别DDOS类型

    随着近几年DDoS攻击规模越来越大,分布式拒绝服务已经进入了1 Tbps的DDoS攻击时代。随着不断创新的攻击方式让传统的企业传统的网络运维部压力巨增,同时让很...

    墨者盾
  • 全球高级持续性威胁(APT) 2019 年上半年研究报告

    高级可持续性攻击,又称APT攻击,通常由国家背景的相关攻击组织进行攻击的活动。APT攻击常用于国家间的网络攻击行动。主要通过向目标计算机投放特种木马(俗称特马)...

    墙角睡大觉
  • 常见的网络攻击有哪些?

    近期的网络攻击有些频繁,晚上凌晨左右一般会接好几个电话,反映的都是不同的网络攻击。有些病毒攻击不在我们的解决范围内,今天墨者安全主要针对DDOS...

    墨者安全筱娜
  • APT攻击盘点及实战(上)

    我相信很多人在发文章的时候,都写了关于APT攻击相关的文章!在这里我也发一篇该文章!哈!但是我比较喜欢实战,不太喜欢理论上的东西。相信大家也跟我一样喜欢实战,恰...

    糖果
  • 菜鸟手册(2):给Jetson Nano安装树莓派摄像头

    因为JetBot上用的是树莓派摄像头,所以我们也首选考虑使用树莓派摄像头,当然USB摄像头是亲测可用的。

    GPUS Lady
  • 语音合成论文与韩国小哥“撞车”后续:英伟达“赶紧”把代码开源了

    在得知自己的论文与英伟达的论文“撞车”之后,韩国小哥赶紧在arXiv上提交了论文。并在GitHub上放出了自己研究的源代码。

    量子位
  • 使用Katalon Studio创建你的第一个API测试

    API测试(或WebService测试)在软件测试中变得越来越重要。根据谷歌趋势报告,过去五年来,行业内对API测试的兴趣一直在增加。这种趋势在一定程度上表明A...

    小老鼠

扫码关注云+社区

领取腾讯云代金券