一、什么是 DDOS 攻击

image.png
DDoS全称Distributed Denial of Service:分布式拒绝服务攻击。 是拒绝服务攻击的升级版。 拒绝攻击服务顾名思义, 让服务不可用。常用于攻击对外提供服务的服务器, 像常见的:

  • WEB 服务
  • 邮件服务
  • DNS 服务
  • 即时通讯服务
  • ….

攻击者不断地提出服务请求, 让合法用户的请求无法及时处理, 这就是 DDOS 攻击
攻击者使用多台计算机或者计算机集群进行 DOS 攻击, 就是 DDOS 攻击

在早期互联网技术还没有那么发达的时候, 发起 DOS 攻击是一件很容易的事情: 一台性能强劲的计算机, 写个程序多线程不断向服务器进行请求, 服务器应接不暇, 最终无法处理正常的请求, 对别的正常用户来说, 看上去网站貌似无法访问, 拒绝服务就是这么个意思

后来随着技术发展,现在的服务器早已不是一台服务器那么简单, 你访问一个 www.baidu.com 的域名, 背后是数不清的 CDN 节点, 数不清的 WEB 服务器。
这种情况下, 想靠单台计算机去试图让一个网络服务满载, 无异于鸡蛋碰石头,对方没趴下, 自己先趴下了。

技术从来都是一柄双刃剑, 分布式技术既可以用来提供高可用的服务, 也能够被攻击方用来进行大规模杀伤性攻击。 攻击者不再局限于单台计算机的攻击能力, 转而通过成规模的网络集群发起拒绝服务攻击

二、 DDOS 攻击的工作原理是什么

DDOS 攻击利用接入互联网上的设备构成的彼此连接的网络, 切断用户于服务器或网络资源(比如用户经常访问的网站或者应用程序)的联系
为了发动 DDOS 攻击, 攻击者会使用恶意软件或利用安全漏洞, 恶意感染机器和设备, 并获得其控制权。 每台电脑或者收到感染的设备都称之为“爬虫程序”或“僵尸”, 他们能够进一步传播恶意软件并参与 DDoS 攻击。这些爬虫程序共同构成了称为“僵尸网络”的僵尸军团, 利用数量优势扩大供给规模。 此外,人们往往不会注意到物联网设备受感染, 这很像是僵尸恐怖片里经常会有的那只麻烦的僵尸, 主角们根本不知道它已经被感染了, 而在物联网设备中, 这会造成合法的设备所有者成为次要受害者或者不知情的参与者, 而受害企业仍然难以分辨攻击者的身份
在供给者成功建立起僵尸网络后, 就可以远程对每个爬虫发号施令
发起对于目标系统的 DDoS 攻击。 在僵尸网络攻击某个网络或服务器时, 攻击者会指示僵尸向受害者的 IP 地址发送请求。 我们每个人都有独一无二的指纹, 而设备也有类似的特征, 每台设备都有一个唯一的地址, 可以用来在互联网或本地网络上识别他们。流量过大造成拒绝服务, 使正常流量无法访问网站、web应用、API 或 网络

三、DDoS 攻击类型

DDos 攻击分为许多不同类型, 攻击者经常混合使用多种攻击来给目标造成破坏

  • 容积攻击
  • 协议攻击
  • 应用层攻击

所有攻击的目的都是为了严重拖慢合法流量的速度, 或者组织合法流量到达其预定目的地
DDoS 攻击会造成资源不可用或性能下降,导致业务陷入停滞

四、 DDoS 攻击中涉及的 OSI 模型中的七个网络连接层

