如何用AI技术降噪? QCon 广州“音视频架构实践”专场给你答案! 了解详情
写点什么

“破坏之王”DDoS 的前世今生(下)

  • 2019 年 11 月 08 日
  • 本文字数:2601 字

    阅读完需:约 9 分钟

“破坏之王”DDoS的前世今生(下)

DDoS 防护的历史

在流量清洗产品问世前,通常会采用以下办法:路由黑洞技术、路由器 ACL、防火墙访问控制等。主要技术原理为:由 DDoS 产生的流量找出其规则,利用路由器的 ACL 或防火墙访问控制策略进行阻挡防护。


但该方法的缺点在于防火墙或路由器无法检测应用层攻击,并且无法应对大流量攻击清洗的需求。


后来便出现了专门的硬件流量清洗产品或解决方案,一大波安全厂家加入到抗 DDoS 阵营,防护方式为将专有的抗 DDoS 设备部署在本地网络出口,实现各类 DDoS 攻击防护。


但是随着 DDoS 攻击流量的增大(GitHub 遭受的 1.35 TB 攻击量刷新了 DDoS 攻击流量的峰值),普通的本地部署的防护设备根本无法应对。除此以外,越来越多的企业选择业务出海拓展,但硬件产品的部署模式建设成本过高,并不适用于此类用户。



图源:App Annie


随着企业业务上云的发展,又出现了抗 D 云服务这一概念,该手段借助于云计算厂商分布全球的计算能力,满足云端大流量清洗的需求。抗 D 云服务的好处在于节省硬件采购和部署成本,特别适用于出海企业的抗 D 需求,性价比较高。


接下来我们以 UCloud DDoS 高防系统为例,为大家详细介绍。


DDoS 防御系统的三大模块

通常,一个完整且成熟的 DDoS 攻击防御系统包括三大模块:检测系统、联动系统、清洗系统。



1、检测系统


流量路径如上图,WBR(WAN Border Router)是 UCloud 的边界路由器,用来承载所有的外网流量。WBR 做一份外网流量的端口镜像,送到检测集群。根据预设的算法,判断某个 EIP 是否被攻击,将证据保存到数据中心备查,并将信息通知联动系统。


2、联动系统


联动系统接收到检测系统的信息,判断进行清洗还是封堵。如果流量过高,可能打满 UCloud 与上联运营商的接口,那么就会直接封堵(调用运营商的封堵接口,将该 EIP 黑洞),用来保护机房的安全。否则将信息通知清洗系统。


3、清洗系统


清洗集群将攻击流量去除,保留正常的业务流量,并回注到主路径,从而保护机房的内网网络设备不会出现负载异常,保障业务的安全。


但这时可能有人会提出问题,也就是前文所讲到的,攻击流量越来越大时,单一的流量清洗设备和流量清洗中心已经无法处理如此大规模的网络流量,云端清洗系统的带宽能够支撑吗?


此外,对于企业而言,购买抗 D 服务本身就是一项防患于未然的行为,基于成本与最优性价比考虑,企业势必会选择已遭受攻击的最高流量值或者是行业可供参考的数值来购买抗 D 服务。但是 DDoS 攻击的来源非常广泛,经常会出现从一个国家的不同位置甚至是全世界的不同位置同时发起攻击,没有人能够预兆攻击流量的大小,当攻击流量完全占满企业网络出口带宽时,这时无论再进行什么形式的清洗,都不会有任何效果了,可以说,DDoS 的防护值也就是企业的网络瓶颈所在。


因此,针对这一点,我们要做的是:进行流量清洗之前先进行流量稀释。当攻击流量被稀释和分散以后,攻击情况就从多对一变成多对多,这样到达每个流量清洗设备或流量清洗中心的网络流量都会下降到其能够处理的范围之内,也就能够进行进一步的清洗工作了。


目前 UCloud 采用的是 Anycast(任播)技术进行流量稀释。


什么是 Anycast?

我们先来科普一下,什么是 Anycast 技术?


Anycast 技术最初在 RFC1546 中提出,是一种网络寻址和路由的策略。一个 Anycast 地址用来标识一组提供特定服务、位于不同地理位置的服务器,客户端并不关心提供服务的具体是哪台服务器,访问该地址的报文将根据 BGP 协议的选路优先级选择最近的服务器送达。


首先要了解的是,在 IP 网络中有三种寻址方法:单播寻址、多播寻址和任播寻址。


单播(Unicast):


指封包在计算机网络的传输过程中,目的地址为单一目标的一种传输方式。每次只有两个实体相互通信,发送端和接收端都是唯一确定的。它是现今网络应用最为广泛,通常所使用的网络协议或服务大多采用单播传输,例如一切基于 TCP 的协议。


多播(Multicast):


指把信息同时传递给一组目的地址。它使用的策略是最高效的,因为消息在每条网络链路上只需传递一次,而且只有在链路分叉的时候,消息才会被复制。


任播(Anycast):


Anycast 技术最初在 RFC1546 中提出,是一种网络寻址和路由的策略。Anycast 采用将一个单播地址分配到处于 Internet 中多个不同物理位置的主机上,访问该地址的报文将根据 BGP 协议的选路优先级选择最近的服务器送达。


Anycast 可以看作是 Unicast 和 Multicast 的结合,首先它具备 Unicast 的唯一性,每一个单独的 IP 会话都能够找到唯一的源主机和目标主机,同时又可以通过 BGP 向 Internet 宣告相同的 Anycast IP 地址,就可以实现 Multicast 一对多传输信息的目的。


