跳到主要内容
返回时间线
arXiv来源发表:

模板攻击从ChipWhisperer-Lite功耗轨迹中逐位还原float32神经网络权重,171条轨迹达99%成功率

相关研究与后续进展

核心概要

该工作提出一种模板攻击,针对已知输入与第一层权重之间的浮点乘法,在随机化网络配置下用乘法结果IEEE-754表示的汉明重量类别学习多元高斯模板,并以由粗到细到精确的分层搜索遍历32位候选空间;在ChipWhisperer-Lite与Arm Cortex-M4上,攻击逐位还原了目标权重的float32表示(0x3FB70A3D),在171条轨迹时成功率约99%,从263条轨迹起达到100%。

Source-provided article image: Guess My Weight: Profiled Side-Channel Recovery of Floating-Point Neural-Network Weights
Figure 1 ·

Figure 1: Pearson correlation between the profiling traces and the Hamming weight of the full 32 32 -bit product v = float32 ⁡ ( w ​ x ) v=\mathrm{float32}(wx) for every sample of the analysis window. The red markers are the five selected POIs.

arXiv

深度剖析

提出一种模板攻击,可从功耗测量中逐位还原IEEE-754单精度神经网络权重,目标为已知输入与第一层权重之间的浮点乘法。 此前针对浮点神经网络参数的侧信道攻击多假设数值精度受限,或采用非模板的相关分析方法;据作者所述,专门面向逐位32位浮点权重还原的模板攻击此前未被研究。 在ChipWhisperer-Lite与STM32F303(Arm Cortex-M4)上完成端到端实验,恢复值与真实float32表示0x3FB70A3D逐位一致。

在随机化网络配置下构建泄漏模板,其余网络参数作为冗余变量,模板刻画的是浮点乘法结果的汉明重量类别而非单个权重值。 模板不依赖某一固定网络配置,也不需要在模板构建时知道攻击阶段的目标权重,因此可对独立配置的目标网络评估候选权重。 profiling数据集覆盖多个随机配置,非目标权重在profiling中变化且未纳入泄漏模型;攻击阶段在固定目标网络上仍成功恢复。

引入由粗到细到精确的分层搜索,逐级提高数值分辨率与泄漏模型分辨率,使32位浮点候选空间的逐位还原可行。 避免对整个IEEE-754单精度空间做穷举,粗阶段用较少比特在完整权重区间定位候选区域,细阶段提高泄漏分辨率,精确阶段用完整32位模型区分相邻float32值与2的幂次相似值。 粗阶段保留六个分离峰值,细阶段将最接近真值的候选细化到真值以下若干ULP,精确阶段返回逐位正确的float32值。

通过成功率分析量化攻击效率:在评估设置下,171条轨迹达到约99%的逐位成功率,从263条轨迹起达到100%。 给出恢复所需轨迹数与成功率的经验关系,表明可靠恢复只需数百条测量,而非全部攻击轨迹。 实验对对数间隔的轨迹数重复多次,每次随机抽取攻击轨迹顺序并在嵌套子集上运行完整分层攻击,仅当恢复值与真实float32权重逐位相等时计为成功。

启示与展望

该结果面向具备profiling条件的攻击者:其知道网络架构与目标乘法位置、可选择网络输入、能测量目标设备功耗,并拥有同类型可编程设备用于profiling;实验在同一块物理板上完成,两阶段之间重新烧录固件。方法针对第一层第一个权重,因为其一个乘数由攻击者直接选定,而后续层权重的输入激活依赖前面的加权和与非线性函数。模板刻画的是浮点乘法结果的汉明重量类别,因此可对独立配置的目标网络评估候选权重。分层搜索在完整权重区间定位候选、细化邻近数值、并以完整32位模型区分相邻float32值与2的幂次相似值,从而在保持逐位还原能力的同时降低搜索成本。

作者将研究范围限定为单一目标平台上的第一层第一个权重,并指出后续工作应扩展到多网络配置与更深层、考察模板跨设备与跨测量会话的可移植性,以及更大或更均衡的profiling数据集对稀疏汉明重量类别的影响。profiling中部分汉明重量类别样本不足,其类别均值由对已充分填充类别的线性外推得到,这类类别的似然估计精度值得关注。噪声标准差约为相邻类别均值差的两到三倍,单条轨迹信息量有限,需累积多条轨迹。此外,原文中若干具体数值(如轨迹数、采样率、类别比例、相关系数区间、ULP数等)在提供的文本中缺失,因此本总结未给出这些数字。

来源