量子时代隐患显露!苹果CPU漏洞被爆,Mac用户敏感数据易遭窃取

研究表明,一项使Apple M系列处理器速度更快的功能也使它们容易受到无法修补的新侧信道攻击。理论上,黑客可以提取秘密加密密钥,然后访问敏感数据。

这个新发现的概念验证攻击被称为“GoFetch”。

GoFetch基于一种称为数据内存依赖预取器(data memory-dependent prefetcher,DMP)的CPU功能,旨在提高执行代码时的计算机性能,该功能存在于最新的Apple M系列处理器中。DMP可用于Apple芯片和Intel第13代Raptor Lake CPU。

DMP通过预测接下来需要什么数据并提前准备数据来加快处理器的速度。然后,这些数据会提前从较慢的内存部分提取到较快的内存区域,例如CPU缓存。如果预测准确,现在就可以快速获得数据,从而提高计算机的性能。如果猜测错误,CPU会照常请求正确的数据。

图片

在一篇论文中,一个由七名研究人员组成的团队描述了此功能是如何泄露敏感信息的。在对Apple和Intel DMP进行逆向工程后,他们针对经典密码学的恒定时间实现开发了端到端密钥提取攻击。

图片

研究人员开发了一种新型的受害者不可知的选择输入攻击和相关的攻击原语,不需要攻击者和受害者共享内存。他们利用这些技术对固定时间交换操作进行了概念验证攻击。这种攻击利用内存访问模式的定时行为从受害进程泄露敏感信息。

具体来说,研究人员发现Apple在DMP系统的实施中存在一个缺陷,违反了恒定时间的良好实践。

“我们对Apple M系列CPU上的DMP进行了逆向工程,发现DMP激活(并试图解除引用)从内存中加载的数据,这些数据看起来像一个指针,”论文写道,“这明显违反了恒定时间编程范式的要求,该范式禁止混合数据和内存访问模式。”

攻击者可以制作特殊的输入,使预取器解除对数据的引用,如果正确猜测了密钥的某些比特,这些数据将显示为指针。

接下来,他们观察DMP是否被激活,逐渐推断出密钥的比特。只要这个过程重复得足够多,就可以重建整个秘密加密密钥。

图片

导出完整密钥的时间

“DMP对现代软件构成了重大的安全威胁,破坏了各种最先进的加密实现。在高层次上,如果攻击者有能力独立地写一个指向内存的指针,DMP使其能够了解有关该秘密的部分或全部信息。”论文写道。

基本上,攻击者可以欺骗处理器将密钥加载到缓存中,并从缓存中窃取密钥。为此,他们不需要管理员权限。这使得攻击特别危险,因为系统上的任何恶意应用程序都可以运行它。

研究人员写道:“对于我们的加密攻击,我们假设攻击者运行非特权代码,并且能够通过名义软件接口与受害者交互,触发它执行私钥操作。”

研究人员展示了对四种不同加密实现的攻击,其中还包括后量子加密。然而,更多的项目可能面临风险。

正如研究人员所证明的那样,恶意应用程序可能需要一到十个小时才能与目标软件(即加密钱包)并行运行,以提取和重建密钥。

虽然研究人员对Apple M1芯片进行了研究,但他们指出,“Apple的M2、M3和Intel第13代CPU上也存在DMP,这个问题似乎超越了特定的处理器和硬件供应商,因此需要专门的硬件对策。”

图片

在Apple M2(左)和Intel Raptor Lake(右)上测试了四种访问模式

图片

GoFetch的影响程度是巨大的,不仅影响传统的加密协议,还影响那些旨在抵抗量子计算攻击的协议。这使多种加密密钥面临风险,包括RSA和Diffie-Hellman,以及Kyber-512和 Dilithium-2等后量子算法。

研究人员报告说,“GoFetch应用程序需要不到一个小时来提取2048位RSA密钥,需要两个多小时来提取2048位Diffie-Hellman密钥”,强调了这种攻击媒介的效率和危险。

更深层次的,GoFetch攻击还动摇了现代处理器设计的基础,使依赖于数据内存的预取器的安全性受到质疑。

这一发现凸显了重新评估当前防御措施并制定新策略来防范此类微架构侧通道攻击的必要性。

图片

内存访问模式和后续预取

上图比较了内存访问模式和后续预取,说明了Augury报告的激活模式以及显示DMP激活的新发现,即使训练数组包含非指针值也是如此。

