中文站

DDoS防护体系最佳实践

互联网发展到今天,无论是对经济、科技还是社会发展都发挥了巨大的积极的影响,但是在互联网辉煌成就的背后,也催生了一系列互联网黑灰产业链,对于目前互联网强依赖的经济发展现状来说,互联网的安全问题愈来愈严峻。

互联网安全问题是一个非常复杂而又庞大的体系,从整体上划分可分为基础安全和业务安全,每一块都能继续细分下去,自成一个体系。

如果把互联网安全防护比喻成一系列的防护门,那么基础安全就是最前面的几道门,DDoS防护则是第一道门。

对于企业来说,最佳的发展状态就是在专业的领域持续发展和盈利,形成一个良性的发展模式,始终把精力集中在一个点上,但是安全问题不得不会分散企业的精力。在分工越来越精细化的企业发展模式下,很多企业无暇去顾及但又不得不面对安全问题,如果互联网安全防护能够以一种“即时防护”服务的形势提供将会非常有吸引力,不同规模的企业根据自身业务特点去定制套餐,不仅极大的节约了成本,也会有非常好的安全体验。

网易易盾的DDoS防护体系结合云计算,契合”防护即服务”的路线,在云时代的DDoS防护体系已有了长足的实践。

来理解一下DDoS

DDoS攻击一直都不是独立发展的,它得益于互联网的发展,互联网的规模越大,它的市场也越大,攻击方式也越来越繁多和复杂。

近十年来,DDoS流量规模迅速飙升。2016年,美国域名服务提供商Dyn公司遭受大规模的DDoS攻击,导致大半个美国的网络服务瘫痪,多个知名公司服务受到影响。事后分析,此次的DDoS规模已经超过Tbps,DDoS攻击达成了Tbps的里程碑,T级的DDoS就已成为常态。

我们不得不要去思考一下这个问题,是什么原因造成了DDoS威胁愈演愈烈,互联网的发展已经把安全问题放在很重要的一个位置上,但是一直没有遏制住DDoS安全问题,反而DDoS反扑越来越凶猛。分析一下当前互联网发展现状和趋势,可以总结出以下几个原因:

1、老旧的网络设备更新换代成本太大,安全问题一直没有得到很好解决;

2、IoT设备数量的暴增,2018年就已达90亿之多,而传统的IoT厂商在网络安全上投入太少,导致IoT设备存在很大的安全隐患;

3、DDoS攻击花样型越来越丰富,网络协议栈、公共服务器等的安全漏洞一直没法解决或者是解决的代价太大导致被黑客利用。

DDoS威胁在互联网蓬勃发展的大背景下,并没有得到很好的解决,反而愈演愈烈,究其原因就是:东西都是人设计的,人设计的东西不能说100%没漏洞,所以互联网的体量越大,出现漏洞的概率越大,那么DDoS威胁就会一直存在。

网易DDoS防护体系最佳实践

网易分布式DDoS防护体系简称为NDS,经过多年的不断积累和改进,NDS在防护配置和防护效果方面日臻完善。

NDS组成原理

当部署在企业内部时,NDS的组成及原理如下图所示。NDS产品主要由异常流量检测、异常流量清洗两个系统组成。工作流程有4步:流量检测、流量牵引、流量清洗、流量回注。

当部署在第三方IDC机房时,NDS产品的组成及原理如下图所示。

NDS防护算法 

网络层防护

网络层防护的主要流程是:每50毫秒分析一次业务流程的成分、新建连接并发连接、业务请求,发现攻击成分发生变化时,依据客户的配置情况调用相应的清洗模块。网络层清洗模块主要有:TCP SYN认证模块、畸形包模块、ACL模块、TCP/UDP状态机模块、黑名单模块、大数据分析过滤模块、限速模块。NDS产品对UDP业务的防护流程如下图所示:

NDS产品对TCP业务的防护流程比较复杂,这里仅仅介绍SYN Flood的防护,如下图所示。

应用层防护

应用层DDoS攻击之所以难以防范,就在于攻击流和正常流混合在一起,很难有效地分辨出攻击流,想要取得良好的防护效果,要求NDS必须对业务进行深入的分析。

