故障注入参数搜索策略:探索与实践
在电子设备安全领域,故障注入(Fault Injection,FI)是一种重要的测试手段,它可以帮助我们发现设备在异常情况下的潜在漏洞。本文将深入探讨VCC FI参数的搜索策略,旨在找到能实现成功故障注入的最佳参数组合。
1. 研究贡献
- 提出新方法 :我们提出了一种全新的方法来解决寻找故障注入合适参数集的难题。该方法基于适用于当今智能卡的模型,将故障注入分为两个阶段,分别关注电压参数和正确的时序。
- 开发高效策略 :通过对多种方法进行实验,我们开发了一种高效的搜索策略,该策略能有效节省时间,并能突破一些现成设备的防护。
- 倡导新方向 :基于遗传算法的初步结果,我们为该问题的研究倡导了一个新的方向。
2. 问题陈述
我们的目标是找到一种搜索策略,以确定能实现成功VCC FI攻击的参数。搜索的输入包括搜索策略所需的参数以及每个参数的初始估计范围。搜索空间是定义VCC FI攻击所需的所有参数的所有可能值组合的集合。在黑盒场景下,搜索的目标是以最少的测量次数获取设备行为的最大信息,并找到能定义成功VCC FI攻击的参数(如果设备易受故障攻击)。搜索的输出包括设备行为报告,以及可能导致成功VCC FI攻击的参数组合或参数组合集,还可能包括触发设备意外行为的参数组合。
3. 模型
为了降低问题的复杂度,我们将搜索过程分为两个阶段:
-
第一阶段
:寻找合适的故障形状,该形状包含定义信号的所有参数。此阶段主要关注故障电压和故障长度这两个参数。
-
第二阶段
:寻找注入故障的正确时序。该阶段使用第一阶段输出的故障形状(故障长度和故障电压)进行时间扫描。
以下是基于故障电压和故障长度预测测量结果的假设:
1. 存在故障电压上限VLOW,如果故障电压设置为该值或更高,设备将忽略故障,得到NORMAL结果。
2. 存在故障电压下限VHIGH,如果故障电压设置为该值或更低,设备将把故障视为电源切断或篡改尝试,得到RESET或MUTE结果。
3. 存在故障长度下限LLOW,如果故障长度设置为该值或更低,设备将忽略故障,得到NORMAL结果。
4. 存在故障长度上限LHIGH,如果故障长度设置为该值或更高,设备将把故障视为电源故障或篡改尝试,得到RESET或MUTE结果。
5. 如果故障电压和故障长度分别在(VLOW, VHIGH)和(LLOW, LHIGH)范围内,设备的响应还取决于故障的其他参数(包括故障形状和故障时序)。
可能的结果类别解释如下:
-
NORMAL
:设备响应符合预期。
-
RESET和MUTE
:设备在测量过程中相应地做出响应。
-
INTERESTING
:指示NORMAL和RESET/MUTE区域之间的决策边界加上一定阈值距离所定义的区域。如果这两个区域重叠,INTERESTING类别将出现在它们的交集处。
-
CHANGING
:与INTERESTING结果出现在同一区域,当两次使用相同故障形状参数配置的测量得到不同结果时,分配该类别。
-
SUCCESSFUL
:出现在产生INTERESTING结果的(故障电压,故障长度)区域内,可能有多个参数组合产生SUCCESSFUL结果。
4. 实验设置
实验在三个目标设备上进行:Target A是未受保护的智能卡,适合训练阶段;Smart cards B和C则针对多种FI技术(特别是VCC FI)进行了防护。为了避免VCC FI攻击可能导致设备永久故障的影响,每个卡使用了多个样本。
初始搜索空间参数如下表所示:
|参数名称|参数值|
| ---- | ---- |
|故障电压|[−5, −0.05] V|
|故障长度|[2, 150] ns|
|VCC电压VCC|5 V|
|CLK高电压|5 V|
|CLK低电压|0 V|
|CLK信号频率|1 MHz|
|故障数量|从[1, 10]中随机选取的值|
实验中使用的算法及相关参数如下:
-
Monte Carlo搜索(基线)
:进行2048次测量。
-
FastBoxing
:2次迭代(maxIter = 2),每次迭代进行4·4·64 = 1024次测量(n = 4,numMeas = 64),最大迭代次数为10000(maxIter = 10000)。
-
Adaptive zoom&bound
:最大迭代次数为10000(maxIter = 10000),4 · 4网格(n = 4),每次迭代进行1或3次测量(numMeas = 1,numMeas = 3)。
-
遗传算法
:最大代数为20,种群大小为30,连续无改进的最大代数为50。
5. 实验结果与讨论
5.1 Monte Carlo策略
该策略在给定的初始搜索空间内随机选择参数组合进行测量,每个参数的随机分布被认为是均匀的。短测试运行(3072次测量)未得到SUCCESSFUL测量结果,仅在76800次测量的测试运行中产生了11次SUCCESSFUL测量结果。由于参数选择的随机性,故障形状的参数组合(故障长度,故障电压)存在大量重复。在产生INTERESTING结果的平面区域内,这种重复可能有意义,但在设备响应可预测的测量中,这种重复是不希望出现的。
5.2 FastBoxing策略
FastBoxing算法是一种简单的迭代算法,用于自动设置搜索第一阶段的参数。该算法假设故障形状的边界为VHIGH、VLOW、LLOW和LHIGH,并通过测量步骤和反射步骤来尝试找到这些边界。每次迭代的测量步骤包括对搜索空间进行采样并在采样点进行测量,反射步骤用于估计边界。
以下是FastBoxing策略的实验结果:
|设备|测试重复次数|测试中的平均总测量次数|INT(M)|SUC(M)|INT(%)|SUC(%)|
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
|Target A|5|3048 (2048 + 1000)|26|9|0.800|0.361|
|Target B|5|3048 (2048 + 1000)|0|0|0.00|0.00|
|Target C|1|3048 (2048 + 1000)|0|0|0.00|0.00|
对于易受攻击的设备Target A,对INTERESTING结果类别的不准确估计导致了不良的(故障长度,故障电压)参数组合选择。因此,SUCCESSFUL测量的数量因参数组合的随机选择而有很大差异。不过,聚焦于产生INTERESTING结果类别的搜索空间区域时,搜索性能显著提高,所有测试运行都产生了INTERESTING和SUCCESSFUL测量结果。
5.3 Adaptive zoom&bound策略
Adaptive zoom&bound搜索策略通过减小故障形状搜索空间中新测量之间的距离,迭代地界定产生INTERESTING或CHANGING结果类别的区域,并在该区域内进行“缩放”。该策略使用与FastBoxing算法类似的两步迭代过程,但反射步骤的处理方式不同。在反射步骤中,通过检查测量点及其邻居的结果类别来估计结果类别之间的边界,并在边界处添加新的测量点。
以下是Adaptive zoom&bound策略的实验结果:
|设备|测试重复次数|测试中的平均总测量次数|INT(M)|SUC(M)|INT(%)|SUC(%)|
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
|Target A|5|1198 (198 + 1000)|47|13|3.895|1.064|
|Target B|5|1128 (128 + 1000)|0|0|0.00|0.00|
该策略的结果优于之前的搜索策略。完成参数搜索第一阶段所需的测量次数非常少,搜索速度显著提高。在实验中使用的初始搜索空间下,最佳性能计算为112次测量。对于Target A,由于设备在产生INTERESTING结果类别的搜索空间区域内的行为,搜索策略需要更多的测量。此外,INTERESTING和SUCCESSFUL测量的数量几乎是FastBoxing算法的四倍。
通过实验,我们还观察到故障形状参数(故障长度,故障电压)在同一设备的不同样本之间是可移植的,而产生SUCCESSFUL结果的时间相关参数在不同样本之间会发生变化。此外,我们还在Target C上实现了一次成功的VCC FI攻击,尽管该目标设备采用了针对VCC故障注入的特定对策,并获得了EAL4+认证。
综上所述,Adaptive zoom&bound策略在寻找能实现成功VCC FI攻击的参数方面表现出色,为电子设备的故障注入测试提供了一种高效的方法。未来的研究可以进一步探索如何优化这些搜索策略,以及如何将其应用于更复杂的设备和攻击场景。
下面是搜索过程的mermaid流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(定义搜索空间和参数范围):::process
B --> C{选择搜索策略}:::decision
C -->|Monte Carlo| D(随机选择参数组合进行测量):::process
C -->|FastBoxing| E(迭代寻找故障形状边界):::process
C -->|Adaptive zoom&bound| F(迭代界定产生INTERESTING结果的区域):::process
C -->|遗传算法| G(基于遗传算法搜索参数):::process
D --> H{是否达到测量次数上限}:::decision
E --> H
F --> H
G --> H
H -->|是| I(生成设备行为报告和结果输出):::process
H -->|否| C
I --> J([结束]):::startend
故障注入参数搜索策略:探索与实践(续)
6. 策略对比分析
为了更清晰地了解各种搜索策略的优劣,我们对上述几种策略进行了详细的对比分析,如下表所示:
|策略名称|测量次数|成功测量情况|边界估计准确性|参数组合重复性|搜索速度|
| ---- | ---- | ---- | ---- | ---- | ---- |
|Monte Carlo|短测试3072次无成功,76800次有11次成功|成功测量次数少且依赖大量测量|无明确边界估计|存在大量重复组合|较慢|
|FastBoxing|每次迭代1024次,多次迭代|成功测量数量因随机选择差异大|对边界估计有一定方法但不准确|相对较少重复|一般|
|Adaptive zoom&bound|完成第一阶段最少112次|INTERESTING和SUCCESSFUL测量多|能准确界定区域|较少重复|快|
|遗传算法|最大代数20,种群大小30等|未详细提及成功情况|未明确体现边界估计|未提及重复情况|未明确体现速度|
从表中可以看出,Adaptive zoom&bound策略在测量次数、成功测量情况、边界估计准确性和搜索速度等方面都表现出色。Monte Carlo策略由于其随机性,在成功测量方面效率较低,且存在大量重复测量。FastBoxing策略虽然能找到一些成功测量,但受随机选择影响较大,边界估计不够准确。遗传算法在本文中未详细展示其在这些方面的具体表现,但它作为一种智能搜索算法,有潜力在后续研究中发挥重要作用。
7. 实际应用中的考虑因素
在实际应用这些搜索策略进行VCC FI参数搜索时,需要考虑以下几个重要因素:
-
设备特性
:不同的设备对故障注入的响应不同。例如,像Target A这样未受保护的智能卡和像Target B、C这样受保护的智能卡,其故障注入的难度和结果差异很大。在进行搜索前,需要对设备的防护机制、硬件特性等有一定的了解,以便选择合适的搜索策略。
-
时间成本
:不同的搜索策略所需的时间不同。如Adaptive zoom&bound策略搜索速度快,能在较少的测量次数内完成第一阶段的搜索,而Monte Carlo策略可能需要大量的测量才能得到成功结果,时间成本较高。在实际应用中,需要根据项目的时间要求选择合适的策略。
-
资源消耗
:搜索过程中需要消耗一定的硬件资源,如测量设备的使用等。一些策略可能需要更多的测量次数,从而消耗更多的资源。因此,需要根据可用资源合理选择搜索策略。
8. 未来研究方向
基于本次研究的结果,未来可以在以下几个方向进行深入研究:
-
策略优化
:可以进一步优化现有的搜索策略,如改进Adaptive zoom&bound策略的迭代过程,使其能更快、更准确地找到成功的故障注入参数。也可以探索将不同策略进行结合,发挥各自的优势。
-
复杂场景应用
:本次研究主要针对一些相对简单的智能卡设备,未来可以将这些策略应用于更复杂的设备和攻击场景,如物联网设备、工业控制系统等,以发现这些设备在故障注入下的潜在漏洞。
-
智能算法融合
:可以将更多的智能算法,如深度学习算法等,与现有的搜索策略相结合,提高搜索的效率和准确性。例如,利用深度学习模型对设备的响应进行预测,从而指导搜索策略的选择和参数的调整。
9. 总结
本文围绕VCC FI参数的搜索策略展开了深入研究。通过将搜索过程分为两个阶段,降低了问题的复杂度。详细介绍了Monte Carlo、FastBoxing、Adaptive zoom&bound和遗传算法等几种搜索策略,并对它们在不同设备上的实验结果进行了分析。实验结果表明,Adaptive zoom&bound策略在寻找成功的VCC FI攻击参数方面表现出色,具有测量次数少、搜索速度快、边界估计准确等优点。
同时,我们也分析了实际应用中需要考虑的因素,如设备特性、时间成本和资源消耗等。未来的研究可以在策略优化、复杂场景应用和智能算法融合等方向上进一步探索,以提高故障注入测试的效率和准确性,为电子设备的安全评估提供更有力的支持。
下面是考虑实际应用因素的mermaid流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始实际应用]):::startend --> B(了解设备特性):::process
B --> C(评估时间成本要求):::process
C --> D(评估可用资源):::process
D --> E{选择搜索策略}:::decision
E -->|Monte Carlo| F(按策略进行测量):::process
E -->|FastBoxing| G(按策略进行测量):::process
E -->|Adaptive zoom&bound| H(按策略进行测量):::process
E -->|遗传算法| I(按策略进行测量):::process
F --> J{是否达到目标}:::decision
G --> J
H --> J
I --> J
J -->|是| K(输出结果并结束):::process
J -->|否| L(重新评估因素并调整策略):::process
L --> E
K --> M([结束应用]):::startend
通过以上的研究和分析,我们希望能为电子设备故障注入测试领域提供有价值的参考,推动该领域的技术发展。
超级会员免费看
15

被折叠的 条评论
为什么被折叠?



