导语: 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 上使用从理论上讲, 它也应该能在 LinuxMac OS 和其他系统中得到推广
来源: http://jaq.alibaba.com/community/art/show?articleid=1577