侧信道攻击如何从嵌入式AI中窃取Logits并生成对抗样本
1. 项目概述当侧信道攻击撕开嵌入式AI的黑盒在嵌入式AI的世界里我们常常把部署在微控制器MCU或边缘设备上的神经网络模型看作一个“黑盒”——输入数据得到预测结果内部的计算过程如同一个不透明的魔法。这种黑盒特性一度被认为是模型知识产权和系统安全的一道屏障。然而最近几年一种源自密码学硬件安全领域的古老技术——侧信道攻击正在悄然改变这个局面。它不尝试破解复杂的算法而是像一个精明的侦探通过监听设备运行时泄露的“物理蛛丝马迹”比如功耗的细微波动或电磁辐射的特定模式来反推其内部的秘密。我最近深入研究了一项来自AISec‘23会议的前沿工作它生动地展示了侧信道攻击如何系统性地打破嵌入式AI的黑盒假设。这项研究没有去攻击复杂的卷积层或全连接层而是瞄准了一个看似平凡却至关重要的环节Softmax函数。通过在ARM Cortex-M7芯片上针对流行的轻量级神经网络部署框架NNOM研究者成功地从电磁辐射信号中提取出了模型分类前的原始得分——Logits。更关键的是他们利用提取到的Logits结合黑盒对抗样本生成技术完成了从物理信息窃取到生成可欺骗模型的恶意样本的“端到端”攻击链。这不仅仅是一个学术演示。对于从事物联网安全、边缘AI部署或硬件安全的工程师来说这意味着我们必须重新评估嵌入式AI系统的安全边界。模型参数和架构的保密可能并不足以抵御一个拥有物理访问权限、手持示波器的攻击者。本文将带你深入拆解这项攻击的完整逻辑、技术细节与实操要点理解攻击者如何步步为营以及我们作为防御方又该如何思考。2. 攻击蓝图威胁模型与核心思路拆解任何有效的攻击分析都必须始于清晰的威胁模型。这定义了攻击者的能力、目标和环境是我们理解攻击可行性与严重性的基石。2.1 威胁模型攻击者画像与能力假设这项研究设定了一个强有力但并非不现实的攻击者画像物理访问能力攻击者能够物理接触到目标设备标记为 D*的一个同款硬件副本标记为 D。这听起来要求很高但在许多场景下是可能的。例如攻击者可能是供应链中的恶意内部人员、负责硬件设计的团队成员或者仅仅是购买了一台相同的商用设备比如同一批次的智能摄像头或物联网网关。拥有副本设备D是进行模板攻击或剖析式侧信道攻击的关键前提。软件/框架知识攻击者知道目标设备上运行的是哪个深度学习部署框架在本案例中是NNOM。开源框架的广泛使用使得这一假设非常合理。攻击者甚至可以根据开源代码在自己的设备D上复现一个功能相同的神经网络推理程序。测量能力攻击者配备有高精度的示波器和电磁探头能够采集目标设备D*在运行时的功耗或电磁辐射轨迹。这是侧信道攻击的“眼睛”。攻击阶段攻击发生在模型的推理阶段。模型已经训练完毕并部署攻击者的目标不是篡改训练过程而是窥探运行时的内部状态。对模型知识的假设这是本攻击最巧妙的一点——攻击者无需知道目标神经网络的具体架构如层数、神经元数量。因为攻击的目标是Softmax函数这是一个与具体网络架构无关的、标准的后处理函数。只要目标模型使用了NNOM框架的local_softmax_q7()函数攻击就成立。这个威胁模型描绘了一个具备专业硬件分析技能的内部或近距离攻击者其目标是从运行中的黑盒模型里提取出关键的Logits信息。2.2 核心攻击路径从物理泄露到对抗样本整个攻击流程可以清晰地分为两个阶段如下图所示概念图[阶段一侧信道剖析与Logits提取] 拥有副本设备D 面对目标设备D* | | |--- 1. 剖析阶段 ----------------------| | 在D上运行已知输入的模型 | | 同时采集其电磁轨迹 | | 建立“输入Logits值”与“轨迹特征”的映射模型。| | | |--- 2. 攻击阶段 ----------------------| | 对D*输入未知数据 | 采集少量如5条轨迹 | 使用阶段一训练的模型 | 预测出D*内部产生的Logits值。 | | ---------------- 成功提取Logits ---- [阶段二基于Logits的黑盒攻击] | |--- 3. 对抗样本生成 ------------------| 将提取的Logits视为“白盒信息” 输入到ZOO等无需梯度的黑盒攻击框架中 优化生成对抗样本欺骗原模型。为什么选择Softmax和Logits这体现了攻击者的精明选择。直接攻击大型神经网络的中间层计算数据流复杂噪声干扰大。而Softmax函数是推理管道的最后一步输入是固定长度的Logits向量例如MNIST的10个值输出是归一化的概率。攻击这个函数目标明确固定位置、固定长度的数据且Logits直接反映了模型对输入的分类置信度是生成高质量对抗样本的黄金信息。攻击的泛化性由于攻击的是框架层面的通用函数Softmax的实现而非某个特定网络的权重因此该攻击方法可以跨模型迁移。只要目标设备使用相同的框架NNOM和类似的软硬件环境攻击一套剖析模型就可能威胁到部署在该平台上的多种不同AI模型。3. 靶心剖析NNOM框架Softmax函数的安全缺陷任何侧信道攻击都需要找到一个“泄漏点”。在这个案例中研究人员通过代码审计在NNOM框架的量化Softmax函数实现中找到了这样一个点。3.1 关键代码与汇编泄漏分析NNOM框架的local_softmax_q7()函数采用了一种优化策略来避免在资源受限的MCU上计算昂贵的指数运算。其核心步骤之一是寻找Logits向量中的最大值。以下是其简化后的C代码逻辑// 假设 base 初始化为一个很小的值例如 -257 for (i 0; i dim_vec; i) { if (vec_in[i] base) { // vec_in 即 Logits 向量 base vec_in[i]; } }这段代码遍历Logits数组不断更新base变量为当前最大值。问题就出在这个简单的比较和赋值操作上。当这段C代码被编译成ARM Cortex-M7的汇编指令后关键操作暴露无遗; 对应 if (vec_in[i] base) ldr r3, [r7, #32] ; 加载循环索引 i 的地址 ldr r2, [r7, #12] ; 加载Logits数组基地址z add r3, r2 ; 计算当前Logit元素 z[i] 的地址 ldrsb.w r3, [r3] ; 【关键泄漏点】将 z[i] 的值从内存加载到寄存器 r3 sxth r3, r3 ; 符号扩展 ldrsh.w r2, [r7, #30] ; 【关键泄漏点】将当前 base 值加载到寄存器 r2 cmp r2, r3 ; 比较 base 和 z[i]泄漏原理在嵌入式系统中当CPU执行ldrsb.w加载有符号字节和ldrsh.w加载有符号半字这类数据加载指令时其功耗或电磁辐射会与所加载数据的汉明重量二进制表示中‘1’的个数或数据值本身高度相关。这是因为从内存或缓存到寄存器的数据总线上的电平翻转、内部电路的门控活动都与传输的数据位模式有关。因此每当循环执行一次加载z[i]到r3时泄漏了第i个Logit的值。加载base到r2时泄漏了当前已找到的最大值。由于Logits是8位量化整数其值范围有限例如-128到127攻击者可以通过分析这些加载指令执行时刻的侧信道轨迹来推断出正在处理的具体数值。3.2 实验设置与数据采集为了验证这一漏洞研究团队搭建了标准的侧信道分析平台目标硬件STM32F767 Nucleo-144开发板核心为ARM Cortex-M7 MCU运行频率216MHz。搭载一个用TensorFlow训练、经NNOM转换并部署的DenseNet模型用于MNIST手写数字识别。数据采集传感器Langer RF-U 2.5电磁探头搭配ZFL-2000G放大器捕获30MHz至3GHz的电磁辐射。采集设备Lecroy WaveRunner 625Zi示波器2.5 GHz带宽。触发在local_softmax_q7()函数执行前后设置硬件触发精准抓取该函数运行期间的电磁轨迹。数据规模对于每一个待攻击的Logit共10个在剖析设备D上采集了190万条轨迹用于训练剖析模型在攻击目标设备D*时仅需采集1000条轨迹用于实际攻击。实操心得触发设置是关键在实际侧信道分析中从漫长的程序执行轨迹中精准定位到目标代码段如Softmax函数是第一步也是成败的关键。通常有两种方法软件触发在目标函数开始和结束处插入使能GPIO引脚高低电平变化的代码。示波器则监视该GPIO引脚以其跳变作为触发信号。这是最精准的方法但需要修改目标固件。模式识别触发如果无法修改代码则需要通过观察大量的功率或电磁轨迹找到与目标函数执行对应的独特波形模式例如一段规律性的循环脉冲并以此模式设置示波器的触发条件。这需要一定的经验。 本研究中采用了第一种方法在NNOM源码中加入了触发代码确保了轨迹对齐的准确性大大降低了后续信号处理的难度。4. 攻击三部曲三种侧信道分析方法实战解析有了泄漏点和数据下一步就是如何从嘈杂的轨迹中提取出我们想要的Logit值。研究团队系统性地比较了三种经典的侧信道分析方法它们构成了一个从“特例”到“通用”的解决方案光谱。4.1 方法一模板攻击——基于高斯假设的经典方法模板攻击是侧信道分析中最经典、最直观的剖析攻击方法。其核心思想是对于每一个可能的明文在这里是每一个可能的Logit值假设为-128到127共256种在剖析设备D上采集大量轨迹为每个值建立一个“模板”。这个模板描述了当设备处理该特定值时采集到的轨迹所服从的多维高斯分布特征均值和协方差矩阵。攻击时在目标设备D*上采集一条未知轨迹计算这条轨迹属于哪个模板即哪个Logit值的概率最大就将该值判定为攻击结果。实操过程与参数数据预处理原始轨迹长达31000个时间点维度极高。直接用于模板计算会遭遇“维数灾难”。研究采用了信噪比筛选法计算每个时间点上信号不同Logit值对应的轨迹均值差与噪声轨迹方差的比值保留SNR高于某个阈值的时间点。例如对于Logit 0保留了SNR 5.0e-3的6514个点。模板构建对于每个可能的Logit值v用其对应的所有剖析轨迹计算该子集在降维后特征点上的均值向量μ_v和协方差矩阵Σ通常假设不同密钥值的噪声协方差相同以简化计算和避免过拟合。匹配攻击对于一条攻击轨迹t计算其与每个模板的多元高斯概率密度P(t | v) ∝ exp(-0.5 * (t - μ_v)^T Σ^-1 (t - μ_v))。概率最大的v即为攻击结果。结果与局限 实验结果显示模板攻击能够成功提取部分Logit。例如提取第5个Logit平均只需8条攻击轨迹。但其平均成功率在11条轨迹时约为66%且对第10个Logit完全失败。这表明简单的多元高斯分布假设并不能完美刻画所有Logit泄漏的复杂物理特征尤其是当泄漏与数据的关系高度非线性时。4.2 方法二多项逻辑回归——更灵活的判别模型为了突破高斯假设的限制研究者引入了多项逻辑回归模型。你可以把它理解为一个没有隐藏层的神经网络直接对降维后的轨迹特征进行线性加权求和然后通过Softmax输出每个可能Logit值的概率。为什么更优逻辑回归属于广义线性模型它通过训练学习特征与目标类别Logit值之间的权重关系而不强制要求数据符合高斯分布。它能捕捉更复杂的线性决策边界。模型配置输入层降维后的轨迹特征例如数千个点。输出层一个Softmax层神经元数量等于Logit可能取值的数量256个。训练使用Adam优化器学习率1e-5批量大小512在D的剖析数据上训练20轮。结果提升 如图7b所示多项逻辑回归的性能显著优于模板攻击。使用10条攻击轨迹时平均成功率提升至80%并且所有10个Logit都至少被成功提取过一次。这验证了使用更通用模型来拟合侧信道泄漏的有效性。然而它仍然存在不足比如对第5个Logit的攻击效果相对较差说明线性模型可能仍不足以完全捕捉泄漏中的所有非线性信息。4.3 方法三基于深度学习的侧信道攻击——当前最优解DLSCA是当前侧信道分析领域的前沿方法。它使用深度神经网络如MLP、CNN作为剖析模型其强大的非线性拟合能力可以学习从侧信道轨迹到敏感值之间极其复杂的映射关系。网络架构与训练 研究采用了一个多层感知机输入层降维后的轨迹特征。隐藏层3层神经元数量分别为1000, 1000, 100。使用ReLU激活函数引入非线性。输出层Softmax层对应256个可能的Logit值。训练同样使用Adam优化器但学习率调整为更高的1e-4因为网络更复杂批量大小512训练20轮。压倒性优势 DLSCA取得了近乎完美的结果图7c。平均仅需5条攻击轨迹就能以100%的成功率提取出所有10个Logits。这充分展示了深度学习在特征提取和模式识别方面的强大能力。对于攻击者而言这意味着一旦完成了在副本设备D上可能需要大量数据和计算时间的神经网络训练在实际攻击目标D*时效率将极高。注意事项DLSCA的挑战尽管DLSCA效果拔群但它并非银弹数据需求量大需要海量的剖析轨迹本研究为190万条/Logit来训练一个泛化能力强的模型。训练成本高训练深度神经网络需要强大的计算资源GPU和较长时间。可解释性差这是一个“黑盒”模型我们很难理解它究竟从轨迹中学习了哪些特征这给防御措施的针对性设计带来困难。过拟合风险如果剖析设备D与目标设备D*之间存在细微的制造差异或环境噪声不同训练好的模型可能无法很好地泛化。三种方法对比总结表攻击方法核心思想优点缺点本实验效果约模板攻击为每个可能值建立高斯分布模板原理简单计算量相对小可解释性强假设强高斯性对复杂泄漏建模能力弱11条轨迹66%成功率多项逻辑回归训练一个线性广义分类器比模板攻击更灵活无需强分布假设仍为线性模型无法捕捉复杂非线性关系10条轨迹80%成功率深度学习侧信道攻击训练一个深度神经网络作为分类器建模能力极强能捕捉复杂非线性特征效果最好需要大量数据训练成本高可解释性差5条轨迹~100%成功率5. 致命一击从Logits到对抗样本的生成成功提取Logits只是第一步证明了黑盒可以被窥视。但攻击的终极目标往往是欺骗模型。传统的黑盒对抗攻击需要向目标模型发起海量查询来估计梯度效率低下。而现在有了提取的Logits攻击者瞬间获得了“准白盒”视角。5.1 为何Logits是“黄金信息”在神经网络中Softmax层的输入Logitsz包含了比最终概率输出p softmax(z)更丰富、更精确的信息。概率输出经过了归一化且为了数值稳定性常会进行截断或缩放损失了部分信息。而Logits直接反映了模型在最终决策前各个类别的“原始得分”其相对大小和数值范围对于基于梯度的攻击算法至关重要。5.2 集成ZOO攻击框架研究选择了ZOOZeroth Order Optimization攻击框架作为生成对抗样本的工具。ZOO是一种无需模型内部梯度信息的黑盒攻击方法它通过有限差分法来估计梯度。原本ZOO需要向目标模型发起大量查询来获得概率输出以进行优化。但现在攻击流程变为侧信道提取向目标设备D*输入一个原始图像x通过侧信道攻击如DLSCA提取出模型对该图像产生的Logits向量z。计算概率在攻击者自己的计算机上对提取的Logitsz执行Softmax运算得到近似的概率向量p_hat。ZOO优化将p_hat作为目标函数的反馈输入ZOO算法。ZOO通过不断微调输入图像x并反复查询即重复步骤1和2来获得新的Logits和概率从而优化出一个对抗样本x_adv使得模型对其分类错误。关键优势这种方法将原本需要数百万次网络API查询的黑盒攻击转化为了只需要数万次物理侧信道测量的攻击。虽然物理测量的速度远低于网络查询但它绕过了所有基于网络或API的访问控制和速率限制在物理安全薄弱的场景下更具威胁。5.3 攻击效果评估与对比为了衡量该方法的有效性研究者将其与一种经典的基于替代模型的白盒攻击方法进行了对比本方法Logits提取ZOO如上所述利用侧信道获取Logits。替代模型法训练一个与目标模型架构相似的替代网络用目标模型标注少量数据来训练它。然后在替代模型上使用白盒攻击如BIM基本迭代法生成对抗样本希望这些样本能“迁移”到黑盒的目标模型上。结果对比如下表所示评估指标本方法 (Logits提取 ZOO)替代模型白盒攻击 (BIM)攻击成功率100%56.61%平均失真 (L2)7.545.80生成所需请求次数~1.9 × 10⁶~6000结果解读100% vs 56.61%的成功率这是最显著的差异。本方法因为直接利用了目标模型的真实Logits尽管是通过侧信道窃取的所以生成的对抗样本对原模型是100%有效的。而替代模型法受限于模型差异和有限的训练数据生成的样本迁移成功率不足60%。请求次数本方法需要约190万次请求这主要耗费在前期的剖析阶段为每个Logit采集190万条轨迹训练DLSCA模型。一旦剖析模型训练完成实际攻击阶段生成一个对抗样本仅需约5万次物理测量5条轨迹/次 × 最多10000次ZOO迭代。而替代模型法的6000次请求是纯数字API查询。虽然数字查询更快但本方法在物理隔离场景下是唯一可行的路径。失真度两者生成的对抗样本的L2失真度相近都在可接受范围内。较高的失真度部分归因于目标模型使用了8位量化输入需要更大的扰动才能改变量化后的整数值。实操心得端到端攻击的复杂性将侧信道提取与上层攻击框架结合时会遇到一些工程挑战同步与对齐ZOO算法每次迭代都需要新的Logits。这意味着需要编写自动化脚本协调示波器采集、侧信道模型推理、ZOO参数更新、以及向目标设备发送新图像这一整个循环。噪声与错误累积侧信道提取并非100%准确尽管DLSCA接近。提取错误的Logits会误导ZOO的优化方向可能导致优化失败或需要更多迭代。需要在ZOO的优化循环中引入一定的容错或验证机制。时间成本物理测量是主要瓶颈。优化一个对抗样本可能需要数小时甚至数天这限制了攻击的实时性但仍对高价值目标构成威胁。6. 防御思路探讨与未来展望这项研究敲响了嵌入式AI硬件安全的警钟。它表明仅仅关注模型架构和参数的软件保密是不够的。那么作为开发者或安全工程师我们可以从哪些方面进行防御呢6.1 软件/算法层面的缓解措施修改Softmax实现既然攻击针对的是寻找最大值循环中的加载指令可以尝试改变实现方式以减少或混淆数据依赖的泄漏。恒定时间编程确保无论Logits的值如何循环的执行路径和内存访问模式都是恒定的。例如可以使用位操作或查找表来避免分支和与数据相关的内存访问。掩码在计算过程中对Logits值添加随机掩码在计算完成后再去除。这能有效破坏侧信道信号与真实数据之间的相关性。输出混淆在Softmax之后增加一个输出扰动层例如添加微小的、不改变分类结果的噪声或者对输出的概率进行轻微的、不可预测的变换。这可以增加攻击者从最终输出反推Logits的难度。使用更复杂的后处理考虑使用不以Logits为明确中间值的分类器输出方式或者将Logits的计算与其他操作交织在一起增加侧信道分析的难度。6.2 硬件/系统层面的防护噪声注入在电源线上或芯片内部引入可控的随机噪声可以显著降低信噪比使得侧信道信号被淹没。但这可能会影响芯片的正常性能。时钟抖动让处理器时钟频率随机轻微抖动使得每次执行指令的时序都不完全一致打乱侧信道轨迹的时间对齐增加模板构建和攻击的难度。专用安全硬件对于高安全要求的场景考虑使用带有侧信道防护机制的硬件安全模块来执行关键的AI推理任务或者使用具有内置对抗性防护功能的AI加速器。物理防护采用屏蔽罩、保形涂层等措施增加攻击者获取高质量电磁或功耗信号的难度。6.3 给开发者的实用建议安全评估左移在嵌入式AI产品开发初期就将侧信道分析纳入安全威胁模型。对关键的AI推理代码尤其是涉及敏感中间值的部分进行侧信道脆弱性评估。谨慎选择部署框架了解你所使用的轻量级部署框架如NNOM, TensorFlow Lite for Microcontrollers, uTVM等在实现关键算子时是否考虑了侧信道安全。优先选择那些采用恒定时间实现或提供了安全选项的框架。最小化信息泄露思考模型输出是否真的需要提供详细的概率或Logits。在某些应用场景下只输出最终的分类标签Top-1可以大幅增加攻击者获取模型内部信息的难度。监控与异常检测在设备端部署轻量级的异常检测机制监控推理过程的功耗或时序特征。如果检测到与正常模式偏差过大的、重复性的查询模式可能来自ZOO类的优化攻击可以触发警报或采取限制措施。这项研究开辟了一个软硬件安全交叉的新战场。它提醒我们在万物互联、AI普及的时代安全必须是一个全栈的、贯穿始终的考量。攻击者已经从纯粹的虚拟空间走向了利用物理世界信息泄露的复合攻击路径。作为守护者我们的防御思维也需要同步升级从芯片、到代码、到算法构筑起立体的安全防线。