GoFetch攻击清楚地提醒人们网络安全威胁的不断演变以及攻击者和防御者之间持续的军备竞赛。

随着处理器变得越来越复杂,此类漏洞的可能性也在增加,因此需要警惕的研究和主动防御机制来保护我们的数字基础设施。

图片

不幸的是,由于这个弱点是Apple CPU中直接内置的数据内存依赖预取器的一部分,因此没有办法通过硬件修复来减轻攻击。

研究人员表示,在一些CPU上禁用DMP是有用的,比如M3,移除GoFetch所依赖的预取行为。不过这个解决方案比较激进,关键是还将导致严重的性能损失,“并且在M1和M2 CPU上不太可能实现”。

开发人员的其他防御措施包括输入盲化和DMP激活屏蔽,它们在DMP级别上混淆攻击者的输入结果。

虽然Apple可以将缓解措施作为软件补丁引入macOS,但这会导致性能下降,正如研究人员在之前针对侧信道攻击的软件修复中看到的那样。

作为一名Apple用户,除了养成安全的使用习惯,能做的不多。研究人员建议使用最新版本的软件,并定期进行更新。这意味着定期更新你的操作系统和软件,只安装来自官方渠道和信誉良好的来源的软件,以防止恶意软件感染。

在论文公开发表之前,研究结果已向供应商披露。Apple尚未公开回应这一问题。

研究人员还计划“很快”发布概念验证代码。

参考链接:

[1]https://cybernews.com/security/macs-can-leak-secrets-gofetch/

[2]https://www.bleepingcomputer.com/news/security/new-gofetch-attack-on-apple-silicon-cpus-can-steal-crypto-keys/

[3]https://gofetch.fail/files/gofetch.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/771334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qrcode插件-生成二维码

安装 yarn add qrcodejs2 --save npm install qrcodejs2 --save 使用 <template><div><div id"qrcodeImg"></div><!-- 创建一个div&#xff0c;并设置id --></div> </template> <script> import QRCode from q…

利用Python和IP技术实现智能旅游情报系统

文章目录 引言一、系统架构设计1. 数据采集模块2. 数据处理模块3. 用户界面模块 二、数据获取技术应用三、系统功能展示四、亮数据采集工具介绍五、总结六、号外 引言 随着旅游行业的不断发展&#xff0c;人们对旅游信息的需求也越来越大。为了帮助旅行者更好地规划行程&#…

Nodejs沙盒逃逸

Buffer 在较早一点的node.js版本中 (8.0 之前)&#xff0c;当 Buffer 的构造函数传入数字时, 会得到与数字长度一致的一个 Buffer&#xff0c;并且这个 Buffer 是未清零的。8.0 之后的版本可以通过另一个函数 Buffer.allocUnsafe(size) 来获得未清空的内存。 注&#xff1a;关…

P1219八皇后 (典DFS)

注意&#xff1a; 数组大小要开够&#xff0c;数据范围是6到13&#xff0c;要开到20&#xff0c;不然开到15数据点没法全部过。 代码&#xff1a; #include<algorithm> #include<iostream> #include<cstring> #include<queue>using namespace std;i…

Rocket mq

搭建服务【有2个】 一个是NameServer还有一个是Broker&#xff0c;要两个服务协同 后台启动服务 允许服务端自己创建topic&#xff0c;如果客户端传来的topic没有的话 然后搞个rocket mq的仪表盘&#xff0c;application.yml改成自己的地址【只需要指定NameServer的地址&#…

更灵活的定位内存地址的方法

文章目录 更灵活的定位内存地址的方法and和or指令关于ASCII码以字符形式给出的数据大小写转换的问题[bxidata]用[bxidata]的方式进行数组的处理SI和DI[bxsi]和[bxdi][bxsiidata]和[bxdiidata]不同的寻址方式的灵活应用题目示例 更灵活的定位内存地址的方法 and和or指令 1&…

Axure RP 8中文---快速原型设计工具,一站式解决方案

Axure RP 8是一款专业的快速原型设计工具&#xff0c;以其直观易用的界面和丰富的功能受到广大用户的青睐。它支持用户通过拖放操作快速创建交互式原型&#xff0c;包括线框图、流程图等&#xff0c;并具备高保真度的设计能力。Axure RP 8还提供了团队协作和共享功能&#xff0…

【Java程序设计】【C00368】基于(JavaWeb)Springboot的箱包存储系统(有论文)

