一组安全研究人员,其中有几个参与了第一个Meltdown和Spectre漏洞的检测, 在第三方渠道上开发了一种新型的攻击。
这次袭击 根据页面缓存内容分析执行,其中包含获得的信息 由于操作系统访问磁盘,SSD和其他锁定设备。
与幽灵攻击不同, 新漏洞不是由硬件问题引起的,但仅涉及页面缓存的软件实现 并体现在Linux中 (CVE-2019-5489), Windows,可能还有许多其他操作系统。
通过操纵mincore(Linux)和QueryWorkingSetEx(Windows)系统调用来确定系统页面缓存中是否存在内存页面,没有特权的本地攻击者可以跟踪其他进程的某些内存访问。
该攻击使您可以在块级别跟踪访问 4 KB,在Linux上的时间分辨率为2微秒(每秒6.7次测量),在Windows上的时间分辨率为446纳秒(每秒223次测量)。
页面缓存累积了非常多样化的数据,包括可执行文件提取,共享库,加载到磁盘的数据,内存中的镜像文件 以及通常存储在磁盘上并由操作系统和应用程序使用的其他信息。
这是什么攻击?
攻击 基于以下事实:所有进程都使用公共系统页面高速缓存,并且可以通过更改读取数据的延迟来确定此高速缓存中是否存在信息 磁盘或参考上面提到的系统调用。
缓存的页面可以在多个进程使用的虚拟内存区域中进行镜像(例如,物理内存中只能存在一个共享库的副本,而在不同应用程序的虚拟内存中则可以镜像)。
在滚动来自页面缓存的信息并在从磁盘加载典型数据时填充信息的过程中, 您可以分析其他应用程序的虚拟内存中相似页面的状态。
mincore和QueryWorkingSetEx系统调用使您可以立即确定页面高速缓存中存在给定地址范围的哪些内存页面,从而大大简化了攻击。
由于受监视的块(4Kb)的大小太大,无法确定每次迭代的内容,因此攻击只能用于秘密数据传输。
通过跟踪算法行为,评估已知进程的典型内存访问模式或监视另一个进程的进度来降低加密操作的强度。
知道攻击者的内存中数据的布局 (例如,如果从身份验证对话框退出时最初知道缓冲区的基本内容,则可以在用户干预期间根据勒索符号确定Arola)。
有解决方案吗?
是的, 如果已经有Linux解决方案 这种类型的研究有助于在有不良意图的其他人利用问题之前发现问题。
对于Linux内核, 该解决方案已作为补丁提供,该补丁已经可用 描述和 记录在这里.
对于Windows 10,此问题已在测试版本(Insider Preview Build)18305中得以解决。
研究人员展示了对本地系统的攻击的实际应用,包括从孤立的隔离环境中创建数据传输通道,重新创建屏幕上的界面元素(例如,身份验证对话框),定义击键和恢复键盘。自动生成的临时密码)。
成为第一个发表评论