浅友们大家好~我是史中,我的日常生活是开撩五湖四海的科技大牛,我会尝试各种姿势,把他们的无边脑洞和温情故事讲给你听。如果你特别想听到谁的故事,不妨加微信(shizhongst)告诉我。
文 | 史中
你中哥,作为一个优秀的网络安全科普作者,无论是吃饭睡觉打豆豆,脑子里都会时刻想着读者期待的小眼神儿~
什么,你不信?给你举个栗子。
前两天被女票逼着又看了一遍《卑鄙的我》(就是小黄人)。本来觉得无聊昏昏欲睡,突然垂死病中惊坐起,想到一个好选题!
小黄人的故事,
不就是在教我们如何防止被黑客入侵吗?
神马,你不懂我在说什么?
这位浅友你先坐下,听我慢慢给你说。
小黄人有什么特点?
1、数量众多;
2、萌且白痴;
3、任劳任怨兢兢业业齐心协力地为主人工作;
4、然而智商捉急,任何一个小黄人脑筋短路,都会神坑一把主人。
这些小黄人像什么?
像极了网络里一台台电脑。
尤其是企业内网里的电脑,它们和小黄人一样数量众多,任劳任怨;但与此同时,每一台电脑都有点“蠢萌”,它们没办法独立抵御黑客的花式蹂躏;一旦一台电脑沦陷,很可能把其他电脑也拉下水,最后导致黑客大举入侵。主人,卒。。。
我的兴致来了。
那么多数量的小黄人,每个人都有坑的概率,用小学数学掐指一算:一万个小黄人,坑的概率就上升一万倍,这可怎么办?
同样道理,企业内网动辄上万台主机,任何一台电脑被黑客搞定,都有可能全网一起成盒。这又怎么办?
我决定去找个大咖聊聊。
终于一位神秘而低调的大佬接受了我的面基,他就是腾讯技术工程事业群企业IT部总监蔡晨,被同事亲切地称为蔡爷。怎么样,这个名字社不社会?气场你感受一下。
蔡晨
蔡晨这个职位乍一听起来不太性感,实则 Super 厉害。不如我做个粗糙的比喻吧:
如果把腾讯内网比作一个巨大的网吧。那蔡晨就应该是“总网管”。不过,这个网管可不会卖给你泡面。
更准确地说,蔡晨的身份更像是:八十万禁军教头。他麾下掌握着腾讯内网十万台电脑的生杀荣辱,安危旦夕。
蔡晨是腾讯的 1887 号员工,当年在腾讯只有三四千人的时候,他就扛起了“内网安全禁军教头”的职责。说起来,那都是 2006 年了。
先给各位八卦一段公开的小秘密:
0、朽木事件
上了岁数的人(例如八零后),也许听说过当年的“朽木事件”。
朽木是一个“传奇”黑客。他不仅是天涯社区上口无遮拦的大V(在天涯上他的 ID 是:菜霸),还是坊间传说“盗过马化腾 QQ 号的人”。
2006年,朽木黑进了腾讯的内网,拿到了腾讯业务的敏感数据。甚至还直接给马化腾发了信息。虽然事后证明,朽木更多地只是一种偏激的炫技,并没有造成损失,但是这件事当年却沸沸扬扬地见诸于公开报道。史称“朽木事件”。
这让正在急速上升的企鹅惊出一身冷汗。原来自己的内网安全竟然是这样弱鸡。
当时的蔡晨加入腾讯刚刚一年,也算是个萌新,负责公司的 IT 网络建设。就在朽木事件发生后不久,小蔡被领导拉过去,强行安排了一个光荣的使命:建立一个内网安全系统。
于是,当年的小蔡迅速入坑,和同事一起开发。直到今天,这套系统已经成长为一个硕大的安全系统,小蔡也已经老成了今天的老蔡。
我拉着蔡晨让他讲了小黄人,不不,小企鹅内网安全的历史。
如今已经沧桑历尽的蔡晨告诉我:内网安全最重要的就是把简单的事情做到极致。
十几年来腾讯主要就做了两件事情:
1、基线;
2、监控。
1、基线——《小学生行为手册》
当年腾讯已经有三千多人了,三千多人就对应了至少三千台电脑。
用小黄人打个比方:
在一幢大楼里,住着三千多个小黄人,他们都很蠢萌(以蠢为主),甚至坏人给一颗糖都能被骗走。这时一旦有坏人在糖里藏了病毒,那么就很容易让一个小黄人生病。
而一个小黄人和另一个小黄人之间是要协作工作的,打个喷嚏就会传染另一个。这样病毒就会很快扩散传染,最后他们都被坏人控制,起义造反,主人凉凉。
当时腾讯面对的情况,就差不多是这样。
排查了一下,内网几千台机器,只有大概60%安装了杀毒软件。很多裸奔的笔记本,同事们还会晚上带回家玩,白天拿回来继续搞工作!
关键在于,这些内网中的机器之间根本没有安全隔离措施!
蔡晨说。
你体会一下,一个小学生不小心感染了流感,但是家长还是把他送到学校,最后同学们很多都被传染了。。。
果不其然,当时的腾讯内网就是这样,如果有一台机器感染蠕虫,很容易就会扩散到几百台。
内网安全的同事们都两眼一抹黑,只能摸着石头过河。他们觉得,第一件事就是要给所有终端设定“基线”。
“基线”这个词听起来陌生,但其实很好理解。还是用小黄人比喻每台电脑的话,基线其实就是给每个小黄人制定《小学生行为手册》。
比如:
饭前洗手——强制安装杀毒软件;
不和陌生人说话——关闭不必要的端口;
不和高年级学生交往过密——工作区间区域隔离;
进教室要刷门禁卡——员工人手一个双因子令牌(类似于银行的U盾)。
当然,基线规则还有许多,例如:系统要及时补丁,安装反病毒软件,关闭高危端口,强制系统加固,网络区域隔离,双因子令牌,代理访问,特殊网络单向通讯,上网出口限制,恶意请求拦截等等等等。
你想想看,只要每个小黄人(终端电脑)都能够按照规范去做事,那么安全性肯定会达到一个相对不错的标准,这就是“基线”的含义了。
但是你有没有发现,这里存在一个问题:
就算你给小黄人制定了《小学生行为手册》,他们也不一定每个人都执行。。。
同样,就算你给内网每台电脑制定了“基线策略”,也不一定每个员工都能遵守。。。
所以,为了保证人人都能遵守基线规则,才有了大名鼎鼎的“iOA”。
这是 iOA 的工作界面。
很多互联网码农加班狗大概率都听过腾讯家的 iOA,还没听说过的同学可以趁机了解一下。简单说来, iOA 就是一个助手:
你喜欢电脑裸奔没问题,但 iOA 如果监控不到杀毒软件,就不允许你进入工作程序;
你记不住给系统打补丁,iOA 会在补丁出来的第一时间,强制为你的电脑打上;
你忘记关闭电脑的高危端口,iOA 直接帮你关闭;
你想给内网另一台主机直接传输文件,iOA 在网络层就拦截下来。
注意,iOA 是安装在每台电脑上的:
你有一个每天提醒你穿秋裤的妈妈么?
iOA 比妈妈更贴心,它直接帮你把秋裤穿上,把保温杯端好,跟着你上班,遇到上来问路的陌生人直接一拳干倒,然后站在原地大喊:还有谁?
就是这么彪。(下次你妈再让你穿秋裤,你要理解,她是在强制对你进行系统加固。)
说实话,蔡晨也不想做这些基线,他知道同事们肯定不理解,觉得被束缚。但是,也只有他才能看到,自朽木事件以后,各路大侠对腾讯的攻击是一波接一波,如果整个腾讯内网再像以前一样裸奔,那公司早就投胎好几轮了。。。
而且领导层也已经认定,这件事必须得做,这是没有商量余地的。
果然,2007年腾讯以公司名义推行这套基线和 iOA 的时候,内部论坛里瞬间炸开了锅。
“老子在家被媳妇管着就已经受够了,为啥在公司还要受这么多限制?”
“本来登录自己的内网账号一秒钟就OK,现在非得插一个令牌,真是烦的一比。”
“这么烦的东西,究竟是谁开发的啊??”
看到内网里的讨伐,蔡晨一开始怂在一旁潜水,但是后来他觉得这样下去不行,于是在每个帖子下面回帖,以一个路人的姿势解释:“公司这么做是有道理的,大家不了解,我们面临的攻击形势其实非常严峻。。。”
直到同事们发现,每次在类似帖子下面认真回帖的都是蔡晨,才终于找到了那个开发 iOA 的“罪魁祸首”。
功夫不负有心人,经过一年多坚持不懈的回帖,还有公司组织的几次全员安全意识的培训,内网安全团队的苦心终于被小伙伴理解了。
然鹅,很快他们就发现,只有 iOA 还是不够的。
2、检测——监控探头
顾名思义,基线只能解决基本的黑客入侵问题。
1)简单来说,企业内网建立了基线以后,就像在大厦外面筑了一层高高的围墙,60分以下的黑客,就只能望洋兴叹。当然毫不客气地说,这世界上绝大多数黑客水平都不够六十分。所以 iOA 可以解决很大一部分的黑客攻击,让安全风险能够“收敛”。(注意,在安全这一行,让风险“收敛”是一个非常重要的目标)
2)但是高水平的黑客,仍然可以突破 iOA 所守护的基线。这时,除了围墙以外,就需要在大厦里装备一套“监控探头”。
蔡晨和团队搞出的这套监控探头,名字叫做“TSOC”。
简单来说,TSOC 就是把各个终端上的信息汇总起来,进行综合分析判断。
如果还是用小黄人举例:
TSOC 就是实时观察每个小黄人的健康状况,行动轨迹,发现哪个小黄人表现怪异,马上揪出来。
实际上,TSOC 和 iOA 是递进关系:
1)iOA 是篱笆——负责防止黑客完成单点入侵;
2)TSOC 是监控系统——一旦 iOA 没有挡住黑客的单点入侵,那么 TSOC 可以防止黑客在电脑之间流窜。事态就不会进一步扩大。
说到这,蔡晨总结了他的心得:
做防护和打仗是一样的。
如果像苏联那样把重兵都放在前线,那么德军一旦突破防线,就会长驱直入。所以要在整个防护空间里布满小铃铛。黑客躲过一个,躲过两个,他不可能都躲过吧。。。
这就是我们做 TSOC 的指导思想。
回到开头我看《卑鄙的我》时候的那个疑问:如何管理几万个小黄人,不让他们神坑主人?
答案也很简单:
1、基线:给每个小黄人一个《小学生行为手册》,然后找一个妈跟着他们监督实施;
2、监控:实时观察每一个小黄人的状态,稍有异常就赶紧关到小黑屋,检查处理,追根溯源。
其实说到这里,腾讯十几年的内网安全史就差不多交代清楚了。
但是,有一个特别重要的脑洞,我还一直埋着,没有亮出来。
3、量级
你可能没有意识到,我们的一生,都在和量级作斗争。
你吃一个馒头容易,吃十个馒头就很难。
你每月赚到5000很容易,每月赚到50000就很难。
你学会500个英语单词很容易,你学会5000个英语单词就很难。
你打游戏的时候,苟到最后十人挺容易,但是把把吃鸡就很难。
体会到了吗?无论是人生哪个方向,跨越一个量级,难度可不止增加十倍。
同样,做内网安全最大的困难可不是搞定“基线”、“监控”这些策略,而是面对腾讯内网不断增长的终端数量。
蔡晨举了一个特别具体的例子:
每台机器都有自己独特的系统环境,由于网络队列堵塞、客户端数据堵塞等客观原因,iOA 并不能百分之百控制每台机器。
在总共有一千台机器的时候,如果 iOA 能自动控制内网机器的90%,就会有一百台和整体脱节,需要手动去配置;
但是加一个数量级,到了一万台的时候,如果还是这样的控制率,那就会有一千台机器脱节,这时手动去配置就已经成为不可能了。
如果再加一个数量级,面对十万台机器,如果 iOA 再不进行技术升级,就已经完全失效了。
这个例子,我可以翻译一下:
就像一把木质梯子,可以用来爬二楼;
同样材质的梯子,二十根接起来,能用来爬电视塔吗?
同样材质的梯子,十万根接起来,能爬到月亮上吗?
所以,每当内网机器暴增的时候,不能直接把 iOA 和 TSOC 的规模做大,而是要研发新的技术框架。
他说,每当使用新的技术架构,iOA 和 TSOC 都会进行大版本升级。这些年, iOA 已经升级到了 5.0,而 TSOC 已经升级到了 4.0。这就意味着他们已经分别作了四次和三次技术框架的重写。
现在你能理解,蔡晨所谓的“把简单的事情做到极致”了吗?
1)计算力需求越来越大,就靠腾讯自家海量的服务器顶上;
2)原来历史所有数据都混在一起,后来就拆开成冷数据和热数据;
3)开源的 hadoop 平台顶不住,就自主改进更适合大规模数据的平台;
4)单纯的关键词匹配控制率无法提高,就加入机器学习的算法。
总之,内网安全团队的标准是:工具可以改进、算法可以改进、平台可以改进、架构可以改进,就是数据一个字节都不能少采集,对十万台机器的控制率一个百分点都不能降。
这才有了今天的 iOA 和 TSOC。
其实,在地下黑产圈,专门有黑客研究如何攻破 iOA 和 TSOC 的防御。不过时至今日,腾讯再也没有出现当年朽木事件那样的问题。
4、很多内网的现状,正如当年的腾讯
我其实有一个疑问,腾讯既然这么有钱,为什么要吭哧瘪肚地重头研发安全系统,腾讯的专业不是买买买吗?从市场上第三方安全公司买一个好的解决方案不就完事了?
我问蔡晨这个问题。
他无奈地摇摇头:不是不想买,而是买不到。
其实,当年在营建内网体系的时候,能买来的组件,几乎都买了,例如上网套件用的是 Websense,杀毒用的是赛门铁克。
但是,他们越做越觉得,这些 Gartner 第一象限里的产品慢慢都不好用了。
问题还是出在“量级”上。
这些国外的成熟套件确实能用在大量级的内网上。但是,腾讯那几年疯狂的生长,已经把自己变成了超量级的网络。很多安全产品一旦面对大一个量级的网络,性能就会迅速劣化。
举个例子:
一辆小汽车,车上坐个四五个胖子都没关系,但是如果让它拉动一节火车皮的人,那不用想,门都没有。
所以,最终蔡晨又带队重新开发了自己的系统替代掉了买来的产品。现在腾讯内部使用的一整套安全系统,是非常适合中国企业的,在全世界都没得买。
世界从来不会怜悯谁。
蔡晨提到了一个可怕的趋势:网络核武器的平民化。
1)供给企业的木马,按照专业程度从高到低可以分为:军工马、商业马、普通马,等等。
军工马所需要的技术非常强。要能从各路杀毒软件眼皮底下溜过去,要跟得上主流的操作系统,要功能够强大,为了保证攻击效果,单是连接控制端的方法就恨不得有十几种。
2)正是因为军工马这种武器很昂贵,以前企业遇到的军工马的机会比较少,处境没有那么危险。
3)但是现在不一样了,你经常能看到消息,军工马的源码被泄露到互联网,或者用于“造马”的高价值漏洞被放在暗网里面交易。
4)现在的情况基本是:黑客人手一个核武器,各家企业的处境很恐怖。
现在,越来越多的政府机构、大企业会被这些核武器骚扰。2017年5月爆发的 WannaCry 病毒不就是一个例子吗?
可能有童鞋已经忘了 WannaCry,我帮你复习一下。
2017年,WannaCry 病毒利用美国泄露的军工级漏洞,席卷了全世界,当然也包括中国。而在中国,受伤害最严重的地方,恰恰是很多政企的内网。因为他们的安全措施,还停留在“内网隔离”的阶段。而病毒一旦进入内网之中,就一马平川,导致那个时候很多派出所、加油站都暂停了业务。
他们的防护等级,像极了2006年的腾讯。
当年一个朽木事件,可以让腾讯奋起;越来越多的“网络核武器攻击”,也正在让事关国计民生的政企意识到这个问题。
我忽然发现,其实很多大企业所面临的情况,和当年的腾讯颇有几分神似。
1)没有完整的企业内网安全基线,也没有内网监控系统。
2)很多政企人员众多,需要能适应大规模网络的安全产品。
临近告别,蔡晨告诉我,他们正想把腾讯的内网安全能力做成产品,通过腾讯云输出,帮助政府或者企业改进自身安全。
在2018年5月的腾讯云 峰会上,蔡晨还第一次走出幕后,站在舞台上宣布自己的团队将会推出内网安全产品的消息。
低调的他还顺便向台下的观众“坦白了”腾讯内网安全防护的十年“另类历史”。被同场的腾讯云副总裁 baal 戏称为“揭了自家老底”。
如此说来,今天我把腾讯内网安全的往事写出来,也是在揭腾讯老底。不过,我猜所有腾讯人都明白:老底是不怕揭的。
因为我们哪个人不是从错误中走出来的呢?
前两天,我写了一篇文章《壮年腾讯》,试图探究腾讯的梦想。我同样问蔡晨这个问题。
有句话叫达则兼济天下。
这就是我现在的梦想,他说。
再自我介绍一下吧。我叫史中,是一个倾心故事的科技记者。我的日常是和各路大神聊天。如果想和我做朋友,可以关注微博:@史中方枪枪,或者搜索shizhongst。
不想走丢的话,你也可以关注我的自媒体公众号“浅黑科技”。
----
----想看更多请点击下方阅读原文----
浅黑科技,让技术被读懂
,