研究人员发现了一种读取加密数据的新型侧信道攻击

近期,研究人员发现了一种能够读取加密数据的新型侧信道攻击技术,这种攻击技术针对的是操作系统,而不是芯片,而且这种技术将有可能成为网络犯罪分子获取目标公司加密技术的关键。

研究人员发现了一种读取加密数据的新型侧信道攻击

这种新型的侧信道攻击主要针对的是操作系统,它能够绕过特定硬件的芯片,主要利用现代操作系统的基础功能来访问开发人员和用户想要尝试隐藏的那些数据。

研究人员在这份标题为《页面缓存攻击》的论文中提到:“这种技术主要针对的是Windows和Linux操作系统,但也有可能适用于其他操作系统。除此之外,它不需要对硬件中那些乱七八糟的指令进行分析,它主要依赖的是低权限用户通过操作系统就能够获取到的简单系统调用。”

Alex Lonescu不仅是该研究团队中的一员,而且他还是CrowdStrike的高层。他专门解释了攻击成功所需的几个要素:“首先,如果你有办法向目标设备的缓存中注入数据的话,那么你需要确保这些数据已经成功注入到缓存里了,接下来当你尝试导出这些数据时,你就会得到一些有意思的东西。”更重要的是,研究人员还发现不仅只有硬件有缓存这种东西,现在几乎任何东西都有缓存。

这种新漏洞的强大之处就在于,它可以检测并提取整个缓存页表上的数据,甚至是那些只存在了几毫秒的数据它都能获取到。由于攻击本身只需要花几毫秒的时间,因此攻击者有足够多的时间来做他们想做的事情,比如说读取用户的键盘击键数据和那些涉及到加密密钥查询的明文响应数据。

研究人员发现了一种读取加密数据的新型侧信道攻击

Tripwire的VERT团队在对该漏洞的潜在影响进行分析之后,给DrakReading写了一封电子邮件。他们在邮件中写到:“研究人员已经演示了如何利用现代操作系统架构中的漏洞来在孤立的进程之间创建隐蔽的数据传输信道,而且攻击者设置还可以存储键盘记录,并监视随机数生成器。更重要的是,攻击者可以利用低权限进程来实现数据的窃取。”

这种攻击技术基于的是目标操作系统中合法的系统调用,研究人员表示:“之所以会存在这种问题,是因为原本的操作系统设计得过于宽松,给非特权进程的权限过多,导致它们可以访问某些与缓存相关的系统调用。”

研究人员还举了个例子,比如说PHP框架中就使用了PHP函数microtime()来作为伪随机数种子,并用来进行密码操作。由于攻击者可以捕捉到返回的微时间以及调用密码生成器的请求,所以他们就能够了解加密的基本信息,从而使解密的过程变得更加简单。

研究人员发现了一种读取加密数据的新型侧信道攻击

虽然这种攻击是可以有办法防御的,但这需要操作系统厂商和应用程序开发者的共同努力,然后通过修改代码来修复这个漏洞。

* 参考来源:darkreading,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM