DDoS 攻击与防御
分布式拒绝服务攻击(Distributed Denial of Service),是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击。
DDoS 是一种基于 DoS 的特殊形式的拒绝服务攻击。单一的 DoS 攻击一般是采用一对一方式,利用网络协议和操作系统的缺陷,采用欺骗和伪装的策略来进行网络攻击,使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。与 DoS 相比,DDos 借助数百上千台攻击机形成集群,发起的规模更大,更难防御的一种进攻行为。
ICMP 用于在 IP 主机,路由器之间传递控制消息(网络是否连通,主机是否可达,路由是否可用等)。ICMP 虽然不传递用户数据,但是对于用户数据的传递起着重要的作用。ICMP Flood 通过对目标系统发送海量的数据报,就可以令目标主机瘫痪,形成洪泛攻击。
UDP 协议是一种无连接的协议,在 UDP Flood 中,攻击者通常发送大量伪造 IP 地址的 UDP 报去冲击 DNS 服务器,Radius 认证服务器,流媒体视频服务器等,造成服务不可用。 上述的两种是比较传统的流量型攻击,技术含量较低,以占满网络带宽使得正常用户无法得到服务为攻击方式,攻击效果通常依赖于攻击者本身的网络性能,而且容易被查找攻击源头。
NTP 是标准的基于 UDP 协议的网络时间同步协议。由于 UDP 无连接的特性,NTP 服务器并不能保证收到报文的源 IP 的正确性。所以,攻击者通过将 IP 报文的源 IP 地址换为靶机的 IP 地址,并向 NTP 服务器发送大量的时间同步报文,这样,NTP 服务器的响应报文就会达到靶机上,沾满靶机网络段的带宽资源,同时也很难去追溯攻击源头。
SYN Flood 是一种利用 TCP 协议缺陷,发送大量伪造的 TCP 连接请求,从而使目标服务器资源耗尽的攻击方式。如果客户端只发起第一次握手,而不响应服务端的第二次握手,那么这条连接就处于半连接状态,服务端会维持这条连接一段时间(SYN Timeout)并不断地重试。但攻击者大量的模拟这种情况,就会沾满整个服务端的连接符号表,并消耗大量的 CPU 资源进行重试操作。而对于 SNY Flood 的防御目前有两种常见的方式,一种是算短 SYN Timeout,另一种是设置 SYN Cookie,并开辟一个数组存放 Cookie,单连接没有真正建立时,不去占用连接符号表。
DNS Query Flood 通过操纵大量的傀儡机,向本网段的域名服务器发送大量域名解析请求,通常这些请求解析的域名是随机生成或网络上根本不存在的域名,由于本地域名服务器无法找到对应的结果,就会通过层层上次给更高级的域名服务器,引起连锁反应,导致本网段内的域名解析服务瘫痪,但一般最多只会瘫痪一小段网络。
HashDos 是一种新型的,基于 Hash 碰撞形成的攻击。随着现在 RESTful 风格的不断普及,json 格式作为数据传输的格式愈发成为主流。但是 json 反序列化为对象时,底层是通过 hash 算法来将字段与属性,属性值进行一一匹配。所以,一旦攻击者知道了我们序列化方式,构造出一段具有严重哈希碰撞的 json 数据,就会使我们服务端序列化的复杂度从 O(1) 暴增到 O(n)。
DDos 的防御主要有两种,一种是针对流量带宽,一种是针对服务端资源。流量带宽一般需要通过运营商采用 ISP 黑洞,近源清洗等策略,在源头(即攻击者所在的网段)进行拦截,而不是等到所有的细流汇聚成猛水时才进行拦截。
而对于服务端的资源,则是当下 DDos 的重灾区,本文以攻防对抗的方式讲述 DDos 的发展历程。
参考文献:
有哪些防护措施可以解决DDOS攻击?
Dos拒绝服务攻击是通过各种手段消耗网络带宽和系统CPU、内存、连接数等资源,直接造成网络带宽耗尽或系统资源耗尽,使得该目标系统无法为正常用户提供业务服务,从而导致拒绝服务。
常规流量型的DDos攻击应急防护方式因其选择的引流技术不同而在实现上有不同的差异性,主要分为以下三种方式,实现分层清洗的效果。
1. 本地DDos防护设备
一般恶意组织发起DDos攻击时,率先感知并起作用的一般为本地数据中心内的DDos防护设备,金融机构本地防护设备较多采用旁路镜像部署方式。
本地DDos防护设备一般分为DDos检测设备、清洗设备和管理中心。首先,DDos检测设备日常通过流量基线自学习方式,按各种和防御有关的维度:
比如syn报文速率、http访问速率等进行统计,形成流量模型基线,从而生成防御阈值。
学习结束后继续按基线学习的维度做流量统计,并将每一秒钟的统计结果和防御阈值进行比较,超过则认为有异常,通告管理中心。
由管理中心下发引流策略到清洗设备,启动引流清洗。异常流量清洗通过特征、基线、回复确认等各种方式对攻击流量进行识别、清洗。
经过异常流量清洗之后,为防止流量再次引流至DDos清洗设备,可通过在出口设备回注接口上使用策略路由强制回注的流量去往数据中心内部网络,访问目标系统。
2. 运营商清洗服务
当流量型攻击的攻击流量超出互联网链路带宽或本地DDos清洗设备性能不足以应对DDos流量攻击时,需要通过运营商清洗服务或借助运营商临时增加带宽来完成攻击流量的清洗。
运营商通过各级DDos防护设备以清洗服务的方式帮助用户解决带宽消耗型的DDos攻击行为。实践证明,运营商清洗服务在应对流量型DDos攻击时较为有效。
3. 云清洗服务
当运营商DDos流量清洗不能实现既定效果的情况下,可以考虑紧急启用运营商云清洗服务来进行最后的对决。
依托运营商骨干网分布式部署的异常流量清洗中心,实现分布式近源清洗技术,在运营商骨干网络上靠近攻击源的地方把流量清洗掉,提升攻击对抗能力。
具备适用场景的可以考虑利用CNAME或域名方式,将源站解析到安全厂商云端域名,实现引流、清洗、回注,提升抗D能力。进行这类清洗需要较大的流量路径改动,牵涉面较大,一般不建议作为日常常规防御手段。
总结
以上三种防御方式存在共同的缺点,由于本地DDos防护设备及运营商均不具备HTTPS加密流量解码能力,导致针对HTTPS流量的防护能力有限;
同时由于运营商清洗服务多是基于Flow的方式检测DDos攻击,且策略的颗粒度往往较粗,因此针对CC或HTTP慢速等应用层特征的DDos攻击类型检测效果往往不够理想。
对比三种方式的不同适用场景,发现单一解决方案不能完成所有DDos攻击清洗,因为大多数真正的DDos攻击都是“混合”攻击(掺杂各种不同的攻击类型)。
比如:以大流量反射做背景,期间混入一些CC和连接耗尽,以及慢速攻击。这时很有可能需要运营商清洗(针对流量型的攻击)先把80%以上的流量清洗掉,把链路带宽清出来;
在剩下的20%里很有可能还有80%是攻击流量(类似CC攻击、HTTP慢速攻击等),那么就需要本地配合进一步进行清洗。
防御DDOS攻击的办法有哪些
如何应对 DDoS 攻击?
高防服务器
还是拿最开始重庆火锅店举例,高防服务器就是给重庆火锅店增加了两名保安,这两名保安可以让保护店铺不受流氓骚扰,并且还会定期在店铺周围巡逻防止流氓骚扰。
高防服务器主要是指能独立硬防御 50Gbps 以上的服务器,能够帮助网站拒绝服务攻击,定期扫描网络主节点等,这东西是不错,就是贵
黑名单
面对火锅店里面的流氓,我一怒之下将他们拍照入档,并禁止他们踏入店铺,但是有的时候遇到长得像的人也会禁止他进入店铺。这个就是设置黑名单,此方法秉承的就是 “错杀一千,也不放一百” 的原则,会封锁正常流量,影响到正常业务。
DDoS 清洗
DDos 清洗,就是我发现客人进店几分钟以后,但是一直不点餐,我就把他踢出店里。
DDoS 清洗会对用户请求数据进行实时监控,及时发现 DOS 攻击等异常流量,在不影响正常业务开展的情况下清洗掉这些异常流量。
CDN 加速
CDN 加速,我们可以这么理解:为了减少流氓骚扰,我干脆将火锅店开到了线上,承接外卖服务,这样流氓找不到店在哪里,也耍不来流氓了。
在现实中,CDN 服务将网站访问流量分配到了各个节点中,这样一方面隐藏网站的真实 IP,另一方面即使遭遇 DDoS 攻击,也可以将流量分散到各个节点中,防止源站崩溃。
推荐产品
1.百度云加速
百度云加速是百度旗下为网站提供一站式加速、安全防护和搜索引擎优化的产品。百度云加速正为数十万用户的近百万网站提供CDN、网络安全和SEO服务。每天处理十亿级的PV流量及数百亿TB的数据流量,并提供市场顶尖水平的稳定性和抗攻击能力。
优惠链接:
2.京东云星盾
星盾安全加速(SCDN,Secure Content Delivery Network),是京东云推出的一体化分布式安全防御产品,提供免费 SSL 证书,集成 Web 攻击防护、CC 攻击防御、BOT 机器人分析,并将内容分发加速能力融于一身。在边缘节点注入安全能力,形成分布式的安全加速网络,让您的业务更安全、体验更流畅。适用于所有兼顾安全和内容加速的业务。
优惠链接:
0条大神的评论