解密:天猫双十一1682亿背后的“霸下-七层流量清洗”系统

4,075 阅读10分钟

上古神话中,龙生九子,其六为赑屃(bi xi),又名霸下,力大无穷,喜负重。在阿里安全也有这么一套技术框架以此命名。
001
上古神兽——霸下

名如其意,霸下的责任是支撑阿里安全产品的底层技术框架,它面向的用户是安全产品,给安全产品提供所需要的一切技术元素,诸如接入、数据传输、配置下发、策略执行、在线近线计算、存储、检索。通过拼接组合这些安全产品必备的元素,就能非常快速地构建出一个全新业务场景的产品,而不用再从零开始设计、探路、踩坑。让安全产品,在与外部的黑客、黑灰产斗争中做到迅捷快变。

这套强大的技术框架为今年的双11保驾护航,并立下赫赫战功。今天,我们就一起探秘基于其研发的全新的“七层流量清洗”业务。

差一点被黑产“打穿”

“2016年之前,我们并未针对交易链路去做专项的防控,现在去看相当于是‘裸奔’的状态!”霸下-七层流量清洗业务产品负责人砚墨这句话令人印象深刻。

2016年3、4月份的时候,黑灰产肆虐,连续造成故障。原来,聚划算每天早上10点推出的秒杀被黑产盯上了。阿里安全的工程师进行排查的时候发现,在出故障的时候,所有的交易流量90%以上都不是实人,而是黑产发起的机器流量。而正是这些垃圾流量占用了绝大多数通道,让正常的用户几乎下不了单,导致交易系统几近瘫痪。

“当时的安全在交易链路上的防控是非常非常弱的。”砚墨连续用了两个“非常”。

自此之后,阿里安全成了专项团队,针对交易链路进行防控。从2016年4月份一直持续到2016年11月份。特别是在2016年双11之前,阿里安全的技术团队“996”了一个多月,去进行相关的布防,终于,2016年的双11平稳度过。

然而,在接下来的2016年双12中,谁也没有料到,一个月前还固若金汤的防线,居然差一点点就被黑产“打穿”!

“2016年的双12沿用的是之前双11的策略,我们布置了两道防线。第一道防线布防于集团的网关,第二道防线设置在用户最终提交订单的环节。但是在零点的时候,黑产竟然突破了第一道防线!说实话,当时我冷汗都给吓出来了。”砚墨描述起当时的情形。

不过所幸的是,黑产流量在突破第一道防线之后,再无进展,因为阿里安全工程师布防的第二道防线成功守住了。

从双11到双12,仅仅一个月的时间,黑产的技术能力就有了大幅度的提升。砚墨回忆说,在2016年双12,黑产大概用了三种手段,去绕开第一道防线。然后全部的黑产流量就已呈“兵临城下”之势,打到了第二道防线上,也就是应用的前面。如果再过去,就直接到交易了!
binglinchengxia
敌人已到城门口

“当时我们统计了一下前15分钟的黑产流量,大概有近两千万的PV是由机器发起的,占据了整个流量的30%多。如果这部分流量将我们的两道防线全部打穿的话,后果不堪设想。双12当天一定是一个P1故障!系统也应该基本瘫掉了。”砚墨说。

全新系统终于诞生

“我们发现最核心的问题是拦截效果不好,应对外部黑灰产的变化的时候,我们的响应速度也比较慢。黑产每天都在研究我们,对我们的系统非常了解,也知道哪些地方比较薄弱。” 砚墨说。鉴于2016年黑产的猖獗造成的“不堪”,阿里安全的工程师们决定打造全新的系统来对抗,但是面临的挑战也是前所未有的。

从整个底层架构来看,相当于把技术上的所有网络产品重新做了一遍。从应用角度、从代码角度,都得全部重新写。新系统的架构,无论是从设计逻辑上,还是理念层面的,与以前的都完全不同。

“与上下游团队、交易团队的会议当时开了很长很长时间,大概持续了一两个月,都在讨论这个问题。反反复复,反反复复。第一次反正是谈都没得谈,直接说这架构不行,让我们回去重新搞。后来,我们的做法就是,去做各种各样的压测、验证,比如稳定性的验证,包括CPU、内存的可控逻辑。接着,我们和以前的架构去一一做对比,比如进程开销有什么样的优势等。全部列下来,然后再去找相关的团队谈。然而,还是没有被接受。一方面是觉得这个技术是全新的,另外一方面,是觉得运营和运维的压力很大,因为他们原先不需要去关心单独的安全问题,现在要多考虑这样的一个因素。”砚墨说。

当然,经过漫长的讨论,以及各个团队的负责人、集团的架构师团队、阿里安全的架构师的反复验证,从数据上证明,这个项目的风险是可控的。最终,各方也就同意了。

