新的iLeakage攻击从Apple Safari窃取电子邮件和密码

图片在这里插入图片描述

导语:学术研究人员开发出一种新的推测性侧信道攻击,名为iLeakage,可在所有最新的Apple设备上运行,并从Safari浏览器中提取敏感信息。

攻击概述


iLeakage是一种新型的推测性执行攻击,针对的是Apple Silicon CPU和Safari浏览器。该攻击可以在iOS上提取Safari、Firefox、Tor和Edge等浏览器中的数据,准确率几乎达到完美。

图片在这里插入图片描述

iLeakage攻击绕过了所有浏览器供应商实施的标准侧信道保护措施,是一种无定时器的Spectre攻击。来自乔治亚理工学院、密歇根大学和鲁尔大学的学术团队开发了iLeakage,他们通过实现一种基于竞争条件的无定时器和架构不可知方法,绕过了Safari的侧信道防护措施。

攻击细节


研究人员专注于从Safari中读取敏感信息,并成功创建了一种原始方法,可以推测性地读取和泄漏Safari渲染进程所使用的地址空间中的任何64位指针。

他们通过击败苹果在其浏览器中实施的侧信道保护措施,如低分辨率定时器、压缩35位寻址和值污染,实现了这一点。同时,他们还绕过了Safari的站点隔离策略,该策略根据有效顶级域名(eTLD)加一个子域将网站分隔到不同的地址空间中。

研究人员使用了一种新技术,利用JavaScript的window.open API,使攻击者页面与任意受害者页面共享相同的地址空间。通过使用推测类型混淆来绕过苹果的压缩35位寻址和值污染对策,研究人员可以从目标页面泄漏敏感数据,如密码和电子邮件。

攻击的概念验证代码是使用JavaScript和WebAssembly编写的,这两种编程语言用于提供动态Web内容。

iLeakage攻击依赖于对Apple Silicon芯片(M1、M2)中的推测执行的利用,CPU的预测执行会在尚不知道是否需要执行的情况下执行最有可能需要的任务。这种机制在所有现代CPU中都存在,可以显著提高性能;然而,设计缺陷可能导致数据泄漏,正如近六年前披露的Meltdown和Spectre攻击所证明的那样。

研究人员发表了一篇技术论文,详细介绍了该攻击以及绕过苹果缓解措施所使用的各种方法。

图片

影响范围和应对措施


iLeakage攻击影响从2020年开始发布的所有搭载Apple的A系列和M系列ARM处理器的设备。该攻击在受害者系统中几乎不留下任何痕迹,除了可能在浏览器缓存中留下攻击者网页的记录。

然而,研究人员强调,该攻击难以实施,并需要对基于浏览器的侧信道攻击和Safari实现有深入的了解。

苹果于2022年9月12日私下向苹果报告了iLeakage漏洞,并为macOS开发了以下缓解措施:

打开终端并运行“defaults write com.apple.Safari IncludeInternalDebugMenu 1”以启用 Safari 的隐藏调试菜单。

打开 Safari 并前往新可见的“调试”菜单。

选择“WebKit 内部功能”

滚动并激活“打开跨站点窗口时交换进程”

总结


iLeakage攻击是一种新型的推测性执行攻击,可以从Apple Safari浏览器中窃取敏感的电子邮件和密码。该攻击绕过了浏览器的侧信道保护措施,对于使用Apple Silicon CPU的设备都存在风险。尽管攻击难度较高,但仍需要引起用户和苹果的重视,并采取相应的缓解措施来保护用户的隐私和数据安全。

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

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

相关文章

Python中的文件操作和异常处理

在Python编程中,文件操作和异常处理是非常重要的概念。本文将介绍如何使用Python进行文件读写操作,并展示如何处理可能出现的错误和异常情况。 文件读写操作 Python提供了简单而强大的文件读写功能,让我们能够轻松地处理各种文件类型。下面…

【IT行业就业前景广阔:探讨热门方向与就业机会】

IT行业哪个方向比较好就业? IT行业是一个快速发展的领域,与许多其他行业紧密结合,为各个行业带来了巨大的变革和机遇。在这个充满活力的行业中,有许多就业方向可以选择。让我们一起来探讨一下IT行业的发展背景、就业方向以及分享一些就业经…

简单了解一下:NodeJS的WebSocket网络编程

NodeJS的webSocket网络编程。 那什么是WebSocket呢?WebSocket是HTML5提供的一种浏览器和服务器进行通信的网络技术。两者之间,只需要做一个握手动作,就可以在浏览器和服务器之间开启一条通道,就可以进行数据相互传输。 实现WebS…

c++的4中类型转换操作符(static_cast,reinterpret_cast,dynamic_cast,const_cast),RTTI

目录 引入 介绍 static_cast 介绍 使用 reinterpret_cast 介绍 使用 const_cast 介绍 使用 dynamic_cast 介绍 使用 RTTI(运行时确定类型) 介绍 typeid运算符 dynamic_cast运算符 type_info类 引入 原本在c中,我们就已经接触到了很多类型转换 -- 隐式类型转…

线程安全问题

线程安全 简单来说,在多个线程访问某个方法或者对象的时候,不管通过任何的方式调用以及线程如何去交替执行。在程序中不做任何同步干预操作的情况下,这个方法或者对象的执行/修改都能按照预期的结果来反馈,那么这个类就是线程安全…

