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。
歪个楼科普下,为何要借助虚拟化的技术才能“监控”?因为很多的漏洞利用行为,例如敏感指令序列,靠普通的监控程序如系统驱动根本拿不到。
简单来说,它的运行过程跑了哪些地址和指令,你根本看不到,但是利用虚拟化技术可以让这个“黑盒子”变得透明,从而发现一些程序到底下达了哪些指令,经过了哪些路径,从而可以迅速还原并捕获一个看不见的“漏洞”。
造出来这种工具可能还不是最酷炫的,最厉害的是,这种“捕获工具”可以被应用在无数终端上。
要达到后一个目标至少要解决三个问题。
第一,这个工具吭哧吭哧地跑起来,既要高性能,但也不能消耗了系统的马力,耽误用户干正经事。
第二,大家用着各种版本的系统,用户环境这么复杂,就像每户人家装修得都不一样,怎么保证这个工具在每个人家里都能放得下并且用得上?
第三,在用户的机器上,面对真实环境,这个工具能抓到一些漏洞的“现行”,但毕竟环境有限,如果想达到更高级别的监控,用户的机器可能满足不了这样的探测需求,这时能找到沙箱“外援”,提供对更多类型的漏洞的监控吗?
潘剑锋用冰刃安全虚拟机解决了这三个问题。这套从零设计开发的以实现安全检测与防御特性为主的全新轻量级虚拟机系统是目前国内乃至世界上唯一能在客户终端默认实时开启的安全虚拟机系统,它守卫在每一个终端上,默默拿起“望远镜”,守望每一个异常进程,不畏惧每一个未曾现世过的攻击,并保持跟踪与记录。
甚至,冰刃团队在Windows 10 RS3开始使用多种技术对抗监控类虚拟机的前提下,成功建造了一个全球唯一对其绕过、保持对操作系统有效透明监控的虚拟机系统。
如果想捕获更多类型的漏洞利用攻击,还可以延展这套系统的能力,将 ILSVM 的核心安全能力复制到 KVM虚拟机之上建立多维沙箱,将大量虚拟化新型探测器部署于多个维度上。
让系统部署在客户端,不断探测真实攻击路径,借用沙箱扩大对不同类型的漏洞利用攻击的感知,冰刃团队还要借助云端的分析能力实时分析。这三部分结合起来,就是冰刃实验室构造出来的可以捕获 0day 的全新“雷达”,又名“全视之眼”。反思
事实上,潘剑锋告诉雷锋网,能部署到客户端的虚拟机系统早在 2012 年已经研发成功,并在数千万安全卫士的终端上尽忠职守已达七年。
如上文所介绍的,针对安全需求研发的全新虚拟机系统 ILSVM 另一核心思路 Digtool 的“机制”也于两年前诞生。
协助“雷达”分析、判断的大数据更可以追溯到多年前就诞生的安全卫士打下的基础。
少了哪一步,“全视之眼”都不可能锻造成功。但更可贵的,可能还在于安全研究者的坚持与巧思,以及对抗不可能的决心。
用 0day 制造的网络武器固然可怕,但安全守卫者捍卫赛博世界的安全,与时间差赛跑争分夺秒的勇气,是除了“全视之眼”外,对抗“核武器般”的网络武器更重要的反击。
在网络安全中,面对“隐形飞机”一样的国家级网络攻击,同样需要“预警机”。周鸿祎曾多次强调:应对网络攻击,‘看见’是1,其它是0。如果不能看见攻击,堆砌再多的网络安全产品也是徒劳。
实际上,在网络安全领域,360是最有实力实现“看见”的公司。今年8月,在全球顶级网络安全大会“Black Hat”上,360取得两项历史性突破:一是在“2019 MSRC全球最具价值安全精英榜”中,360 包揽前两名,实现亚洲人首次登顶,入选人数和综合排名蝉联世界第一;二是360荣获“最佳提权漏洞奖”(The Pwnie Awards),打破了连续12年无中国人获奖的记录,向世界展现了中国的网络安全实力。过去的五年时间里,360率先独立发现主流厂商漏洞超过2000个,独立捕获0Day漏洞7次,涉及上千个重要部门,成为全球获得致谢次数最多的网络安全公司。
即便如此,研制能看见高级别攻击的“预警机”也并不容易。“发掘0day漏洞很难,也有很强的偶然性,我们转而把目标放在追踪利用0day漏洞的攻击上,任何攻击都会留下蛛丝马迹”,潘剑锋说。
顺着这一思路,360冰刃实验室找到了方法。“0day漏洞攻击分为触发、利用、运行三个阶段,只要在三个阶段布置探测器就能发现攻击”,潘剑锋说,为了实现这一目标,360冰刃实验室将多项创新技术应用到360全视之眼中,一些技术甚至从无到有,弥补了行业空白。比如,其冰刃安全虚拟机技术(ILSVM)是从零设计开发的以实现安全检测为主的全新轻量级虚拟机系统,弥补了国内此类基础软件的空白。
在ILSVM 的基础上,360全视之眼独创了0day攻击捕获技术,即借用强大的ILSVM,在攻击的三个阶段均布置了多种全球独创的新型探测器,能把第一、二阶段捕获能力直接全天时应用到数亿用户终端的系统,使发现0day漏洞攻击的能力提升到一个新的高度。
针对传统沙箱的不足,360冰刃实验室还将ILSVM的核心安全能力复制到了KVM虚拟机之上建立多维沙箱,将大量虚拟化新型探测器(如影子页表探测器、执行路径ROP探测器等)部署于hypervisor层、Guest内核层、Guest应用层多个维度上,捕获更多类型的漏洞利用攻击,与终端子系统形成了优势互补。
整体来看,360全视之眼更像网络世界里的“预警机”,能洞察极其隐蔽的异常行为,并通过360安全大脑分析研判,精准捕捉0day漏洞攻击。
“我们的产品已广泛应用于数亿个人用户和大量政企单位,每天感知异常行为超过5亿次,成功发现和阻止了几十起高级安全威胁(APT)。相信这将是为大安全时代保驾护航的利器。”李建华说。 |