访问一个网站就能让ASLR保护失效,百万设备陷入危机

安全研究员发现一个芯片漏洞,此漏洞影响到数以百万计的设备,不管设备上安装的是什么操作系统或是应用程序,这个漏洞都能让设备的防黑保护无效化。更糟糕的是,这个漏洞不会因为任何的软件升级而被彻底修复。

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

ASLR是现代操作系统重要的安全防御手段,无论是Windows和Linux还是macOS,Android,BSD都已采用了该技术。

一般来说,ASLR是一种内存保护机制,它使程序在设备内存中运行的位置随机化。攻击者难以通过利用缓冲区溢出或类似bug而在内存的特定地址执行恶意的有效载荷。可以说,有了ASLR的存在,攻击者的每次尝试都是摸瞎的状态下进行的。

但就是有那么一群来自荷兰Vrije大学的研究者,他们开发出了一种攻击脚本,它能够绕过至少22个处理器微架构的ASLR保护,这些处理器来自英特尔,AMD,ARM,Allwinner,Nvidia和其他厂商。

这个名为ASLR
Cache或AnC的攻击影响尤为恶劣,因为它使用的是简单的JavaScript代码来识别执行系统和应用程序组件的内存中的基址。这种攻击可以仅通过访问恶意站点就能触发,能够让攻击者进行更多针对内存的相同区域的攻击,以窃取存储在PC内存中的敏感信息。

这种攻击利用了微处理器和内存彼此交互的方式。

内存管理单元(MMU)存在于桌面、移动和服务器芯片和任务中以映射计算机在其内存中存储程序的位置,不断地检查称为页表的目录以跟踪这些地址。而设备通常将页表存储在CPU的高速缓存中,使得芯片更快速和更高效。
但是这个组件还会与一些不可信的应用程序(包括浏览器)共享一些缓存。

一段运行在恶意网站上的JavaScript代码也可以写入该缓存(侧信道攻击),攻击者可以借此来找到位于虚拟内存中的软件组件(如库和RAM映射文件)

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

研究人员通过最新的Chrome和Firefox浏览器在90秒内成功对在22种不同的CPU微架构施展了AnC JavaScript攻击,即便这些浏览器内存在ASLR保护。

VUSec研究团队发表了两篇研究论文[1,2],详细介绍了AnC攻击,包括两个视频演示,展示了如何在64位Linux机器上的Firefox浏览器中完成的攻击。

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

  • CVE-2017-5925 for 英特尔处理器
  • CVE-2017-5926 for AMD 处理器
  • CVE-2017-5927 for ARM 处理器
  • CVE-2017-5928 for 影响多个浏览器的时序问题

VUSec团队在三个多月前就已经告知了所有受影响的芯片制造商和软件公司,包括英特尔,AMD,三星,Nvidia,微软,苹果,谷歌和Mozilla,显然这些厂商没有理睬VUSec团队,因此VUSec将他们的“发现”公之于众。

“总而言之这样的缓存行为和强地址空间随机化是相互排斥的。由于缓存层次结构对于整个系统性能的重要性,因此任何修复工作的代价和工作量都太大,不是一个可取的做法。”

“此外,即使在硬件中存有缓存,比如页表的单独缓存,这种问题也可能在软件中出现。因此,我们建议不再将ASLR信任为防止内存错误攻击和未来防御的第一道防线,不要将它作为防御工作关键的一环。

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

作者:bimeover
来源:51CTO

时间: 2024-10-07 21:13:47

访问一个网站就能让ASLR保护失效,百万设备陷入危机的相关文章

ASLR保护失效,大规模网络攻击即将来袭

本文讲的是ASLR保护失效,大规模网络攻击即将来袭, ASLR是一种针对缓冲区溢出的安全保护技术,通过对堆.栈.共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的,让系统免受普通攻击,例如缓冲区溢出.返回导向编程技术(Return-oriented programming,ROP)攻击等.ASLR是大多操作系统长期使用的系统防御机制,如今Windows.Linux.macOS.iOS和Andriod等主流操作系统都已采用了该技

ajax访问一个网站未返回数据,在浏览器地址栏访问就有数据

问题描述 不太明白,有知道的希望可以指导下. 解决方案 解决方案二:在浏览器中输入地址能返回数据,在ajax调用中返回的是空.解决方案三:提示是跨域访问造成的google搜ajax跨域问题