YOLOv7优化:感受野注意力卷积运算(RFAConv),效果秒杀CBAM和CA等 | 即插即用系列

💡💡💡本文改进:感受野注意力卷积运算(RFAConv),解决卷积块注意力模块(CBAM)和协调注意力模块(CA)只关注空间特征,不能完全解决卷积核参数共享的问题 提供多种卷积变体供使用:CBAMConv,CAMConv,CAConv,RFAConv,RFCAConv RFAConv | 亲测在多个数据集能够实现…

刷题笔记day03-链表

前言 今天是刷题的第三天,坚持就是胜利 203.移除链表元素 增加一个头结点,这样可以统一删除操作 另外,遇到等于的值,就让 prev 指向 curr.Next ,同时将curr更新指向 prev.Next。 /*** Definition for singly-linked…

buuctf_练[CISCN2019 华东南赛区]Web4

[CISCN2019 华东南赛区]Web4 文章目录 [CISCN2019 华东南赛区]Web4掌握知识解题思路代码分析正式解题 关键paylaod 掌握知识 ​ 根据url地址传参结构来判断php后端还是python后端;uuid.getnode()函数的了解,可以返回主机MAC地址十六进制;pyt…

Hive简介及核心概念

本专栏案例数据集链接: https://download.csdn.net/download/shangjg03/88478038 1.简介 Hive 是一个构建在 Hadoop 之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类 SQL 查询功能,用于查询的 SQL 语句会被转化为 MapReduce 作业,然后提交到 Hadoop 上运行。 …

Golang 自定义函数库(个人笔记)

1.用字符串连接切片元素(类似php implode) package mainimport ("fmt""strconv""strings" )func main() {data : []int{104, 101, 108, 108, 111}fmt.Println(IntSliceToString(data, ",")) }func IntSliceToS…

汽车4S店如何在数字化管理下,提高市场竞争力

在所有人都认为疫情过后,经济形势会一路向阳,但是,实际情况出乎所有人的意料,各行各业举步维艰。 新闻爆出的各大房地产,恒大的2.4万亿让人瞠目结舌,还有碧桂园和融创,也是债台高筑了&#xff…

xml导出pdf简单实现

1. 引入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>8.0.1</version> </dependency>2. 代码实现 import com.itextpdf.kernel.geom.PageSize; import com.itextpdf.ker…

ESP32网络开发实例-HTTP-GET请求

HTTP-GET请求 文章目录 HTTP-GET请求1、HTTP GET请求2、软件准备3、硬件准备4、代码实现4.1 向OpenWeatherMap请求天气数据4.2 ThingSpeak 中的 ESP32 HTTP GET(更新值)在本文中,我们将介绍如使用ESP32向 ThingSpeak 和 openweathermap.org 等常用 API 发出 HTTP GET 请求。…

ToLua使用原生C#List和Dictionary

ToLua是使用原生C#List 介绍Lua中使用原生ListC#调用luaLua中操作打印测试如下 Lua中使用原生DictionaryC#调用luaLua中操作打印测试如下 介绍 当你用ToLua时C#和Lua之间肯定是会互相调用的&#xff0c;那么lua里面使用List和Dictionary肯定是必然的&#xff0c;在C#中可以调用…

shell的执行流控制

目录 1.for语句 2.条件语句 while...do语句 until...do 语句 if...then...elif...then...else...fi 语句 3.case语句 4.expect 5.break,continue,exit 1.for语句 作用&#xff1a;为循环执行动作 for语句结构 for //定义变量 do //使用变量&#xff0…

C/S架构学习之使用epoll实现TCP特大型并发服务器

epoll实现TCP特大型并发服务器的流程&#xff1a;一、创建套接字&#xff08;socket函数&#xff09;&#xff1a;通信域选择IPV4网络协议、套接字类型选择流式&#xff1b; int sock_fd socket(AF_INET,SOCK_STREAM,0); //通信域选择IPV4、套接字类型选择流式二、填充服务器和…

MySQL的查询计划(EXPLAIN)

核心关注指标 在MySQL的查询计划&#xff08;EXPLAIN&#xff09;中&#xff0c;可以查看以下一些重要的指标来评估查询性能和索引使用情况&#xff1a; type&#xff1a;表示查询的访问类型&#xff0c;可以是常见的取值如"ref"、"eq_ref"、"range…

python+requests+unittest执行自动化接口测试!

1、安装requests、xlrd、json、unittest库 <1>pip 命令安装&#xff1a; pip install requests pip install xlrd pip install json pip install unittest <2> pycharm里安装 2、利用Page Object Model 设计理念创建六类Python Package(也可根据项目要求具体实施…

企业安全—DevSecOps概述详情

0x00 前言 SDL存在的问题在于体量过于庞大&#xff0c;不利于快速进行适配和进行&#xff0c;所以就有了DevSecOps&#xff0c;实际上是因为敏捷开发也就是DevOps的推进&#xff0c;并且坐上了云服务模式的火车&#xff0c;所以这一系列的东西都开始普及。DevSecOps作为DevOps…

vue3项目报错The template root requires exactly one element.eslint-plugin-vue

解决方案&#xff1a; 1.禁用 Vetur 并改用Volar》它现在是 Vue 3 项目的官方推荐。【必须重启vsCode】 从官方迁移指南&#xff1a; 建议使用带有我们官方扩展 Volar (opens new window) 的 VSCode&#xff0c;它为 Vue 3 提供了全面的 IDE 支持。 2.package.json文件中 &…