NDS产品业务层防护由JS认证、浏览器指纹、CC工具识别、高级ACL、IP名单库等防护模块组成。这些模块可以单独或者组合使用,以保护客户的业务。

1、JS验证:用于验证来自互联网的访问是否来自于真实浏览器,会区分HTTP API调用和浏览器。其防护流程如下图所示:

2、浏览器指纹:用于验证来自于互联网的访问是否伪造浏览器的请求;

3、CC工具识别:一款CC工具识别模块,能识别出互联网的90%以上的CC工具。包括且不限于空连接、长连接、慢速连接、故意拆分成小包、故意重传、回放攻击、无负载连接等行为;4、高级ACL:支持客户根据业务特征书写ACL,直接过滤非法流量,支持与黑名单联动;5、IP名单库:根据大数据的分析结果,形成各种特征的IP名单。

除上述方法之外,NDS产品应用防护层还提供了深度定制防护方式:清洗插件,允许在NDS软件运行客户的清洗逻辑。

防护算法

NDS内置了多种防护算法,目前各种算法单独工作时的可用性指标如下:

1、畸形包丢弃:对特定格式的IP/TCP/ICMP报文进行丢弃,成功率接近100%;

2、SYN Reset认证:用于过滤SYN Flood,成功率95%,源IP首次建TCP连接会延迟1-3秒;

3、SYN Cookie认证:用于过滤SYN Flood,成功率接近100%,通用高防的SYN Flood的默认防护策略;

4、TCP状态机过滤:用于过滤ACK/Fin/Reset Flood,防护阈值配置正确时,成功率100%;

5、UDP状态机过滤:用于过滤UDP Flood,对于双向UDP业务,成功率95,单向成功率50%;

6、HTTP JS反射验证:用于过滤HTTP Flood,改进模型的成功率96%,可能对验证码URI会有误杀;

7、浏览器指纹:用于HTTP Flood,成功率90%;

8、地域开关过滤:用于过滤CC,和其他开关清洗不掉的DDoS流量,成功率75%;

9、大数据分析结果校验:用于过滤CC,和其他开关清洗不掉的DDoS流量,成功率70%;

10、黑/白名单过滤:用于过滤CC,防护阈值配置正确时,成功率80%;

11、限速:有很多种类型的限速,一般用于其他开关清洗不掉的DDoS流量。

静态开关

静态开关是由用户(或易盾安全专家)配置的,NDS软件会依据配置值预设清洗策略。

动态开关

动态开关是由NDS软件按照DDoS攻击特征和客户指定的阈值,动态打开关闭的,用户只能看不能改,但可以通过修改与之关联的防护阈值来间接改变它。

由于复合型DDoS攻击非常常见,因此发生DDoS时开启多个动态开关是常态。当前时刻和历史任意时刻的动态开关可以通过“清洗效果分析系统”的app_SW成员来查看,如下图所示。

动态开关通常会因DDoS流量的成分的变化而变化,且反应速度很快。其中SYN认证开关的反应时间为≤50毫秒,其他动态开关的反应时间为≤1秒。

动态开关依据成功率以及开销的不同,划分为若干个级别。NDS软件会参考客户的配置值,优先选择成功率高、开销小的算法。当无法满足需求(例如检测到有严重误杀)时,会自动叠加成功率低的算法。

2018年网易DDoS案例盘点分析

超过了250Gbps,攻击类型基本上覆盖了所有的DDoS类型。混合型DDoS攻击往往是最难防的,其不仅考验DDoS防护系统的完备性、稳定性,也对运维构成了挑战。

本次长达一个月的DDoS攻击,不仅DDoS流量规模大,其DDoS流量类型也繁多,NDS实现了7*24小时自动防护,无人干预,这是对NDS防护系统的完备性、稳定性以及灵活性的最佳验证。

DDoS流量峰值与类型 

250Gbps的SYN Flood 

混合型的DDoS攻击

NDS之所以能够实现7*24小时的自动防护是因为NDS具备一套精密的自动防护算法开关,能够根据当前的攻击形势以及防护效果进行调整,实现DDoS防护算法自动开启与叠加,以达到最佳的防护效果。