随著互联网与信息技术的发展,所有人都在享受互联网带来的舒适和便利。如今,无论是个人社交行为,还是商业活动都早已离不开互联网。

但是,网络空间在创造机遇的同时,也带来了威胁。随着企业价值、知名度的提高、官方网站、线上交易平台、使用者登入页面皆为攻击者之首选目标,而最常见的攻击手法就是 DDoS 。DDoS 攻击让许多厂商与企业感到束手无策的同时,还遭受了巨大的损失。而且通过这些年的发展,DDoS 攻击手法还变得越来越多元且难以防范,它已经成为不同组织和个人的攻击形式之一,用于网络中的勒索、报复,甚至网络战争。

本篇文章就带大家认识一下常见的 DDoS 攻击手法,以及遇到攻击后要如何进行防御应变。

什么是 DDoS 攻击?

DDoS 攻击全名为 Distributed Denial-of-Service Attack,又称为分布式拒绝服务攻击,是旧时 DoS 攻击(Denial-of-Service Attack,拒绝服务攻击)的扩大版,其目的是以各种攻击手法,让网络系统的功能瘫痪或资源耗尽,迫使网页或服务器中断服务,导致正常的用户无法使用网页功能和使用服务。

早期的电脑不如今日发达,只要攻击方电脑性能高于被攻击方,一对一的 DoS 攻击很容易达到目的。现如今很多大型企业具备较强的服务提供能力,所以应付单个请求的攻击已经不是问题。

既然一打一行不通了,那就群殴。攻击者会组织很多同伙,同时提出服务请求,直到服务无法访问,这也就是名称中“分布式”的由来。但是,在现实中,一般的攻击者无法组织各地伙伴协同“作战”,所以会使用“僵尸网络”来控制众多计算机进行攻击。

僵尸网络感染了恶意软件的计算机,以及其它可联网资源,例如 IoT 设备。这些僵尸主机接收攻击者控制命令,从而构建出一只数量庞大的僵尸主机(Bot)军队,同时间对同一目标发动特定类型攻击,将被攻击者的网络资源及系统资源耗尽,导致无法为真正的用户提供服务。这也是名称中“阻止服务”的由来。

因为僵尸主机的数量很大而且分布广泛,又都是合法的网络设备,因此很难将攻击流量与正常流量分开,其危害程度和防御难度都很大。

上图是每年双十一淘宝服务器瘫痪的新闻。众多用户使用服务造成的流量洪峰,某种角度来说等同于一次大型的 DDoS 攻击。

如何识别 DDoS 攻击

DDoS 攻击最明显的特征就是站点或服务突然变慢或不可用。但是,实际业务中,由于多种原因(如业务流量的合理激增,例如游戏文件更新)也会造成类似的性能问题,因此通常需要进一步确认。以下是 DDoS 攻击的一些明显迹象:

  • 来自单个 IP 地址或 IP 范围的可疑访问;

  • 对单个页面或接口的请求数量激增;

  • 不寻常的流量模式,例如一天中在凌晨突然出现流量高峰,或某种不符合业务的流量高峰(例如,每 10 分钟出现一次高峰)

DDoS 攻击还有其它更具体的迹象,具体取决于攻击的类型。

DDoS 的攻击方式

带宽消耗型攻击

通过传送大量无效、或恶意放大流量的数据请求,堵塞被攻击的服务器带宽,使其达到饱和状态,让正常用户无法进入,甚至造成网页宕机瘫痪,达到拒绝服务的目的。

像是常见的 UDP 洪水攻击(即发送用户数据报协议的大包或小包)、ICMP 洪水攻击(即发送大量 ICMP 相关报文);生成超过 IP 协议中规定的最大的数据长度,导致系统宕机的死亡之 Ping,皆属于此类。

资源消耗型攻击

有别于带宽消耗型的 DDoS 攻击,资源消耗型攻击是让被攻击方的服务器不断进行反复的无效运作,导致网页资源被耗尽,无法再响应正常用户的请求,从而达到拒绝服务的目的。

这种类型的典型 DDoS 攻击手法,如 SYN 洪水攻击。我们都知道创建 TCP 连接需要客户端与服务器进行三次交互,也就是常说的“三次握手”。而这个信息通常被保存在服务器连接表结构中,但是表的大小有限,当超过存储量时,服务器就无法创建新的 TCP 连接。

