1、什么是DDOS

DDOS(Distributed Denial of Service),中文意思为“分布式拒绝服务”,就是利用大量合法的分布式服务器对目标发送请求,从而导致正常合法用户无法获得服务。通俗点讲就是利用网络节点资源如:IDC服务器、个人PC、手机、智能设备、打印机、摄像头等对目标发起大量攻击请求,从而导致服务器拥塞而无法对外提供正常服务,只能宣布game over,详细描述如下图所示:

DDoS攻击示意图

2、黑客为什么选择DDoS

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

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

3、DDoS的攻击方式

一种服务需要面向大众就需要提供用户访问接口,这些接口恰恰就给了黑客有可乘之机,如:可以利用TCP/IP协议握手缺陷消耗服务端的链接资源,可以利用UDP协议无状态的机制伪造大量的UDP数据包阻塞通信信道……可以说,互联网的世界自诞生之日起就不缺乏被DDoS利用的攻击点,从TCP/IP协议机制到CC、DNS、NTP反射类攻击,更有甚者利用各种应用漏洞发起更高级更精确的攻击。

从DDoS的危害性和攻击行为来看,我们可以将DDoS攻击方式分为以下几类:

a)资源消耗类攻击

资源消耗类是比较典型的DDoS攻击,最具代表性的包括:Syn Flood、Ack Flood、UDP
Flood。这类攻击的目标很简单,就是通过大量请求消耗正常的带宽和协议栈处理资源的能力,从而达到服务端无法正常工作的目的。

b)服务消耗性攻击

相比资源消耗类攻击,服务消耗类攻击不需要太大的流量,它主要是针对服务的特点进行精确定点打击,如web的CC,数据服务的检索,文件服务的下载等。这类攻击往往不是为了拥塞流量通道或协议处理通道,它们是让服务端始终处理高消耗型的业务的忙碌状态,进而无法对正常业务进行响应,详细示意图如下:

服务消耗类攻击

c)反射类攻击

反射攻击也叫放大攻击,该类攻击以UDP协议为主,一般请求回应的流量远远大于请求本身流量的大小。攻击者通过流量被放大的特点以较小的流量带宽就可以制造出大规模的流量源,从而对目标发起攻击。反射类攻击严格意义上来说不算是攻击的一种,它只是利用某些服务的业务特征来实现用更小的代价发动Flood攻击,详细示意图如下:

反射类攻击

d)混合型攻击

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

5、DDoS防护手段

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

a)资源隔离

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

资源隔离示意图

b)用户规则

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

用户规则清洗

c)大数据智能分析

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

指纹过滤清洗

d)资源对抗

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

