TEMPEST攻击窃取AES密钥

2017 年 7 月 16 日 黑白之道




概述

边信道攻击能通过计算如电力的消耗来恢复加密算法(包括常见的AES加密算法)的密钥。然而这些先前的AES攻击手段需要无限制的物理设备访问。通过增强天线及信号处理,Fox-IT and Riscue演示了从真实的AES-256加密过程中获取密钥的步骤:

  1. 1m开外之处实施攻击(实际环境下约30cm);

  2. 使用低配置硬件(花费少于€200)注:€:欧元;

  3. 攻击耗时极短(距离1米需5分钟,距离30cm仅需50秒);

据我们所知,我们的这份报告是该类近距离攻击的第一次公开发表。该报告进一步凸显了在设计高度可靠系统(正是Fox-IT 所擅长的)中深度防范的必要性。


简介

一些东西在电子产品中是固有不变的。TEMPEST泄露正是其一。

谨记:

  • 计算机只是通过驱动电子运动而工作。

  • 该论断对任何计算机程序都适用——无论是JavaScript亦或是C语言编写的甚至定制硬件电路也适用。任何程序都要靠硬件电路来运行实现,由此,也带来一些有趣的副作用。引用来自以为苏格兰朋友——詹姆斯·克拉克·马克斯韦尔的话:

  • 运动电荷激发磁场。

    故此,运行一个算法程序必将产生波动的磁场。我们可以在场源附近随意探测EM波辐射,甚至在一定距离外更加隐蔽的地方也是可以实现的。实际上,该技术是所有无线通信赖以实现的基础。所有的FM收音机、WiFi、GSM通信都是利用此原理!TEMPEST攻击就是在一定距离探测该场并从中获取一些有用的信息的。


图:来自参考链接[1]

为何关注该方法

Fox-IT高级安全研究及发展部门已有数年为政府建设符合TEMPEST标准的设施的经验。该研究正式提出及关注的是攻击而非防御。这远超出了传统的TEMPEST分析——确定在给定距离的信号强度,研究在接近真实环境下的攻击手段。这些信息通常用于改进现有的、过时的防御对策。

当然,关于非对称加密的攻击已有相关公开信息,不过,我们并没有看到过关于对称加密如AES的TEMPEST攻击。这些公开的攻击技术利用非对称加密算法特殊的数学结构“放大”二进制位从而使之易于被探测到。然而,AES算法并没有该特殊之处。我们想通监测AES加密过程来拓展实现该功能。我们的攻击方案要求攻击端必须能观测输入和输出数据。这是极其现实的情景,对那些有公开、可见输出数据的加密设备,例如,网络加密程序。

OK,让我们开始有趣的……

近场攻击重视

我们良好的开头是确立实施攻击的硬件配置。在Riscure的帮助下,我们的硬件成功地实现了功能。传统的方法是用示波器记录数据,用外置信号触发。攻击者拿着示波器,输入端的信号将会触发记录,记录的数据将会拷贝到电脑进行分析。该过程将在各个加密过程重复进行,直到收到足够多进行分析的数据。

我们用无线电的硬件代替示波器构成的电路,这样,我们就可以选择有用频带而丢弃没用的。数据率低得能以流的形式直接传输给电脑,这意味着我们能在更短的时间里捕获更多的信息。

下图所示的是攻击的工作流程,分为4部分:模拟信号探测,无线信号记录,预处理以及数据分析。

图:攻击工作流程概述

攻击的实现流程

>模拟信号探测包括用天线探测电磁场,滤出所需频率并放大信号。

>无线信号记录可以是任何能将高频信号混合成便于处理的低频信号并数字化输出的的硬件。更多关于此处的信息见后文。

>预处理就是对记录的无线信号进行分析,找出信号中加密的开始位置,并将其分割成各个独立的加密块。同时,还需将一些复杂的信号转换成简单、便于分析的格式。

>数据分析使用Riscue 的检测工具,寻找“预测密钥”与记录的数据间的联系从而找回真正的密钥。在这一步中,最复杂的部分是建立一个好的模型来模拟设备泄露信息的过程。

以上的仅是模糊的、不具体的想法,在实际中又是如何呢?

模拟信号探测

从头至尾,该部分最重要的是用空电缆和磁带做成的磁性天线圈。该线圈对附近芯片产生的场作出反应,我们用滤波器和放大器对信号进一步的处理。我们先用滤波器从142MHz的时钟频率中滤出10MHz的频带,再用总价低于€200、来自Mini Circuits 的硬件进行放大。

图:模拟信号探测器

信号记录

记录仪器从极其高端的无线电装备到€20的USB SDRs,相差极大。我们发现甚至廉价的USB加密狗都可以用来实现攻击!这不是一个奢侈的政府才能玩得起的游戏,而是每个愿意花一些零花钱和时间的人都可以玩的游戏。以下是3种设备的比较:

图:天线比较

