导语:目前各个公有云厂商都会在自己的控制台上集成DDoS基础防护产品,根据竞品调研,目前在算法方面做优化最多的是阿里云,今天想和大家聊聊如何根据获取到的攻击数据,来动态分配防御资源。

0x00、前言

目前各个公有云厂商都会在自己的控制台上集成DDoS基础防护产品,根据竞品调研,目前在算法方面做优化最多的是阿里云,今天想和大家聊聊如何根据获取到的攻击数据,来动态分配防御资源。

0x01、需求分析

世界上从来没有无缘无故的爱也没有无缘无故的恨,做这个功能都是有原因的。面对阿里这么大体量的公有云公司,在几十个数据中心部署免费的防御资源,需要大量的资金投入。

@1、业务需求点

· 公有云建设初期,对外提供服务,黑客对线上服务进行DDoS,会影响公有云运行的稳定性,进而导致云上租户对公有云服务的连续性质疑,应用公有云业绩收入。

· 由于公有云很多底层资源都是共享的,包括带宽、物理机等。A用户被攻击有可能影响整个集群的稳定性,可能B、C、D。。。等很多用户被影响。

· 基础DDoS产品无盈利,公司需要通过技术手段降低成本。

@2、解决方案成本

我们先算一笔经济账,假设阿里在北上广BGP和静态单线机房30个AZ节点,每个机房带宽在100G。

方案一:使用全流量方式探测。

· 检测部分

按照目前技术水平一台服务器3万左右的服务器能处理40G的流量。那需要,3(每个机房)*30(机房数)= 90台服务器。

· 阻断部分

也分两种,第一种是在本地部署黑洞本地处理,资源在自己手中策略调整灵活度大,但是对数据中心有一定的风险性(流量已经进入到本地路由)。第二种是和上联运营商做自动化路由黑洞处理,但是黑洞IP数量有限制。资源可以复用检测部分使用的资源。

方案二、使用Netflow流探测的方式。

这种解决方案硬件投入性价比是最高的。一个数据中心一台服务器就能满足需求,但是目前市面的商业解决方案无法满足业务需求,需要投入研发人员做开发。

从上面的成本和技术要求评估:第一种方案全流量方式,黑洞本地处理同时配合上层运营商封禁。

0x02、业务优化流程

业务拓扑

                                             

1.png

业务流程

11.png

那么我们的优化重点是定义基础防护产品好坏的指标是,黑洞阈值大小、黑洞回复时长。

· 输入的数据

@1、历史攻击:攻击峰值、攻击时长、被黑洞次数

@2、安全等级:使用DDoS高防IP、Web应用防火墙、主机安全、渗透测试业务等级

@3、会员等级:历史累积公有云各个产品消费金额(安全产品除外)

· 输出数据

单个用户对应当前时刻的封禁阈值、解封时长。

111.png

由于目前资源有限,获取到的数据只有

1111.png

根据我们分析的三种用户使用kmeans分类算法,大致可把用户分为3类:

(1)、0-5G

(2)、5G-12G

(3)、大于12G最高探测到的有30G

2.png

可以把这个当做模型,在不断喂数据的过程中训练这个动态模型。当然这是以5G为黑洞标准出的模型,也可以以2G起。当然还涉及到后端空闲带宽资源。

攻击频率怎么衡量呢?

222.png

把攻击持续时间歧义点处理掉。以现有的数据分析,图中花圈的数据是最影响业务最大的,因为攻击大于5G同时不止一次。在大数据集中提取这部分数据。

然后对单个IP分析

2222.png

发现:一天内超过3次的封禁时间必须超过1天的时间。

0x04、总结

本文主要是针对DDoS封禁算法探讨,由于样本有限,目前还主要使用传统统计学方法判断历史攻击情况。得出黑洞阈值、攻击频率的大概的参数。

源链接

Hacking more

...