← 最新论文
💻 计算机科学

Function Recognition from Raw Power Side Channels in Bare-Metal Embedded Systems: Feasibility and Limits

本文表明,虽然利用特定类别的自动编码器从裸机嵌入式系统的原始功耗轨迹中识别特定的 C 函数是可行的,但由于信号的相似性和变化性,该方法面临着内在的物理限制,使其定位为一种补充性的行为信号,而非独立的安全性检测器。

原作者: Mohammed Mezaouli, Yehya Nasser, Samir Saudi, Marc-Oliver Pahl

发布于 2026-11-10
📖 1 分钟阅读☕ 轻松阅读

原作者: Mohammed Mezaouli, Yehya Nasser, Samir Saudi, Marc-Oliver Pahl

原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 ✨ 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

在资源受限、静谧的嵌入式系统世界里,这些驱动着从工业传感器到汽车控制器等各种设备的微型计算机,通常在没有完整操作系统作为安全网的情况下运行。这些“裸机”设备高效且快速,但其简单性也为安全监控带来了盲点。由于没有操作系统来记录每一个动作,很难得知软件在运行时实际在做什么。多年来,研究人员一直在寻找一种方法,通过监听设备发出的物理信号来窥探这些“黑盒”内部的情况。正如人的心跳会随活动而变化一样,这些微控制器也会发出微小的电流波动,这些波动会随着它们正在执行的代码而发生偏移。这种被称为“功耗侧信道”的现象表明,设备的物理能量消耗可能会揭示其内部的软件行为,从而提供一种无需信任机器本身即可验证机器正在做什么的方法。

法国阿特兰蒂克理工大学(IMT Atlantique)的一个研究小组致力于测试这一想法的极限。他们提出了一个基本问题:是否可以通过观察一个持续运行设备的原始功耗,来识别特定的、常见的计算机指令——例如那些进行内存复制或清空的指令?为了找出答案,他们使用一个标准的微控制器和一个专门的示波器构建了一个测试环境,用以记录设备运行各种程序时的电流情况。他们专注于五个常涉及安全漏洞的关键功能:内存复制(memory copy)、内存设置(memory set)、内存移动(memory move)以及两种字符串处理操作。研究人员并不试图解码整个程序或寻找特定的漏洞;相反,他们希望看看功耗轨迹本身是否可以作为一个可靠的指纹,用以说明:“现在正在发生这个特定的动作。”

该团队比较了不同的方法来解读这些功耗轨迹。他们尝试了类似于语言模型预测下一个词的、能够观察时间序列模式的高级序列模型。然而,他们发现了一种更有效的方法,即为每个特定的功能训练一个独立的、专门的模型。想象一位保安记住了五个特定人物的精确步态;他不是试图猜出所有人是谁,而是简单地检查一个人是否符合其中五个已知模式之一。如果这个人不符合任何一个模式,保安就会忽略他们。在他们的实验中,这种为每个功能使用独立模型的方法效果最好。当设备运行包含这五种目标函数与其它活动的连续代码流时,该系统正确识别目标函数的准确率达到了96%。它仅有4%的时间未能识别目标,对于一个被动监控系统来说,这是一个很强的成果。

然而,这项研究也揭示了这项技术所能达到的明确边界。研究人员发现,并非所有的软件功能都能在功耗中留下足够明显的痕迹以便被轻易识别。有两个特定的功能——一个用于分配内存,另一个用于复制字符串——被证明几乎无法从其他操作中区分出来。内存分配函数过于一致;无论请求的内存大小如何,它使用的功率几乎完全相同,导致系统无法捕捉到任何变化。字符串复制函数则与其他的内存操作过于相似,产生了一个与其邻近操作混在一起的功耗特征。因此,系统难以将这些特定的动作与设备其他活动的背景噪声区分开来。

结果表明,虽然原始功耗监控是观察软件行为的一种强大工具,但它并不是解决所有安全问题的万灵药。该系统成功地在不需要在设备上安装任何软件的情况下,从连续的数据流中识别出了特定且具有安全相关性的动作的存在。这提供了一层独立的证据,可以与传统的软件日志配合使用。然而,高频率的误报(即系统错误地认为目标函数正在运行,而实际上并未运行)意味着这种方法目前还不能独立作为安全警报。它是一个告诉你某种特定类型的活动可能正在发生的传感器,但它需要其他证据来确认该活动是安全的还是危险的。最终,这项工作证明了物理信号可以揭示软件行为,但仅限于物理信号本身还能提供足够独特的信息以区分这些动作的程度。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →