首页    区块链   区块链项目库    人工智能   创业课    创业数据库    旅行攻略    旅行购物    登录


腾讯内网的小秘密

你中哥,作为一个优秀的网络安全科普作者,无论是吃饭睡觉打豆豆,脑子里都会时刻想着读者期待的小眼神儿 ~

什么,你不信?给你举个栗子。

前两天被女票逼着又看了一遍《卑鄙的我》(就是小黄人)。本来觉得无聊昏昏欲睡,突然垂死病中惊坐起,想到一个好选题!

小黄人的故事,

不就是在教我们如何防止被黑客入侵吗?

神马,你不懂我在说什么?

这位浅友你先坐下,听我慢慢给你说。

博览 Boolan 免费领取 2018 全球产品经理大会演讲 PPT 小程序

点击免费领取 2018 全球产品经理大会演讲 PPT

小黄人有什么特点?

1、数量众多;

2、萌且白痴;

3、任劳任怨兢兢业业齐心协力地为主人工作;

4、然而智商捉急,任何一个小黄人脑筋短路,都会神坑一把主人。

这些小黄人像什么?

像极了网络里一台台电脑。

尤其是企业内网里的电脑,它们和小黄人一样数量众多,任劳任怨;但与此同时,每一台电脑都有点 " 蠢萌 ",它们没办法独立抵御黑客的花式蹂躏;一旦一台电脑沦陷,很可能把其他电脑也拉下水,最后导致黑客大举入侵。主人,卒。。。

我的兴致来了。

那么多数量的小黄人,每个人都有坑的概率,用小学数学掐指一算:一万个小黄人,坑的概率就上升一万倍,这可怎么办?

同样道理,企业内网动辄上万台主机,任何一台电脑被黑客搞定,都有可能全网一起成盒。这又怎么办?

我决定去找个大咖聊聊。

终于一位神秘而低调的大佬接受了我的面基,他就是腾讯技术工程事业群企业 IT 部总监蔡晨,被同事亲切地称为蔡爷。怎么样,这个名字社不社会?气场你感受一下。

蔡晨

蔡晨这个职位乍一听起来不太性感,实则 Super 厉害。不如我做个粗糙的比喻吧:

如果把腾讯内网比作一个巨大的网吧。那蔡晨就应该是 " 总网管 "。不过,这个网管可不会卖给你泡面。

更准确地说,蔡晨的身份更像是:八十万禁军教头。他麾下掌握着腾讯内网十万台电脑的生杀荣辱,安危旦夕。

蔡晨是腾讯的 1887 号员工,当年在腾讯只有三四千人的时候,他就扛起了 " 内网安全禁军教头 " 的职责。说起来,那都是 2006 年了。

先给各位八卦一段公开的小秘密:

0、朽木事件

上了岁数的人(例如八零后),也许听说过当年的 " 朽木事件 "。

朽木是一个 " 传奇 " 黑客。他不仅是天涯社区上口无遮拦的大 V(在天涯上他的 ID 是:菜霸),还是坊间传说 " 盗过马化腾 QQ 号的人 "。

2006 年,朽木黑进了腾讯的内网,拿到了腾讯业务的敏感数据。甚至还直接给马化腾发了信息。虽然事后证明,朽木更多地只是一种偏激的炫技,并没有造成损失,但是这件事当年却沸沸扬扬地见诸于公开报道。史称 " 朽木事件 "。

这让正在急速上升的企鹅惊出一身冷汗。原来自己的内网安全竟然是这样弱鸡。

当时的蔡晨加入腾讯刚刚一年,也算是个萌新,负责公司的 IT 网络建设。就在朽木事件发生后不久,小蔡被领导拉过去,强行安排了一个光荣的使命:建立一个内网安全系统。

于是,当年的小蔡迅速入坑,和同事一起开发。直到今天,这套系统已经成长为一个硕大的安全系统,小蔡也已经老成了今天的老蔡。

我拉着蔡晨让他讲了小黄人,不不,小企鹅内网安全的历史。

如今已经沧桑历尽的蔡晨告诉我:内网安全最重要的就是把简单的事情做到极致。

十几年来腾讯主要就做了两件事情:

1、基线;

2、监控。

一、基线——《小学生行为手册》

当年腾讯已经有三千多人了,三千多人就对应了至少三千台电脑。

用小黄人打个比方:

在一幢大楼里,住着三千多个小黄人,他们都很蠢萌(以蠢为主),甚至坏人给一颗糖都能被骗走。这时一旦有坏人在糖里藏了病毒,那么就很容易让一个小黄人生病。

而一个小黄人和另一个小黄人之间是要协作工作的,打个喷嚏就会传染另一个。这样病毒就会很快扩散传染,最后他们都被坏人控制,起义造反,主人凉凉。

当时腾讯面对的情况,就差不多是这样。

排查了一下,内网几千台机器,只有大概 60% 安装了杀毒软件。很多裸奔的笔记本,同事们还会晚上带回家玩,白天拿回来继续搞工作!

关键在于,这些内网中的机器之间根本没有安全隔离措施!

蔡晨说。

