窃取虚拟机上的敏感数据:基于JavaScript的DRAM攻击

简介: 本文讲的是窃取虚拟机上的敏感数据:基于JavaScript的DRAM攻击,1月5日,研究人员揭示动态随机存取存储器(DRAM)攻击新方法,恶意黑客可用JavaScript,通过隐秘通道,秘密盗取虚拟机上的敏感数据。

本文讲的是窃取虚拟机上的敏感数据:基于JavaScript的DRAM攻击,1月5日,研究人员揭示动态随机存取存储器(DRAM)攻击新方法,恶意黑客可用JavaScript,通过隐秘通道,秘密盗取虚拟机上的敏感数据。

image

安德斯·福格,G DATA Advanced Analytics 首席恶意软件分析师;迈克尔·舒瓦茨,奥地利格拉茨技术大学博士研究生。两位研究人员描述了当前DRAM设计上的安全问题,展示了一些实际的跨CPU攻击。该项研究的第一部分在8月份的25届USENIX安全研讨会上已被提出。

2016黑帽欧洲大会上,福格和舒瓦茨展示了利用实体机Web浏览器中运行的JavaScript脚本代码,从不联网的虚拟机中盗取小量敏感信息,比如口令或私钥一类的。他们还演示了对Rowhammer攻击的改进,证明了与之前以为的不同,Rowhammer对DDR4也起效。

采用虚拟地址,让在同个CPU上安全运行多个进程成为可能。然而,在与DRAM通信的时候,CPU需要的是物理地址,所以虚拟地址必须得映射到物理地址空间。

处理器内存控制器所用的映射函数是非公开的,但福格和舒瓦茨的团队,通过测量CPU从存储区读取数据的时间,成功逆向工程了该函数。用于逆向非公开DRAM地址映射函数的工具,被研究人员作为开源代码发布了出来。

与人们熟知且有有效应对措施的缓存攻击不同,DRAMA(DRAM地址解析)攻击具备跨CPU的特性。不过,二者之间还是存在某些相似性。

我们发现,DRAM中使用的缓冲区,表现出与CPU缓存非常相似的行为。我们利用了DRAM缓冲区的时间差来发起攻击。利用时间差是基于缓存的攻击惯用的技术。DRAM攻击的一大优势在于,它们不需要任何共享内存。而且,很多情况下,主内存也是CPU间共享的,意味着我们甚至可以在跨CPU的场景中应用这种攻击。
福格和舒瓦茨没有在实体机系统上运行任何二进制程序,也没有利用任何软件漏洞,就能在实体机和托管其上的虚拟机之间打开一个秘密通道。虚拟机里运行的发送方,以及实体机浏览器里运行的接收方,商定一块存储区,该存储区可以是硬编码的。通过测量访问时间,如果访问很快,就发送比特“0”,如果访问很慢,就发送比特“1”。

研究人员还展示了如何利用该技术盗取虚拟机的键盘输入。这种情况下,攻击者需要对系统进行分析,识别出他们想要监视的事件。他们可以诱骗受害者访问某个包含恶意JavaScript代码的网页,或者利用恶意广告攻击。

专家称,用于渗漏数据的内存有可能被另一应用程序占用,造成数据损害;不过该几率非常小,且他们实现的攻击包含了防止这种情况发生的错误检测代码。为使渗漏更加高效,数据传输采用了封包方式,每个数据包包含一个序列位,标识该包是新的还是重复传输的。

研究人员在该JavaScript攻击中获得了每秒11比特的传输率。但是,同样的攻击若以本地代码实现将会快得多——若以受保护域(比如虚拟机)中的恶意代码和实体机上运行的恶意软件实现,传输率可达 600 Kbps,若使用了同个CPU,甚至还能更快。

虽然该研究主要针对 Intel x86-64,但其深层问题出在RAM中。研究人员已经证实,其他架构也受影响,包括智能手机使用的ARM处理器。

由于此类攻击源于DRAM的设计和运行方式,研究人员认为缓解起来不会太容易。不过,他们指出,虽然漏洞很严重,未来几年里我们还是不太可能看到此类攻击泛滥。该研究的目的,是引起关注,证明硬件也需要变得安全——软件可不是唯一的问题点。