TOC 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;博客中有上百套程序可供参考&#xff0c;欢迎共同交流学习。 项目简介 项目获取 &#x1f345;文末点击卡片…

基于nodejs+vue铁路订票管理系统python-flask-django-php

该铁路订票管理系统采用前后端分离进行设计&#xff0c;并采用nodejs语言以及express框架进行开发。本系统主要设计并完成了用户登录管理过程、个人信息修改、用户管理、火车类型管理、火车信息管理、车票预订管理、车票退票管理、系统管理等功能。该系统操作简单&#xff0c;界…

13_Linux内核配置选项

内核配置选项 内核配置通常是对内核支持的各个功能进行取舍配置&#xff0c;将配置的方案保存到 configure文件中。在编译内核的时候&#xff0c;就会根据此配置对内核进行取舍编译。 编译内核之前要先配置。为了正确、合理地设置内核编译配置选项&#xff0c;从而只编译系统需…

BM85 验证IP地址(字符串)

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** 验证IP地址* param IP string字符串 一个IP地址字符串* return string字符串*/public boolean isIPv4(String IP){//没有.i…

单片机入门到精通:一站式在线学习平台!

介绍&#xff1a;单片机&#xff0c;也称为微控制器&#xff08;MCU&#xff09;&#xff0c;是一种集成了中央处理器&#xff08;CPU&#xff09;、随机存储器&#xff08;RAM&#xff09;、只读存储器&#xff08;ROM&#xff09;以及输入/输出接口于单一芯片上的微型计算机。…

11.测试教程-自动化测试selenium-3

文章目录 1.unittest框架解析2.批量执行脚本2.1构建测试套件2.2用例的执行顺序2.3忽略用例执行 3.unittest断言4.HTML报告生成5.异常捕捉与错误截图6.数据驱动 大家好&#xff0c;我是晓星航。今天为大家带来的是 自动化测试selenium第三节 相关的讲解&#xff01;&#x1f600…

2024年大模型面试准备(三):聊一聊大模型的幻觉问题

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学&#xff0c;针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。 合集在这…

羊大师羊奶靠谱么?信誉与持续见证,共筑信赖之选

羊大师羊奶靠谱么&#xff1f;信誉与持续见证&#xff0c;共筑信赖之选 在如今注重健康饮食的时代&#xff0c;羊奶以其丰富的营养价值和独特的风味&#xff0c;逐渐受到了消费者的青睐。在众多羊奶品牌中&#xff0c;羊大师羊奶以其出色的品质、良好的信誉和持续的创新精神&a…

关于「技术开发技能」课程

本课程分为三个部分&#xff0c;带您了解如何使用大模型平台、如何训练与部署大模型及生成式AI产品应用与开发&#xff0c;您将能了解各类服务的优势、功能、典型使用案例、技术概念和成本。 学习任选的两个课程模块&#xff0c;并通过测验者&#xff0c;将授予「技术开发技能…

隆道分享AI技术应用实践 以AI赋能采购业务管理

2024年3月21日-22日&#xff0c;以“面向务实的数字化”为主题的“第12届医药健康行业数字化高峰论坛”在上海举办。本届大会聚焦项目建设、技术创新与应用、新业务模式及收效等话题&#xff0c;探讨AI制药与大模型应用&#xff0c;分享智能化技术在多领域的落地案例。隆道公司…

情感视频素材从哪里找?推荐情感视频素材分享

随着时代变化短视频的兴起&#xff0c;人们越来越喜欢用视频来表达自己的情感和经历。为了满足创作者对于情感视频素材的需求&#xff0c;以下列出了几个素材分享网站&#xff0c;帮助你更好地创作和传达情感&#xff0c;引起大家的共鸣。 蛙学网 作为一家国内知名的素材分享…

python能做什么

python能做什么 Web开发&#xff1a;Python具有许多流行的Web框架&#xff0c;如Django和Flask&#xff0c;使得它成为Web开发的首选语言。它简洁、易于学习、且拥有丰富的生态系统&#xff0c;能够快速构建高性能的Web应用。 数据科学和机器学习&#xff1a;Python在数据科学…

Webpack部署本地服务器

Webpack部署本地服务器 目录 Webpack部署本地服务器目的认识模块热替换&#xff08;HMR&#xff09;什么是 HMRHMR 通过如下几种方式, 来提高开发的速度如何使用 HMRhost 配置 目的 完成自动编译 常用方式: webpack-dev-server webpack-dev-server 是一个用于开发环境的 Web 服…