利用电磁侧信道对移动设备进行屏幕嗅探攻击

 

本文介绍了屏幕嗅探(Screen Gleaning),这是一种TEMPEST(Transient Electromagnetic Pulse Emanation Surveillance Technology)攻击,在这种攻击下,移动设备的屏幕在视线看不到的的情况下被读取,从而揭示了手机屏幕上显示的敏感信息。屏幕嗅探攻击使用天线和软件定义的无线电(SDR,software-defifined radio)来探测设备发送到屏幕以显示的电磁信号,例如带有验证码的消息。这种特殊的设备可以将信号重新创建为灰度图像,称其为emage。显示屏嗅探攻击具有挑战性,因为人类观察者通常不可能直接解释图像,研究表明可以通过机器学习(特别是深度学习分类器)来解决这一挑战。随着SDR和深度学习的持续快速发展,屏幕嗅探问题将变得越来越严重。

 

0x01 Introduction

人们大多数日常业务都依赖于随身携带的设备。通过这些设备可以交换大量敏感信息,并且数据的安全性和保密性都取决于这些设备。甚至对人们自己(或人们的数据)进行身份验证的任务也已经转移到了人们的手机上,在这种情况下,双因素身份验证(一种常见方法)需要成功提供两个或更多证据来确认人们的身份。

为了保护人们的数据,移动设备通常使用无法从外部访问的秘密(加密)密钥,黑客通过掌握密钥窃取数据。当今在小型设备上的大多数实际攻击都使用侧信道分析(SCA,side-channel analysis),即测量和处理功耗芯片的电磁辐射或过程的反应时间等物理量。此外,由于当今计算力变得越来越便宜,现代攻击者已经开始使用SCA最先进的机器和深度学习算法,这对SCA保护(嵌入式)系统仍然是一个巨大的挑战。

在某些情况下,攻击目标是屏幕上显示的敏感信息。例如,在这里可以考虑从银行或信用卡公司发送的秘密验证码,从而使用户能够安全访问,该用户是唯一能够读取该验证码的用户。 SCA可以利用以这种方式公开信息以发动攻击这一事实。由于可以预期攻击者将始终以最弱的链接为目标,因此这种攻击比密码攻击(即密码分析)更可行。

在本文中,研究了手机屏幕上的敏感信息问题。迄今为止,旨在恢复手机屏幕内容的侧信道分析攻击的研究一直集中在可见光谱信号上。这种关注与人们普遍的看法一致,即保护手机屏幕上的信息意味着将其隐藏在人或相机的视线范围之外。但是,SCA可以超越屏幕上显示的可见光谱信息。在本文中,提出了一种低成本的SCA攻击,它可以通过捕获发送到手机屏幕的电磁信号来恢复显示在移动设备屏幕上的信息,称之为显示屏嗅探,它使用天线和基本的SDR,攻击证明了从移动设备泄漏的辐射所构成的安全威胁。已经发布了本文中攻击的实现方式,可以进行进一步的测试和扩展。本文代码可在以下网址获取:https://github.com/cescalab/screen_gleaning

在这项工作中考虑的侧信道分析是一种TEMPEST技术。 TEMPEST技术利用包含敏感数据的电气设备的通信漏洞和其他类型的辐射。通过使用SDR接收器的简单TEMPEST设置进行的实验,能够成功捕获手机屏幕内容,而不需要检测可见光谱。从屏幕恢复的信号可以可视化为灰度图像。攻击面临的挑战是,图像通常是无法解释的,这意味着无法通过人类的视力来读取它。本研究提出了一种基于机器学习的方法,该方法能够处理人眼无法解释的 emage,以便恢复秘密信息,例如双因素身份验证中的验证码。这个简单的攻击故事说明了本文攻击的潜在危险:

Alice将手机放在桌子上方一叠杂志上。她将手机正面朝下放置,因为她收到了验证码,并且她认为将可视视线挡在手机屏幕之外将使密码保持安全。Eve可以进入Alice的办公桌,并在杂志的下方隐藏了天线。天线可以通过手机的电磁辐射读取验证码。

 

0x02 Attacker Model

攻击者的目标是恢复目标显示器上显示的信息(例如,验证码,密码或消息)。天线可以从手机屏幕读取验证码,而不需要可见光谱。这是攻击者模型的基础,它在下图中进行了说明,并在下表中进行了详细描述。在本节中,将对攻击者模型及其动机进行解释。

对攻击者模型做出以下假设:

•手机上显示的符号集是有限且已知的(即数字0-9)。该假设适用于任何以字母数字字符表示的信息。

•攻击者可以访问与目标设备足够相似的配置文件设备,该设备用于为机器学习分类器收集训练数据。

•攻击的环境是针对被动攻击者的侧信道分析设置,其特征是已放置了用于收集电磁辐射的天线和用于信号处理的SDR设备。天线从近距离接收信号。

•在攻击过程中,攻击者可以从目标设备收集电磁轨迹,以表示屏幕上显示的图像。分析轨迹的外观并识别密码。
现在更详细地说明攻击。被攻击的设备(上图左上方)被假定为标准设备(例如手机),并且符合EMC法规所规定的标准。攻击者只能依靠被攻击设备的意外电磁泄漏来重建受害者屏幕上显示的图像。泄漏的电磁信号的特征在于屏幕的几种物理特性(例如分辨率,刷新率)以及所使用的技术图像渲染(例如CRT,TFT-LCD)。

随着视频显示技术的进步,现代屏幕现在所消耗的能源越来越少,其电路也越来越小。产生的电磁耦合降低,电磁辐射的携带频率增加。此外,确保产品电磁兼容性的基本设计合规性有助于减少意外泄漏。这些因素使得对该信号的利用更加复杂,并降低了电磁辐射的拦截信号。

如果Emage的信噪比(SNR)低,则攻击者无法用肉眼读取Emage。在这种情况下,为了解释图像并恢复屏幕内容,攻击者必须使用机器学习来分析和解释图像。为了实现机器学习分类器,有必要在天线信号示例上对其进行训练,这是攻击的分析部分。攻击者使用配置文件设备显示具有已知内容的特定图像,并捕获与这些图像相对应的图像。所收集的图像标记有图像内容并构成训练数据集。

训练好模型后,攻击者将能够从受攻击的设备中记录Emage,以导出显示的机密信息。 该过程如上图所示。攻击的成功程度是通过分类准确性来衡量的,分类准确性量化了分类器恢复六位数验证码的能力。在实验中,首先在特征分析设备和目标设备上使用同一设备进行攻击。考虑到特征分析和攻击阶段的目标相同,可以了解在最佳情况下训练数据收集时发生攻击的危险。后来将攻击扩展到使用两个不同的设备,考虑具有相同品牌和型号的设备来收集数据,以及特征分析设备完全是另一部手机的情况。

 

0x03 Attack setup

A.实验设置

1)目标:只要第三方可以使用非常规手段拦截通信所涉及的信号,任何机械或电气通信设备都可能对TEMPEST进行攻击。定义这样的方法以及通信泄漏的原因很简单,文献表明,泄漏是与通信信号的物理固有特性有关的几种形式。

本文的工作集中在泄漏模拟视频信号作为电磁辐射的电子个人移动设备上。信号从将图形计算单元连接到屏幕的带状电线泄漏。请注意,在将视频编码应用于视频信号的情况下,没有进行此研究的攻击。编码信号的脆弱性需要在以后的工作中进行研究。