cookies-访问一个网站时会把硬盘的所有cookie都上传吗?

问题描述 访问一个网站时会把硬盘的所有cookie都上传吗? 1:访问www.baidu.com后,在硬盘里留下baidu的cookie 2:访问www.jd.com后,在硬盘里留下jd的cookie 那么现在访问www.taobao.com时,会不会把baidu的cookie与jd的cookie也经过 request的方式被taobao读取,只不过taobao可能不知道这些cookie的格式. 或者是访问一个网址时,只上传该网址的cookies,而不会读取其它网址的cookies ?????

如何查看一个网站是否有人气

  当你访问一个网站,你是否知道,这个网站具有一定的人气,笔者小谈几点,捧个场: 1.查询该域名的注册日期. 2.查看在亚马逊(alexa)的流量统计.网站的世界排名. 3.查看该网站的外部链接数量. 4.查看该网站各个页面的PageRank(简称PR). 5.查询主要搜索引擎收录该网站的页数. 下面来详细说明步骤,以www.sina.cn (SINA) 网站为例: 1.查询该域名的注册日期. 请进入万网主页http://www.net.cn,在域名查询处输入域名: 提示"已被注册的域名:sin

ASP:一个网站空间多个域名访问

一个网站空间,但是却可以实现多个域名的访问的一段ASP代码: 以下为引用的内容:<%if Request.ServerVariables("SERVER_NAME")="www.abc.com" thenresponse.redirect "abc/"else if Request.ServerVariables("SERVER_NAME")="www.123.com" thenresponse.re

同一IIS下一个网站访问另一个网站下的WebService,有什么方法?

问题描述 同一IIS下一个网站访问另一个网站下的WebService,有什么方法? 解决方案 解决方案二:看帖回复是一种美德...顶..解决方案三:有什么区别吗?webservice的作用就是跨域跨防火墙,同一IIS下不同网站之间的访问,跟普通情况有什么区别吗?解决方案四:没法访问,但挂在不同的iis下就可以解决方案五:从网站上访问webservice与访问另一个网站是一样的吧解决方案六:你可以试一下,在你iis下挂一个webServices,然后另一个网站引用它,将这两网站同时放在IIS下你试

一个网站的导航可以正确的引导用户的访问和搜索引擎的抓取

摘要: 网站的导航是网站补课缺少的一部分,一个网站的导航可以正确的引导用户的访问和搜索引擎的抓取.更能方便用户快速的寻找和浏览网站内容. 一,什么是网站的导航 它是指通过网 网站的导航是网站补课缺少的一部分,一个网站的导航可以正确的引导用户的访问和搜索引擎的抓取.更能方便用户快速的寻找和浏览网站内容. 一,什么是网站的导航 它是指通过网页不同的访问路径,对网站内容进行划分.是为用户提供一个快捷的通道,方便用户快速寻找浏览所需内容.使用户在浏览网页的过程中不至于迷失方向. 二,网站设置导航的目的和

内网放了一个网站,有固定ip,但是外网无法访问

问题描述 我在学校做了一个网站,放在学校的一台电脑上,这台电脑有固定ip,在学校内部尅访问,但是外网访问不了,比如使用手机的3g网就访问不了,请求帮忙. 解决方案 解决方案二:学校的内网外面是不可以访问的,要让外边访问需到网络中心申请!!我们学校是这样规定的1解决方案三:外面可以用VPN访问!解决方案四:要么有VPN,有么有外网的IP:你内网固定的IP,只是学校内网的,外网是不能访问的,不然就不安全了.你得与学校网络管理员联系了.解决方案五:"固定IP"不是你理解的那个样子哦,亲!解决

网站开发-如何做到当访问一个域名的时候,按照不同设备显示不同主页

问题描述 如何做到当访问一个域名的时候,按照不同设备显示不同主页 如何做到当访问一个域名的时候,按照不同设备显示不同主页手机访问显示手机主页pc访问显示pc主页平板访问显示平板主页 解决方案 用户提交了请求,会带上一个叫user-agent的字段,不同的客户端操作系统和浏览器,这个不同,据此给客户返回不同的网页. 解决方案二: 开发-如何做到当访问一个域名的时候,按照不同设备显示不同主页-不同域名访问不同目录"> 解决方案三: 这是我的ua,表示我是一个windows nt 6.3(win