DDos
在信息安全三要素:” 完整性 ”、” 保密性 ”、” 可用性 ”,Dos 针对的就是 可用性
例如:一群恶霸试图让对面那家有着竞争关系的商铺无法正常营业,他们会采取什么手段呢?(只为举例,切勿模仿)恶霸们扮作普通客户一直拥挤在对手的商铺,赖着不走,真正的购物者却无法进入;或者总是和营业员有一搭没一搭的东扯西扯,让工作人员不能正常服务客户;也可以为商铺的经营者提供虚假信息,商铺的上上下下忙成一团之后却发现都是一场空,最终跑了真正的大客户,损失惨重。此外恶霸们完成这些坏事有时凭单干难以完成,需要叫上很多人一起。嗯,网络安全领域中 DoS 和 DDoS 攻击就遵循着这些思路
cc
是 DDos 攻击方式的一种。DDos 攻击时针对 IP 的攻击、cc 攻击是针对服务器资源的攻击
cc 攻击的变异品种 - 慢速攻击
1. 原理:对任何一个开放了 HTTP 访问的服务器 HTTP 服务器,先建立了一个连接,指定一个比较大的 content-length,然后以非常低的速度发包,比如 1 -10s 发一个字节,然后维持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务
2. 分类:
- slow-header
Web 应用在处理 HTTP 请求之前都要先接收完所有的 HTTP 头部,因为 HTTP 头部中包含了一些 Web 应用可能用到的重要的信息。攻击者利用这点,发起一个 HTTP 请求,一直不停的发送 HTTP 头部,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立 TCP 连接后,每 30 秒才向服务器发送一个 HTTP 头部,而 Web 服务器在没接收到 2 个连续的 rn 时,会认为客户端没有发送完头部,而持续的等等客户端发送数据
- slow-body
攻击者发送一个 HTTP POST 请求,该请求的 Content-Length 头部值很大,使得 Web 服务器或代理认为客户端要发送很大的数据。服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立 TCP 连接后,发送了完整的 HTTP 头部,POST 方法带有较大的 Content-Length,然后每 10s 发送一次随机的参数。服务器因为没有接收到相应 Content-Length 的 body,而持续的等待客户端发送数据
- slow-read
客户端与服务器建立连接并发送了一个 HTTP 请求,客户端发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取 Response,比如很长一段时间客户端不读取任何数据,通过发送 Zero Window 到服务器,让服务器误以为客户端很忙,直到连接快超时前才读取一个字节,以消耗服务器的连接和内存资源。抓包数据可见,客户端把数据发给服务器后,服务器发送响应时,收到了客户端的 ZeroWindow 提示(表示自己没有缓冲区用于接收数据),服务器不得不持续的向客户端发出 ZeroWindowProbe 包,询问客户端是否可以接收数据
防御方式
设置限速阈值