你体会一下,一个小学生不小心感染了流感,但是家长还是把他送到学校,最后同学们很多都被传染了。。。

果不其然,当时的腾讯内网就是这样,如果有一台机器感染蠕虫,很容易就会扩散到几百台。

内网安全的同事们都两眼一抹黑,只能摸着石头过河。他们觉得,第一件事就是要给所有终端设定 " 基线 "。

" 基线 " 这个词听起来陌生,但其实很好理解。还是用小黄人比喻每台电脑的话,基线其实就是给每个小黄人制定《小学生行为手册》。

比如:

饭前洗手——强制安装杀毒软件;

不和陌生人说话——关闭不必要的端口;

不和高年级学生交往过密——工作区间区域隔离;

进教室要刷门禁卡——员工人手一个双因子令牌(类似于银行的 U 盾)。

当然,基线规则还有许多,例如:系统要及时补丁,安装反病毒软件,关闭高危端口,强制系统加固,网络区域隔离,双因子令牌,代理访问,特殊网络单向通讯,上网出口限制,恶意请求拦截等等等等。

你想想看,只要每个小黄人(终端电脑)都能够按照规范去做事,那么安全性肯定会达到一个相对不错的标准,这就是 " 基线 " 的含义了。

但是你有没有发现,这里存在一个问题:

就算你给小黄人制定了《小学生行为手册》,他们也不一定每个人都执行。。。

同样,就算你给内网每台电脑制定了 " 基线策略 ",也不一定每个员工都能遵守。。。

所以,为了保证人人都能遵守基线规则,才有了大名鼎鼎的 "iOA"。
这是 iOA 的工作界面。

很多互联网码农加班狗大概率都听过腾讯家的 iOA,还没听说过的同学可以趁机了解一下。简单说来, iOA 就是一个助手:

你喜欢电脑裸奔没问题,但 iOA 如果监控不到杀毒软件,就不允许你进入工作程序;

你记不住给系统打补丁,iOA 会在补丁出来的第一时间,强制为你的电脑打上;

你忘记关闭电脑的高危端口,iOA 直接帮你关闭;

你想给内网另一台主机直接传输文件,iOA 在网络层就拦截下来。

注意,iOA 是安装在每台电脑上的:

你有一个每天提醒你穿秋裤的妈妈么?

iOA 比妈妈更贴心,它直接帮你把秋裤穿上,把保温杯端好,跟着你上班,遇到上来问路的陌生人直接一拳干倒,然后站在原地大喊:还有谁?

就是这么彪。(下次你妈再让你穿秋裤,你要理解,她是在强制对你进行系统加固。)

说实话,蔡晨也不想做这些基线,他知道同事们肯定不理解,觉得被束缚。但是,也只有他才能看到,自朽木事件以后,各路大侠对腾讯的攻击是一波接一波,如果整个腾讯内网再像以前一样裸奔,那公司早就投胎好几轮了。。。

而且领导层也已经认定,这件事必须得做,这是没有商量余地的。

果然,2007 年腾讯以公司名义推行这套基线和 iOA 的时候,内部论坛里瞬间炸开了锅。

" 老子在家被媳妇管着就已经受够了,为啥在公司还要受这么多限制?"

" 本来登录自己的内网账号一秒钟就 OK,现在非得插一个令牌,真是烦的一比。"

" 这么烦的东西,究竟是谁开发的啊??"

看到内网里的讨伐,蔡晨一开始怂在一旁潜水,但是后来他觉得这样下去不行,于是在每个帖子下面回帖,以一个路人的姿势解释:" 公司这么做是有道理的,大家不了解,我们面临的攻击形势其实非常严峻。。。"

直到同事们发现,每次在类似帖子下面认真回帖的都是蔡晨,才终于找到了那个开发 iOA 的 " 罪魁祸首 "。

功夫不负有心人,经过一年多坚持不懈的回帖,还有公司组织的几次全员安全意识的培训,内网安全团队的苦心终于被小伙伴理解了。

然鹅,很快他们就发现,只有 iOA 还是不够的。

二、检测——监控探头

顾名思义,基线只能解决基本的黑客入侵问题。

1)简单来说,企业内网建立了基线以后,就像在大厦外面筑了一层高高的围墙,60 分以下的黑客,就只能望洋兴叹。当然毫不客气地说,这世界上绝大多数黑客水平都不够六十分。所以 iOA 可以解决很大一部分的黑客攻击,让安全风险能够 " 收敛 "。(注意,在安全这一行,让风险 " 收敛 " 是一个非常重要的目标)

2)但是高水平的黑客,仍然可以突破 iOA 所守护的基线。这时,除了围墙以外,就需要在大厦里装备一套 " 监控探头 "。

蔡晨和团队搞出的这套监控探头,名字叫做 "TSOC"。

简单来说,TSOC 就是把各个终端上的信息汇总起来,进行综合分析判断。

如果还是用小黄人举例:

TSOC 就是实时观察每个小黄人的健康状况,行动轨迹,发现哪个小黄人表现怪异,马上揪出来。

实际上,TSOC 和 iOA 是递进关系:

1)iOA 是篱笆——负责防止黑客完成单点入侵;

