首页 > 技术文章 > side-channel

Janly 2021-04-06 14:03 原文

https://cacm.acm.org/magazines/2020/6/245161-meltdown/fulltext

介绍

旁道攻击的起源与微电子设备和通用系统中执行计算任务所引起的可物理观察到的现象密切相关。例如,微处理器消耗时间和功率来执行其分配的任务。设备会保留其机密,如果罪犯了解了意外的信号,则可以提取一些有趣的机密并将其用于进行旁道攻击。例如,当对Web系统执行定时攻击以枚举可能的有效用户时,也会发生同样的情况。

这类攻击利用了信息模式。例如,可用于分析此类信息的计算机显示器或硬盘驱动器上的电能显示在屏幕上,或者在执行某些过程时计算机组件消耗不同电量的情况。

 

这种攻击的使用可能非常危险,因为使用不同的环境来探索与常规方法相关的漏洞。如下图1所示,来自智能手机,嵌入式设备和IoT环境等流行设备的信号已被用来查找漏洞,通过分析特定时间段内的信号频率(输入和输出)来提取敏感信息或行为。

图1:从流行的设备获取旁信号(来源

另一个流行的旁道攻击示例描绘了图1中的场景,该示例是使用密钥声音通过3D打印机创建密钥副本的过程。

旁道攻击的大局

“通常,在设计算法时,我们会考虑输入和输出。程序运行时,我们不会考虑发生任何其他事情。”密歇根大学的计算机科学家Daniel Genkin说。

计算机在物理上运行,并且可以分析许多横向物理影响,包括时间,功率和声音。这是骗子可以在野外探索的三个重要成分。例如,定时攻击是一种边信道攻击,攻击者通过分析执行密码算法所需的时间来尝试破坏密码系统。 

Web上另一个常见的场景是基于SQL时间的盲目攻击。在这里,函数WAIT FOR DELAY可用于在指定的时间量内暂停执行,或者WAIT FOR TIME可用于在系统时间等于参数时暂停查询的执行并继续执行。通过使用此方法,攻击者使用以下逻辑枚举所需数据的每个字母:

  1. 如果第一个数据库名称的首字母是“ A”,请等待10秒钟。
  2. 如果第一个数据库名称的首字母是“ B”,请等待10秒钟。
  3. [ETC。]

详细地说,这些攻击利用这些效应之一来获取有关所用算法秘密的更多信息。

从攻击者的角度来看,几乎可以收集任何偶然的信息泄漏,以学习他们不应该知道的东西。 

下面的图2展示了如何使用旁道攻击来获取正常应用程序工作流程的秘密,并利用诸如声音,频率,功耗等附带信息来获得最终输出(例如,来自密文)。

图2 :正常工作流程与旁道攻击场景。

现在,计算系统变得更加复杂,其组件已达到其物理极限,并向各个方向发展,并使用所有可能的信息来满足最佳结果。从这个意义上讲,旁通道攻击变得越来越丰富,难以检测和预防。

例如,在过去几年中,在最流行的物理设备上检测到了多个漏洞,这些漏洞的名称包括Meltdown,Spectre,Fallout,RIDL和Zombieload,它们都利用旁道攻击作为秘密窃取技术的一部分。

让我们详细看看其中的每一个。

崩溃:这是一个硬件漏洞,会影响Intel x86微处理器,IBM POWER处理器和某些基于ARM的微处理器。详细地说,它允许恶意程序获取所有内存,即使未经授权也可以这样做。

Spectre:这是一个漏洞,会影响实现分支预测的现代微处理器。在大多数处理器上,分支预测错误引起的推测执行可能会留下可观察到的副作用,这些副作用可能会泄露私有数据。

辐射(Fallout):辐射(Fallout)攻击可获取操作系统最近写入的数据,并确定操作系统的内存位置,从而加强其他攻击。

RIDL:RIDL攻击可用于从英特尔处理器内部的不同缓冲区(例如,行填充缓冲区和加载端口)跨各种安全域泄漏信息。

ZombieLoad:ZombieLoad攻击可恢复私人浏览历史和其他敏感数据。它允许从其他应用程序,操作系统,云中的虚拟机和受信任的执行环境中泄漏信息。

 

最后的想法

在过去的几年中,边信道攻击一直是热门话题,并且已成为用于探究物理设备上的一组漏洞或使用信号揭示工作流,通信信道或密码隧道秘密的更为复杂的工具。

Meltdown和Spectre是这种危险攻击的真正证明,它探索了影响微处理器的漏洞并利用了基于时间的边信道攻击。每种技术都使用不同的技术来访问机密信息并在处理器的缓存中对其进行解码-内存的一部分旨在将某些数据放在手边,以提高效率。在这种情况下,攻击者可以分析处理器响应的时间,并了解缓存正在泄漏的内容,从而了解秘密信息。

防止此类情况是一项艰巨的任务,但是如OWASP所述,可以遵循一组最佳实践例如,将响应时间固定为最坏情况的执行时间可能是防止时空通道的一种很好的解决方法,但会严重影响性能。

另一方面,对Web应用程序的侧通道攻击也可能构成一个大问题。从响应时间或错误消息中了解用户名的存在,这些信息可用于从目标系统中窃取信息。

旁通道以各种方式出现。检测和预防是一个严峻的挑战,通常可能对系统的性能产生负面影响。

 

资料来源

此无线电bug可以窃取笔记本电脑的加密密钥,适合放在皮塔饼内,有线

密码学研究公司的Paul Kocher,Joshua Jaffe和Benjamin Jun,“微分功率分析”

关键音效可以产生3D打印副本,Threatpost

CPU故障

Investigadores descobriram UMA maneira德criar恩超的恶意软件implantado EM飞地达SGX,SegurançaInformática正在

Web上的旁通道漏洞–检测和预防OWASP

推荐阅读