【51CTO.com快译】当听到“黑客”一词时,您可能会在脑子中浮现出好莱坞大片里电脑专家与顶级黑客之间进行攻防较量的场景。不过,在现实生活中,黑客们的确会时常使用侧信道攻击(side-channel attack),在神不知鬼不觉的情况下,“隔空”从设备中提取信息,而目标系统的安全态势丝毫未受影响。
什么是侧信道攻击?
假设,和您同住一个屋檐下的室友最近老是神秘兮兮地给某人打电话。好奇心使您迫不及待地想一探究竟。这时,你发现他使用的是带有物理按键的固定电话。那么,您就可以在无需走到他身边的情况下,根据他每一次按下的数字键的音调,通过一定的“反向工程”的规则,推断出他依次按下的是哪些数字。
不过,如果所有的按键只能发出同样声调的话,您也许可以通过估算室友将手指从一个数字键移到另一个时所花费的时间。当然,您可能需要事先对室友的拨号习惯,特别是两次按键之间的时间间隔,具有敏锐的洞察和了解。
如果您观察到的间隙,恰好等于您事先获得的测量值,那么可以判断出他刚才按下的两个数字键是相邻的;如果有较长的延迟,则表示下一个数字键并不相邻;而如果出现两次快速的连击,则表示他按下了相同的数字。据此,您可以推断出适当的时序排列,进而估算出对应的可能性数字序列。
这里提到的两种方法就是典型的“侧信道攻击”。可见,它是一种在无需直接触及到设备的情况下,截获信息或提取数据的攻击方法。一些看似稀松寻常的状态与特征,往往会被“有心人”用来“隔山打牛”,得到“意外收获”。
在了解了侧信道攻击的基本概念和工作原理之后,我们下面来看看黑客通常会具体开展哪些类别的攻击方式:
通过时序攻击(timing attacks)的发现算法
时序攻击主要分析的是完成某个过程所需要的时间。这有点类似于上面提到的估算室友的拨号时间,并将其与已掌握的时间间隔作比较。
黑客事先向已知的算法提供不同的输入,以观察该处理过程所耗费时长。据此,他们可以从中整理出目标算法在处理一定体量数据的用时,进而找到对应的破解方案。
在视频链接--https://youtu.be/2-zQp26nbY8中,Joe Grand创建了一个带有四个按钮的密码锁设备。在输入首个代码后,该设备会将用户的输入与已知代码的第一部分进行比较。如果相符合,他就可以第二次按下按钮,并与既定的组合进行比较,依此类推。如果出现不相符的情况,该设备则立即停止后续的处理。
如果您将所有四个按钮都作为第一个输入代码予以测试,那么可能需要至多重试四次,才能找到正确的那个按钮。毕竟一旦出现比较错误,设备就会在首位就立即停止。一旦知道了第一个按钮是什么,我们就可以尝试将其与每一种可能组成前两位,依此类推。只要允许处理的时间足够长,您最终就能够发现正确的代码组合。
其实,时序攻击也是熔断攻击(Meltdown exploit,
https://www.makeuseof.com/tag/meltdown-spectre-cpu-vulnerable-attack/)的主要组成部分。它分析了读取缓存的速度,并据此来读取缓存中的数据。
通过功耗分析来检查处理器的使用率
黑客也可能会通过监视组件正在使用的电量,来查看其对应的操作功能。例如:如果某个组件消耗的功率比正常值要多一些,那么它可能正在处理某些复杂的信息;而当它的功耗比平时较少时,则可能表明它正在进入下一个处理阶段。
黑客甚至可以使用用电量的特征签名,来查看正在发送的数据。例如,在AnySilicon(请参见--
https://anysilicon.com/side-channel-attacks-differential-power-analysis-dpa-simple-power-analysis-spa-works/)上有一张功率表。该表显示了能够发送二进制数据
(https://www.makeuseof.com/tag/binary-technology-explained/)的各种组件。其中,小电块(bump of power)为0,而高电块则为1。
通过声学分析来侦听线索
声学分析是指:黑客侦听来自设备的音频模式,并使用既有的结果来组合出对应的信息。在上述的探听室友电话号码的示例中,侦听按键的拨号音就是一次声学分析的攻击。
目前,已经一些研究已经证明了声学攻击的可行性。例如,其中有一项研究是:通过侦听打印机发出的声音,来确定其打印的内容,而且准确率竟能达到72%。此外,如果攻击者事先已经大致了解了该文件的内容,那么这一比率可能会高至95%。
另一项名为SonarSnoop的研究
(https://link.springer.com/article/10.1007/s10207-019-00449-8),是将电话变成了声纳设备。研究人员让电话通过扬声器发出人耳听不见的声音,并通过麦克风记录下对应的回声。此类声纳回波甚至可以让攻击者获悉到被侦听者在绘制解锁图案时,触碰到手机屏幕的具体位置,进而了解到屏幕是如何被解锁的。
使用电磁分析来监视背景波
黑客可能采取的第三种攻击方式是:使用电磁(Electromagnetic,EM)分析,来监视设备发出的背景波,进而解密设备的各项行为。或者至少他们能够发现周围的电子设备。例如:他们可以使用电话,通过查找附近的EM波源,来发现隐藏在周围的监控摄像头
(请参见--https://www.makeuseof.com/tag/use-smartphone-detect-hidden-surveillance-cameras/)。
另一项研究(请参见--https://arxiv.org/pdf/1903.07703.pdf)是着眼于物联网设备及其电磁辐射的。从理论上讲,法证团队可以监视那些可疑的设备,而无需真正侵入它们。这在法理和取证环节上非常重要。毕竟,执法部门既可以监视到目标的可疑行径,又不会留下任何痕迹。
如何保护自己免受侧信道攻击
不幸的是,目前并没有简单的方法可以使您的设备不受侧通道攻击。可以说,只要您在操作过程中使用了电源,设备就会产生辐射并发出声音,而黑客就能够针对这些“信道”上的信息进行分析。
当然,您可以设法干扰或预防黑客采取攻击性的行为。例如,您可以使用检测电话登录模式的SonarSnoop程序。不过,该程序也是一把“双刃剑”。它可能会被用在与其他恶意软件相似的分发渠道上。例如,黑客会将它隐藏在供人下载的恶意应用程序或网页中。
可见,虽然您不能阻止设备发出泄密信号,但是可以避免安装那些被用于监视此类信号的软件代理。遵照基本的安全运维概念:保持您设备上的防病毒工具为最新,并保持良好的网络安全态势,是非常必要的。此外,对数据进行加密,在信号传输装置和线路上构造法拉第笼,以及发射白噪声,也是一些对抗侧信道攻击的有效方式。
原标题:What Is a Side-Channel Attack? How Hackers Crack Security Without Touching It,
作者:Simon Batt
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】