缆线传递电信息,充当天线并在周围地区的电磁频谱中传输视频信号。主板和显示器上的缆线与插座之间的阻抗不匹配会加剧带状电缆的泄漏。阻抗差异可能是由于插座和缆线之间的尺寸不匹配所致。通常将连接缆线设计为比插座小,以避免相邻连接器之间可能产生干扰。由于每个制造商都可以随意为这些缆线使用不同的偏移量,因此不同的手机会以不同的信号强度辐射。未来的研究应通过量化辐射信号来证明不同手机辐射的信号强度不同的假设。泄漏信号的频率取决于几个屏幕属性,并且可以在特定频率(及其谐波)下通过以下关系式进行估算:fv=xt×yt×fr,其中xt和yt分别为屏幕的高度,以像素为单位,fr为屏幕刷新率,以赫兹(Hz)为单位。

实验部分的主要目标是配备IPS LCD屏幕的苹果iPhone 6s,屏幕尺寸为1334×750像素。还展示了使用不同目标的结果,以证明攻击的可移植性。上表中列出了所使用的不同目标,包括最强的视频信号泄漏的中心频率,泄漏的SNR以及有关目标的相关信息(屏幕尺寸,技术和操作系统版本)。 SNR是在信号的中心频率处计算的,带宽为50 MHz,分辨率为25 kHz。

2)设备:上图显示了设置的概述,其中的元素标记如下。使用的天线是一个无源Langer RF-R 400电磁探针(A)。目标是iPhone 6s(B)。来自探头的信号被Minicircuits ZKL-2放大器(C)放大,并被软件定义无线电(SDR),带有aubX-160子板的Ettus X310(D)数字化。然后用TempestSDR]解释SDR所获取的信号,TempestSDR是一种开源工具,能够通过获得的电磁泄漏序列从显示器重建图像。

3)定位和参数:使用SCA设备来证明这种攻击的概念证明,因为参数和定位设置在两种情况下很接近。但是,使用更专业的设备进行TEMPEST攻击可能会获得更好的结果。磁探针被放置在目标物上,且距离很近(<1cm)。手动优化探头与目标的最佳位置和距离,以观察可能的最佳信噪比(SNR)。

TempestSDR具有许多参数,用于配置SDR并从信号中恢复图像。 SDR具有以下参数:中心频率,带宽和采样率。带宽和采样率分别固定为每秒12.5 MHz和25 M个采样。 SDR在可调中心频率附近捕获12.5 MHz的带宽。调整中心频率以确定最佳SNR。从信号恢复图像的参数是:高度和宽度(以像素为单位)和刷新率(以每秒帧数为单位)。还有一些滑块可调节SDR的增益和低通滤波器。宽度和高度的值不一定与屏幕的尺寸相对应,因为可以传输的像素比所显示的像素要多。所选的刷新率应尽可能接近实际刷新率,并且可以在软件中进行高精度配置。这些参数要求很高的精度,并且在设备之间有所不同。

4)自动化:TempestSDR软件包含一个内置功能来存储已处理的帧。从帧重建中捕获的图像称为图像。为了提高捕获过程的时序效率和可靠性,使用一种自动化方法来进行图像捕获。具体来说设置了一个应用程序,用于同步图像库中图像的选择,将其显示在屏幕上并保存图像(请参见上图)。该应用程序由一个Javascript服务器和一个简单的网站组成。此外,对TempestSDR软件进行了小的修改,以自动保存图像并与服务器通信。 TempestSDR向服务器发送信号以显示来自图像库的图像。服务器将此信息传达到手机上加载的网页,并且当更改图像时该网页会报告回来。 TempestSDR捕获数量可参数化的图像,并要求提供新图像。

B.机器学习设置

在这里描述了用于训练验证码分类器的emage数据集的收集过程。给定受到攻击的设备发出的图片,分类器可以对消息进行预测,该消息包含显示在智能手机屏幕上的六位验证码。

重要注意,攻击的目标是区分攻击者具有完整信息的一组消息。例如,在验证码方案中,攻击者知道验证码由六个位组成,并且每个位中的符号为0-9之间的数字。将之与重建方案进行对比很重要。这些方案在有关攻击者可用的屏幕内容的信息量方面有所不同。目标是完全恢复屏幕上显示的内容,而无需使用任何可能显示哪些内容的先验知识。