而 SYN 洪水攻击就表现为,对服务器提出建立 TCP 握手请求后故意切断网络,让服务器持续发出请求并等待回复,从而导致服务器资源不断消耗。甚至更进一步,如果将 SYN 洪水攻击中发起请求的 IP 来源,设定为被攻击服务器的 IP 地址,就会让服务器不断的自我响应,直到资源耗尽,这就是常见的 LAND 攻击手法。

除此之外,还有利用大量服务器对被攻击方提出模拟 HTTP 正常请求的 CC 攻击、网路僵尸攻击等等,都是以耗尽服务器资源为目标的攻击手段。

应用攻击

近些年,Web 技术发展非常迅速,因此也诞生了应用攻击。即攻击者不断地向 Web 服务器恶意发送大量 HTTP 请求,利用 Web 应用已经提供的一些接口,来对网站的后台数据库进行增、删、改、查的操作。由于这种操作是由计算机来完成,计算机巨大的计算能力常常伴随产生极恐怖的破坏力。一旦 Web 服务受到这种攻击,就会对其承载的业务造成致命的影响。

DDoS 的防御方式

DDoS 攻击之所以难以防御,是因为 DDoS 的攻击会用看似正常的需求进行包装,加上难以追踪攻击来源,也是 DDoS 处理起来棘手的原因。

不过我们仍然可以利用下面的 3 个处理方向,来加强系统的 DDoS 防御:

- 加强防火墙的通行规则

通过设置高性能的防火墙,来限制异常 IP 发出的请求,降低大量无效数据占用带宽或损耗资源的可能性,加强筛选机制、阻断 DDoS 攻击的效果。

- 提升服务器的性能、规格

提升服务器的性能,当遭受 DDoS 攻击时可争取多一点的缓冲时间,在不让服务瘫痪的状况下,及时针对攻击模式制定应对的 DDoS 防御手段,将伤害减至最低。

- 使用具备 DDoS 防御的系统

像是 DDoS 流量清洗机制,可以将流量导入清洗系统中,把异常的流量来源过滤、剔除,又或是服务器本身具备防御一定数量的无效数据包,以及设定合理的同时连线数量等,让 DDoS 攻击无功而返。

- 寻找专业高防服务团队

由于传统设备无法抵御大流量的 DDoS 攻击,通过配置云端高防系统的方式也逐渐受到了客户的青睐。又拍云 DDoS 高防 IP 服务是针对互联网业务在遭受大流量 DDoS 攻击后业务瘫痪,而提供的高等级流量防护服务。直接将高防 IP 服务部署在源站服务器前,帮助业务服务器站抵御来自内外部的流量攻击。

客户将业务接入高防 IP 后,源服务器的所有公网流量将引流至高防机房,高防 IP 平台的异常流量检测系统会实时对流量进行智能识别和分析,将攻击流量引流至高防节点,隐藏源站,以确保用户源站稳定可靠运行。

高防 IP 可以防御的有包括但不限于以下类型:SYN Flood、UDP Flood、ICMP Flood、IGMP Flood、ACK Flood、Ping Sweep 等攻击。

又拍云高防 IP 服务提供在线 SaaS 的服务接入方式,异地多节点多线路防护,单点防御 1T,全网总防御能力近 3T,支持 BGP 、电信、联通、移动等多条线路,可以有效防御 SYN Flood、ACK Flood、UDP Flood、HTTP Flood、CC 攻击等,为客户提供稳定、安全的访问体验。

推荐阅读

DDoS 高防 IP——DDoS防护系统

大家都在说的云安全,到底是怎么回事?

