侧信道攻击与电子数据取证

IoT 2年前 (2022) admin
1,091 0 0
侧信道攻击与电子数据取证
侧信道攻击与电子数据取证

 本文由Hayden原创,转载请注明。

侧信道攻击与电子数据取证

什么是侧信道攻击?

谈起侧信道攻击,大家可能首先想到的便是臭名昭著的Intel芯片的侧信道攻击漏洞!

侧信道攻击与电子数据取证

 图1 Intel芯片的侧信道攻

尽管有关侧信道攻击的漏洞已经被爆出多时,但令人遗憾的是,时至今日,新的侧信道攻击漏洞仍然层出不穷,如下图所示,在Intel官网上,有关于MDS漏洞的公告,从公告中可以看出,该漏洞可能会使本来无法看到的数据变得可读。

侧信道攻击与电子数据取证

图2 MDS 

在计算机安全中,侧信道攻击(Side-Channel-Attacks)是基于计算机系统的实现中获取的信息的任何攻击,而不是实现的算法本身的弱点(例如密码分析和软件错误)。计时信息(Timing Information)、功耗(Power Consumption)、电磁泄漏(electromagnetic leaks)甚至声音(sound)都可以提供额外的信息来源,可以加以利用。

图3和图4分别表示了对上述所提及的侧信息的泄露以及收集和处理的过程。

侧信道攻击与电子数据取证

图3 侧信道信息的泄露[1]

侧信道攻击与电子数据取证

图4 侧信道信息的收集和处理[1]

下图揭示了侧信道攻击的演变历史,如图所示,第一次被报道的侧信道攻击是在1969年,随后其继续发展,直到近年来爆出的Meltdown/Spectre以及MDS。

侧信道攻击与电子数据取证

图5 侧信道攻击的演变

在实际的生活中,侧信道攻击技术早已经被应用于各种场景,例如,在SQL注入攻击中,攻击者可以利用 BENCHMARK()函数,可以让同一个函数执行若干次,使得结果返回的时间比平时要长;通过时间长短的变化,可以判断出注入语句是否执行成功。这便是一种边信道攻击,这个技巧在盲注中被称为 Timing Attack。

又如,在硬件设备的实际应用中,会泄露出能量,电磁等多种类型的物理信息,这些信息便是侧信息,侧信息在密码计算的过程中是无法避免的,总会产生的,攻击者可以通过直接或间接的方式来获取加密算法运算过程中的中间值信息,然后对算法进行攻击,进而恢复出算法密钥,例如,例如对128 位的AES 算法,使用Cache 侧信道攻击只需要6-7 个加密周期就能成功恢复出其密钥。[2]

侧信道攻击与电子数据取证

侧信道攻击的种类及原理

如下图所示,根据Hardware Security-A Hands-on Learning Approach [1] 书中的内容,侧信道攻击可以分为以下的种类,如功耗攻击(Power(Consumption)Analysis), 电磁攻击(Electromagnetic Analysis),计时攻击(Timing Analysis)以及故障注入(Fault Injection)。

侧信道攻击与电子数据取证

图6 侧信道攻击的种类 [1]

下面简单概述部分侧信道攻击实现的原理:

0x00 *功耗攻击(Power Analysis Attack):功耗攻击的基本思想是通过分析设备的功耗来揭示设备的秘密信息。该攻击是非侵入性的,并且需要对设备进行物理访问,因为需要捕获在设备进行操作时产生的当前签名。功率分析攻击主要用于提取密码系统的密钥,因为它已经被用于在几分钟内成功破解AES。

侧信道攻击与电子数据取证

图7 功耗侧信道攻击的典型方法 [1]

0x01 * 电磁攻击(Electromagnetic Analysis Attack):电磁侧信道攻击专注于测量运行中的 IC (Integrated Circuit, 集成电路)发出的电磁波。这些电磁波被定义为以光速在真空中传播的电场和磁场的同步振荡。

电磁波是随着电流流经设备而产生的,其中晶体管和互连开关活动随着输入模式的变化而发生。该电流会产生 电磁信号。特定电流流动的电磁信号可能不仅受器件的物理或功能结构的影响,还可能受到其他元件的电磁波及其电流的影响。