1)数据收集:要训练分类器,攻击者需要从与目标设备上显示的实际数据相同的分布中或从其他设备中获取的相似类型的数据中收集训练数据。实际上,直接从文本消息中收集验证码数据需要大量的注释工作,因为人们必须检查每条消息并逐个分开验证码。考虑到这种不便,建议在整个图像上生成描述不同数字(0-9)的图像,并使用多播方法收集数据。具体来说,每张图像被分割成40×40 = 1600个数字单元,如下图(左)所示。因此,在每次尝试生成图像后,可以获得1600个不同数字的图像。通过人工检查来分开实例,以确保数据质量。进行多阶段的emage生成以减轻分布偏移的影响。

2)CNN体系结构和模型训练:对于模型体系结构,采用简单的LeNet,它最初是为手写数字识别提出的。对LeNet进行了一些调整,使其适合31×21的输入图像大小(对于Honor 6X,输入大小为45×21,对于iPhone 6为31×20)。该体系结构的详细信息如下图所示。用于实现,实验在带有16核CPU和GTX1080Ti GPU的工作站上运行。在所有情况下,LeNet数据的80%用于训练,10%用于验证,而10%用于测试。当使用Adamoptimizer且学习率为0.001时,每一轮训练都可以在一小时内完成。以256个批次的规模进行了100个周期的训练,并根据验证准确性选择了最佳模型。

 

0x04 Experiments

在本节中,首先在iPhone 6s上进行实验,以分析针对基本单设备方案的攻击的属性。具体来说,研究了可能会影响分类性能的维度,例如训练数据的大小和异构性,以进一步分析攻击者在各种攻击设置下的能力。然后,使用更多手机(iPhone 6-A,iPhone 6-B和Honor 6X)测试攻击的有效性,以验证攻击在更具挑战性的情况下的有效性,例如跨设备攻击,杂志遮挡和环境信号干扰噪音。前表中列出了不同手机的规格,下表中列出了详细的数据收集设置。

A.验证码攻击

在实际的验证码攻击中,使用AppleiPhone 6s作为目标设备。收集了10个LeNet会话(session),每个会话包含32000个emage示例。通过人工检查,由于明显的数据质量问题,放弃了一个会话。为了对LeNet数据进行会话间评估,将其余9个有效会话中的2个固定为所有实验的测试集,其中会话8代表位置良好的天线场景,会话9代表位置不佳的天线场景。通过增加更多剩余的课程,训练集逐渐扩大。具体来说,尝试四种训练集大小,分别由1、3、5和7个会话组成,分别表示为Training 1,Training 2,Training 3和Training 4,如下图所示。每个结果数位图像将作为输入训练CNN分类器。

模拟了200条文本消息,每条消息都包含一个6位数的验证码,以确保它们看起来非常接近实际情况,大小为126×31的验证码的每个emage(请参见下图,部分示例)被平均分为6个。

当使用全部7个训练会话时,对于所有200×6的1200个数字,可获得最佳的总体准确度(上表中的89.8%)。在上表中可以看到,不同数字的精度有所不同,数字4的最高(99.1%),数字3的最低(75.8%)。上图显示了一些验证码示例,以及基本信息和预测结果。它表明,尽管人眼难以识别数字,但本方法可以正确准确地预测数字。

在实践中,攻击者可能具有各种查询预算,以完全发现验证码(所有6位数字正确)。因此,在上表中,给出了当分类器可以正确预测四个或更多验证码位数时的准确性结果。可以看到,通过一次尝试,攻击者可以在50%的情况下完全识别验证码。识别四位数或更多位数的可能性可以达到99%,这表明本方法在实践中可能会构成严重威胁。

B.LeNet数据分析

