近日,一组研究人员发表了一种新型侧信道攻击的研究,该类攻击针对的是操作系统而非芯片,它采用了一种与硬件无关的、基于操作系统的方法,能绕过特定的芯片,让犯罪分子有机会获取企业系统的密钥。此类攻击具有严重的威胁性,它利用了现代操作系统的一个基本特性来访问私密数据。
对该类攻击的研究发表在一篇名为“页面缓存攻击”的论文中。文献指出,该类攻击对Windows和Linux(可能还有其他操作系统)是有效的。此外,它不依赖于对硬件的模糊或格式错误的指令,而是通过操作系统中相对低权限的用户帐户的简单系统调用。
这个新漏洞的强大之处在于,它可以检查整个缓存页面上的数据,然后从中提取数据。这些数据存在的时间长达数毫秒,而由于攻击数据检查本身只需要几毫秒,因此有足够的时间来执行诸如读取多个击键或对涉及加密密钥的查询作出明文响应之类的操作。
Tripwire的漏洞和风险研究团队的计算机安全研究员Craig Young在给Dark Capture的电子邮件中写道,他们的团队已经证实了利用该漏洞可以在隔离的进程之间创建隐蔽数据通道、记录按键时间、监视随机数生成器,并且能通常作为非特权用户泄漏其他进程的信息。
Young指出,在相关操作系统中,该漏洞完全没有受合法的系统调用的影响,这个问题源于过度宽松的操作系统设计,使非特权进程能够过多的访问某些与缓存相关的系统调用。
系统调用的这一原则意味着,该漏洞可能被不同类别的罪犯使用,而不仅是那些可能会使用Meltdown或Spectre等工具的犯罪分子。Juniper Networks威胁实验室负责人Mounir Hahad表示:
利用其他的漏洞可能需要大量的经验和知识,而且需要一定的胆量。这个漏洞相比其他的漏洞要更简单,不依赖硬件,所以它可以被很多普通的犯罪分子经常使用。
上述的那篇论文介绍了PHP框架的示例,这些框架使用PHP函数“microtime”作为其加密操作的伪随机种子。由于攻击可以捕获微时间返回和对加密生成器的调用,因此攻击者可以学习加密的原则,也使解密变得更加容易。
解决办法不是没有,但需要操作系统制造商和应用程序开发人员检查他们的代码,承认存在漏洞,并为其补丁。而这些补丁对企业来说既是好消息,也是坏消息。考虑到现今对操作系统补丁的方式,将会有很长一段时间才能应用上补丁。