接下来,我们看到的是用SR-7100记录10MHz带宽的信号。下图所示的轨迹图是运行于SmartFusion2目标设备AES-256加密过程的一个信号区段。我们用OpenSSL实现基于ARM Cortex-M3核心的SmartFusion2。每一阶段的处理都有清晰、明确的模式。输入和输出经过Contex-M3,并计算密钥及14轮的加密。

图:依赖于AES算法模式概览

因此,我们可以测量与信号相关联部分的芯片的瞬时电力消耗。当然,这离完全取得密钥还早着呢,我们还需要观察不同输入下不同加密的加密区块,以便建立一个好的模型模拟信息的泄露。

数据分析

专家:

我们所捕获记录的数据是以设备功耗有关的。这是极有用的因为功耗是由设备正在处理的数据决定的。我们正是利用这点来获取密钥的。让我们快速验证一下,我们是可以通过记录的信息“看到”设备在处理的数据的——可以试着检验探测的信号与“1”这个比特位之间的联系。我们希望得到输入及输出处理的冲激响应分布图。下图所示波形图显示,我们确实可以探测到目标设备正在处理的数据。

图: I/O数据相关性曲线

现在,我们结合猜测和相互联系来找出密钥。假设我们知道32Byte密钥中的1Byte,我们就可以预测一些AES算法里的内容。预测内容与信号分析结果之间的联系应当是非常清晰的(就像上面的I/O数据图)。当然,作为攻击者,我们事先并不知道密钥。不过,我们可以轻而易举地列出这1Byte密钥的256种可能。在相关性分析中,数值最高的既是正确的。用此种办法,仅需数秒钟就可在所有可能性(每1Byte 256种可能,32Byte一共就是8192种可能)中找到正确的数值。相反的是,如果直接暴力攻击AES-256算法的话,将会有2种可能性,就算计算到宇宙的尽头也算不完。

在我们的攻击中,有许多可用的中介,当然,这很大程度上取决于软件及硬件的实现。OpenSSL采用查表——T tables 的方法,这对于32位系统不失为一种合理、普遍的选择。T tables的使用,极大地降低了整个算法的查找数量和花费。使用查表法作为中介,将会带来非线性因素,这将使得正确猜测与仅有1bit之差的猜测结果相差更大。尤其是如果我们控制了输入的话,那么我们将能用简单的模型成功实现。我们呈现的结果反映了每1bit的从T tables载入的数据间的联系。我们也在进一步提高模型的准确度。改进模型更加详细地描述了信息是如何泄露的,不过我们尽量不在实践中使用,因为我们并不需要如此高精度的信息。

至于SmartFusion2,泄露大部分来源于连接Cortex-M3和片上存储的AHB总线。我们可以通过联系T tables查找的地址来攻击密钥。如果这样的话,那么计算1bit数值并不能很好地模拟出电力消耗。取而代之的是,我们计算总线上传输的两个顺序相邻地址的数值。这表明在传输数据时,总线相当于瞬间短路。现在,我们是传输两个地址的数据,我们必须知道先前及接下来的地址。如果指令高速缓存不工作,这将会是未来指令的地址。如果指令高速缓存有效,那么这便是先前加载或存储的数据。

注意到为了避免缓存一致性问题,SmartFusion2没有D-高速缓存。下面的图表反映的是用地址线模型分析256种预测密钥的相关性的曲线。

图:所有预测密钥的相关性曲线

由图可知,正确的密钥峰值最高!这意味着我们可以恢复密钥(一字节一字节的)仅需探测和输入数据。注意到图中余下的密钥分布在较低位置的其他频段内,这是因为我们的中间体与密钥线性相关,所以有不同的猜测组,每组都是N位。

现在,我们能从目标设备中获取密钥了,是时候尝试在一定距离来实现。

一定的距离

从一定距离之外进行攻击是真实存在的新的挑战。没有理由在这样的条件下先前的攻击就武无效了——不过我们坚信该实践是前所未有的。我们探测的是相同的物理效应,因此分析过程相同的,不同之处仅在天线部分。

小线圈

小线圈天线仅需要的€20的RTLSDR。这是一个绝好的、不留任何痕迹的攻击密封器件的方法。视具体目标而定,有时候内置的放大器RTL SDR就足够了,这样的话,总的预算就真的是€20!

尽管这些线圈的攻击距离很轻易就达到几厘米,但是距我们的目标1m却相差甚远。根据下图,我们可以看到接收到的信号随距离的衰减。从图可知,信号强度降得非常快,并逐渐降至噪声水平。

图:小线圈

对数周期天线

为了提升攻击距离,我们尝试了另一种天线。下图是信号对定向性较好的PCB对数周期天线的衰减情况。信号随距离呈线性衰减使我们有一个更好的机会达到1m的目标。

图:PCB对数周期天线

