新的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的设备都存在风险。尽管攻击难度较高,但仍需要引起用户和苹果的重视,并采取相应的缓解措施来保护用户的隐私和数据安全。
相关文章:
新的iLeakage攻击从Apple Safari窃取电子邮件和密码
图片 导语:学术研究人员开发出一种新的推测性侧信道攻击,名为iLeakage,可在所有最新的Apple设备上运行,并从Safari浏览器中提取敏感信息。 攻击概述 iLeakage是一种新型的推测性执行攻击,针对的是Apple Silicon CPU和…...
Java练习题2021-1
"从大于等于N的正整数里找到一个最小的数M,使之满足: M和M的逆序数(如1230的逆序数为321)的差的绝对值为一个[100000,200000]区间内的值。 输入说明:起始数字N; 输出说明:找到的第一个符合…...
微信小程序input输入字母自动转大写不生效问题解决
uniapp中开发的小程序,采用 style"text-transform:uppercase" H5中正常小写变大写,编译小程序后不生效 解决办法 uniapp中 input增加 input"TransFormationsFn" <input type"text" value"" input"…...
jmeter报Java.NET.BindException: Address already in use: connect
1、windows10和window11上: 修改注册表的内容: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters: 新建dword(值)的类型: MaxUserPort 65334 TcpTimedWaitDelay 30window...
2023手工测试转自动化测试后,薪资可以达到多少?
目前手工测试工作了8个月,现已辞职在家学习全栈自动化测试的课程中,之前想着学完后工资期望7.5k,开发朋友说太少了 ,想了解下这样的情况在日后找工作,薪资可以达到多少? 说到底,软件测试是技术…...
01 _ 为什么要学习数据结构和算法?
今天我们就来详细聊一聊,为什么要学习数据结构和算法。 想要通关大厂面试,千万别让数据结构和算法拖了后腿 很多大公司,比如BAT、Google、Facebook,面试的时候都喜欢考算法、让人现场写代码。有些人虽然技术不错,但每…...
C语言 每日一题 PTA 10.27 day5
1.高速公路超速处罚 按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10 % 则处200元罚款; 若达到或超出50 % ,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。 输入格式 : 输入在一行中给出2个正…...
Unity Shader当用户靠近的时候会出现吃鸡一样的光墙
效果图片 靠近墙壁 远离墙壁 材质球的设置 两张图片 使用方式 把这个脚本放到墙上,将player赋值给"_player",然后运行,用户靠近就会根据距离显示光墙。 using UnityEngine;public class NewBehaviourScript : MonoBehaviour {pr…...
Xcode iOS app启用文件共享
在info.plist中添加如下两个配置 Supports opening documents in place Application supports iTunes file sharing 结果都为YES,如下图所示: 然后,iOS设备查看,文件->我的iPhone列表中有一个和你工程名相同的文件夹出现&…...
STM32H750之FreeRTOS学习--------(二)任务的创建和删除
FreeRTOS 二、任务的创建和删除 任务创建 动态方式创建任务 BaseType_t xTaskCreate ( TaskFunction_t pxTaskCode, /* 指向任务函数的指针 */ const char * const pcName, /* 任务名字,最大长度configMAX_TASK_NAME_LEN */const configSTACK_…...
Kafka - 3.x Producer 生产者最佳实践
文章目录 生产经验_生产者提高吞吐量核心参数Code 生产经验_数据可靠性消息的发送流程ACK应答机制ack应答级别应答机制 小结Code 生产经验_数据去重数据传递语义幂等性幂等性原理开启幂等性配置(默认开启) 生产者事务kafka事务原理事务代码流程 生产经验…...
对于多分类问题,使用深度学习(Keras)进行迁移学习提升性能
本文是仿照前面的文章,使用Keras迁移学习提升性能,原文是针对二分类问题,使用迁移学习的方式来提升准确率,本文用迁移学习的方式来提升多分类问题的准确率。 同时,在前面的文章中,使用普通的小型3层卷积网络+2层全连接层实现了多分类的85%左右的准确率, 此处将用迁移学…...
Python----break关键字对while...else结构的影响
案例: 女朋友生气,要求道歉5遍:老婆大人,我错了。道歉到第三遍的时候,媳妇埋怨这一遍说的不真诚,是不是就是要退出循环了?这个退出有两种可能性: ① 更生气,不打算原谅…...
js实现将文本生成二维码(腾讯云cos)
示例 页面代码 import { getQCodeUrl } from /utils/cosInstance; import { PageContainer } from ant-design/pro-components; import { Access, useAccess } from umijs/max; import { Button, Image } from antd; import { useState } from react;const AccessPage: Reac…...
机架式服务器介绍
大家都知道服务器分为机架式服务器、刀片式服务器、塔式服务器三类,今天小编就分别讲一讲这三种服务器,第一篇先来讲一讲机架式服务器的介绍。 机架式服务器定义:机架式服务器是安装在标准机柜中的服务器,一般采用19英寸的标准尺寸…...
解决github有时能访问有时不能访问的问题2
下载地址 https://steampp.net/...
Go实现网络通信
Go 语言提供了强大的网络编程能力,包括 TCP、UDP、HTTP、WebSocket 等协议的支持。下面是 Go 语言中常用的网络操作: TCP 通信 使用 net 包进行 TCP 通信,可以创建 TCP 客户端和服务器。 客户端使用 net.Dial 方法连接到指定的 TCP 地址&am…...
在antd里面渲染MarkDown并且自定义一个锚点目录TOC(重点解决导航目录不跟随文档滚动的问题)
一、整体思路 由于有很多很长的文档需要渲染,我觉得用MarkDown的方式会比较适合管理,所以这两天测试了一下在antd里面集成MarkDown的渲染模块。 总体思路参考: https://blog.csdn.net/Sakuraaaa_/article/details/128400497 感恩大佬的倾情付…...
Linux MMC子系统 - 2.eMMC 5.1总线协议浅析
By: Ailson Jack Date: 2023.10.27 个人博客:http://www.only2fire.com/ 本文在我博客的地址是:http://www.only2fire.com/archives/161.html,排版更好,便于学习,也可以去我博客逛逛,兴许有你想要的内容呢。…...
时序预测 | Python实现ARIMA-LSTM自回归移动差分模型结合长短期记忆神经网络时间序列预测
时序预测 | Python实现ARIMA-LSTM自回归移动差分模型结合长短期记忆神经网络时间序列预测 目录 时序预测 | Python实现ARIMA-LSTM自回归移动差分模型结合长短期记忆神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 时序预测 | Python实现ARIMA-LSTM自…...
QQ截图独立版:免费获取专业级屏幕工具集的完整指南
QQ截图独立版:免费获取专业级屏幕工具集的完整指南 【免费下载链接】QQScreenShot 电脑QQ截图工具提取版,支持文字提取、图片识别、截长图、qq录屏。默认截图文件名为ScreenShot日期 项目地址: https://gitcode.com/gh_mirrors/qq/QQScreenShot 还在为寻找功…...
ISE FPGA开发全流程实战:从代码到比特流的经典设计指南
1. 项目概述与核心价值如果你正准备踏入FPGA开发的大门,或者已经用了一段时间的Vivado,想看看业界另一个主流工具ISE(Integrated Software Environment)到底怎么玩,那这个系列的内容就是为你准备的。ISE是Xilinx&#…...
为什么92%的斯里兰卡项目在ElevenLabs僧伽罗文语音上失败?——2024最新L10n兼容性白皮书首发(附实测RTT延迟对比数据)
更多请点击: https://intelliparadigm.com 第一章:为什么92%的斯里兰卡项目在ElevenLabs僧伽罗文语音上失败? ElevenLabs 官方文档明确声明支持僧伽罗文(Sinhala),但实际部署中,斯里兰卡本地政…...
别再只跑Demo了!用Mask R-CNN和Balloon数据集实战,手把手教你从训练到可视化调参
从Demo到实战:用Mask R-CNN深入掌握目标分割全流程 当你第一次运行Mask R-CNN的官方示例时,那种"成功运行"的喜悦往往伴随着隐约的不安——代码虽然跑通了,但你真的理解模型是如何训练的吗?Balloon数据集作为经典的入门…...
怎么判断铝合金熔炼炉价格才合理?
在选购铝合金熔炼炉时,价格只是一个参考。需要关注市场行情、熔炼炉厂家信誉、设备性能与售后服务等多方面因素。铝熔炼炉若性能更好,初期投入虽高,长期使用能提升产能并降低单位成本。不同类型的冶金熔炼炉各有特点,会影响选型与…...
从零到一:基于STM32CubeMX与USB3300的USB HS虚拟串口实战指南
1. 硬件准备与原理图设计 第一次接触STM32F4和USB3300芯片时,我完全被那些密密麻麻的引脚搞懵了。后来才发现,只要跟着CubeMX生成的配置走,硬件设计其实没那么可怕。我的开发板用的是STM32F407VET6,搭配USB3300作为PHY芯片。这里有…...
Whisky完整指南:在macOS上运行Windows应用的终极解决方案
Whisky完整指南:在macOS上运行Windows应用的终极解决方案 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky 想要在Apple Silicon Mac上流畅运行Windows专属软件和游戏&…...
跨越网络鸿沟:Qt Creator配置CDB实现远程调试实战
1. 为什么需要远程调试? 在嵌入式开发或者跨平台开发中,我们经常会遇到这样的场景:开发环境在本地PC上,但目标程序需要运行在远程设备上。比如开发一个工业控制软件,本地使用Qt Creator开发,但最终程序要部…...
Code-Act框架:让AI通过代码生成与执行实现智能体“动手”能力
1. 项目概述:Code-Act,一个让AI“动手”的智能体框架最近在AI智能体这个圈子里,一个叫“Code-Act”的项目热度挺高。它不是一个具体的应用,而是一个框架,一个旨在解决当前AI智能体“眼高手低”问题的底层工具。简单来说…...
终极ZPL虚拟打印机指南:5步实现无硬件条码标签开发
终极ZPL虚拟打印机指南:5步实现无硬件条码标签开发 【免费下载链接】Virtual-ZPL-Printer An ethernet based virtual Zebra Label Printer that can be used to test applications that produce bar code labels. 项目地址: https://gitcode.com/gh_mirrors/vi/V…...