Anycast 技术的典型应用便是谷歌建立的全球免费网域名称系統(DNS)解析服务:Google Public DNS,该服务具备解析速度快、安全性与可靠性佳等优点,能够使上网的速度更快更稳定。



图:Anycast 典型应用-Google 的 Public DNS 服务 8.8.8.8


Anycast 如何实现 DDoS 流量稀释?

举个例子,DDoS 攻击的原理就像是收集多地域的小流量,最终汇集为滔天巨浪来发动猛烈的攻势。同理,正是基于这一点,Anycast 技术便可以做到对 DDoS 攻击的完美化解:当 DDoS 流量在穿越运营商路由器时,路由器会根据 BGP 优先级把数据包路由到不同的宣告节点,从而分散掉整个 DDoS 流量。


UCloud 在海外节点也具备同样相似的 BGP 宣告能力,基于覆盖欧洲、美洲、东南亚多地域节点的 BGP 宣告能力及节点间的专线资源,UCloud Anycast 解决方案便可以实现大流量 DDoS 攻击防护的能力。(戳文末阅读原文可详细了解)



图:UCloud Anycast 全球分布式清洗示意图


UCloud Anycast 解决方案具备以下功能:


1、多地域就近接入:


同一个 IP,可同时在海外多个节点进行宣告,根据流量的来源地域就近接入 UCloud 骨干网,并通过 UCloud 专线直达服务器。


2、多源站就近处理:


同一个 IP,可同步绑定在多个地域的服务器进行服务部署,使请求就近得到处理。


3、分布式全球清洗:


DDoS 攻击流量被引至多个地域,并在每个地域的入口处分别进行流量清洗,提供全球级别的抗 DDoS 安全防护能力。


五、结语

DDoS 新的攻击类型层出不穷、攻击峰值也在不断刷新着记录,我们无法保证做到有备无患,但是可以做到防患于未然。对抗 DDoS 攻击是一个涉及多个层面的问题,只有政府、运营商、标准组织、安全厂商和最终用户共同合作,才能最终有效抑制这种攻击。


本文转载自公众号 UCloud 技术(ID:ucloud_tech)。


原文链接:


https://mp.weixin.qq.com/s/lBwM88FDz0wMOGVFV4id_A


2019 年 11 月 08 日 16:01530

评论

发布
暂无评论
发现更多内容

LeetCode题解:78. 子集,递归回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

快速掌握并发编程---线程池的原理和实战

田维常

程序员

《Maven实战》.pdf

田维常

程序员

中台:未到终局,焉知生死?

ToB行业头条

中台

后李健熙时代的三星,将迎来怎样变局?

脑极体

调包侠的炼丹福利:使用Keras Tuner自动进行超参数调整

计算机与AI

学习 keras 超参数调优

通过GUI界面更改 Ubuntu 20 LTS apt 源为阿里云

jiangling500

ubuntu 阿里云 apt

狼人杀背后的秘密,实时语音你不知道的那些事

anyRTC开发者

音视频 WebRTC 语音 RTC 安卓

第6周作业

饭桶

只有基于区块链才可能实现“大众创业、万众创新”

CECBC

区块链 分布式技术

架构师训练营作业:第五周

m

分析和解决JAVA 内存泄露的实战例子

AI乔治

Java 架构 JVM 内存泄露

直播带货大战在即:账号交易灰产猖獗

石头IT视角

第6周学习总结

饭桶

保险区块链创新中心成立,三方面赋能行业数字化转型

CECBC

区块链 保险

甲方日常 40

句子

工作 随笔杂谈 日常

面试官:面对千万级、亿级流量怎么处理?

艾小仙

Java 缓存 分布式 高并发 中间件

web worker的介绍和使用

程序那些事

多线程 Web Worker 异步模型 异步编程 web技术

小白学算法:买卖股票的最佳时机!

王磊

Java 算法

【JSRC小课堂】Web安全专题(二)逻辑漏洞的burpsuite插件开发

京东科技开发者

Web

码农会锁,synchronized 对象头结构(mark-word、Klass Pointer)、指针压缩、锁竞争,源码解毒、深度分析!

小傅哥

小傅哥 虚拟机 synchronized mark-word Klass Pointer

为产业AI去障:联想的边缘突破

脑极体

ConcurrentHashMap核心原理,彻底给整明白了

AI乔治

Java 架构 分布式 线程

假的数字人民币钱包已出现,真的是啥样?

CECBC

数字货币 数字钱包

Flink在窗口上应用函数-6-9

小知识点

scala 大数据 flink

极客大学 - 架构师训练营 第六周

9527

week1 架构方法-作业-杨斌

杨斌

频繁操作本地缓存导致YGC耗时过长

AI乔治

Java 架构 JVM GC

极客大学 - 架构师训练营 第六周作业

9527

智能安防的普惠密码,在华为好望手中的三根“线头”上

脑极体

总结年初到10月底Java基础、架构面试题,共计1327道!涵盖蚂蚁金服、腾讯、字节跳动、美团、拼多多等等一线大厂!

Java架构追梦

Java 架构 字节跳动 面试 蚂蚁金服

「云智公开课」百度沧海·存储

「云智公开课」百度沧海·存储

“破坏之王”DDoS的前世今生(下)_安全_U文案_InfoQ精选文章