一个简单的JavaScript攻击绕过了22个CPU架构上的ASLR保护

VSole2022-08-10 07:31:00

该漏洞存在于内存管理单元(MMU)的工作方式中,MMU是许多CPU的一个组件,导致绕过地址空间布局随机化(ASLR)保护。

ASLR是所有现代操作系统(从Windows和Linux到macOS、Android和BSD)部署的关键安全防御系统。

一般来说,ASLR是一种内存保护机制,它将程序在设备内存中运行的位置随机化。这反过来使得攻击者在利用缓冲区溢出或类似漏洞时,很难在内存中的特定位置执行恶意有效负载。

 简而言之,对于攻击者来说,这就像是试图蒙住眼睛入室盗窃。

但现在,荷兰Vrije大学的一组名为VUSec的研究人员已经开发出一种攻击,可以绕过Intel、AMD、ARM、Allwinner、Nvidia等热门供应商提供的至少22个处理器微体系结构上的ASLR保护。

这种被称为ASLR缓存或AnC的攻击尤其严重,因为它使用简单的JavaScript代码来识别内存中执行系统和应用程序组件的基址。

因此,仅仅访问恶意网站就可以触发攻击,这使得攻击者可以针对内存的同一区域进行更多攻击,窃取存储在电脑内存中的敏感信息。

以下是攻击的工作原理:

该攻击利用了微处理器和内存相互作用的方式。

MMU存在于台式机、移动设备和服务器芯片中,用于映射计算机在内存中存储程序的位置。MMU不断检查一个名为页表的目录,以跟踪这些地址。

设备通常将页表存储在CPU的缓存中,这使得芯片速度更快、效率更高。但该组件也与不受信任的应用程序(包括浏览器)共享其部分缓存。

因此,恶意网站上运行的一段javascript代码也可以写入该缓存(侧通道攻击),使攻击者能够发现软件组件(如库和RAM映射文件)在虚拟内存中的位置。

有了这些位置数据,任何攻击者都可以读取计算机内存的一部分,然后他们可以利用这些数据发起更复杂的攻击,升级对整个操作系统的访问,并劫持计算机系统。

研究人员通过最新的Chrome和Firefox web浏览器,在大约90秒内成功地利用了22种不同的CPU微架构上的AnC JavaScript攻击,尽管这些浏览器中内置了ASLR保护,比如损坏的JavaScript计时器。

VUSec研究团队发表了两篇研究论文[1,2],详细介绍了AnC攻击,以及两段视频演示,展示了该攻击在64位Linux机器上的Firefox浏览器中运行。

在他们的攻击中,研究人员将他们的AnC JavaScript与攻击代码结合起来,利用Firefox中现已修补的释放后使用漏洞(CVE-2013-0753)。AnC攻击的问题通过几个CVE标识符进行跟踪,包括:

  • 适用于英特尔处理器的CVE-2017-5925
  • CVE-2017-5926适用于AMD处理器
  • CVE-2017-5927适用于ARM处理器
  • CVE-2017-5928了解影响多个浏览器的时间问题

VUSec团队已经在三个多月前通知了所有受影响的芯片制造商和软件公司,包括英特尔、AMD、三星、英伟达、微软、苹果、谷歌和Mozilla,但直到现在才公布了他们的调查结果。

“结论是,这种缓存行为和强大的地址空间随机化是相互排斥的,”论文总结道。“由于缓存层次结构对整个系统性能的重要性,所有修复程序的成本可能太高而不实用”。

“此外,即使可以在硬件上采取缓解措施,例如页表的单独缓存,这些问题也很可能在软件中重新出现。因此,我们建议ASLR不再被视为抵御内存错误攻击的第一道防线,并建议未来的防御不再依赖它作为关键构建块”。

根据该团队的说法,保护自己免受AnC攻击的唯一方法是启用插件,例如用于Firefox的NoScript或用于Chrome的ScriptSafe,以阻止网页上不受信任的JavaScript代码在浏览器中运行。

javascriptcpu时间
本作品采用《CC 协议》,转载必须注明作者和本文链接
简而言之,对于攻击者来说,这就像是试图蒙住眼睛入室盗窃。这种被称为ASLR缓存或AnC的攻击尤其严重,因为它使用简单的JavaScript代码来识别内存中执行系统和应用程序组件的基址。MMU不断检查一个名为页表的目录,以跟踪这些地址。根据该团队的说法,保护自己免受AnC攻击的唯一方法是启用插件。
它们不是单线程的,这在处理大量文件方面具有优势。此外,JavaScript 开发人员不需要调试这些工具的内部代码。目前,Vite 2.0 正在底层使用 Esbuild 来提供高性能的构建体验。最近,JavaScript 工具生态系统中出现了一个新成员——Bun。Bun 的一个显著特性是它提供了自己的 Node 模块解析器实现,这是最值得关注的优化之一。
2019 年七月初,Cloudflare 曾经全球中断服务,原因是为了改进内联 JavaScript 屏蔽,
研究人员已设计出了一种攻击方法,可以利用现代iOS和macOS设备搭载的A系列和M系列CPU中的侧信道漏洞,迫使苹果的Safari浏览器泄露密码、Gmail邮件内容及其他秘密信息。
许多默认正则表达式解析器都很复杂,而且存在很多安全问题。此时,将有可能导致应用程序出现拒绝服务的情况,因为CPU在尝试匹配正则表达式时会卡住。这个最坏情况复杂性是以立方计算的,如果字符串的易受攻击部分的长度增加了一倍,则执行时间应延长约8倍(2^3)。工具安装该工具需要在本地安装并配置好Python 3.8+环境。此时,Regexploit将返回评估结果。
NoXss是一个供web安全人员批量检测xss隐患的脚本工具。其主要用于批量检测,比如扫描一些固定的URL资产,或者流量数据,会有不错的效果。测试到目前一个月发现将近300个xss。
如何防范“挖矿”?
2022-03-29 11:25:38
个人电脑或服务器一旦被“挖矿”程序控制,则会造成数据泄露或感染病毒,容易引发网络安全问题。国家相关政策2021年9月,国家发改委等十一个部门联合发布《关于整治虚拟货币“挖矿”活动的通知》,要求全面排查虚拟货币“挖矿”行为,严肃查处整治违规虚拟货币“挖矿”活动。“挖矿”防范指南操作系统须正版,系统补丁勤更新。
对于安全社区来说,Web应用防火墙(WAF)似乎一直以来都是一个大家默认都要使用的东西,而且几乎也没有人会反对使用Web应用防火墙。在这篇文章中,我们将给大家提供一个新的视角去看待WAF,并会对Web应用防火墙的使用效率问题与替代性技术进行深入探讨。
只要15美元的设备就可暴力破解智能手机指纹认证。
威胁6:基于物联网的网络攻击物联网设备的采用率急剧上升,这为黑客利用新漏洞敞开了大门。网络犯罪分子可以通过干扰物联网设备连接来实施攻击活动,企图窃取用户的敏感数据,未来会出现更多的安全事件。确保物联网路由器设备使用强密码策略。确保物联网软件和固件版本及时版本升级。不从未经授权的厂商购买物联网设备,因为可能暴露出严重的系统缺陷,或者非法收集用户信息。
VSole
网络安全专家