白话科普系列——双十一,竟然是一场有“预谋”的DDoS攻击?的更多相关文章

  1. 白话科普系列——最好用的浏览器 Chrome,你用了么?

    市面上的浏览器多种多样,而浏览器的王者--IE 浏览器,它在 2002 年市场份额高达 95.4%.直到后续 Firefox,Safari,Chrome 相继问世才动摇了 IE 浏览器的地位,其中 C ...

  2. 【白话科普】CDN & 游戏加速器,两者是一个原理吗?

    说起加速,大家可能就会联想到"游戏加速"之类的场景,而说到现在流行的云服务加速,则离不开 CDN 这个词.那么 CDN 和游戏加速器是同一种东西么?从效果上看两者都是为了" ...

  3. 【圣诞特献】Web 前端开发精华文章推荐【系列二十一】

    <Web 前端开发精华文章推荐>2013年第九期(总第二十一期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和  ...

  4. ABBYY FineReader去他的光棍节,我要我的双十一

    今天就是双十一,全民剁手的双十一,一年仅一次的双十一,不只是半价的双十一.....此时此刻,多少钱拿起手机在疯狂购物,又有多少人死守着电脑,不敢怠慢一丁点机会,买着买着购物车就空了,然后才发现,咦!超 ...

  5. 备战双十一,腾讯WeTest有高招——小程序质量优化必读

    WeTest 导读 2018年双十一战场小程序购物通道表现不俗,已逐渐成为各大品牌方角逐的新战场.数据显示,截止目前95%的电商平台都已经上线了小程序.除了电商企业外,许多传统线下商家也开始重视小程序 ...

  6. CRL快速开发框架系列教程十一(大数据分库分表解决方案)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. 双十一 VS 火车票(12306)

    火车票开售了,又是一年,code了一年,咱们也该回顾回顾了. 还记得12306上线之初各种技术大牛给人家出方案,吐槽人家外包费用?我们来回顾回顾. 就园子里都过千篇文章来侃这事儿,请问有多少主题的文章 ...

  8. “双十一”购物狂欢节,电商运营和商业智能(BI)才是绝配

         百年前,人们获取信息的方式是通过报纸.书籍:十年前,人们获取信息的方式是通过传统PC互联网:而如今,在4G网络高速发展的浪潮下,伴随着移动智能终端的普及,人们获取信息的方式已经逐渐转向了移动 ...

  9. 单元测试系列之十一:Jmockit之mock特性详解

    本文是Jmockit学习过程中,根据官网所列的工具特性进行解读. 1.调用次数约束(Invocation count constraints) 可以通过调用计数约束来指定预期和/或允许匹配给定期望的调 ...

随机推荐

  1. 题解【[USACO18FEB]New Barns 】

    浅谈一下对于这题做完之后的感受(不看题解也是敲不出来啊qwq--) 题意翻译 Farmer John注意到他的奶牛们如果被关得太紧就容易吵架,所以他想开放一些新的牛棚来分散她们. 每当FJ建造一个新牛 ...

  2. Sprign-mvc系列之Spring快速入门 什么是sprign-mvc spring-mvc的作用及其基本使用+组件解析+注解解析

    Spring-mvc 什么是SpringMvc SpringMvc是一种基于java的实现Mvc设计模式的请求驱动类型的轻量级web框架,属于SpringFrameWork的后续产品,已经融合在Spr ...

  3. C++单链表操作

    #include <stdio.h> typedef struct _Node{   int value;   _Node *next;}Node; void AddNodeTail(No ...

  4. 程序员的“三十而已”,你都30岁了,不会还在XXX吧?

    一部<三十而已>火了 太太们的包包鄙视链出圈了 有人的地方就有江湖 是的,程序员入圈是容易的 不需要4万的LV,更不需要限量版的爱马仕 只需要一件耐躁的格子衫 然而,程序员的30岁, 却说 ...

  5. 【C语言】这种求结构体成员大小的方法,你可能需要了解一下~

    在C语言编程中,有时候需要知道某结构体中某成员的大小,比如使用堆内存来存储结构体中的某成员时,需要知道该成员的大小,才好确定所需申请的空间大小.求某结构体中某成员的大小,你会怎么做? 例子: type ...

  6. Lombda表达式(四)

    /* * 自定义函数式接口: * 1.声明一个接口,只能包含一个抽象方法 * 2.给这个接口加@FunctionalInterface */ public class Test { public st ...

  7. Camera2使用textureView支持

    SurfaceView 绘制会有独立窗口, TextureView 没有独立的窗口,可以像普通的 View 一样,更高效更方便 public class MainActivity extends Ap ...

  8. 为什么网上有很多人说Python不要学

      随着"大数据""云计算""人工智能"等等科技的兴起,IT行业在今后三到五年将会迎来一个高速发展期.这也就意味着会出现大量的人才缺口,尤其 ...

  9. webpack4的安装使用

    1.全局安装Webpack 安装到全局后你可以在任何地方共用一个 Webpack 可执行文件( 也就是说可以直接在终端使用webpack的命名 ,例如:webpack --config webpack ...

  10. AngularJS——ui-router

    深究AngularJS--ui-router详解 原创 2016年07月26日 13:45:14 标签: angularjs / ui-router / ui-view 25043 1.配置使用ui- ...