由于随着频带的变窄天线尺寸逐渐增大,我们最初为了尽量小和廉价,选择了400MHz的天线。然而,SmartFusion2的最高频率为142MHz。为此,我们换用Xilinx的Pynq板,其他的软件与之前一致。我们仍然是攻击ARM核心与存储的总线,不过我们的时钟基准频率是400MHz。经此我们发现,切换到另一块板子相当容易。尽管内存速率为先前142MHz的3倍(是我们使用的DDR的6倍),我们仍然可以用RTL-SDR支持的带宽攻击Pynq板。

然而,所有的模拟滤波器都是为142MHz信号而设计的。为了简单方便起见,我们用毯子包裹的两个箱子作为防护罩,以此减轻外部信号的影响。

图:防护罩和攻击装备

这些预算内的装备——包括:RTL-SDR USB加密狗,迷你放大器(ZFL-500+)和可选用的高通滤波器,让我们的攻击距离拓展到30cm。我们在大约50s就可以捕获到400k的数据。尽管没有达到1m的目标,但是以如此廉价的装备实现这样的距离已经是可喜的一步了。

理想环境

我们发现在DIY实验环境下,在一定距离外攻击是有可能的,只是在理想条件下,可以实现的距离又是多少呢?

我们有机会使用OSPL的电波暗室——完全隔离外部信号,最大程度地反射内部信号,如下图所示。盘锥形的全向天线(如下图)工作在非常宽的频带内。

图:OSPL电波暗室内的攻击设备

为了证明我们确实是从一定距离外探测的,我们必须考虑目标设备与探测器间的电磁隔离:

>目标设备由暗室内的USB电源供电。

>放大器由暗室外的独立电源供电。

>目标设备SmartFusion2需要通过以太网接收外部命令。为了使之与我们的笔记本电脑和SDR隔离,我们在其离开暗室前将之转换成光纤信号。这也让我们避免了以太网线缆给暗室内部带来外来干扰信号。

>Pynq板只需初始化向量便可自动运行而无需以太网输入。每轮成功的加密输出都会反馈到输入。

尽管是总价<€200(天线除外)的装备,我们也能成功地从1m的距离外攻击Pynq,通过5分钟的探测,可以搜集到240万条信息。该结果表明,在理想环境下,以1m的距离攻击目标是可以实现的。

结论

我们的实验证明了TEMPEST对加密算法例如AES-256攻击的可实现性。据我们目前所了解到的,这是第一份关于该类攻击的公开报告。低带宽的要求使得我们可以以异常的花费实现一定距离的攻击:

>30cm的距离在DIY实验室,仅需50s时间

>1m的距离在理想环境下,5分钟时间

在实际运用中,该装备非常适合网络加密应用。大多数目标设备都是运行批量加密(或许其中就有攻击者控制的的数据)任务的,而且密文也很容易从网络上捕获。这再次强调了在构建高度安全系统中深度防御的迫切需要——联系我们团队如果需要有关建议。

文章出处:StrokMitream 看雪学院

你会喜欢


一款能在GitHub代码库中探测密钥的工具:Truffle Hog

SSH使用密钥登录Linux(PUTTY版)

AiroWizard 1.0 无线WEP密钥破解工具



登录查看更多
0

相关内容

在数学和计算机科学之中,算法(Algorithm)为一个计算的具体步骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数。 来自维基百科: 算法
【ICML2020】小样本目标检测
专知会员服务
90+阅读 · 2020年6月2日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【综述】基于图的对抗式攻击和防御,附22页论文下载
专知会员服务
68+阅读 · 2020年3月5日
安全和健壮的医疗机器学习综述,附22页pdf
专知会员服务
46+阅读 · 2020年1月25日
已删除
AI掘金志
7+阅读 · 2019年7月8日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
15+阅读 · 2019年5月13日
镭神多线激光雷达强势赋能许昌芙蓉湖5G自动驾驶示范区
未来产业促进会
10+阅读 · 2019年5月8日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
当你的头出现在A片演员的身体上
PingWest品玩
6+阅读 · 2019年1月6日
威胁情报驱动:F3EAD 之利用
计算机与网络安全
4+阅读 · 2018年12月28日
IPSec | IKE密钥交换原理
计算机与网络安全
18+阅读 · 2018年12月23日
威胁情报浅析
计算机与网络安全
7+阅读 · 2017年11月15日
Arxiv
13+阅读 · 2018年4月18日
Arxiv
6+阅读 · 2018年1月29日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关资讯
已删除
AI掘金志
7+阅读 · 2019年7月8日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
15+阅读 · 2019年5月13日
镭神多线激光雷达强势赋能许昌芙蓉湖5G自动驾驶示范区
未来产业促进会
10+阅读 · 2019年5月8日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
当你的头出现在A片演员的身体上
PingWest品玩
6+阅读 · 2019年1月6日
威胁情报驱动:F3EAD 之利用
计算机与网络安全
4+阅读 · 2018年12月28日
IPSec | IKE密钥交换原理
计算机与网络安全
18+阅读 · 2018年12月23日
威胁情报浅析
计算机与网络安全
7+阅读 · 2017年11月15日
Top
微信扫码咨询专知VIP会员