事实证明,这套新系统的不论是性能、功能还是稳定性角度,都甩了老系统几条街。

经受大战考验

“这个项目启动于去年双11,第一次得到验证是今年的618大促。”砚墨说。

2017年2、3月间,阿里安全技术团队就把“霸下-七层流量清洗”系统的整个架构设计了出来。事实上,这套全新的系统从立项到发布总共也就半年的时间。在今年的5月18日,“霸下-七层流量清洗”系统就已经准备就绪。

618大促的时候,整套系统替换掉了去年的第二道防线, 8月9日,成功在全集团的统一网关层进行了部署。到9月9日酒水节的时候,系统已经是全部就绪,相对于去年双11来说,鸟枪换炮。

酒水节至2017年双11期间,阿里安全技术团队还对系统进行了版本的更新,修复了一些Bug,并做了性能优化。同时,提前进行安全策略的准备,比如一些模型、拦截名单之类的。

在10月11日的时候,包括物理架构和安全策略都全部定型,然后就进入全链路压测阶段。

“在10月国庆节后的第一周第一次压测的时候,我们还发现了很多问题,然后在一周之内把这些问题全部解决了。第二次全链路压测也顺利地过了,从性能和策略角度都全部过了。但其实也做了很多性能方面的优化和改动,小伙伴们非常给力,都加班加点熬夜完成。在最后一次全链路压测的时候,就没有什么问题了,看看数据就好了。”砚墨轻描淡写地讲出双11的备战情况。

天猫2017双11的总交易额为1682亿元,其中,交易峰值达到了32.5万笔/秒,比去年的数据有着很大幅度的提升。令人称奇的是,今年的双11基本没有出现大量用户反馈“无法下单”的情况。毫无疑问,这里面也有“霸下-七层流量清洗”系统的一份功劳。

据砚墨介绍,2017年双11,阿里安全技术团队所研发的全新流量清洗系统设置了4层防护,从开始渲染订单的时候就进行防控。而根据实际监测的情况来看,90%以上的黑产流量或恶意流量被第一、第二道防线过滤掉了,而最终交易系统的流量纯净度高达99.85%。

“你来我往”的攻与防

2016年年初,黑产最为猖獗的时期。

砚墨说,“黑灰产的利润远远超出所有人的认知,而且只要是有优惠或者秒杀的商品,他们都会去抢。例如一个洗发水原价19块钱,他们用1块钱秒到,一转手保底就有10块钱入账。10块钱虽然看起来很小,但是考虑到全网所有的优惠,可能一天就能让他们“薅”走成千上万块。而这些本来是我们提供给消费者的实惠!”。

当时,黑产通过一些防控最弱的通道,但是很快,阿里安全的工程师就将其堵死。黑产发现这条路被堵之后,然后又绕道从一些“人迹罕至”的路口,找一些非标准的路径,也被阿里安全的工程师识破并拒之门外。

黑产又生一计,开始花大价钱去破解手淘。尽管手淘的所有交易都是加密的,但是金钱的诱惑是巨大的,黑产费力找来一些老版本的手淘,然后去进行破解,获取里面的通讯协议等等,然后通过这些协议、脚本去模拟、下单。然而又一次地,阿里安全的工程师们重点加强了老版本手淘的防控,也没有给黑产可乘之机。

砚墨说,与黑产的你来我往,就是经典的安全攻防教程。

据介绍,全新的流量清洗系统也充分考虑了用户的体验。“霸下-七层流量清洗”系统对交易承诺的时间是5毫秒以内,而整个链路包含了网络请求通过网关,经过流量清洗系统的检验,再送到交易。

“只有这样,才能让用户无感知。”砚墨说。

实际上,今年双11前,市面上出现了大量的秒杀软件,而阿里安全的情报团队和工程师们迅速从流量中发现了异常,并进行有针对性的布防,使得这些黑产无功而返。

“霸下-七层流量清洗”系统还有一项非常牛的数据,那就是对流量的判定时间大幅缩短。在一年之前,一个流量被判定为机器流量,到流量被拦截,最长耗时达到15秒!而今年,这一时间暴减至几毫秒!也就是说,即使黑产软件能够在一秒内发起大量的请求,那阿里的安全防护系统也可以在几毫秒内直接拦掉。

“今年双11的GMV能再创新高,达到惊人的1682亿元,技术进步真的发挥了很大的作用。”砚墨感慨到。据悉,各条业务线也反馈,今年双11从流量清洗系统过去的流量纯净度非常高,充分保障了业务的正常运营!
11111

把通道给真实的用户,把优惠送给“剁手党”,把黑产流量清洗掉,这就是“霸下-七层流量清洗”系统的使命。

砚墨表示,他和小伙伴们已经在着手准备双12了。