首先考虑这样一种情况:攻击者可以对分类器进行训练,这些数据是从与被攻击的验证码相同的分布中采样的。尽管在大多数实际情况下几乎是不可能的,但这可以视为最佳情况。具体来说,在Training 1中使用的会话中达到了86.5%的准确性。会话间评估代表了一种更现实的攻击场景,其中无法访问来自目标同一会话的训练数据,但是攻击者可以使用相同的设置来模拟相似的数据。

上图显示了在不同的训练集上训练的四个分类器的会话间准确性:Training 1、2、3和4。可以看出,随着增加训练会话的数量,准确性会提高。还可以观察到,只有一个训练会话的会话内准确性低于多个的情况。但是,在多个会话中使用更多的训练数据可以缓解此问题,从而导致Training 4(7个训练会话)的准确率达到90.9%。这证实了假设,即合并异构会话可以帮助减轻引入emage代的随机噪声的影响。关于不同类别的一种详细分类结果显示在下图的混淆矩阵中。还注意到,两个测试会话之间的预测性能之间存在差异,这可能由它们的不同数据质量来解释。

C.在其他手机上的实验

在不同的手机上进行实验,以进一步验证在不同设备上进行验证码识别的总体有效性。展示了在更具挑战性和现实性的场景中进行识别的潜力,包括跨设备攻击,杂志遮挡天线以及来自周围电话产生的信号噪声的干扰(请参见上图)。跨设备攻击包括对来自一个设备的数据进行识别算法训练,并根据来自同一模型的另一单元的数据测试模型。具体来说,使用两个iPhone 6,即iPhone 6-A和iPhone 6-B,并确保它们具有相同的iOS系统版本,并且没有进行翻新。收集了五个会话的数据以训练iPhone 6-A上的识别模型,并收集了两个测试会话的验证码数据进行测试。此外,使用杂志遮挡的天线收集测试数据,另外使用iPhone 6-B进行测试,并使用背景噪音进行测试。上图分别显示了用于遮挡天线和模拟背景噪声的测量设置。以上四个测试会话中的每一个都包含200个不同的验证码,对于每个验证码,将帧重复两次以实现更稳定的识别。攻击还可以在翻新的iPhone上进行,但为了保持公平的比较,没有报告定量的结果。在不同测试设置下的实验结果如下。

D.讨论

实际上,验证码模式在时间或空间维度上的本地化至关重要。在这里,讨论一种简单的滑动窗口技术如何同时解决这两种问题。当实时监控目标手机时,还可以将识别模型与简单的滑动窗口操作集成在一起,以识别最有可能包含验证码文本消息的关键帧。具体来说,将滑动窗口的高度设置为每个数字的高度,并将宽度设置为6个数字的总宽度。水平和垂直步幅等于每个数字的高度和宽度。

如上图所示,消息区域的激活程度比普通区域要大得多,这表明识别模型可用于识别最可能的帧。此外,在文本消息的特定行中,最高的激活响应集中在验证码区域。这表明文本背景不会干扰验证码识别。还值得注意的是,实际上,攻击者还可以利用现成的语言模型或视觉检测模型。这样的模型将提供提高定位性能的直接方法。实验中使用了背景和文本之间的最大对比度,减小对比度会导致人眼难以阅读的屏幕,但不一定会导致难以解释的图像。探索性实验证实,对背景的选择代表了具有挑战性的设置,并且,如果攻击者幸运的话,背景与手机显示屏上的消息之间的对比可能实际上会使攻击更容易。

 

0x05 Conclusion

在本文中介绍了屏幕嗅探,这是一种新的TEMPEST攻击,它使用天线和SDR捕获电磁侧信道,即从手机泄漏的辐射。以机器学习技术为例,演示了在三种不同手机上进行新攻击的有效性,并通过使用机器学习技术恢复了在短信中发送的验证码,因为该消息是人眼无法理解的。

(完)