如果你特别想听到谁的故事,不妨加微信(微信号:shizhongpro)告诉我
我认识了一位阿里巴巴“禁卫军”文|史中2006年前后,发生了几件小事
湖北天门,彼时还未成年的黑客菜霸,在天涯网上定位出了一位服安眠药自杀的少女的具体位置,远程帮助警方救下了女孩
三个月后,他因为入侵腾讯内网系统被警方控制
湖北武汉,黑客李俊开发出了熊猫烧香病毒,如瘟疫一般在全国肆虐,诸多黑客大神紧急开发专杀软件,一时间江湖风起云涌
那些年,故事开始像珍珠散落玉盘,“黑客”这个词亦正亦邪的基调奠定,那些命运迥异的人物从此登上舞台
今天坐在中哥对面的这个技术人,和黑客江湖有着十几年隐隐然的关系
只不过,在他的故事里,黑客江湖是远处的黑暗丛林,是城堡角楼上雕栏玉砌的背景
此人名叫铁花,他加入阿里巴巴的事件也是2006年,事情就是这么巧
“我不是黑客,我的对手是黑客
”铁花两手一摊,好像面前有一条楚河汉界
如果把阿里巴巴比作一座城堡,它的保卫力量分为两支:一支自然是军队,负责征战沙场,过河杀敌;另一支是“禁卫军”,他们从不出城堡,却拱卫着王国的核心机要
铁花是禁卫军,十多年来,他把一件事做到了极致:对阿里巴巴贴身防守
他在西北工业大学学的是计算机专业,为了离家近点儿,他托朋友给问问浙江哪家公司好
朋友说,有家阿里巴巴还不错,他就来面试了
铁花加入淘宝那年,淘宝刚满三岁
同事问他:你的淘宝账号是什么?铁花:什么淘宝账号?我还没注册啊!相比后来多少码农挤破头都进不了阿里巴巴,铁花这么云淡风轻歪打正着可以说是相当可气了
别看铁花这个人你不熟悉,但你只要在淘宝上充过话费,就十有八九用过他参与写的系统
刚到淘宝几个月,老板让他参与开发一个“自动发货程序”——就是你在网上充话费,不用等网线那头的卖家刮开卡给你手动充值,而是可以卖家提前把卡号密码输入系统,有人买系统就自动给充值了
铁花本来就把这事儿当成个小任务,系统没过多久就在淘宝上线运行了
结果没几天,他自己玩游戏需要充点卡
在淘宝上一下单,点卡瞬间就到账了
铁花恍然大悟,原来几天前自己开发的系统,已经用来服务自己了
这种感觉很神奇,像是自己改变了自己的人生!铁花回忆
从那以后,他渐渐发现,自己每写一行代码,改变的都是全国人的生活方式
这种成就感简直爽呆了
转念一想,这要是写一行有问题的代码,那坑的也是全国人啊
这事儿可不是闹着玩的,想到这铁花手都有点抖
命里该然,铁花因为严谨的风格被安排到一个重要的岗位——代码测试
这下可好,他成了淘宝各种新系统的最后一个“质检员”,只要他说Yes,那这个淘宝新组件就可以上线,为上亿人提供服务了
他要是眼花没发现问题,出了事,他也是第一个被皮鞭滴蜡伺候的
他越是觉得责任重大,越是要用各种姿势测试系统的安全性
有一天晚上,正在加班做测试,一只黑色的鸟落在窗外的窗台上,朝他神秘地转了一下头
那一瞬间,他突然想到自己上学的时候曾经研究过一些黑客攻击技巧
“为啥不试试用黑客的方法攻击一下系统呢?”他自言自语
铁花被自己吓坏了
我的黑客攻击水平也算不上顶尖,但用这种方法攻击淘宝系统,一攻一个准
他回忆
这意味着,就在此时,一个陌生的世界可能正在通过裂缝向这里窥探
眼含泪水告诉他这个坏消息:如果采用特定攻击手段,黑客能够轻易登录任何一个人的淘宝
丁典看铁花神色那么焦急,有点不解:“只是登录,也不至于有多严重吧?这个问题要修起来,涉及到很多代码框架的调整,先等等看
”铁花见状,没说啥扭头就走了
过了半小时,他在旺旺群里发了个搜索链接,让丁典点击了一下
又过了一会儿,铁花来找丁典,说:“你的邮箱密码已经被我改了,你的淘宝密码我也能改,但我没动
”丁典惊为天人
就这样,铁花成为了淘宝网历史上第一个“安全开发工程师”,他的职责是:第一、负责制定一套安全开发框架,让攻城狮们按照规矩操作;第二、编写相应的安全开发组件,让攻城狮们写代码的时候引用,还能自查组件的安全性
明眼人一下就能看出,这种操作就是后来大名鼎鼎的SDL(软件安全开发生命周期管理),多年以后,这套规则就像吃麻小要戴手套,XXX要戴XXX一样,已经成为各个公司开发的标准流程了
就在淘宝网安全体系一点点建立的时候,河对岸的黑客森林也在一点点躁动
前文提到的菜霸进攻腾讯内网,“盗马化腾QQ”的事件已经发生,史称“朽木事件”
平心而论,菜霸杂糅了那个时代黑客的两面性,初心是帮助对方修好漏洞,做法却是实打实的攻击
以他为界,黑客分为正邪两派:一派是白帽子,拿到大公司的漏洞,用最善意的方式通知公司;一派是黑帽子,拿到大公司的漏洞,直接挂电话勒索
对方通过朋友辗转找到铁花,在线上说:我这里有淘宝网的一个漏洞,你们阿里巴巴拿30万,咱们了事
铁花也不激动,跟对方说:你真的有漏洞吗?你得先攻击我们一下,让我们知道你有这个实力啊
对方表示赞同,于是远程攻击淘宝
铁花在这边用系统监控,瞬间就找到了对方利用的漏洞,马上让同事修补
然后依然平心静气的对黑客说:我们已经修好了,你的漏洞卖不掉了
不如加入我们阿里巴巴,一起来为和谐社会做贡献,如何?现在回忆起来,那段日子还挺有趣
实际上,那两年铁花和团队的童鞋就依靠这样的“机智过人”东挡西杀江湖人士,保护着淘宝网最基本的安全水位,在一众巨头公司里也颇为出众
直到2009年,团队调整,铁花把对外安全做了交接,继续低调地把控内部代码质量
现在看来,当时阿里押注的两个移动端App,就是手机淘宝和来往
站在当年的城市广场上,来往就像一群手握汽油瓶的青年,声威浩大向封锁线进军
彼时铁花正带领淘宝二十多个安全开发兄弟,老婆孩子热炕头,生活很安定
但他思来想去,还是决定做个威武雄壮的硬汉,咬咬牙签字报名加入来往
铁花揽下了来往整个后端研发,在他的新战场里,安全只是其中一部分
别急,铁花的剧情先暂停一下,我们再看一下河对岸的黑客江湖
彼时是2013年,世界上又发生了几件小事:在国外,雅虎30亿用户个人信息被黑客盗取(实际上这件事直到2017年才被曝光),Facebook600万用户信息泄露
中国人就文明多了,华夏大地上第一次出现了一股华丽的势力:羊毛党
我不打你,也不骂你,你大公司花钱做推广,我用机器注册一堆账号,凭实力薅你的钱,比那些强行入侵炫技勒索的辣鸡老外们讲究多了,你值得拥有
在这种局面下,作为一个追赶微信的社交App,当年的来往面临两个安全大问题:1、各种虎视眈眈像牛虻一样嗡嗡打转的羊毛党
2、各种屡禁不绝的推广黄赌毒的垃圾信息
铁花有点三观尽毁:过去自己是禁卫军,觉得保护好城堡里那一亩三分地就是最大的忠于职守,但在来往的全战区沙盘上一看,他发现自己过去是有点天真了
黑客每天处心积虑有一万种姿势搞定你,你只缩在城堡里防守,就特别力不从心
思来想去,他想明白了两件事:1、既然移动App的浪潮势不可挡,那安全防线就必须顶到最前面——每一部手机的App里
2、既然黑灰色产业链亡我之心不死,那么只靠一条防线是不够的,真正的安全得搞多几道防线,就像净水器里的滤芯一样,滤完沙子滤尘埃,滤完杂质滤细菌
当然,众所周知,最后来往并没有完全担负起阿里巴巴当初殷切地预期
经过痛苦的转型,团队孵化出了钉钉,这是后话
而在2015年,团队变动的当口,铁花回到了阿里巴巴集团安全部,和同事们一起重新扛起了全集团业务安全的大旗
一别三年,铁花重新审视淘宝、天猫这片老战场,“真的是物是人非了
”他说
“而且那时候的防护不成体系,速度贼慢,资源开销还巨大
”铁花补充
其实就在同一时刻,隔了几层楼,铁花和砚墨的老板的老板——时任阿里巴巴集团CRO(首席风险官)振飞比谁都着急
他已经制定了详细的作战计划,准备向敌人发起一波猛烈的冲锋
在这个周密的作战计划里,有这么几个神兽:一支由白帽子黑客组成的蓝军,每天自己打自己,换各种姿势进行攻防演习
一支由资深安全人员组成的研究团队,每天分析黑产的变化,知己知彼
一支由安全开发老炮儿组成的安全产品团队,专门开发下一代防护盔甲,像钢铁侠那样给阿里巴巴穿上战衣
铁花就是第三支战队的一员,他负责开发的产品叫做“霸下”
中哥用一百字给你科普一下:淘宝、天猫像个巨大的购物中心,它有两个主要的大门:一个是网页端,一个是App端,顾客就从这两个大门进来买东西,他们进来之后,对于淘宝来说就都是“流量”
坏人也假装成自己要买东西,就这么混在好人中间偷东西或者蹭优惠券,他们对于淘宝来说就是“恶意流量”
霸下就是商场里的监控系统,用来分辨谁是好人,谁是坏人,发现坏人就通知保安给他撵出去
用专业术语说,这叫“流量清洗系统”
(呼~~写了180个字,还行
)多说一句,霸下是龙的第六个儿子,爱好负重前行,永不停步
开发了几个礼拜,铁花直嘬牙花子
这事儿比想象中要难
最大的问题在于:你抓坏人,不能影响商场正常做生意啊
跟中哥做个思想实验:美国华盛顿国家广场,如果要排查恐怖分子,最好的办法就是:只要想进来参观,那么必须每个人在门口安检闸机那里脱光光,胃镜肠镜X光一通检查,确定身上没有藏着狼牙棒,才放进去
这样可以保证绝对安全,一个坏人都进不来
但是这样一来肯定会导致一个结果:好人都会觉得你有病,再也不来了
那索性不要开放就好了
类比到淘宝,就像个跷跷板:一方面必须让好人不反感,不用脱光光安检,不用排队进场,不用等候下单;另一方面你还得在坏人下手之前就抓住他,至少在他得逞之后还没逃出商场时抓住他
霸下的任务就是把这种“恶意流量”识别出来
这就要求霸下有血快血快的“实时计算”性能
可用的硬件配置就摆在那,铁花和同学们只能从算法上做优化
他们发现,在秒杀、正常下单、拼团等等不同的业务场景下如果采用不同的算法,就能大大减少霸下的计算量
当然,这样的代价就是要多写很多代码
虽然麻烦,但是他还是带着兄弟们闷头写了好几个月,毕竟这是“功在当代,利在千秋”的事情
在开发的过程中,铁花突然想起一年前自己在来往的经历
当时来往用来屏蔽黄赌毒垃圾信息的方法是人工智能,把很多垃圾留言放到人工智能里自动学习,机器就会自动识别出“坏话”的特征,从而自学成才成为优秀的保安
既然人的语言有规律特征,那羊毛党的流量也有规律特征啊!他恍然大悟
于是,他赶快和同事们一起把人工智能系统架好,把恶意流量样本输入进去
不久,结果出来了,机器对于恶意流量判断的效果出奇地优秀
这一下,又为霸下系统节省了大量的计算力
完成了系统雏形,铁花在实验环境里跑了跑霸下,这货不仅比以前的系统找出恶意流量的能力翻了十多倍,需要占用的资源却只是以前的一半儿
他吹着口哨就去找淘宝的同事了:“怎么样,试试我们新推出的霸下?加量不加价,童叟无欺包你满意
”淘宝的同事在实验环境里把霸下和淘宝进行了一下联合测试,霸下特别争气,直接把淘宝组件都给卡死了
看着卡死的界面,铁花面如死灰
淘宝的同事赶紧安慰,不用不用,你调好了再来
首战失利
不过这并不能击倒老炮儿铁花
他的人生经验告诉自己,霸下是个开发了一年多的复杂系统,需要在实战中磨合
修复Bug之后,霸下可算能在业务系统里跑起来了
那几个月,铁花在各个团队之间挨个拜访,跟各个业务线承诺,你们不用管,我们来维护霸下,出问题我们第一时间给你修好,你就用用呗
那段时间,我们团队有些同学专门值夜班,一旦霸下受到黑客冲击有点顶不住的趋势,他们都是半夜起床,手动处理问题
铁花回忆
就这样,2017年3月,霸下正式在内部发布,从一开始没人敢用,到一年以后全集团47个团队的7000多个服务都使用霸下做流量清洗和流量管理,这几乎涵盖了阿里巴巴、菜鸟、高德地图等等生态内的主要业务
2017年11月11日,霸下负责全集团的流量清洗
那一天,剁手党们杀红了眼,像抢白菜一样涌进淘宝和天猫这个硕大的商场
当然,与此同时还有混在其中磨刀霍霍准备了一年的羊毛党
好人和坏人混合而成的巨大流量洪峰涌向阿里巴巴服务器
那一年的交易量达到了1682亿元,就在这样混乱的情况下,霸下对于恶意流量的拦截率达到了99.89%
看到这个成绩,铁花觉得过去两年在各个业务线同学那里推销的日子都挺值了
毕竟,没有人能随随便便成功
这意味着:霸下已经是个成熟的系统,学会自己平事儿了
而当年几乎同时建立的威胁情报和红蓝军团队,也在各自的领域建立了自动化运行机制
(有关这两方面军的故事,中哥有机会单独给你们说说
)阿里巴巴的防护系统从2006年的单打独斗,到了2013年的小米步枪,整体进入了2018年的集团军态势
不过,别开心得太早,因为对岸的黑客江湖也“换了人间”
从2015年开始,那些曾经的黑客江湖和侠客的传说一个个黯然落幕
当年叱咤风云的白帽子黑客,大多都被BAT纳入麾下,只有少数几个看破江湖恩怨,闲云野鹤,退隐山林
那个空了的黑客江湖,被当年侠客们最不齿的黑帽子黑客所统治,他们形成了一条强大的“黑色产业链”,有人专门负责挖漏洞,卖给攻击工具的开发者,开发者开发出攻击工具,再卖给胆大却没有技术的犯罪分子,犯罪分子薅羊毛、做攻击搞到钱,有下线专门负责把钱洗出来
“钱”这个字魔力无穷,它使得这个链条上的所有人都“按劳分配”,简单到让人想哭
面对金钱的诱惑及其他,失去底线的黑产成为好莱坞电影里那种毫不值得同情的反派魔鬼
但历史是个好老师,铁花知道如果自己有哪怕万分之一的松懈,面对的将会是对手疯狂的反扑
2018年底,钱磊成为阿里巴巴安全技术的新一代掌门,他知道,之前同事们为阿里巴巴积累的技术优势恰恰是一种时间优势,他们需要用这个时间优势抓紧建立一个更高级的“全链路安全体系”,在这个体系中,霸下只能作为其中的一环
钱磊对铁花布置的新任务就是:协调霸下在内的各个安全产品,让他们实现全链路联动
所谓全链路,就是一个流量从还没进来到离开之后,每一个步骤都要集合在统一的安全系统里
说不清,还是画图吧
一开始流量在端上(网页或手机App):一旦我们根据过往的经验和情报判断它是一个“坏人”,这次他甚至什么都没做,就直接被禁止入内
在这个过程中,淘宝系统没办法看到供应商的流量,这个流量开始走出淘宝的国界,但我们可以把自己“火眼金睛”的能力交给供应商使用,他们依然可以结合最新的情况判断这个人是不是坏人
铁花告诉我,目前这套系统在阿里巴巴内部已经部署完毕,他能看到,整个系统的能耗比原来分散的状态又有了大幅的下降,而且因为前后几套系统有了信息联动,总体抓坏人的效率有了大幅提高
看来这套系统,足够再维护一阵儿世界和平了
当然,中哥说了这么多,剁手党们并不需要搞懂这背后复杂的原理,也不需要理解铁花和同事们呕心沥血的艰难,你只要知道这个世界岁月静好,可以放心团购秒杀砍价买买买,至于有人为你负重前行,你大可不用关心
我也知道这些,但我就是忍不住想把铁花和他对面那个黑客江湖的故事写下来
十几年过去,安全技术已经变得有些复杂,复杂到就连科普都变得有点无趣
铁花这些安全人,也再没有了当年跟黑客勒索斗智斗勇的江湖传说
一个产业是这样,一个人也是这样
我问铁花,战斗在幕后,没有鲜花和掌声,你会不会觉得不公平
他说:“我在做的是安全
从第一天起我就明白,安全生来就不需要自己的光芒,它的全部荣耀,就是为了让一个系统能够在商业世界里闪耀
至于我,做一个安静的技术人就挺好
他说