计算机网络之DDOS的更多相关文章

  1. 一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等...

    计算机主机网关的作用是什么? 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关.当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声 ...

  2. [A Top-Down Approach][第一章 计算机网络和因特网]

    [A Top-Down Approach][第一章 计算机网络和因特网] 标签(空格分隔): 计算机网络 介绍基本术语和概念 查看构成网络的基本硬件和软件组件. 从网络的边缘开始,考察在网络中运行的端 ...

  3. 服务器被ddos攻击?分析如何防止DDOS攻击?

    上周知名博主阮一峰的博客被DDOS攻击,导致网站无法访问而被迫迁移服务器的事情,引起了广大网友的关注及愤慨,包括小编的个人博客也曾接受过DDOS的“洗礼”,对此感同身受.所以,本文我们一起来了解下DD ...

  4. <<高级计算机网络>>(Advaned Computer Networks) 徐恪 徐明伟 陈文龙 马东超

    目录 第1章 计算机网络与Internet1 1.1 引言1 1.2 Internet发展历史2 1.2.1 互联网发展的主要阶段4 1.2.2 互联网在中国的发展5 1.2.3 互联网主要创新5 1 ...

  5. 计算机网络(四)--全世界最好的TCP基础知识讲解

    TCP传输的数据单元是报文段,报文段分为首部.数据两部分 TCP首部 首部的前20字节是固定长度,后面的4n字节根据需要增加的选项 字段解释:图中标示单位为bit,不是byte 1.源端口.目的端口: ...

  6. 计算机网络基础之TCP/IP 协议栈

    计算机网络基础之TCP/IP 协议栈 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.TCP/IP 协议栈概述 1>.什么是TCP/IP协议栈 Transmission C ...

  7. DDOS到底是什么,怎么预防,看看就明白了

    可怕的DDOS怎么预防 分布式拒绝服务(DDoS: distributed denial-of-service)攻击是恶意破坏目标服务器.服务或网络的正常通信量的企图,其方法是用大量Internet通 ...

  8. 常见DDoS攻击

    导航: 这里将一个案例事项按照流程进行了整合,这样观察起来比较清晰.部分资料来自于Cloudflare 1.DDoS介绍 2.常用DDoS攻击 3.DDoS防护方式以及产品 4.Cloudflare ...

  9. DDoS攻击的工具介绍

    1.低轨道离子加农炮(LOIC) 1.1 什么是低轨道离子加农炮(LOIC)? 低轨道离子加农炮是通常用于发起DoS和DDoS攻击的工具.它最初是由Praetox Technology作为网络压力测试 ...

随机推荐

  1. css定位和css3的基本

    定位方式:position需要搭配left|right |top |bottom 1.相对定位:相对于自身的位置进行偏移position: relative; 2.绝对定位:相对于有position属 ...

  2. 使用Python代码制作GIF动态图

    使用Python  PIL.Image 制作GIF图片: import  PIL.Image                      相关模块 img = Image.open(img_name)  ...

  3. Java实现 洛谷 P3916 图的遍历(反向DFS+记忆化搜索)

    P3916 图的遍历 输入输出样例 输入 4 3 1 2 2 4 4 3 输出 4 4 3 4 import java.io.BufferedReader; import java.io.IOExce ...

  4. Java实现 LeetCode 442 数组中重复的数据

    442. 数组中重复的数据 给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次. 找到所有出现两次的元素. 你可以不用到任何额外空间并在O( ...

  5. Java 实现 蓝桥杯 等额本金

    标题:等额本金 小明从银行贷款3万元.约定分24个月,以等额本金方式还款. 这种还款方式就是把贷款额度等分到24个月.每个月除了要还固定的本金外,还要还贷款余额在一个月 中产生的利息. 假设月利率是: ...

  6. java实现测量到的工程数据

    [12,127,85,66,27,34,15,344,156,344,29,47,-] 这是某设备测量到的工程数据. 因工程要求,需要找出最大的 5 个值. 一般的想法是对它排序,输出前 5 个.但当 ...

  7. java实现圆周率

    我国古代数学家对圆周率方面的研究工作,成绩是突出的.三国时期的刘徽.南北朝时期的祖冲之都在这个领域取 得过辉煌战绩. 有了计算机,圆周率的计算变得十分容易了.如今,人们创造了上百种方法求π的值.其中比 ...

  8. Charles(青花瓷/花瓶)的基本使用

    前言 Charles 其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.其次该软件是用 Java 写的,能够在 Windows,Mac,Linux 上使用. ...

  9. 浅谈js运行机制

    前言 因为js的运行机制十分重要,理解起来也十分抽象,仍还是在这里做个记录,加深自己的记忆. 总之,希望本文的内容能够对您的学习或者工作有所帮助.另,如果有任何的错误或者不足请指正! 如何理解js单线 ...

  10. ASP.NET Core Blazor Webassembly 之 路由

    web最精妙的设计就是通过url把多个页面串联起来,并且可以互相跳转.我们开发系统的时候总是需要使用路由来实现页面间的跳转.传统的web开发主要是使用a标签或者是服务端redirect来跳转.那今天来 ...