攻击者通常旨在捕获由数据处理阶段的电流产生的电磁信号,在大多数波发生的地方,由于设备在执行数据处理操作时的开关活动。这些波通常被认为是无意的,它们允许关键信息在操作过程中自然泄露。在应用电磁侧信道分析时,可以轻松捕获开关活动并将其转换为在每个时钟周期中发生的一系列事件和实例。这种类型的攻击类似于功率侧信道分析,其中使用当前活动的一维视图从设备中提取关键机密。然而,功率分析攻击无法提取任何空间信息,例如特定当前活动的位置。另一方面,电磁侧信道攻击还可以识别 电磁信号的位置,这使其成为强大的攻击向量。

侧信道攻击与电子数据取证

图8 放置于FPGA上的电磁信号探测器 [1]   图9 电磁攻击的典型方法[1]

0x02 *故障注入攻击(Fault Injection):与功耗分析攻击不同,故障注入攻击是主动攻击,其故意向加密设备注入导致密钥泄露的故障 。注入故障旨在在设备运行期间引入临时故障。这种故障通常是一些内存或寄存器位的干扰。随着执行的继续,干扰,即单个/多个内存位置的翻转,传播到其他内存位置并最终导致输出损坏。我们称这种损坏的输出为错误密文。

如果故障被精确注入并具有特定属性,则攻击者可以使用故障密文推导出密钥。下图显示了故障攻击的整个过程。AES、RSA 和 ECC 等几种加密方案已被证明容易受到这种攻击。

侧信道攻击与电子数据取证

图10 故障注入攻击的典型方法[1]

0x03 *计时攻击(Timing Attacks):攻击者经常对密码系统应用计时分析来提取密钥,其中计时分析可以帮助攻击者确定密钥的哪些子集是正确的,哪些子集不正确。对手测量信号延迟的方式是在输入中应用变化,并记录在输出更新之前发生的延迟。其他技术包括关注功率或电磁信号以分析延迟,这主要用于受到攻击的设备具有时序电路或使用管道时。环境条件也可以帮助攻击者执行有效的计时分析,其中不同的工作温度可能会影响数据流的速度。例如,较高的温度通常会导致较慢的数据流,这有助于区分并行操作或高速操作。

侧信道攻击与电子数据取证

利用侧信道攻击进行电子数据取证

从攻击者的角度来讲,尽管侧信道攻击不像普通的漏洞一样利用,但是其也不失为一个大杀器;站在取证工作者的角度来讲,利用侧信道攻击,或许能够取得一些常规方式无法得到的结果,例如,利用电磁侧信道攻击来进行IOT设备的取证分析,这包括恶意病毒(Malware activities)的行为分析,甚至是硬件木马(Hardware Trojans)的取证分析。

0x04利用EM-SCA(Electromagnetic-Side-Channel-Attacks)分析IOT设备的内部活动(加密算法):

随着现代电子取证调查越来越多地遇到(IOT)设备的数据源,对检查IOT设备的非侵入性和可靠方法的需求也越来越强烈。Asanka Sayakkara [3] 等人的研究工作便强调了电磁侧信道攻击技术与机器学习算法相结合来解决这个问题的潜力。

侧信道攻击与电子数据取证

图11 利用H-probe 来采集树莓派的电磁辐射

在这些研究中,他们使用两个具有代表性的物联网设备,进行了一系列实验,以证明物联网设备的内部活动可以被可靠的识别。对运行在高端物联网设备上的密码算法进行分类的尝试表明,在 4 类分类问题中,使用非常简单的基于神经网络(Neural Network)的分类器可以实现超过 82% 的分类准确率。同样,在低端物联网设备上运行的各种类似程序的检测准确率超过 90%,这表明 EM-SCA 可用于以非常详细的粒度区分物联网设备的不同软件活动。同样的方法被证明在二进制分类问题中非常成功,能够实现 100%的准确度以检测设备上运行的Firmware是否已被篡改。

0x05 利用EM-SCA和ML分析IOT设备内部的软件活动:

