又一周,又一个 BWAIN!
如果你听过上周的节目你就会知道 播客 (暗示, 暗示!),BWAIN 是缩写 具有令人印象深刻的名字的错误:
当新的网络安全攻击的发现者对他们的发现感到非常兴奋时,我们会使用这个昵称,他们给它一个适合公关的绰号,为其注册一个虚荣域名,为其构建一个自定义网站,并为其设计一个特殊的徽标。
这次的名字 碰撞+力量 包括一个讨厌的标点符号,这在错误命名中是一个加号,但在注册互联网域时却是一个减号。 (讽刺的是,域名被允许使用 -
, 但不是 +
).
因此,域名必须稍微缩写为 https://collidepower.com,但是网站无论如何都会给你一个问题的概述,即使减去了加号。
碰撞缓存的数据,并测量所需的功率
这项新发明背后的研究人员 纸 他们是来自奥地利格拉茨大学的 Andreas Kogler、Jonas Juffinger、Lukas Giner、Martin Schwarzl、Daniel Gruss 和 Stefan Mangard,以及德国 CISPA 亥姆霍兹信息安全中心的 Lukas Gerlach 和 Michael Schwarz。
我们不会尝试详细解释这种攻击的各种形式,因为如何进行测量的技术细节以及用于从这些测量中进行推断的数学模型非常复杂。
但问题的核心,如果你能原谅这个双关语的话,那就是隐藏在现代处理器芯片内部的高速缓存,旨在提供无形的自动性能提升……
...并不总是像您想象的那样不可见,有时可能会泄漏其部分或全部内容,甚至泄漏到不应该看到它的进程。
顾名思义,高速缓冲存储器(发音为 现金,如美元和美分,不是 纯情,就像尊重和声望一样,如果您想知道的话),将传统 RAM 中数据值的特殊副本保留在 CPU 芯片本身内部的隐藏位置。
如果 CPU 跟踪您最近使用过的 RAM 地址(内存位置),并且可以很好地猜测您可能很快会再次使用哪些地址,则它可以将它们暂时保存在缓存中,从而大大加快速度您第二次访问这些值,第三次访问,第四次,依此类推。
例如,如果您在表中查找一系列数据值以将图像像素从一种颜色格式转换为另一种颜色格式,您可能会发现大多数情况下查找表会告诉您访问 RAM 地址 0x06ABCC00(这可能是是存储“黑色像素”特殊代码的位置)或地址0x3E00A040(可能是“透明像素”代码的位置)。
通过自动将这两个常用内存地址中的值保留在其缓存中,CPU 可以短路(象征性地,而不是字面上的!)未来访问这些地址的尝试,因此无需向处理器外部发送电信号,穿过主板,进入实际的 RAM 芯片,以读出存储在那里的数据的主副本。
因此,访问缓存数据通常比访问主板 RAM 中的数据快得多。
然而,一般来说,您无法选择使用哪些缓存寄存器来存储哪些 RAM 地址,也无法选择 CPU 何时决定停止缓存您的“透明像素代码”值并开始缓存另一个程序的“透明像素代码”值。而是“超级秘密密钥”。
事实上,高速缓存可以同时包含来自 RAM 地址的自由组合的值的自由组合,属于不同用户帐户和特权级别的自由组合。
出于这个原因,再加上效率和性能的原因,即使是管理级程序也无法直接查看当前正在缓存的地址列表,或获取它们的值,以保护缓存的数据免受外部窥探。
作为程序员,你仍然使用机器码指令“从地址0x3E00A040读出透明像素代码”,操作系统仍然根据数字地址0x3E00A040来决定你是否应该有权访问该数据,即使数据最终直接来自缓存,而不是来自真实的 RAM 地址 0x3E00A040。
位翻转的价格
Collide+Power 研究人员发现,虽然您无法直接查看缓存存储中的临时数据,但非常简化,因此无法回避如果您通过其官方 RAM 地址将应用的内存保护……
…您可以猜测特定数据值何时将被写入特定的缓存存储寄存器。
当一个已经缓存的号码被另一个号码替换时, 您可以通过测量 CPU 使用的功率来推断这两个值 在这个过程中。
(现代处理器通常包括特殊的内部寄存器,可以为您提供电量使用读数,因此您无需打开计算机机箱并将物理探针线连接到主板上的某处。)
有趣的是,当 CPU 用新的值覆盖缓存值时,CPU 本身的功耗取决于数字之间改变的位数。
如果我们将问题简化为单个字节,然后覆盖二进制值 0b00000000
0b11111111
(将十进制0更改为十进制255)需要翻转字节中的所有位,这会消耗最多的功率。
覆盖 ASCII 字符 A
(十进制 65)与 Z
(十进制90)表示改变 0b01000001
成 0b01011010
,其中四个位位置被翻转,因此消耗中等量的功率
如果数字恰好相同,则不需要翻转任何位,这将消耗最少的功率。
一般来说,如果将两个数字异或在一起并计算答案中 1 位的数量,您就可以找到翻转的次数,因为 0 XOR 0 = 0
和 1 XOR 1 = 0
(所以零表示没有翻转),而 0 XOR 1 = 1
和 1 XOR 0 = 1
(表示翻转)。
换句话说,如果您可以通过启动 CPU 内一组特定缓存寄存器的方式访问您自己选择的一堆地址,然后在其他人的代码获取分配给这些缓存的数据时足够准确地监控功耗地点而不是…
…然后 你可以推断有多少位被翻转 旧缓存内容和新缓存内容之间的关系。
当然,您可以选择存储在用于启动高速缓存寄存器的地址中的值,因此您不仅知道可能翻转了多少位,而且还知道翻转之前这些位的起始值是什么地方。
假设您知道以前有什么以及现在可能不同的位数,这将为您提供更多统计数据来预测缓存中可能的新值。
您可能无法准确地弄清楚受害者的进程正在使用哪些数据,但即使您可以消除一些位模式,您也只是学到了一些您不应该知道的东西。
如果这些数据是某种加密密钥,那么您也许能够将不可行的暴力攻击转换为可能会成功的攻击。
例如,如果您可以预测 70 位加密密钥中的 128 位,那么您不需要尝试 128 位的所有组合(这将是一项不可能完成的任务),而是需要尝试 2 个58 相反,使用不同的密钥(128 – 70 = 58),这很可能是可行的。
不用惊慌
幸运的是,这个“漏洞”(现在被称为 CVE-2023-20583)不太可能很快被用来对付你。
这更多是芯片制造商需要考虑的理论问题,基于网络安全攻击“只会变得更好更快”这一不言而喻的道理,而不是今天可以利用的可利用漏洞。
事实上,研究人员几乎羞涩地承认“您 不用担心设立的区域办事处外,我们在美国也开设了办事处,以便我们为当地客户提供更多的支持。“
他们确实写了 您 斜体字和咒语 不用担心 粗体:
在论文的结论中,研究人员遗憾地指出,在理想的实验室条件下,这种攻击的一些最佳现实结果每小时仅泄露 5 位。
事实上,对于其中一个攻击场景,他们承认遇到了“实际限制,导致每比特的泄漏率超过[一年]”。
是的,你没看错——我们在报纸上检查了好几次,只是为了确保这不是我们的想象。
当然,这就提出了一个问题:“在可靠地测量如此低的传输速率之前,您必须让一组数据传输测试运行多长时间?”
根据我们的计算,每年 125 位相当于每千年约 XNUMX 个字节。 按照这个速度,下载最近上映的三小时大片 奥本海默 以 IMAX 质量来看,显然占用了约 4TB 的空间,大约需要 4.54 亿年。 从这个奇怪的事实来看,地球本身的年龄只有大约 XNUMX 亿年,大约有几亿个月。
怎么办呢?
鉴于研究人员本身建议您不要担心,目前处理 CVE-2023-20538 最简单的方法就是什么也不做。
如果您觉得需要采取一些措施,英特尔和 AMD 处理器都有办法通过在功率读数中添加随机噪声来故意降低其功率测量工具的准确性。
这使得你的平均值是正确的,但各个读数的变化足以使这种本来就不太可行的攻击更加难以实现。
英特尔的功率测量缓解措施被称为 运行平均功率限制 (RAPL) 过滤; AMD 被称为 性能决定论模式.
- :是
- :不是
- :在哪里
- $UP
- 1
- 15%
- 25
- 70
- 700
- a
- Able
- 关于
- 绝对
- ACCESS
- 账号管理
- 账户
- 准确
- 横过
- 实际
- 添加
- 增加
- 地址
- 地址
- 承认
- 承认
- 再次
- 驳
- 所有类型
- 允许
- 沿
- 已经
- 还
- 尽管
- 时刻
- AMD公司
- 量
- an
- 和
- 另一个
- 回答
- 任何
- 应用的
- 使用
- 约
- 保健
- AS
- 分配
- At
- 连接
- 攻击
- 攻击
- 尝试
- 奥地利
- 作者
- 汽车
- 自动表
- 自动
- 背景图像
- 基于
- 基础
- BE
- 因为
- before
- 背后
- 作为
- 最佳
- 更好
- 之间
- 亿
- 位
- 重磅炸弹
- 无所畏惧
- 边界
- 都
- 半身裙/裤
- 蛮力
- 问题
- 建立
- 束
- 但是
- by
- 缓存
- 计算
- CAN
- 案件
- Center
- 变
- 改变
- 字符
- 检查
- 芯片
- 碎屑
- 选择
- 冲
- 码
- 采集
- 颜色
- COM的
- 组合
- 购买的订单均
- 复杂
- 一台
- 结论
- 条件
- 消耗
- 消费
- 包含
- 内容
- Contents
- 常规
- 兑换
- 核心
- 正确
- 可以
- 套餐
- 外壳
- 裂纹
- 目前
- 习俗
- 网络安全
- 丹尼尔
- data
- 处理
- 表示
- 依靠
- 设计
- 详情
- DID
- 不同
- 直接
- 发现
- 发现
- 屏 显:
- do
- 美元
- 域
- 域名
- 网站域名
- 别
- 配音
- 地球
- 效率
- 或
- 消除
- 其他的
- 加密
- 更多
- 甚至
- EVER
- 究竟
- 例子
- 兴奋
- 说明
- 外部
- 事实
- 快
- 可行
- 感觉
- 少数
- 数字
- 找到最适合您的地方
- 翻动
- 翻转
- 针对
- 力
- 格式
- 形式
- 四
- 第四
- 止
- 未来
- 其他咨询
- 德国
- 得到
- 给
- 特定
- 给
- 去
- 非常
- 民政事务总署
- 半
- 发生
- 更难
- 有
- 高度
- 老旧房屋
- 穿孔
- 小时
- 徘徊
- 创新中心
- How To
- 但是
- HTML
- HTTPS
- 百
- 理想
- if
- 图片
- 不可能
- 有声有色
- in
- 包括
- 包括
- 个人
- 信息
- 信息安全
- 内
- 代替
- 英特尔
- 拟
- 内部
- 网络
- 成
- 讽刺地
- IT
- 它的
- 本身
- 只是
- 保持
- 保持
- 键
- 键
- 知道
- 已知
- 实验室
- 名:
- 领导
- 泄漏
- 知道
- 最少
- 离开
- 左
- 长度
- 各级
- 容易
- 极限
- 限制
- 清单
- 圖書分館的位置
- 地点
- 商标
- 长
- 寻找
- 查找
- 低
- 机
- 使
- 制造商
- 许多
- 余量
- 马丁
- 主
- 数学的
- 问题
- 事项
- 最大宽度
- 可能..
- 手段
- 衡量
- 数据监测
- 测量
- 测量
- 内存
- Michael (中国)
- 可能
- 千年
- 百万
- 减轻
- 混合
- 混合物
- 造型
- 现代
- 显示器
- 个月
- 更多
- 最先进的
- 电影
- 许多
- 姓名
- 名称
- 命名
- 需求
- 全新
- 没有
- 噪声
- 不包含
- 正常
- 没什么
- 现在
- 数
- 数字
- of
- 折扣
- 官方
- 老
- on
- 一
- 那些
- 仅由
- 打开
- 操作
- 操作系统
- or
- 其他名称
- 我们的
- 输出
- 学校以外
- 简介
- 己
- 纸类
- 模式
- 保罗
- 为
- 性能
- 透视
- 的
- 像素
- 地方
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 加
- 位置
- 帖子
- 功率
- 预测
- 威信
- 车资
- 特权
- 大概
- 探测器
- 市场问题
- 过程
- 过程
- 处理器
- 处理器
- 程序员
- 训练课程
- 宣判
- 保护
- 保护
- 提供
- 目的
- 放
- 质量
- 题
- 提高
- 内存
- 随机
- 率
- 价格表
- 阅读
- 真实的世界
- 真
- 原因
- 原因
- 最近
- 减少
- 简称
- 寄存器
- 注册
- 寄存器
- 相对的
- 发布
- 更换
- 需要
- 研究人员
- 尊重
- 成果
- 右
- 运行
- 同
- 对工资盗窃
- 情景
- 黑色
- 其次
- 保安
- 看到
- 提交
- 系列
- 集
- 几个
- 短
- 签署
- 信号
- 简
- 简化
- 网站
- 窥探
- So
- 固体
- 一些
- 有人
- 东西
- 某处
- 或很快需要,
- 发言
- 特别
- 具体的
- 速度
- 开始
- 开始
- 统计
- 仍
- Stop 停止
- 存储
- 商店
- 存储
- 走向成功
- 提示
- 应该
- 肯定
- SVG的
- 系统
- 表
- 采取
- 需要
- 任务
- 文案
- 告诉
- 临时
- 测试
- 比
- 这
- 其
- 他们
- 他们自己
- 然后
- 理论
- 那里。
- 因此
- 他们
- 认为
- 第三
- Free Introduction
- 那些
- 从而
- 次
- 至
- 今晚
- 一起
- 了
- 工具
- 最佳
- 跟踪时
- 转让
- 过渡
- 透明
- true
- 尝试
- 二
- 最终
- 下
- 大学
- 不会
- 网址
- 用法
- 使用
- 用过的
- 用户
- 运用
- 平时
- 折扣值
- 价值观
- 虚荣
- 各个
- 非常
- 通过
- 参观
- 是
- 方法..
- 方法
- we
- 您的网站
- 周
- 井
- 去
- 为
- 什么是
- ,尤其是
- 是否
- 这
- 而
- 宽度
- 将
- 线
- 话
- 担心
- 将
- 写
- 书面
- 年
- 年
- 但
- 完全
- 您一站式解决方案
- 和风网
- 零