腾讯内网的小秘密
2018/6/8 11:58:17 浅黑科技

    

     浅友们大家好~我是史中,我的日常生活是开撩五湖四海的科技大牛,我会尝试各种姿势,把他们的无边脑洞和温情故事讲给你听。如果你特别想听到谁的故事,不妨加微信(微信号: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。

     不想走丢的话,你也可以关注我的自媒体公众号“浅黑科技”。

     ----点击图片阅读更多精彩文章----

    

    

     ----想看更多请点击下方阅读原文----

     浅黑科技,让技术被读懂

    

    

    源网页  http://weixin.100md.com
返回 浅黑科技 返回首页 返回百拇医药