导语:R2D2数据保护技术,不但可以保护虚拟机内的数据免受现代数据擦除类恶意软件的攻击,而且还可以提供了一些安全的文件删除方法。
普渡大学(Purdue University)的科学家们开发了一种名为“Reactive Redundancy for Data Destruction (R2D2)”的数据保护技术,该技术不但可以保护虚拟机内的数据免受现代数据擦除类恶意软件的攻击,而且还可以提供了一些安全的文件删除方法。
研究人员表示:
在我们的测试实验中,这项新技术成功地阻止了擦除类恶意软件如Shamoon (v1和v2)、StoneDrill和Destover对实验数据的删除。
近年来,针对文件系统和MBR等以擦除攻击为主要手段的破坏性攻击代码愈来愈多。这类恶意软件也成为很多APT攻击组织在攻击后掩盖其踪迹的主要手段。
擦除类攻击分两种:单纯擦除和多功能擦除。
单纯擦除
这些恶意软件旨在破坏数据或影响目标系统正常启动,通常通过接收来自攻击者的命令或预定时间执行。
这类恶意软件包括:Killdisk,WhiteRose,DarkSeoul,DestFallen,Destover等。
多功能擦除
这类恶意代码被攻击者用来执行多种任务,其中包括擦写被感染系统。这类恶意软件包括:BlackEnergy 2 DSTR Plugin,Shamoon/Disttrack,Gh0st RAT等。
R2D2如何运作
R2D2在设计时针对的操作环境是虚拟机,也就是说你不能在常规操作系统上运行R2D2,这是因为R2D2需要处于可以观察整个操作系统的位置。
Purdue研究人员在上个月发表的一篇论文中写道:
我们的R2D2的原型是在一个虚拟机监控(VMM)中实现的,它可以通过虚拟机自省(VMI)监视用户虚拟机中的数据损坏情况。
R2D2使用VMI接口来拦截受保护的操作系统(虚拟机上的用户操作系统)上的文件打开和文件写入之类的操作。
如果检测到有文件打开和文件写入之类的操作时,R2D2就会利用一系列的防护策略来评估这些操作是否属于已知的攻击性操作。如果在防御扫描时触发了安全警告,VMM将创建一个临时检查点,这样操作员就可以使用它来作为系统恢复点。
通过这样的设计,R2D2将忽略那些模块化或标准化的删除操作,这些操作会取消链接文件,并在稍后需要将其他数据保存在磁盘上时将其保留在存储介质上。
但是,R2D2将查找有意打开和重写文件的删除操作,这种攻击行为已经在所谓的“安全删除”应用程序和擦除类恶意软件中被攻击者应用了。
通过如此的设计,R2D2将查找尝试用随机数据或重复的代码模式重写文件的操作。目前,R2D2可以适用于13种已知的擦除方法,这些方法已在所谓的“安全删除”应用程序和恶意软件中经常出现。
R2D2支持“安全删除”应用程序和数据擦除类恶意软件的原因是由于恶意软件作者可能试图将这些应用程序合并到未来的擦除类恶意软件中,而不是使用自定义技术。
此外,通过支持流行应用程序使用的“安全删除”算法,R2D2还可以保护计算机免受恶意的内部人员的物理访问,攻击者最有可能使用“安全删除”应用程序而不是数据擦除类恶意软件。
测试中,研究人员还发现R2D2在识别具有破坏性的擦除行为时,具有非常高的准确性。
虽然R2D2目前只在测试阶段,但市面上还没有哪一个软件可以由此功能。
研究人员进行的测试表明,虽然R2D2在检测恶意破坏性操作方面非常准确,但仍需要在一些性能指标上持续改进。例如,测试表明,在989次破坏性操作中,R2D2错误地将两次破坏性重写确定为良性(假阴性率为0.2%),而在989次良性写入中,R2D2将5次操作误判定为具有破坏性的行为(假阳性率为0.51%)。
但是最大的问题是R2D2当前版本在保护vm上的延迟反应。Purdue研究人员表示:
对于简单的任务,延迟率从1%到4%不等,而对于复杂的任务来说延迟率从9%到20%不等。
如何改进R2D2性能
研究人员表示,改进R2D2性能并不是一个大问题,因为目前R2D2的原型并没有对性能进行优化,如果投入实战,还有很大的改进空间。
例如,由于超过90%的延迟是因为R2D2在主机操作系统的VMI接口内运行,所以提高性能的最简单方法是让R2D2在其他位置运行,这样设备的运行性能就不会出现大幅度下降。
再比如,R2D2可以在操作系统内插入写入存储介质,将R2D2放置在操作系统内可以避免与VMI相关的损耗,而这也是研究者所发现的最重要的性能损耗。但是,这种改进方法的主要缺点是对文件版本控制系统和其他R2D2机制的控制都位于受保护的系统中,而不是与潜在的不可信的操作系统隔离。如果对手可可以破坏操作系统,那他们就可以禁用R2D2。
其实,R2D2的另一个合理的运行位置是在硬件附近。在将数据写入存储设备之前,存储设备上的硬件控制器可以检查写入缓冲区是否具有破坏性功能。然而,将R2D2放置在硬件控制器中的挑战是记录和保存对用户,系统管理员或取证人员有意义的数据。将底层磁盘操作映射到文件对于磁盘存储而言是一个众所周知的语义鸿沟问题。或者,网络文件系统也可以使用R2D2,类似于检查恶意行为的文件交互过程。
这样做一个优点是R2D2可以与攻击者隔离,除非攻击者能够覆盖硬件控制器或获取网络文件存储服务器。
由于一些加密勒索软件变种有时与某些擦除类恶意软件相似,因此R2D2也可能会会被用于检测一些勒索软件。尽管如此,研究人员并不认为R2D2是一个检测勒索软件感染的好系统。不过研究人员表示:
可以通过密切关注R2D2的这个检测勒索软件的功能,来判断它的性能好坏。因为这表明目前R2D2正在执行大量的数据加密程序,而不是关注文件打开和文件写入之类的操作。
目前,R2D2只在VM内运行的Windows 7操作系统上进行过测试,不过该研究小组表示:
虽然只在Windows 7操作系统上进行过测试,但我们认为R2D2可以在各种版本的Windows上使用。从理论上讲,它也应该能在Linux、Mac OS和其他系统中得到推广。