原文发布时间为:十一月 9, 2016
本文作者:nana
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛。
原文链接:http://www.aqniu.com/hack-geek/21304.html

相关文章
|
5月前
|
JavaScript 安全 前端开发
js开发:请解释什么是XSS攻击和CSRF攻击,并说明如何防范这些攻击。
XSS和CSRF是两种常见的Web安全威胁。XSS攻击通过注入恶意脚本盗取用户信息或控制账户,防范措施包括输入验证、内容编码、HTTPOnly Cookie和CSP。CSRF攻击则诱使用户执行未经授权操作,防范手段有CSRF Tokens、双重验证、Referer检查和SameSite Cookie属性。开发者应采取这些防御措施并定期进行安全审计以增强应用安全性。
101 0
|
11月前
|
JavaScript 前端开发 安全
JavaScript安全性分析:了解常见的Web安全问题和防范攻击手段
JavaScript安全性分析:了解常见的Web安全问题和防范攻击手段
|
监控 安全 网络安全
云虚拟主机遭受了跨站注入攻击
云虚拟主机遭受了跨站注入攻击
147 0
|
安全 JavaScript 前端开发
针对Node.js生态系统的隐藏属性滥用攻击
在本文中,通过对 Node.js 程序中客户端和服务器端代码之间的通信过程进行首次系统研究来填补这一空白。本文广泛地识别了流行的 Node.js 程序中的几个新漏洞。为了证明它们的安全含义,本研究设计并开发了一种新颖的可行攻击,称为隐藏属性滥用 (HPA,hidden property abusing)。进一步分析表明,HPA 攻击与现有的关于利用和攻击效果的调查结果略有不同。通过 HPA 攻击,远程 Web 攻击者可以获得危险的能力,例如窃取机密数据、绕过安全检查和发起 DoS(拒绝服务)攻击。
93 0
|
存储 缓存 JavaScript
从JavaScript发起同步多行Rowhammer攻击
本文构建了SMASH(Synchronized MAny-Sided Hammering),这是一种在现代 DDR4 系统上从 JavaScript 成功触发 Rowhammer 位翻转的技术。 为了发起有效的攻击,SMASH 利用缓存替换策略的高级知识为基于驱逐的多行Rowhammer 生成最佳访问模式。 为了取消对大型物理连续内存区域的要求,SMASH 将n行 Rowhammer 分解为多个双行对,使用切片着色来识别它们。 最后,为了绕过 DRAM TRR 缓解措施,SMASH 仔细安排缓存命中和未命中,以成功触发同步的多行 Rowhammer 位翻转。
96 0
|
SQL JavaScript 安全
【Node.js实战】一文带你开发博客项目之安全(sql注入、xss攻击、md5加密算法)
【Node.js实战】一文带你开发博客项目之安全(sql注入、xss攻击、md5加密算法)
297 0
|
JavaScript
js基础笔记学习235解决xss注入攻击
js基础笔记学习235解决xss注入攻击
97 0
js基础笔记学习235解决xss注入攻击
|
Web App开发 JavaScript 前端开发
html转义及如何防止javascript注入攻击
有的时候页面中会有一个输入框,用户输入内容后会显示在页面中,类似于网页聊天应用。如果用户输入了一段js脚本,比例:,页面会弹出一个对话框,或者输入的脚本中有改变页面js变量的代码则会时程序异常或者达到跳过某种验证的目的。
2925 0
|
安全 Cloud Native Shell
攻击与响应:云原生网络安全与虚拟机安全
攻击与响应:云原生网络安全与虚拟机安全
118 0
|
JavaScript 安全 前端开发
JavaScript黑客是这样窃取比特币的,Vue开发者不用担心!
如果你是JavaScript或者区块链开发者,如果你有关注区块链以及比特币,那么你应该听说了比特币钱包Copay被黑客攻击的事情。但是,你知道这是怎么回事吗? 总结 比特币钱包copay依赖event-stream模块; 黑客从骗取了event-stream模块的npm发布权限; 黑客为event-stream模块添加了依赖flatmap-stream; flatmap-stream含有黑客代码,仅会在copay项目中正确执行,窃取用户的密码、私钥等信息,从而盗取比特币; 有人说什么Vue可能遭受攻击,其实没有这回事,因为黑客代码只会在copay项目中正确执行。
1957 0
下一篇
无影云桌面