Quan Le [4] 等人的工作旨在研究,如何应用机器学习算法来从IOT设备产生的电磁噪声中准确识别复杂活动。为此,他们创建了一系列分类模型,包括深度学习模型,以根据设备执行活动时发出的电磁噪声预测活动。通过使用具有不同计算时间复杂度的十种不同的知名排序算法生成数据集,并在 Arduino Leonardo 设备上运行它们以表示低功耗物联网设备。

侧信道攻击与电子数据取证

图12 Arduino 上程序的结构

这些算法不断地按升序对随机生成的 100 个元素的数组进行排序。他们进行了实验以确定哪些 ML 方法在生成的数据集上表现更好。此外,还进行了更多的实验来确定这些方法如何根据原始样本的窗口大小和训练它们的示例数量来执行。

因为物联网设备发出的侧通道电磁辐射是高维度的宽带信号,可以通过快速采样率捕获。因此,当捕获和存储用于分析时,称为 EM 轨迹(Traces)的 EM 数据文件通常占用数 GB。在分析此类 EM 轨迹以识别已知模式时,需要采用机器学习等人工智能技术。因为机器学习算法能够识别人类不易识别的大型和高维数据中的模式。

侧信道攻击与电子数据取证

图13 将 H-Loop天线放置在 Arduino 设备的处理器上

侧信道攻击与电子数据取证

图14  在对整个测试记录会话的数据进行测试时,具有最佳性能的模型的混淆矩阵

实验证明,可以从产生的 EM 噪声中以高精度预测设备正在执行的活动。即使元素的排序不同,ML 分类器也能够检测到执行算法,这显然需要在执行每个排序算法的指令时使用不同的顺序。已经对众所周知的排序算法进行了实验,以识别它们的性能。在测试的机器学习算法中,发现卷积神经网络CNN在识别单个软件活动方面最为有效。

0x06 利用EM-SCA和ML进行混淆恶意软件的分类:

Duy-Phuc Pham [5] 等人的研究工作证明,通过使用简单的神经网络模型,仅通过观察被监测设备的电磁信号,就有可能获得有关其状态的大量信息。

侧信道攻击与电子数据取证

图15 将 H-Field 探测器成45度放置在处理器上

侧信道攻击与电子数据取证

图16 病毒分析的框架

他们的工作证明,其方法不仅能够检测,而且能够确定感染运行完整Linux操作系统的Raspberry Pi的现实世界中恶意软件的类型,其在测试数据集上的准确率为99.89%,其中包括来自30个不同恶意软件样本(以及5个不同的良性活动)的20000条痕迹(Traces)。

综上,根据本文对侧信道攻击的介绍,以及结合几篇文章中的研究结果,相信侧信道攻击,以及机器学习算法会对电子数据取证产生越来越重要的影响。

参考文献:

[1] Bhunia, S., & Tehranipoor, M. (2018). Hardware Security: A Hands-on Learning Approach (1st ed.). Morgan Kaufmann.

[2]李志峰 & 高玉琢.(2021).基于高速缓存的侧信道攻击方法研究. 网络安全技术与应用(09),4-7. doi:CNKI:SUN:WLAQ.0.2021-09-003.

[3] Sayakkara, A., Le-Khac, N. A., & Scanlon, M. (2019). Leveraging Electromagnetic Side-Channel Analysis for the Investigation of IoT Devices. Digital Investigation, 29, S94–S103. https://doi.org/10.1016/j.diin.2019.04.012

[4] Le, Q., Miralles-Pechuán, L., Sayakkara, A., Le-Khac, N. A., & Scanlon, M. (2021). Identifying Internet of Things software activities using deep learning-based electromagnetic side-channel analysis. Forensic Science International: Digital Investigation, 39, 301308. https://doi.org/10.1016/j.fsidi.2021.301308

[5] Pham, D.-P., Marion, D., Mastio, M., & Heuser, A. (2021). Obfuscation Revealed: Leveraging Electromagnetic Signals for Obfuscated Malware Classification. Annual Computer Security Applications Conference, 706–719. https://doi.org/10.1145/3485832

侧信道攻击与电子数据取证
侧信道攻击与电子数据取证

原文始发于微信公众号(数据安全与取证):侧信道攻击与电子数据取证

版权声明:admin 发表于 2022年1月14日 上午8:15。
转载请注明:侧信道攻击与电子数据取证 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...