本博客是物联网安全系列的一部分,我们将讨论有关物联网/工业物联网生态系统及其安全性的基本概念。如果你还没有看过该系列的前几篇博客,我会敦促你先看一遍。如果您只对侧信道攻击 (SCA) 介绍感兴趣,请随时继续。
物联网安全-5.ZigBee协议物联网安全-6.ZigBee安全物联网安全-7.物联网固件逆向
目录
介绍
在本博客系列的最后几部分中,我们讨论了 SPI、I2C、UART 和 JTAG 等硬件攻击面。随着安全问题和意识的增加,在某些设备中实施了适当的对策,以避免攻击者通过这些攻击面轻松访问。不幸的是,即使是这些针对硬件攻击的对策也无法确保系统安全。这篇博客将基本概述最著名的硬件攻击之一,称为侧信道攻击 (SCA)。这篇博客是 SCA 的介绍性概念性概述。在以后的博客中,我们将讨论每种攻击类型的详细信息。
侧信道攻击 (SCA) 利用系统中的信息泄漏。泄漏可能与时序、功率、电磁信号、声音、光线等有关。SCA 是一种非侵入性和被动攻击,即要执行这种攻击,我们不需要移除芯片即可直接访问设备的内部组件或主动篡改其任何操作。这种攻击可以通过观察、收集和分析处理过程中设备中的信息泄漏来执行。这些攻击可用于从设备中检索任何敏感信息。它们最常用于以加密设备为目标。虽然通过暴力破解攻击具有非常大密钥空间的此类设备可能不可行,但攻击者可以通过 SCA 破坏这些所谓的安全系统。SCA 不是针对标准加密算法,而是针对物理设备上的实现,通过测量和分析泄露的信息(如功率分析、时序分析、电磁分析等)来恢复机密参数。一些关于 SCA 的有用资源的链接可以在本博客末尾的“参考”部分找到。
根据设备中正在处理的数据或代码指令,其功耗会有所不同。在这种攻击中,测量和分析不同的功耗,以提取设备的敏感信息或密钥。它可用于在相对较短的时间内以较低的成本破坏 AES-256 等加密算法的实现。
在内部,这些器件具有集成电路,这些集成电路由内部由晶体管组成的逻辑门组成。根据在晶体管栅极上施加和去除的电荷,电流流入或流出栅极,这会消耗可观察的功率并泄漏工作算法的内部特性。
为了测量器件电路中的功率,将一个大约 50 欧姆的小电阻器与电源或接地输入串联。计算电阻两端的电压差 (V),当除以电阻值 (R) 时,根据欧姆定律给出电流 (I),V = IR。根据时钟频率的不同,可以使用数字示波器、hantek、chipwhisperer 等设备对电压差进行采样,并收集用于进一步分析和攻击的迹线。有一些开源框架,如 chipwhisperer、eShard 的 SCARED,可用于分析。
SPA 是在执行操作以识别它时对收集的电源迹线进行可视化分析。它基于这样一个事实,即特定时刻的功耗是设备正在执行的操作的函数。它的目标是使用较少的跟踪。这可用于提取密钥或一些敏感信息。使用SPA的功率分析可以给出所操作算法类型的特征,例如,平方和乘法运算,分组密码的轮数等。这种攻击涉及相对更多的手动分析。如果器件的功耗可以通过增加噪声或包括虚拟时钟周期在内部随机化,那么通过SCA提取秘密信息就会变得困难。
DPA 比 SPA 更强大,因为它还包括统计分析。它基于这样一个事实,即同一操作在不同时刻的功耗取决于正在处理的数据。尽管有不同类型的 DPA,但均值差分 (DoM) 是执行它的简单有效的方法之一。在这种情况下,假定功耗与攻击者不知道的硬件内部寄存器的特定位相关。密钥的部分被猜测。根据猜测的部分,计算目标位。然后,根据目标位是 0 还是 1,将迹线分为零分档和单分档。计算零条柱和单条柱中所有迹线的平均值,其差值得到 DoM。最后,通过将猜测的功率与实际功率迹线之间的功耗相关联,来识别正确的键猜测和错误的键猜测。由于这种攻击不需要攻击者具备系统的内部知识,因此它是一种黑盒攻击。
但是,就要收集的跟踪数量而言,它的成本很高。它还存在“幽灵峰”的问题,即有时即使对于错误的猜测,也可以在统计图中获得强烈的峰值。有关 DPA 的更多详细信息,请参阅 Paul Kocher、Joshua Ja e 和 Benjamin Jun 撰写的题为“差分功率分析”的研究论文。
后来,SCA领域的研究工作出现了相关功率分析(CPA)方法,该方法被发现比DPA更有效。研究论文“Power Analysis Attacks to Cryptographic Cir-cuits:a Comparative Analysis of DPA and CPA”展示了 CPA 和 DPA 之间的比较分析。它需要较少数量的电源走线(w.r.t DPA),并且还避免了鬼峰问题。CPA 是通过使用幂模型实现的:汉明重量或汉明距离。汉明重量与功耗呈线性关系。因此,不是计算许多迹线的平均功耗,而是使用 Pearson 相关性生成与设备的实际功耗相关的设备功耗模型。有关 CPA 的更多详细信息,请参阅题为“使用泄漏模型进行相关功率分析”的研究论文。
这些攻击利用了设备在运行期间的电磁辐射。执行此攻击需要电磁测量探头。它甚至适用于更高频率的信号。
如前所述,在功率分析攻击下,设备具有集成电路;在集成电路中,有晶体管;它们内部的电流产生电磁场。因此,由于在运行过程中会漏电,同样也存在电磁泄漏。这些信号的测量和分析使攻击者有可能提取秘密信息/密钥。与功率分析类似,SPA 和 DPA 可以对电磁迹线执行。
在大多数情况下,基于EM的SCA是首选,因为它不需要像功率分析那样通过插入分流电阻器在电路中进行任何操作。虽然在工具方面,它变得昂贵。然而,正在进行更多的研究,以开发高效和低成本的 soultions 来执行基于 EM 的 SCA。题为“SCNIFFER:低成本、自动化、高效的电磁侧信道嗅探”的研究论文提出了一种低成本的平台。本博客末尾的“参考部分”下提供了更多研究链接。
在设备操作的某些实现中,执行时序取决于基于不同执行路径的数据输入。攻击者利用此执行时序差异来猜测或提取敏感数据。Paul C.Kocher 撰写的关于“Timing Attacks on Implementations of Diffie-Hellman、RSA、DSS and OtherSystems”的研究论文展示了为提取密钥而对加密实现进行的定时攻击。
在这种攻击中,攻击者利用缓存访问期间泄露的信息,因为缓存命中所需的时间相对较短。有时,它与定时攻击一起使用,以确定缓存内存访问时序。虽然无法看到访问的数据,但攻击者可以通过知道正在访问的内存区域来提取信息。Meltdown 和 Spectre 是针对英特尔硬件的最严重的缓存和基于时序的侧信道攻击类型之一,它泄露了进程和操作系统的内存内容。
这些攻击涉及通过在系统中生成故障来提取密钥/敏感信息。他们还可以利用这样一个事实,即由于更高的设计复杂性和不完整的验证,设备可能容易出现故障。故障可以通过改变电压、时钟毛刺等方式产生,有关故障攻击
的更多信息将在我们的下一篇博客中讨论。在这种攻击中,执行一个有故障的操作,另一个没有故障的操作,然后对两者进行分析和比较,以确定与故障相对应的操作。
这些攻击利用计算过程中产生的声音来提取机密信息。有关它的更多信息,请参阅题为“RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis”的研究论文
为了确保关键系统的安全,尤其是硬件安全,需要付出大量的努力和投资。它现在更专注于实现基于硬件的加密。从使用可信平台模块 (TPM) 实现基于安全硬件的加密设备、实现安全启动等,正在做大量工作,通过保护硬件和软件来确保系统安全。像 SCA 这样的攻击使这些设备的安全开发变得具有挑战性。我们的个人电脑、智能卡等各种产品都使用这些加密设备,但其实现中的缺陷可能会为 SCA 攻击提供机会。
SCA 还用于定位深度神经网络模型。有关它的更多信息,请参阅标题为“通过电源侧信道攻击打开 DNN Box”的论文。尽管在智能卡等关键设备上,可能会实施适当的对策,但 SCA 对于物联网设备来说变得更加危险,因为这些设备具有资源限制。在物联网设备上,对这些 SCA 攻击的防护主要被忽视。在这些设备中,低功耗处理器用于运行加密操作以节省能源。在通用处理器上运行未受保护的加密操作使攻击者更容易执行这些攻击。由于这些攻击更多地发生在 CPU 级别,因此它们可能会使关键基础设施和设备面临软件补丁无法解决的重大风险。随着复杂工具和方法的增加,这些攻击变得更加容易获得。阅读更多关于它对密码模块的影响,作者是 YongBin Zhou, DengGuo Feng。
为您推荐: 物联网侧信道攻击中的信号处理
虽然消除这些 SCA 攻击实际上很困难,但它们可能更难实现。可以采取一些对策,使攻击者更难执行这些攻击。
在硬件方面,应优先使用物理不可克隆功能 (PUF) 和适当的屏蔽,防止泄漏电磁辐射。
在实现方面,器件的运行应独立于数据,即时钟周期数应是均匀的或随机的,以避免操作时序泄漏。
应实施错误检测,以识别电路中是否发生任何故障。
密钥不应在不同的产品上重复使用。
设备中的功耗应与操作说明无关。使用的技术之一是使用差分信号,其中看不到功率尖峰,或者通过屏蔽或添加噪声,使从 1 到 0 或 0 到 1 的转换不会泄漏。
应采用安全编程模式,如Riscure在白皮书中所述
开发完成后,设备必须经过针对 SCA 攻击的测试。执行这些测试的一些资源包括“Gilbert Goodwill 等人编写的 SCA 测试方法”、“Welch 的 T-testin 侧信道安全评估”
其他各种研究工作已经完成并正在进行中,以实施更有效的对策来缓解 SCA 攻击。
在这篇博客中,我们简要介绍了侧信道攻击及其类型。我们希望这能让您全面了解它以及此类攻击的相关严重性。请继续关注我们未来的博客,我们将展示各个 SCA 攻击的实现方面。
https://en.wikipedia.org/wiki/Side-channel_attack
https://www.newae.com/embedded-security-101
http://gauss.ececs.uc.edu/Courses/c653/lectures/SideC/intro.pdf
https://www.rambus.com/blogs/side-channel-attack-targets-deep-neural-networks-dnns/
https://whisperlab.org/introduction-to-hacking/talks/chipwhisperer
https://troopers.de/downloads/troopers19/TROOPERS19_NGI_RT_Hardware_Side_Channels.pdf
https://jochen-hoenicke.de/crypto/trezor-power-analysis/
https://www.riscure.com/uploads/2018/04/Riscure_CheapSCAte_RSA.pdf
https://paulkocher.com/doc/DifferentialPowerAnalysis.pdf
https://www.iacr.org/archive/ches2004/31560016/31560016.pdf
https://www.tandfonline.com/doi/pdf/10.1080/23742917.2016.1231523?needAccess=true
https://eprint.iacr.org/2014/204.pdf
https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9201569
https://scholarworks.umass.edu/cgi/viewcontent.cgi?article=1822&context=theses
https://www.esat.kuleuven.be/cosic/publications/thesis-182.pdf
https://csrc.nist.gov/CSRC/media/Events/Non-Invasive-Attack-Testing-Workshop/documents/03_deBeer.pdf
其它课程
windows网络安全一防火墙
windows文件过滤(更新完成)
USB过滤(更新完成)
游戏安全(更新中)
二进制漏洞(更新中)
ios逆向
还有很多免费教程(限学员)
更多详细内容添加作者微信