浅友们好~我是史中,我的日常生活是开撩五湖四海的科技大牛,我会尝试用各种姿势,把他们的无边脑洞和温情故事讲给你听。如果你想和我做朋友,不妨加微信(shizhongmax)。
世界千疮百孔,有一群黑客在缝缝补补
文 | 史中
(一)武林门派大乱斗,游侠活捉王喇嘛
世界从不太平。
Long long ago,金人陈兵百万,在边疆与宋对峙。眼看攻守胶着,金国决定剑走偏锋,祭出“黑客”戏码:招募变装易容、飞檐走壁的高手,深入大宋腹地盗取情报。
这招儿虽不体面,但真™好使。
一时间,风声鹤唳,不仅大宋朝廷成了攻击目标,连实力雄厚的各大武林门派也被盯上。
话说少林、武当、崆峒、峨眉、青城各派,自是高手云集,不怕当面锣对面鼓地干架。可是对这种来无影去无踪的“大盗”,招架起来还真没啥经验。
眼看一大波金国大盗正在路上,几大门派的掌门聚在一起商量对策:与其坐等迎敌,还不如咱们先相互切磋一下,仿照不久前的华山论剑,搞一场“安全大比武”!
规则很简单:
1、以俩礼拜为期,这期间,几个门派各自派出高手,你偷我家宝贝,我偷你家宝贝。
2、当然是点到为止,不真伤人,即便偷出宝贝来也得还给人家。
3、如果最后咱们之间相互都能防住,那岂不是金国大盗来了也难得逞了嘛!
说干就干!
且看武当。
武当掌门是个外向仔,决定先下手为强。
他撒出人去,遍访天下高手,从西域找来了一位王喇嘛。
这位王喇嘛可是了得,他有一手绝活:配钥匙。
可不是路边那种10块钱配一把的钥匙。而是只看一眼锁,他能直接配出钥匙!
多年行走江湖,王喇嘛攒下了一串钥匙,拍着胸脯说:天下的锁,定能被其中一把或几把钥匙打开!
武当掌门将信将疑,拿出各种锁头请王喇嘛当面展示,果然能开。
掌门拍手称绝:“请您即刻前往少林寺,把这帮秃驴的镇寺之宝全部盗来,让他们底裤都不剩!”
再看少林。
少林方丈是个内向仔,首先想到的是防御。他找来了“火眼兄弟”。
这两兄弟,从西洋人那里学来了绝活。
他们建议:
在少林寺的“账房”、“议事厅”、“大殿”、“方丈禅房”等等关键位置都安装火眼监控。
把这些监控画面汇总在一起,加密脱敏后用一根网线传输到“火眼兄弟”总部,由超级计算机进行分析,一旦发现可疑,马上报警↓↓↓
方丈皱了皱眉:
你这洋玩意儿虽好,只是不符合我寺的庙情。
根据规章制度,我寺所有的数据都是秘密,似你这般,连我禅房里的数据都要传输出去,恐怕不妥吧。你虽说脱敏,但我哪知道你脱得干净不干净?
不如这样,我买一台电脑放在我寺分析,私有部署,数据不出域,何如?
火眼兄弟说:“行倒是行,可这样算力不足,不仅存下来的图像会模糊,而且分析不太准。恐怕。。。”
方丈摆摆手:“噫!还是数据安全要紧嘞~”
就在少林寺“监控系统”刚部署好的第二天,乔装改扮的“王喇嘛”来到了寺门口。
可是,他没有像其他香客一样进入寺庙,而是一闪身,进入了正门,,,旁边的“传达室”。
少林寺传达室有一个很重要的职责:收发信件。
外人和少林寺众僧相互写信,都会由传达室代为转交;
少林寺内部人员相互传递文件,也都统一给传达室,由传达室大爷负责转送。
鉴于通信繁忙,“传达室”每天都人声鼎沸。
今儿也不例外,上百人在邮箱前投信件、取信件,压根儿没人注意到王喇嘛。
他走到邮箱跟前,自然地掏出钥匙,径直打开,用极快的速度把里面所有的信快速看了一遍,然后若无其事地走了。
当天晚上,少林寺刚关上山门,方丈就接到了武当山掌门的电话。
掌门说:“咳咳,你寺的宝贝是不是都埋在后院儿的银杏树下?你们昨天总共收了12548.3文香火钱!你还准备资本运作一下,收购山下的尼姑庵,对不对?!”
方丈惊了:“老贼你咋知道?”
掌门说:“既然你诚心诚意地问了,我就大发慈悲给你提个醒吧——传达室。”
方丈摔掉电话,赶紧查看“火眼兄弟”的平台,并没有报警啊。。。
他不甘心,又把传达室的监控原始画面调出来亲自看,但因为是私有部署,容量有限,画面糊的一比。
方丈把脸贴屏幕上,也没看出啥异常。。。
第二天一早,传达室大爷被绑在少林寺门口的树上,方丈眼里喷火:“说!是不是你叛变了?!”
大爷哭得都快背过气了:“老夫忠心耿耿,方丈你怎么血口喷人啊!”
看热闹的人越来越多。此时,一位游侠路过,听到了事情的原委,走上前去对方丈说:“方丈息怒,能否把邮箱上的锁头借我一观?”
方丈狐疑地把锁头递给游侠,游侠点点头:“依我看,很可能有高人利用锁头上的漏洞,做出一把特制钥匙开了锁,已经把所有信件都看走了。”
方丈赶紧问:“啊!是谁干的?我现在就带人去拿他!”
游侠说:“具体是谁还说不好。不过别急,这位黑客定会再来,待我手搓一颗铜豌豆,塞进锁芯里,到时候那个人再用特制钥匙开锁时,不仅打不开,还会触发我的警报,咱们只需埋伏在暗处就行。”
方丈赶紧道谢,一切听从游侠安排。
果然,当天寺庙开门之后,乔装打扮成普通人的王喇嘛又吹着口哨来了,他把钥匙插进锁芯,嗯?哪里不对劲?
说时迟那时快,四周卷帘门“哗啦啦”落下,王喇嘛根本来不及反应,就被冲进来的武僧们来了个瓮中捉鳖。
那边武僧们去给王喇嘛坐老虎凳灌辣椒水暂且不表,这边方丈对游侠千恩万谢:呜呼呀,敢问大侠自何处而来,尊姓大名?!
游侠笑道:“我自赛博昆仑而来,俗名郑文彬,人称 MJ。”
方丈道:“昆仑侠客果然法力无边!只是贫僧有一事不明,你与这王喇嘛素不相识,怎料到他一定会用这把钥匙开锁嘞?”
MJ 拿起刚从王喇嘛手里缴获的钥匙,一边端详一边解释:
方丈有所不知,天下的锁头有千万种,在技艺不精的人看来,它们可以被各种姿势撬开,防不胜防;
但在高手看来,变化的撬锁方法背后利用的“脆弱点”却是有共性的——每一把锁上,最多同时存在几个脆弱点。
至于你这把锁,我一看,就猜出了王喇嘛会用哪些脆弱点来开。所以即便不知道他具体会用什么钥匙,只要量身定做了那颗“铜豌豆”,刚好挡住那些脆弱点,就足够了啊!
老方丈大受震撼:“大侠,如此说来,你若是能在我少林寺,甚至武当山,乃至大宋所有的锁头里都放上铜豌豆,岂不是金国大盗在我大宋疆土上就寸步难行了?”
MJ 点头:“确实如此。不瞒你说,此番我下昆仑来在中原,正是为了把这些铜豌豆放进天下的门锁里,保一方太平啊!”
众僧闻听,纷纷双手合十,向侠客致意。方丈抬头远望,苍茫大地,山雨欲来。
(二)漏洞不是漏洞,是通往“平行宇宙”的入口
这位说了,中哥,你咋还编起武侠小说了呢?
我也真希望这是我编出来的小说。但悲伤的恰是,这都是真事儿,而且就发生在几个月前。只是有些东西不便对号入座,唯有写个中二故事,借侠客之口一叙。
如果还有人蒙圈,我不妨提示一下:
刚才提到的“武当”和“少林”,其实就是各大关键企业;
“金国大盗”,就是虎视眈眈趁机盗取机密的黑客组织;
“安全大比武”,其实就是网络安全演习;
“王喇嘛”,就是在演习中负责测试的队伍;
“大侠 MJ”,不是别人,就是站在我对面的这位网络安全大神,赛博昆仑的创始人 MJ。
MJ 郑文彬
上面的真事儿,来自 MJ 最近参加网络安全演习时经历的一场“高端局”。
当时的情况是酱的:
1、攻击手(王喇嘛)盯上了A企业的邮件服务系统(传达室),发现里面有一个隐秘漏洞(锁头上的薄弱环节);
2、于是他构造了一段攻击代码(特殊钥匙),直接拿到了系统权限(打开了锁),把邮箱里的全部邮件(书信)都给拷贝出来。
3、因为邮件系统里存了大量内部邮件,所以攻击手(王喇嘛)一下子获取了大量机密;
4、这些机密本身的泄露已经足够给 A 企业带来巨大的威胁,而且利用这些信息做跳板,再去进攻内部的数据库(寺庙的账房、议事厅之类),还会造成更大的损失!
单单这么说,你可能还没反应过来“高端”在哪。。。
其实,高端在俩细节:
首先,攻击手利用的漏洞是他自己“原创”的,在这里也是第一次拿出来使用(这种就叫 0-Day 漏洞)。
所以,无论是被攻击的“邮件系统开发商”、“A公司”,还是负责保护它的“网络安全公司”都不知道;
其次,整个攻击过程只集中在“邮件系统”这个极小的范围,攻击手实际做出的行为极少。
这导致**“通过行为关联来判断黑客进攻”的安全系统“EDR”**(就是故事里火眼兄弟的监控系统)还没干活就已经败了;
牛X的来了:
即便黑客这么顶,MJ 部署在 A 企业的那颗“铜豌豆”(漏洞防御系统)在不知道这个具体漏洞存在的情况下,仍然感知到了攻击手的企图,并且在最短时间内把漏洞修补,挽回了后续可能出现的恶劣损失。
这里面有活儿啊!
话说,老浅友可能都了解,MJ 是我敬佩的史诗级黑客大神,打出他的名字前我得恭恭敬敬地擦掉键盘上的灰。。。
世界对 MJ 来说是“单向透明”的——只要他愿意,可以随意出入任何一台电脑和手机。(只不过作为一个守卫世界的正义黑客,他不会那样做。)
有关他的故事,我在《第二种核武器》《我最牛X的黑客朋友创业了》等等文章里已经写了很多,有兴趣的盆友可以去膜拜,此处不再赘述。
MJ 在2021年离开 360,创建了网络安全公司赛博昆仑。
他的创业主打一个阵容豪华。不仅 MJ 自己一直保持着世界顶尖的漏洞研究能力,他也同时凝聚着国内最强的一群漏洞研究大神。
这群大神想做的事情很简单:
搓出一颗颗“铜豌豆”,以女娲补天的优雅姿势,堵住网络世界的所有漏洞,让网络攻击的“滔天洪水”无法威胁我们的和谐社会。
话说到这儿,你可能会皱眉:中哥你这夸得有点狠吧?堵几个洞就能拯救世界,这玩意儿有啥科学依据么??
当然有。
MJ 给我科普了一下其中道理:
1、你可以把一个系统想象成一座房子。
2、然后把黑客摸进来之后的行进路线用时间线串起来。
3、黑客进入房子之后,他的选择非常多。
比如,他可以在不同的主机(房间)里来回躲闪,或者在某个不起眼的应用软件(衣柜)里等待时机,或者建立一个隐秘通道和外部通信(在墙上挖个洞往外送东西),等等等等。
骚操作成千上万,还能排列组合,比孙悟空的变化还多。
4、但是,如果顺着时间线往前捯,在黑客进入系统的一瞬间,他的选择只有一个——漏洞利用(撬锁)。
把这个原理想清楚,你自然就会得出结论:
拦截黑客最好的时机,不是等他进入系统以后,而是就在他试图利用漏洞进入系统的那一瞬间。
你看《碟中谍》电影就知道了。
阿汤哥拳上能站人臂上能走马,两根手指捏着天花板上的钉子能吊在房顶一天一夜。在敌人老巢里他总把守卫耍得团团转,可是他潜入敌人老巢的方法也只有一个——溜门撬锁。
你要是在阿汤哥撬锁的时候逮不住他,等他进去,你就更别想逮住他了。
为了后文方便思考,这里我借用一个物理学上的“光锥”概念给大家建立一个思考模型:
我画了一个光锥,它标记了黑客现在所在的位置,以及一段时间以后黑客可能在位置的情况。
你可以看到,光锥的原点就是黑客撬锁的一瞬间;
然而,他撬开锁进入房间以后,世界就开始分裂成若干个“平行宇宙”,每一个平行宇宙里,黑客都在不同地方。
而随着时间推移,平行宇宙越分裂越多。
也就是说,距离漏洞利用那一刻时间越久,黑客的位置就越模糊,“熵”就越高;而距离漏洞利用那一瞬间越近,黑客位置的确定性就越强,“熵”越低。
黑客进入系统,就像一根针掉入大海。
如果在它入水的一刻你就伸手捏住,甚至入水后很短的时间内去捞,你仍有可能捞到它;
可是一旦它继续下沉,你捞到它的机会将急速下降,很快就变得非常非常小。
了解了这些,我们再回看那些漏洞,你会有完全不同的感触。
漏洞不仅仅是系统的破口,它更是黑客向无数个平行宇宙逃窜的可能性;
一旦封堵住漏洞,黑客就会瞬间从“吊炸天阿汤哥”变成“没有故事的女同学”。
看到这,我猜很多浅友一定觉得学废了:“漏洞很危险,需要动态清零,发现一个补一个,发现两个补一双,如此这般,定保平安!”
这话虽说没毛病。但理解到这个程度,你和现实之间还隔着10层棉袄。。。
为了一层层脱掉“棉袄”,咱们不妨回到少林寺的故事。
(三)铜豌豆有多难搓?
放走王喇嘛之后,方丈赶紧去找邮箱的制造厂家,把收缴的钥匙扔在厂长的桌子上:
“您这玩意儿不安全啊!就用这钥匙,人家差点把我寺的底裤都偷了去!不少寺庙道观衙门口都用你家的邮箱,万一这把钥匙泄露出去,得有多少蟊贼群起而偷之?!你赶紧想想办法,把卖出的邮箱统一修理一下,不然天下危矣!”
厂长赶紧点头:“方丈所言极是,我即刻命令我厂老师傅思考方案,全部召回换新!”
大厂果然有信誉,三天之后,就把所有邮箱都换上了新锁,包括少林寺的这一把。
方丈满意地点头。
不过下一秒,他突然想到了什么,命人把 MJ 请来:“昆仑大侠,如今厂家已为我们更新了锁头,你给看看还有冇问题?”
MJ 仔细查看了一番门锁,笑了笑:
“不瞒您说,这把新锁,用你从王喇嘛手里缴获的那把钥匙,确实已经打不开了。但是。。。在那把钥匙上稍微打磨三两下,还是能开!”
方丈大惊:“这这这,是何道理?!”
MJ 说:“升级之后的锁对于脆弱点加了一些防护,但是没有护全,从特定角度迂回,还能碰到。”
方丈皱眉:“难道。。。是邮箱厂故意不给修好?”
MJ 摇头:“想来并非如此。邮箱厂肯定希望自己的产品安全,只是厂里的师傅大多精通的是造锁,对于如何防护住脆弱点,还是经验不足啊!”
方丈正想开口,MJ 摆手:“不用急,方丈只需把我之前那颗‘铜豌豆’重新塞进锁芯便可无忧!”
故事讲到这,咱们不妨回到现实,中哥我来解释一下。
方丈遇到的问题,恰是俺们国家的普遍现状:
市面上的软件不断被发现新漏洞,这很让人头疼;
但是旧的漏洞总!也!修!不!好!才更让人头疼!!
不过,这也不仅是俺们国家独有的情况,整个地球都这德行。
MJ 给我讲了一件真事儿:
2023年3月初,乌克兰网络应急中心向微软公司紧急报告了一个问题。
问题出在微软最著名的邮件客户端 Outlook 上。当时,乌克兰政府人员用 Outlook 收邮件的时候,发现“手感”不对劲,定眼儿一看:有人发来一个共享日程,自己啥也没动,Outlook 就自动“宽衣解带”,把邮箱密传给对方了!
乌克兰专家一查,卧槽,有人利用了 Outlook 的一个 0-Day 漏洞!
他们赶紧继续倒查,一身冷汗,发现黑客从去年4月就开始这么搞,已经小半年了。。。继续再查,我勒个去,北约各国的很多人也都中招了。。。
这段视频就显示了攻击过程。后面蹦出来一长串字符就是密码哈希,用它可以反推出密码。
虽说想破了脑袋也没猜出是哪个国家干的,但要紧的是,得赶紧让微软修洞啊!
微软老师傅加班加点,3月14日就向全球用户推出了紧急补丁。
MJ 当时也看了一下这个补丁,看完捂脸,我勒个去,你这没修好啊,有经验的黑客肯定能绕过去!果然,一语成谶,不久后,微软又重发了一个新补丁。
但 MJ 觉得还是不对,微软工程师修这个漏洞的思路很奇怪,明明有机会直接封堵,他们却选择拿来一个模块盖在了这个漏洞上。
那个模块已经有几十年的历史了,本身逻辑又复杂,八成里面还有隐藏款问题。
果不其然,到了5月份,又有黑客绕过了这个防护,魔改了一版“钥匙”继续攻击 Outlook。微软没办法,只能在这个模块上继续堵。
到了8月,又被人绕过,微软再堵堵堵。。。
你看,就这一个漏洞,地表最强的公司之一微软,反复堵了四五次,才算是勉强堵明白。
这让 MJ 很恼火:
本来赛博昆仑的梦想是“高举高打”——已经爆出来的漏洞,你们软件原厂自己修修好;我门搞一点儿能探测“未知漏洞”的产品,大家分工协作,多好。
可是这种“原厂修不好”的新闻三天两头上头条,他心里一万只草泥马奔腾——已知的洞都没修好,我他喵的发现再多新漏洞有啥用?
事到如今,只能亲自下场了!
MJ 决定,转变产品研发思路,增加一款不依赖于原厂补丁,却能够防住已知漏洞的产品。
这就是后来的“女娲”系统。
你原厂修邮箱系统,可能修好,也可能修不好。
但不管了,我自己当女娲,炼出一颗“铜豌豆”给客户补上,保证把这个漏洞的所有攻击面都堵死,不就完事儿了?!
这个画面,想想还挺霸气侧漏的。
“可是,世界上那么多软件,每个都可能有漏洞,你们一个团队补来补去,不得忙成千手观音?”我问 MJ。
“漏洞其实远没你想得那么多。一个漏洞爆出来,只要我们初步分析存在攻击面,可能被黑客真的拿来用,百分之百都会做补丁。而这种漏洞,我们每年只会遇到100多个。”MJ 说。
为了佐证这个事儿,MJ 还给我介绍了一个“暗黑组织”,CISA。
CISA 是美国联邦政府在2018年成立的神秘部门,他们搞了一个法器——“漏洞生死簿”:
每当发现有黑客在野外利用漏洞发起攻击,他们就把漏洞写在“生死簿”上,敦促厂商按期修复;
如果厂商拖延症、闹脾气,没能在 Deadline 前修复,那么恭喜你,你会登上联邦政府的“黑名单”,以后的政府采购就没你的份儿了!
注意!
CISA 每时每刻都会对全世界爆出来的漏洞进行分析,但他们的“漏洞生死簿”上只收集真正对系统有威胁的漏洞:
如果一个漏洞看上去很牛X,但是根本不能利用,他们是瞧不上的;
如果一个漏洞可以被利用,但是只能造成“皮外伤”,打不进系统,他们也是不要的。
有些漏洞后面是有“光锥”的,能造成进一步伤害,所以要重点封堵。另一些漏洞无法利用,没有后续故事,就可以降低优先级。
按照这样“洞中龙凤”的标准,每年 CISA “生死簿”的上榜选手只有100-200个漏洞,CISA 成立5年了,总共才集邮了不到1000个漏洞。
MJ 对比发现,自己和小伙伴收集的漏洞列表,和 CISA “生死簿上”的很多漏洞都是重合的。这说明英雄所见略同!
从“网络安全治理”顶层设计的角度看,只要把“生死簿”上的漏洞挨个抵住,滴水不漏,就能让风险极度收敛!
聊到这儿,我恍然大悟:搓出一颗无比坚固的“铜豌豆”当然牛X;但精准描绘出一本“漏洞生死簿”,知道应该为哪些漏洞搓豌豆,才是更牛X的。
我刚要伸出大拇指,MJ 示意我先冷静。
这里还有个难度更高的功夫——把“铜豌豆”塞进锁芯里的姿势。
为啥塞豌豆还要讲姿势?
咱们不妨还回少林寺里继续看。
(四)“豆上雕花”和“佛山无影手”
经历了“邮箱厂漏洞没修好”事件后,方丈决定把全寺所有关键设施的都检查一遍,给各种锁头统统塞上铜豌豆,以绝后患。
他和 MJ 盘腿对坐,制定完整的“少林补完计划”。
方丈反复推演,提出俩疑问:
第一,你这铜豌豆毕竟不是原厂所配,塞进诸多锁芯,会不会有概率让我们僧众正常开锁也被卡住嘞?
第二,你”修锁“的时候,不会需要我寺暂时关门吧?
MJ 笑:方丈的担心确有道理。不过这两个问题我早有考量,这些年我练成两样功法:
一曰“豆上雕花”。
把铜豌豆上雕出极其精密的凹凸,既覆盖黑客可能触碰的位置,又在锁头正常运转的位置留出空间,保证补丁打得就像苏菲一样无感。
二曰“佛山无影手”。
可以迅雷不及掩耳盗铃之势,在所有人和锁都没感觉的情况下,把铜豌豆放置到位。所以,方丈大可正常营业,香客与众僧该干啥干啥!
方丈惊讶:“这。。。我寺的生意一秒钟几十亿上下,大侠可不要打诳语啊!你给说说,究竟怎么做到?”
咱们暂停,跳出来听中哥帮你科普。
方丈提的这两个问题,其实代表了很多企业最关心的事儿,说白了,就是问:打补丁会不会对我的正常业务造成影响?
先解释一下“豆上雕花”。
话说,如果手机提示你该升级系统了,你大概会不假思索地同意。可是各大企业的系统升级却存在一个尴尬的现状——“没人敢动”。
啥意思呢?
一般大公司都有几十年的历史,它的 IT 系统是过去一点点堆积起来的,其中很可能A系统早已过保,B系统连开发商都找不到了,C系统是当初公司自己开发的,现在开发它的工程师也不知道哪去了。
这些系统拼在一起。。。虽说能够运作,但是没有任何弹性——在里面稍微动一动,哪怕打个补丁,改几段代码,它都可能死给你看。
假如你是 IT 管理员,坏了就是你的锅。你敢动吗?你不敢动。
“豆上雕花”,就是解决这个问题的。
名义上这是一个“补丁”,但如果拿显微镜去看,它的大部分代码其实和软件的本体是分离运作的,只在最最关键的一两个地方像蘑菇一样衔接。
这种技术被 MJ 称为“最小支点防御”。
它对软件本体几乎没有入侵,所以引发问题的概率极低,不会把企业的 IT 管理者推到“里外不是人”的境地。
你懂的,这。。。很重要。
再解释一下“佛山无影手”。
无论是操作系统还是上层的应用程序,运转起来都有点像人的心脏跳动——每个挤压、收缩的动作都环环相扣,没有停顿的气口——这时如果硬塞一个补丁进去,是会卡 bug 的!
当然,“最小支点防御”的补丁对系统造成影响的概率比普通补丁小得多,但也不建议“硬塞”。
正确的打补丁做法,应该像给心脏做一台“搭桥手术”。
你得先让心脏停跳,然后把要搭桥的位置截断,在旁边加入一段血管,连接妥当之后,重启心脏。
可是这样一来,打补丁的过程虽然安全了,但程序却被掐停了。
然鹅,很多关键机构都是不能掐停的。。。
比如医院系统如果暂停,就会有病人危急;比如军工系统如果暂停,就会让国防出现真空。
你看到了么?“补”和“停”,这是一个几乎不可调和的矛盾。
而 MJ 的凶狠恰恰在于能搞定这个矛盾。
当然他也没有魔法,仍然要暂停程序,只不过他会把程序暂停的时间压缩到极极极短的一瞬间——大概几毫秒。
不同程序之间的协作,会把指令排成队列。如果暂停过长,队列就会混乱,造成程序冲突;
如果暂停时间足够短,本来就在容忍的弹性范围之内,也就不会导致冲突。
MJ 解释。
MJ 告诉我,为了让“瞬时心脏搭桥”万无一失,赛博昆仑的小伙伴做了无数次测试。
而且系统运行中有些代码跑在内存里,打补丁时还需要对内存布局进行微调,为此他们甚至对各种内存固件版本都做了精确适配,其中的工作量超乎想象。
话说,无论是“豆上雕花”还是“佛山无影手”,都不是那种立地成佛的功夫,而是像“黯然销魂掌”那样,需要在漫长的时间里一点点儿修炼。
这些修炼,其实都能追溯到 MJ 在 360 时代的往事。
2014年,微软宣布 Windows XP 系统正式停止更新。这意味着 XP 的安全以后“本主儿”就不管了,各位用户自求多福。当时,中国无数企业里都跑着 XP,不能靠命硬啊!
于是有关单位组织了一个“XP 安全挑战赛”。
各大安全公司分别要为 XP 系统创建一个“保护盾”,然后邀请黑客们进行挑战,看看能不能攻破。
当时,MJ 带着 360 的老师傅们做了一套“XP 盾甲”,防住了所有攻击,拿到了冠军。你看当年的报道↓↓↓
**注意,所谓防住,不仅要对方无法攻击,连自己蓝屏也不行。**所以补丁必须做得精细。从此,MJ 萌生了“最小支点防御”的技术思想。
而在防护的过程中,MJ 也在思考如何让“XP 盾甲”随时增加新的防御策略,这就是“瞬时心脏搭桥”的雏形。
从那时开始,“实战派”的路线逐渐清晰:
真正的大侠,绝不能跟坏蛋扭成一团滚来滚去,桌椅板凳撞个稀碎;而是一刀让坏人毙命,连在旁边喝馄饨的路人甲碗里的馄饨汤都不撒出来一滴。
这么多年过去,MJ 他们正是沿着这条路一直走。
不过,他也必须承认一个现实:
即便构建了一个宇宙最强护甲,也不是绝对安全;你总会遇到突然爆出的漏洞,成为护甲的阿喀琉斯之踵。
遇到这种时刻,就好似一声发令枪响,老师傅们会原地窜出——和黑客赛跑!
怎么和黑客赛跑呢?咱们还是看个例子。
(五)所有的敌人都是时间
在讲微软 Outlook 的故事时,我故意略过了一些细思极恐的细节:
当时,乌克兰向微软提交了漏洞,微软2023年3月14日发布了补丁。
这个补丁本意当然是遏制事态,不料却打开了潘多拉魔盒——仅仅过了两天,世界各国就开始探测到了针对 Outlook 疯狂的新攻击。
补个漏洞,还补出了事儿,这是何原理?
说来简单。全世界嗜血的黑客,每时每刻都在寻找攻击一切系统的入口。本来他们没有把注意力放在 Outlook 上。
补丁一推,他们立刻像野兽嗅到了血腥味,纷纷投来目光。
很快,有人通过补丁反推出了漏洞,进而发现漏洞并没有补好,只用了两天,就做出了新的攻击武器。
在无良黑客眼里,没有道德,只有利益。
钱给够了,没什么不能卖。
于是,攻击武器在地下疯狂传播,层层转手,越卖越贱。很快,连小毛贼也拿到了这个核武器。
一场所有人对所有人的喧嚣混战就此上演。
这时,尴尬的微软只能手忙脚乱地制作新补丁。
麻烦的事情来了:
微软是一家软件开发公司,不是一家网络安全公司,他们的软件开发是有流程和排期的。一般情况下,两个补丁之间的间隔都是一个月;哪怕在这种人命关天的情况下,也要一周时间才能做出新补丁。
一周时间,减去黑客制作武器需要的两天时间,等于五天。
这五天,就是黑客的 Party Time——他们疯狂杀戮,没人能阻止。
当然,也不是绝对没人能阻止,MJ 可以试试。
你还记得吧,“女娲”补天用的“铜豌豆”是 MJ 他们自己开发的,并不依赖官方补丁。
每当一个漏洞报出来,MJ 团队都会全速狂奔,在24小时之内开发好补丁,然后推送进“女娲”,所有受到“女娲”保护的系统在那一瞬间就具有了对这个漏洞的防御能力。
回到 Outlook 这个漏洞,也不例外。当时一天之内补丁就做好了。
由于最早的攻击武器是漏洞爆出两天后出现的,比 MJ 他们的补丁还滞后了一天。
事实上,所有被女娲保护的系统在那次攻击浪潮中都独善其身,岿然不动。
什么叫和黑客赛跑?这™就叫和黑客赛跑↓↓↓
当然,MJ 他们之所以每次都跑赢黑客,除了手快以外,还有一个重要的客观原因:
MJ 团队并非每次都和黑客站在同一起跑线上,有时他们是可以“抢跑”的。
咋抢跑嘞?
这里,MJ 首先帮我区分了三种漏洞:
已经爆出来的漏洞,全世界都知道——这就是“已知的已知”。
新爆出的漏洞里,大概有20%是全新的。它的“攻击点位”和“攻击方法”都是我们以前没有设防的,必须从头开始写补丁——这就是“未知的未知”。
但在剩下的80%新漏洞里,有一半是由旧漏洞改出来的;另一半虽然不是改出来的,但攻击的手法脱胎于既有漏洞,对于这80%的漏洞,我们的补丁很有可能已经有效,即便既有补丁不好使,也可以通过修改实现快速防御——这就是“已知的未知”。
看个图你就明白了↓↓↓
你还记得,在少林寺的故事里王喇嘛使用的漏洞吗?那虽然是个 0-Day 漏洞,但对于 MJ 他们来说,却属于“已知的未知”这一类。
MJ 他们对这类漏洞有一定的“先验信息”。
这些先验信息并不完整——知道黑客很可能从这走,但具体怎么走不清楚。
但是,只要根据这些先验信息设计一个足够精巧的机关,有很大概率可以“捕获”到疑似的漏洞利用行为。
怎么设计这个机关呢?
他们会在可能的黑客攻击位置布置一些“感知点”。
这些点“只看不动”:
因为不够确信,如果拦截错误,怕影响到系统本身运转;但是一旦这些点位被触动,警报会传回团队。
此时 MJ 他们已经可以冲出起跑线,人肉调查一下这个触发到底是不是一次真正的黑客攻击。
如果不是,放过就好;如果是,马上升级补丁,拦截后续同类行为。
这一套动作,就像在铜豌豆上长出了一些绒毛,绒毛本身是柔软的,但是可以收集信息。
一旦确认发现了新的黑客进攻手法,绒毛立刻变硬,成为铜豌豆的一部分。
MJ 告诉我,这一套“未知漏洞发现系统”也有名字,叫“夸父”。
我觉得这个名字非常生动。一瞬间连 Slogan 都替他们想好了:夸父追日,你敢日,我就追。
说到这儿,MJ 的一整套安全范式已经展现在我们面前,我帮你总结一下:
1、要想保卫网络世界的和平,必须堵住一切攻击的源头——漏洞。
2、每次漏洞爆发,都是一场“正义力量”和“黑暗力量”的赛跑。“打补丁”的速度必须快于黑客“开发漏洞武器”的速度,天平才会倾向正义的一方。
3、软件原厂受制于开发机制,很难指望他们比黑客出手更快,必须有一群侠客挡在前面,手握“漏洞生死簿”,按照自己的节奏快速开发出“第三方补丁”。
4、第三方补丁必须用尽全力才能看上去毫不费力,“补丁运行”和“打补丁的过程”都不能对系统的正常运行产生一丝一毫的影响;
5、绝大多数“突发漏洞”都是“已知的未知”,所以网络世界并非纯粹的黑暗森林。只要提前做出行动,正义力量完全有机会碾压黑暗力量。
怎么样,不仅逻辑严密,而且很有实操性吧!
这意味着天下要太平了吗?
当然不是。自古以来,侠客虽然辈出,但天下从未无贼。
任何好的范式,都需要所有与之相关的人完整理解共同配合,才能实现它最初的设计目标。
而真正难的,恰是把这套超前的安全范式塞进每个企业老板的脑袋里。
最后,我们不妨把那个武林故事讲完。
(六)无法卸下的责任
少林寺顺利实施“漏洞补完计划”后,安全无虞。
MJ 也决定作别方丈,拿着铜豌豆云游四方,继续拯救天下苍生。
他星夜兼程赶往崆峒山。但是,崆峒掌门但却不像少林一样那么急于求变。
他的理由很简单:“为了这次大比武,我们已经把所有的锁头都换成最新版了,也用了“火眼兄弟”的监控系统,最近一切太平,就先不劳您大驾啦!”
MJ 打断掌门:“很多官方补丁不能彻底堵住漏洞,监控也只有基础效果,贵派没有丢东西,不一定是‘王喇嘛’没有来过,也许他已经偷走了你们的秘密,只是你们还蒙在鼓里!”
掌门不悦:“说我被盗,有何证据?”
MJ 说:“证据暂时没有,不过你的锁确实不安全,我现在就能打开你家的藏宝阁!”
MJ 刚想上前一步,掌门突然手按剑柄:“宝阁里有诸多法器,不便外人叨扰。大侠不必继续纠缠了,送客!”
见此,MJ 只好作揖告退,转身前往青城、峨眉。。。
两周很快过去,此次演习落下大幕——武林门派间停止了彼此攻击测试,世界又恢复了太平。
可是,世界真的太平了吗?
金国黑客,当然不会因为大宋的演习结束而停止进攻。只是他们来的时候,从不会告诉你。
无数武林门派的千万把锁,仍然暴露在风险之中。只待下一次演习时,李喇嘛、张喇嘛,用刺痛唤醒他们。
这就是故事的结局。
一个有点儿悲伤的现实是:
很多企业并不会因为有人证明它存在漏洞就会增加网络安全投入;而是当它已经遭受了攻击时,才不得不采取补救措施。
讳疾忌医是所有人的天性,当人们能处理提出问题的人时,就很难强迫自己去处理问题。
由于种种现实,中国漏洞研究者的生存环境并不好。
可是,网络安全就是国家安全,如果他们不逆风坚持,千万企业华美的罩袍下终究会爬满虱子。
幸好,一次次的网络安全演习正在缓慢而坚定地改变这个现实:
一方面,攻击手最终会把血淋淋的测试报告呈现在企业管理者面前;
另一方面,演习中失分的企业也会被问责。由此,更多人不得不从“埋头鸵鸟”转向“防患未然”。
希望在前,MJ 当然不能停下脚步。
在他看来,自己和小伙伴的工作不仅仅是给中国企业提供一个更好的网络安全范式,更有深重的现实意义。
大多数人都不知道一个事实:很多外国软件的补丁,不是你想买,想买就能买。
原因有两个:
第一,我们不能买;
第二,人家不能卖。
啥叫“我们不能买”呢?
这里得介绍一个背景:咱们国家的关键行业正在进行软件的“国产替代”。
所谓国产替代,就是把原来的外国软件逐步换成中国软件。可是十几个行业上万家公司,不可能一秒钟全都切换过来,而是要分批进行。
这就意味着在很长一段时间内,原来的外国软件还得继续顶着。
问题来了,这时候如果这些软件出现了漏洞,中国企业就得继续向国外原厂购买补丁。可是在即将淘汰的外国系统上继续投入预算,就很难获得支持。
啥叫“人家不能卖”呢?
这里就要考虑另一个背景:某国对我们的压制。
假设,现在 Android 系统爆出一系列极其“好使”的漏洞,可以轻易干掉任何一部安卓机,还不好修。
你觉得漂亮国想让谷歌把这个漏洞的补丁卖给中国公司吗?
用膝盖想也知道,有些机构一定试图阻拦,如果谷歌不听“劝”,他们也可能动用法律或行政命令——就像禁止芯片出口一样禁止补丁出口。。。
当时和 MJ 聊到这,我突然惊醒:我们谈论的漏洞,从来就不是商品,而是武器。
武器虽然也是商品,但终究无法用纯粹的商业逻辑去推演——你有或没有,也许意味着生死之别。
MJ 给我透露了一点厉害的计划:
赛博昆仑的小伙伴正在和几家(人人都知道的)科技公司合作,制作完整的预案。
一旦漂亮国对补丁实行“断供”,中国人自己的补丁能够无缝顶上。
那么,等国产替代完成后,是不是就万无一失了呢?
你想多了,当然不是!
“国产软件”当然也会出现漏洞啊!
而且实话说,由于中国软件基础薄弱,用户相对较少,也没有全世界的安全研究员进行日常测试,平均漏洞显然会多于微软、谷歌这些国际大厂。
更麻烦的是,国产软件中,有很多用在了极端关键的位置——比如电网控制的核心位置。
出于国家安全的考虑,这些软件不允许随便拿出来示人。
这意味着,所有第三方安全测试的人类团队都没办法对这个系统做测试,MJ 也不行。。。
那它的漏洞由谁来审计呢?难道就放在这里任由黑客想办法攻进去吗?
人不行,“不是人”就行了呗!
你还记得吧,夸父是学习了顶尖人类专家经验的自动化漏洞发现系统。放在这干活儿正合适。
事实上,就在不久前,MJ 他们刚刚把夸父布置在一个关键基础设施的内网中,对这些神秘的软件进行了一次深度测试。
具体结果我不方便说,我只能说,有惊人发现。。。
这次测试至少证明了两件事:
**第一,不管你愿不愿意直视,国产系统的漏洞就真实地摆在那里。**你自己不找,暗处的黑客就会帮你找。
**第二,软件有国籍,但漏洞原理不分中外。**夸父在国际大厂软件中锻炼的对“未知漏洞”的探索能力,同样适用于国产软件。
当然,上医治未病。找漏洞重要,不让新漏洞产生更重要!
MJ 也在和一些公司合作,帮他们建立严格的“漏洞管理机制”:
不仅能让老师傅补漏洞的时候补得更完善,减少堵不住的情况;
还能在研发的过程中避免批量“制造”新漏洞。
其实,“漏洞管理机制”也像极了一个光锥。
尽早建立,就能用较小代价杜绝后续无数风险;越拖延,后来就需要付出巨大的代价才能挽回。
我和 MJ 聊到夕阳西斜。他一看表,说晚上还要跟网络安全的相关领导汇报,匆匆跟我道别,冲了出去。
我走在赛博昆仑的办公区里,缥缈的余晖从窗口射入,仿佛来自异世界的裂痕。
我感觉自己走在历史镜头的注视中。
就在此刻,我们的蓝色星球上,有能力进行顶尖漏洞研究的人不超过1000个,而其中的中国人,大概有100多人。
而在 MJ 身后,就站着几十人——他们是这片土地上无可替代的力量。
大风起时,手持利剑的人不能后退。
守护山河无恙,本就是侠客无法卸下的责任。
延伸阅读:
愿将腰下剑
直为斩楼兰
再自我介绍一下吧。我叫史中,是一个倾心故事的科技记者。**我的日常是和各路大神聊天。**如果想和我做朋友,**可以搜索微信:**shizhongmax。
哦对了,如果喜欢文章,请别吝惜你的**“在看”或“分享”****。让有趣的灵魂有机会相遇,会是一件很美好的事情。**
Thx w****ith in Beijing