2009 年,伊朗纳坦兹核燃料浓缩工厂的科学家们苦思冥想了几个月却束手无措。他们用试验排除了由机电故障引发的可能性,还将工厂的离心机数量翻倍,但浓缩铀的产量仍然停滞不前,甚至每况愈下。
终于,他们在一台装有控制软件的电脑上发现了带有恶意软件的 U 盘。事实证明,长期以来,一个名为震网的秘密软件一直在暗中干扰,病毒最终导致 1000 台铀浓缩离心机废弃,直接摧毁了伊朗“核计划”。
这次攻击之所以能得逞,与 0day(零日漏洞)息息相关。
所谓 0day,一种没有补丁、应对措施,只有少数攻击者知晓的漏洞。安全人员只有知道并努力分析之后,才能发布包含必要补丁的更新——制造出防卫的“武器”。
可怕的是,震网设计者精心构置了微软操作系统中 4 个在野 0day 漏洞,并和工控系统的在野 0day 漏洞进行组合,以实现精准打击、定向破坏。
这是在赛博世界上浓墨重彩描下一笔的具有超级破坏性的网络武器。如果说,世界上还有什么比核武器更厉害的武器,只有网络武器可以给出答案。
靠 0day 实现的“网络武器”是尖刀上的刀尖,在防守方察觉并找到对抗方法前,手握 0day 武器的攻击者所向披靡。
一个叫做冰刃实验室的团队可能拯救被 0day 威胁的赛博世界。
Digtool 的铺垫
两年前,雷锋网曾介绍过一个有趣的“工具”,这个工具的牛逼之处在于,由于微软没有提供源码,Windows 系统的漏洞挖掘不容易,人工挖掘需要逆向分析。但是由冰刃实验室研发的一款名叫 Digtool 的工具可以自动挖掘 Windows 漏洞,极大解放安全人员的劳动力。
当时,该工具的开发人之一 、360 冰刃实验室负责人潘剑锋告诉雷锋网,Digtool 可以记录内存访问等行为日志,这是“挖沙”,进而,Digtool 的分析模块会进行分析,一旦符合主要的六种漏洞行为特征规则,便实现了一次“淘金”,也就意味着找到一个漏洞。
简单来说,Digtool 的任务就是像猎犬一般嗅探,发现猎物的踪迹。
但是,Digtool 毕竟是机器程序,不是猎犬,它察觉“猎物”痕迹的方法只有靠“勤劳”,因为程序的运行会有大量路径产生,Digtool 不断尝试从 A 点到 B 点的可能路径,就像那个把巨石一直推向山顶,巨石掉落,又往山顶推的人,只是尝试一百种、甚至一千种推石头上山顶的方法。
就是靠着异常的勤奋和努力,Digtool 尝试了数不清的“通道”,才可能找到通向“漏洞”的路径,发现了“这条不寻常的路径”后,Digtool 在这条路上找到异常行为的“证据”,才算真的捕获“漏洞”。
这是 Digtool 包含的两条重要的工作路径:“路径探测模块”和“错误检测模块”。
当时,大家都很开心,这个工具与谷歌知名研究团队 Project Zero 制造出来的自动挖掘漏洞工具一样酷炫狂拽吊炸天,“跑一局游戏,十几个漏洞就挖到了”。
第二朵“花”
谁也没想到,两年后,Digtool 的第二条路径开出了新的“花”。
冰刃实验室造出的工具让安全人员在挖掘一般漏洞上,省了很多力气,但他们还想要更多。
发掘 0day 漏洞很难,也有很强的偶然性,冰刃实验室思考,能否把目标放在追踪利用 0day 的攻击上,毕竟任何攻击都会留下蛛丝马迹,缩短发现 0day 攻击的“时间差”,就意味着安全人员可以尽快找到防守的办法,堵上这条路,0day 的威力将大打折扣。
Digtool 能找出异常行为的“证据”,从而捕获漏洞给了潘剑锋新的思考:Digtool 的两大组成部分“路径探测模块”和“错误检测模块”也是在虚拟机上运行,错误检测模块能检测 Digtool 自己跑出来的路径中的漏洞,自然也能检测黑客发现的漏洞——只要在监控之下运行漏洞利用程序即可,因此,错误检测模块是否可以作为探测器?
0day 漏洞攻击分为触发、利用、运行三个阶段,只要在三个阶段布置探测器就能发现攻击。
顺着这一思路,冰刃实验室把错误检测模块改造成了探测器。不过,Digtool的错误检测模块在被改造前只为六种漏洞提供了探测器,但冰刃的目标是覆盖尽量多的漏洞类型,因此,冰刃团队又打造了大量的探测器。
探测器有了,但是对系统的某些探测、监控能力需要借助虚拟化技术才能达到,也就是说,探测器要想有效发挥作用,必须有“药引”,因为很多的漏洞利用行为,例如敏感指令序列,靠普通的监控程序如系统驱动根本拿不到。
简单来说,它的运行过程跑了哪些地址和指令,你根本看不到,但是利用虚拟化技术可以让这个“黑盒子”变得透明,从而发现一些程序到底下达了哪些指令,经过了哪些路径,从而可以迅速还原并捕获一个看不见的“漏洞”。
因此,冰刃实验室想到了制造出一套针对安全需求的虚拟机系统 ILSVM。
巧妙地将 Digtool 的错误检测模块改造成探测器,并制造出专门针对安全的虚拟机系统无疑是很难的,更难的是,要让这种“捕获工具”可以被应用在无数终端上,让英雄有用武之地,能在现实环境落地。
达到这个目标至少要解决三个问题。
第一,这个工具吭哧吭哧地跑起来,既要高性能,但也不能消耗了系统的马力,耽误用户干正经事。
第二,大家用着各种版本的系统,用户环境这么复杂,就像每户人家装修得都不一样,怎么保证这个工具在每个人家里都能放得下并且用得上?
第三,在用户的机器上,面对真实环境,这个工具能抓到一些漏洞的“现行”,但毕竟环境有限,如果想达到更高级别的监控,用户的机器可能满足不了这样的探测需求,这时能找到沙箱“外援”,提供对更多类型的漏洞的监控吗?
潘剑锋用冰刃安全虚拟机解决了这三个问题。这套从零设计开发的以实现安全检测与防御特性为主的全新轻量级虚拟机系统是目前国内乃至世界上唯一能在客户终端默认实时开启的安全虚拟机系统,它守卫在每一个终端上,默默拿起“望远镜”,守望每一个异常进程,不畏惧每一个未曾现世过的攻击,并保持跟踪与记录。
甚至,这是冰刃团队在Windows 10 RS3开始使用多种技术对抗监控类虚拟机的前提下,成功建造的一个全球唯一对其绕过、保持对操作系统有效透明监控的虚拟机系统。
如果想捕获更多类型的漏洞利用攻击,还可以延展这套系统的能力,将 ILSVM 的核心安全能力复制到 KVM虚拟机之上建立多维沙箱,将大量虚拟化新型探测器部署于多个维度上。
让系统部署在客户端,不断探测真实攻击路径,借用沙箱扩大对不同类型的漏洞利用攻击的感知,冰刃团队还要借助云端的分析能力实时分析。这三部分结合起来,就是冰刃实验室构造出来的可以捕获 0day 的全新“雷达”,又名“全视之眼”。
反思
事实上,潘剑锋告诉雷锋网(公众号:雷锋网),能部署到客户端的虚拟机系统早在 2012 年已经研发成功,并在数千万安全卫士的终端上尽忠职守已达七年。
如上文所介绍的,针对安全需求研发的全新虚拟机系统 ILSVM 另一核心思路 Digtool 的“机制”也于两年前诞生。
协助“雷达”分析、判断的大数据更可以追溯到多年前就诞生的安全卫士打下的基础。
少了哪一步,“全视之眼”都不可能锻造成功。但更可贵的,可能还在于安全研究者的坚持与巧思,以及对抗不可能的决心。
用 0day 制造的网络武器固然可怕,但安全守卫者捍卫赛博世界的安全,与时间差赛跑争分夺秒的勇气,是除了“全视之眼”外,对抗“核武器般”的网络武器更重要的反击。
。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/118421.html