2)TSOC 是监控系统——一旦 iOA 没有挡住黑客的单点入侵,那么 TSOC 可以防止黑客在电脑之间流窜。事态就不会进一步扩大。

说到这,蔡晨总结了他的心得:

做防护和打仗是一样的。

如果像苏联那样把重兵都放在前线,那么德军一旦突破防线,就会长驱直入。所以要在整个防护空间里布满小铃铛。黑客躲过一个,躲过两个,他不可能都躲过吧。。。

这就是我们做 TSOC 的指导思想。

回到开头我看《卑鄙的我》时候的那个疑问:如何管理几万个小黄人,不让他们神坑主人?

答案也很简单:

1、基线:给每个小黄人一个《小学生行为手册》,然后找一个妈跟着他们监督实施;

2、监控:实时观察每一个小黄人的状态,稍有异常就赶紧关到小黑屋,检查处理,追根溯源。

其实说到这里,腾讯十几年的内网安全史就差不多交代清楚了。

但是,有一个特别重要的脑洞,我还一直埋着,没有亮出来。

三、量级

你可能没有意识到,我们的一生,都在和量级作斗争。

你吃一个馒头容易,吃十个馒头就很难。

你每月赚到 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 的防御。不过时至今日,腾讯再也没有出现当年朽木事件那样的问题。

四、很多内网的现状,正如当年的腾讯

我其实有一个疑问,腾讯既然这么有钱,为什么要吭哧瘪肚地重头研发安全系统,腾讯的专业不是买买买吗?从市场上第三方安全公司买一个好的解决方案不就完事了?

我问蔡晨这个问题。

他无奈地摇摇头:不是不想买,而是买不到。

其实,当年在营建内网体系的时候,能买来的组件,几乎都买了,例如上网套件用的是 Websense,杀毒用的是赛门铁克。

但是,他们越做越觉得,这些 Gartner 第一象限里的产品慢慢都不好用了。

问题还是出在 " 量级 " 上。

这些国外的成熟套件确实能用在大量级的内网上。但是,腾讯那几年疯狂的生长,已经把自己变成了超量级的网络。很多安全产品一旦面对大一个量级的网络,性能就会迅速劣化。

举个例子:

一辆小汽车,车上坐个四五个胖子都没关系,但是如果让它拉动一节火车皮的人,那不用想,门都没有。

所以,最终蔡晨又带队重新开发了自己的系统替代掉了买来的产品。现在腾讯内部使用的一整套安全系统,是非常适合中国企业的,在全世界都没得买。

世界从来不会怜悯谁。

蔡晨提到了一个可怕的趋势:网络核武器的平民化。

1)供给企业的木马,按照专业程度从高到低可以分为:军工马、商业马、普通马,等等。

军工马所需要的技术非常强。要能从各路杀毒软件眼皮底下溜过去,要跟得上主流的操作系统,要功能够强大,为了保证攻击效果,单是连接控制端的方法就恨不得有十几种。

2)正是因为军工马这种武器很昂贵,以前企业遇到的军工马的机会比较少,处境没有那么危险。

3)但是现在不一样了,你经常能看到消息,军工马的源码被泄露到互联网,或者用于 " 造马 " 的高价值漏洞被放在暗网里面交易。

4)现在的情况基本是:黑客人手一个核武器,各家企业的处境很恐怖。

现在,越来越多的政府机构、大企业会被这些核武器骚扰。2017 年 5 月爆发的 WannaCry 病毒不就是一个例子吗?

可能有童鞋已经忘了 WannaCry,我帮你复习一下。

2017 年,WannaCry 病毒利用美国泄露的军工级漏洞,席卷了全世界,当然也包括中国。而在中国,受伤害最严重的地方,恰恰是很多政企的内网。因为他们的安全措施,还停留在 " 内网隔离 " 的阶段。而病毒一旦进入内网之中,就一马平川,导致那个时候很多派出所、加油站都暂停了业务。

他们的防护等级,像极了 2006 年的腾讯。

当年一个朽木事件,可以让腾讯奋起;越来越多的 " 网络核武器攻击 ",也正在让事关国计民生的政企意识到这个问题。

我忽然发现,其实很多大企业所面临的情况,和当年的腾讯颇有几分神似。

1)没有完整的企业内网安全基线,也没有内网监控系统。

2)很多政企人员众多,需要能适应大规模网络的安全产品。

临近告别,蔡晨告诉我,他们正想把腾讯的内网安全能力做成产品,通过腾讯云输出,帮助政府或者企业改进自身安全。

在 2018 年 5 月的腾讯云 + 峰会上,蔡晨还第一次走出幕后,站在舞台上宣布自己的团队将会推出内网安全产品的消息。

低调的他还顺便向台下的观众 " 坦白了 " 腾讯内网安全防护的十年 " 另类历史 "。被同场的腾讯云副总裁 baal 戏称为 " 揭了自家老底 "。

如此说来,今天我把腾讯内网安全的往事写出来,也是在揭腾讯老底。不过,我猜所有腾讯人都明白:老底是不怕揭的。

因为我们哪个人不是从错误中走出来的呢?