第 7 层 应用层
应用层位于 OSI 模型的顶端, 最靠近最终用户。 它是人与电脑和设备对接的位置, 也是网络与应用程序连接的地方
第 6 层 表示层
数据加密和解密都在表示层中发生, 从而实现安全传输
第 5 层 会话层
会话层允许设备、电脑或服务器彼此通信,并控制端口和会话
第 4 层 传输层
在传输层, 数据通过传输控制协议(TCP)进行通信, 该协议基于互联网协议(IP), 也成 TCP/IP
第 3 层 网络层
网络层决定了数据到达目的地的物理路径
第 2 层 数据链路层
数据链路层提供了一种在网络实体之间传输数据的方式。 它用来检测和纠正物理层可能发生的错误
第 1 层 物理层
物理层是最低的一层, 在这里,原始比特位通过连接各个网络节点的物理数据链路传输。

容积攻击

容积型 DDoS 攻击的目的是用海量流量充塞网络, 耗尽预期受害方资源的带宽。
海量攻击流量阻断了合法用户对应用程序或服务的访问, 造成流量无法正常流入或流出
容积攻击使用的攻击途径是由一种恶意软件感染的众多系统和设备组成的僵尸网络。 在攻击者的控制下, 爬虫程序发出恶意流量, 耗尽所有可用带宽, 造成攻击目标与互联网之间的连接拥塞
由于爬虫程序会去睇啊合法设备,以放大带宽密集型 DDoS 攻击, 但用户往往毫不知情,因此受害企业很难发现恶意流量
常见的容积攻击类型

  • UDP 泛洪攻击
  • DNS 反射/放大
  • ICMP 泛洪攻击

    协议攻击

    协议攻击通过尝试利用协议通信的恶意连接请求来消耗并耗尽各种网络基础架构资源(如服务器或防火墙)的计算容量。同步(SYN)泛洪攻击和 smurf DDoS 是基于协议的 DDoS 攻击的两种常见类型。 协议攻击可以用每秒数据包数量(pps)和每秒比特数(bps)来衡量

  • SYN 泛鸿攻击

  • smurf DDoS 攻击

应用层攻击

应用层攻击是通过向应用程序发送大量恶意请求实现的, 以每秒请求书(RPS)来衡量。 这类攻击也称为第7层 DDoS 攻击, 针对并破坏特定的网络应用程序, 而不是整个网络。 虽然这类DDoS 攻击难以预防和抵御, 但发动起来却相对比较容易
比如 惊吓一群马并让他们到处乱跑容易, 但要再次将他们控制起来几乎很难实现。应用层攻击就是这样: 容易实施,但难以减缓或阻止, 而且特定于某个目标。

五、DDoS 攻击的目的是什么

分布式拒绝服务攻击(DDoS) 试图通过多个来源的恶意流量造成在线服务、网站和网络应用程序不堪重负, 或者耗尽目标资产的计算资源并且使之因此而陷入瘫痪。 攻击者的目标是让合法用户无法正常使用该目标, 他的目的只有一个 就是破坏。 DDoS 攻击的目标是人们日常生活中依赖的各种资源, 包括金融服务、医疗信息、新闻机构、教育系统和网络购物
常见的动机:

  • 出于政治或社会原因而进行黑客攻击
  • 民族国家公祭者试图造成经济或社会混乱
  • 造成竞争对手的服务或产品不可用, 并尝试借机招揽业务
  • 将 DDoS 攻击用作“烟雾”, 转移紧急事件响应小组对更不易察觉的复杂攻击的注意力
  • 通过敲诈勒索来谋取经济利益

六、 如何抵御 DDoS 攻击

借助强大的 DDoS 抵御策略和行动手册, 企业可以抵御 DDoS 攻击并降低其造成的破坏程度。 各种云端解决方案提供的大容量、高性能和始终开启的 DDoS 防护措施可以防止恶意流量经由 WEB API 进入网站或 干扰通信。 基于云的净化服务可以快速抵御针对非WEB资产(如网络基础架构)发起的大规模攻击

  • 安装专业抗DDoS防火墙
  • 部署CDN

参考 前端3年以上面试常考问的web安全问题总结 - 腾讯云开发者社区-腾讯云 https://www.akamai.com/zh/our-thinking/ddos