微软开发分析引擎Freta扫描记忆体快照揪出VM恶意程式

互联网2021-02-12 16:02:24
最佳答案

微软研究院开发了一个云端安全分析引擎Freta,可扫描Linux系统的记忆体快照,找出感测器和作业系统遭破坏的证据,自动对云端Linux虚拟机器进行指纹辨识并稽核记忆体快照,以发现新型态的Rootkit和进阶的恶意程式。现在Freta分析引擎以入口网站的形式,公开雏形给大众使用。

Freta具备处理大规模虚拟机器的能力,能以低成本的方式,同时对超过1万台Azure虚拟机器,进行自动记忆体鉴识稽核,微软提到,Freta使数位鉴识从原属高价的顾问谘询服务,转变为内建在云端平台的自动化服务。

以快照为基础的记忆体鉴识领域已经发展超过十年,但微软提到,目前尚无可用于商业云端,在无侵入式捕捉机制以及事先鉴识準备的情况下,对数千台虚拟机器进行全记忆体稽核的功能,而Freta专案的目标则是要让虚拟机器鉴识自动化与普及化。

虚拟机器鉴识普及化可以将云端恶意软体的开发成本,提高至理论的最高值,微软表示,由于在资讯安全的领域,是以证据来驱动防御方法,但这造成了倖存者偏误现象,当攻击者摸透安全侦测器模型,并且设计出避开触发侦测器的方法时,系统便不会发出攻击警报,而人们也会因为没有攻击报告,误以为系统是安全的。另外,当攻击者直接针对安全侦测器、安全代理和特权作业系统元件发动攻击,就可能关闭攻击警报系统,因此也不会留下任何攻击的痕迹。

Freta专案设计的概念是以倖存者偏误为核心,极大程度提高攻击者逃避侦测器的成本,并且在技术上,尽可能让攻击者无法逃避侦测。微软提到,事实上的确有办法让攻击者无法触碰安全侦测器,就像是零售商店将监视录影机设置在抢匪触碰不到的地方一样,但是之所以没有在云端中应用,为的是要能够向后相容,无法像是行动装置经过重新设计,分离计算平面和安全平面。

在云端,计算平面和安全平面分离的情况,主要出现在虚拟机器管理程式上,租户工作负载能以虚拟机器管理程序屏障,和供应者工作负载分离,但微软提到,现有研究证明,系统管理程式屏障可能不够强健,攻击者仍可穿透屏障并且规避安全侦测器,他们认为,要结束与恶意程式的军备竞赛,以渐进式的方法改变端点技术是不够的,因为只要攻击者和防御者共用一个微基础架构,无论防御者以什么方式防御,攻击者总是可以破解。

微软提到,要对所有用户提供即时鉴识服务是一件困难的事,挑战包括生成攻击者无法取用的鉴识成像(Forensic Imaging),由于不少现存的鉴识方法都需要执行像是複製KASLR金钥等明确的指令,而这就足以让恶意软体捕捉到相关的事件,使恶意程式能抹除自己的足迹。

而Freta支援4,000多种Linux核心版本,可在没有金钥或是上下文的情况,对经安全机制扰乱的记忆体进行解码。由于支援Linux核心较为困难,因此微软先实作了Linux版本,Windows将会在后续更新支援。

Freta还必须要能以云端规模执行,微软设定分析引擎的能力,要能在短时间且低成本的情况下,最少可对10万台机器进行程式化稽核,也就是说,Freta的基础架构设计採用批次处理的概念,而且Freta还需要能支援具有100 GB以上记忆体的高效能虚拟机器。

而考量到Freta可能本身成为攻击目标,为了避免攻击者利用记忆体漏洞来攻击Freta,微软以记忆体安全程式语言Rust,在不使用任何现有软体的情况下,从头打造整个专案,微软提到,Freta是一个高效能的分析引擎,可以储存任何大小的记忆体成像,并且内建记忆体安全性。

目前这个版本的Freta分析引擎,以整个Linux系统的挥发性记忆体快照作为输入,并且能够撷取系统物件列举,Freta能够自动辨识部分核心挂鈎(Kernel Hooking),可检测新型态的Rootkit,而且Freta支援各类型的快照,包括使用Hyper-V检查点生成的VMRS档案,或是转换VMWare快照产生CORE档案等。当快照经过Freta分析之后,用户可以使用REST和Python API取用报告资料。

Freta的第二个重要元件是Azure侦测器,可让用户在不中断执行的同时,即时搬迁挥发性记忆体资料到离线分析环境,微软提到,这个感测器与Freta分析引擎结合,可以对上万虚拟机器进行低成本的记忆体鉴识稽核。

免责声明:本文由用户上传,如有侵权请联系删除!