本书系统、详尽地介绍了硬件木马的起源、常见攻击手段与防御措施。具体内容包括:硬件木马的综述及其攻防策略概述;硬件木马攻击,如SoC/NoC、硬件IP、模拟/混合/射频芯片以及PCB中的硬件木马威胁分析;硬件木马检测,如逻辑测试、形式验证和无黄金电路检测等电路逻辑测试方法,以及延迟分析和逆向工程等边信道分析方法;安全设计方法,如硬件混淆、植入威慑和FPGA木马及其对策;硬件木马的发展趋势及挑战。
Swarup Bhunia是美国弗罗里达大学硬件安全实验室的创始人,全美硬件安全顶级专家。近年来,他主持了多项硬件安全类课题,包括美国国家自然基金、美国DARPA部分课题、Intel芯片安全研究课题等。此外,Swarup还是硬件安全HOST年会创始人之一,多个IEEE期刊编辑,在该领域有巨大的国际影响。
王坚,男,教授,博导,电子科技大学“赛博空间硬件设计与安全实验室”负责人。中国复杂装备联盟可靠性专委会副主任委员,美国标准研究院IOF组织TPC,四川省杰出青年基金获得者,四川省万人计划“天府科技菁英”,IEEE IoT、TII、TVLSI等多个国际顶级杂志审稿人。近5年,承担了国家、省部级项目14项,发表论文50余篇,授权专利20余项,撰写著作3本,并获得军队科技进步二等奖、四川省教学成果二等奖、高等教育学会优秀奖各1次。
目 录
第一部分 硬件木马的基础知识
第1章 绪论 2
1.1 本书的目的 2
1.2 对读者的帮助 3
1.3 关于木马攻击 3
1.4 本书的内容 6
参考文献 9
第2章 硬件木马简介 10
2.1 概述 10
2.2 半导体的发展趋势、权衡和木马攻击威胁 11
2.2.1 半导体设计流程 11
2.2.2 攻击者和攻击 12
2.3 木马攻击的比较和误区 13
2.3.1 木马与漏洞或缺陷的比较 13
2.3.2 硬件木马与软件木马的比较 14
2.3.3 关于硬件木马成因及影响的误区 15
2.4 攻击策略 17
2.4.1 木马的类型 17
2.4.2 木马触发器和有效负载的分类 18
2.4.3 基本木马示例 19
2.4.4 新型木马攻击:设计和示例 20
2.4.5 木马攻击模型 23
2.5 防御对策 24
2.5.1 木马防御对策分类法 24
2.5.2 木马检测:示例 28
2.5.3 木马预防:示例 29
2.5.4 其他值得注意的木马检测和预防方法 31
2.5.5 各种木马防御方法的比较 31
2.6 小结 33
参考文献 33
第二部分 硬件木马攻击:威胁分析
第3章 SoC与NoC中的硬件木马攻击 38
3.1 引言 38
3.2 SoC的安全挑战 38
3.3 SoC威胁模型 39
3.4 SoC安全保证 40
3.5 NoC安全性 41
3.5.1 信息泄露攻击 42
3.5.2 针对故障注入攻击的数据包安全性 44
3.5.3 网络接口故障 44
3.5.4 拒绝服务攻击 45
3.5.5 基于错误注入的拒绝服务 48
3.5.6 使用差错控制方法的木马检测 49
3.6 开放性挑战 50
3.7 小结 50
参考文献 51
第4章 硬件IP核可信度 53
4.1 引言 53
4.2 问题的提出 54
4.3 木马的特征 54
4.4 现有测试和安全特性的不足 55
4.5 木马分类 55
4.5.1 基于物理特性的木马分类 55
4.5.2 基于激活特性的木马分类 56
4.5.3 基于动作特性的木马分类 57
4.6 通用木马缓解技术 58
4.6.1 预防技术 58
4.6.2 检测技术 59
4.7 IP级的木马缓解 60
4.7.1 检测技术:可疑信号引导的时序等价性检验 60
4.7.2 预防技术:携带证明代码 66
4.8 小结 69
参考文献 69
第5章 模拟、混合信号和射频集成电路中的硬件木马 72
5.1 引言 72
5.2 射频IC中的硬件木马 72
5.2.1 无线加密IC中的硬件木马 72
5.2.2 低于本底噪声的射频传输 77
5.3 AMS集成电路中的硬件木马 79
5.3.1 攻击 79
5.3.2 防御 80
5.3.3 模拟触发器 81
5.4 AMS/RF IC中的其他威胁 83
5.4.1 IC/IP的剽窃和伪造问题 83
5.4.2 漏洞分析 83
5.4.3 拆分制造 84
5.4.4 AMS IP核水印 84
5.4.5 针对AMS伪造品的保护 85
5.5 讨论 85
5.6 小结 86
参考文献 86
第6章 PCB硬件木马与盗版 90
6.1 引言 90
6.2 PCB安全性挑战、攻击和对策 90
6.2.1 安全性挑战 90
6.2.2 攻击实例 93
6.2.3 可能的对策 96
6.3 PCB认证挑战和前瞻性解决方案 99
6.3.1 PCB变化和认证挑战 100
6.3.2 前瞻性PUF结构 101
6.3.3 定性和定量分析 103
6.4 小结 104
致谢 104
参考文献 104
第三部分 检测:逻辑测试
第7章 面向硬件木马检测的逻辑测试技术 107
7.1 引言 107
7.2 硬件木马的MERO检测法 109
7.2.1 数学分析 110
7.2.2 测试生成 110
7.2.3 覆盖率估算 112
7.2.4 木马样本大小选择 112
7.2.5 N的选择 112
7.2.6 提升木马检测覆盖率 113
7.2.7 结果 113
7.2.8 MERO的缺点 118
7.3 基于GA和SAT的硬件木马检测方法 119
7.3.1 硬件木马模型 119
7.3.2 针对ATPG的遗传算法(GA) 120
7.3.3 用于难以激活触发条件的SAT 123
7.3.4 有效负载感知测试集的选择和测试压缩 124
7.3.5 结果与讨论 127
7.4 小结 130
参考文献 131
第8章 硬件可信性验证的形式化方法 134
8.1 引言 134
8.2 使用可满足性问题进行可信性验证 135
8.3 使用属性检查的安全验证 137
8.4 用于木马检测的定理证明器 139
8.4.1 使用携带证明代码的机密数据保护 140
8.4.2 定理证明器和模型验证器的结合 141
8.5 基于符号代数的木马检测 142
8.5.1 基于Gr?bner基理论的等价性检查:背景介绍 142
8.5.2 基于符号代数的算术电路中木马的激活与检测 144
8.5.3 第三方IP中的木马定位 144
8.6 小结 145
参考文献 146
第9章 无黄金模型木马检测 149
9.1 引言 149
9.2 无黄金模型木马检测及其挑战 149
9.3 一些可能的解决方案 150
9.4 案例研究:传感器辅助的自认证 151
9.4.1 概述 151
9.4.2 用于捕捉与设计相关延迟特性的传感器 152
9.4.3 制造后自认证的场景 153
9.5 小结 156
参考文献 157
第四部分 检测:边信道分析
第10章 利用延迟分析检测硬件木马 159
10.1 引言 159
10.2 硬件木马植入点 160
10.3 用于检测布局中植入硬件木马的方法 161
10.4 基于延迟的HT检测方法的基本原理 164
10.4.1 路径延迟测量方案及其他概念 164
10.4.2 处理工艺波动 169
10.4.3 测试向量生成策略 170
10.5 基于路径延迟分析的HT检测方法 171
10.5.1 早期的HT检测技术与片上测量方法 172
10.5.2 基于环形振荡器的HT检测方法 173
10.5.3 用于HT检测的轻量级片上路径计时技术 176
10.5.4 自认证:一种无黄金模型的HT检测方法 178
10.5.5 用于HT检测的线性规划方法和测试点插入 179
10.5.6 增强HT检测的工艺校准和测试向量选择 180
10.5.7 用于HT检测的时钟扫描 182
10.5.8 一种无黄金芯片的HT检测方法 183
10.5.9 通过比较具有结构对称性的路径来进行HT检测 183
10.5.10 利用脉冲传播进行HT检测 185
10.5.11 用于HT检测的芯片对中校准技术 187
10.6 多参数检测方法 190
10.7 小结 191
参考文献 193
第11章 基于逆向工程的硬件木马检测 197
11.1 引言 197
11.2 集成电路的逆向工程 198
11.2.1 逆向工程简介 198
11.2.2 逆向工程的应用 198
11.3 使用逆向工程的硬件木马检测 198
11.3.1 通用信息 198
11.3.2 使用逆向工程检测硬件木马的优点 199
11.3.3 使用逆向工程检测硬件木马的挑战 199
11.4 使用SVM的基于逆向工程的硬件木马检测 199
11.4.1 问题陈述 200
11.4.2 提出的方法 201
11.4.3 实验与结果 202
11.5 安全设计方法 203
11.5.1 问题定义和挑战 203
11.5.2 推荐的方法 205
11.5.3 实验和结果 209
11.6 小结 210
参考文献 210
第五部分 安 全 设 计
第12章 硬件木马预防和检测的硬件混淆方法 214
12.1 引言 214
12.2 混淆 214
12.2.1 混淆的概念 214
12.2.2 区分混淆和加密 215
12.2.3 软件中的混淆技术 215
12.3 混淆技术在硬件木马预防和检测中的作用 216
12.3.1 硬件木马 216
12.3.2 硬件混淆概述 217
12.4 芯片级混淆 218
12.4.1 器件级混淆 218
12.4.2 电路级混淆 219
12.4.3 门级混淆 223
12.4.4 寄存器传输级混淆 229
12.4.5 片上通信级 230
12.4.6 其他方法 233
12.5 FPGA混淆 233
12.6 板级混淆 234
12.7 硬件混淆评估指标 234
12.8 小结 236
参考文献 237
第13章 硬件木马植入的威慑方法 242
13.1 引言 242
13.2 监测法 244
13.2.1 边信道特征测量 244
13.2.2 边信道测量的分类器 246
13.2.3 扫描单元重排序 247
13.3 阻塞性方法 247
13.4 混合方法 250
13.4.1 BISA结构 250
13.4.2 BISA的特定攻击及其局限性 251
13.5 小结 252
参考文献 252
第14章 FPGA中的硬件木马攻击及其保护方法 256
14.1 引言 256
14.2 威胁模型和分类 256
14.2.1 FPGA设计流程 256
14.2.2 威胁模型 257
14.2.3 分类方法 258
14.2.4 进入点 258
14.2.5 创建方法 259
14.3 FPGA结构中的木马 259
14.3.1 增加延迟的木马 259
14.3.2 引起电压波动的木马 260
14.3.3 寿命缩短型木马(LRT) 260
14.4 FPGA设计中的木马 263
14.4.1 在FPGA设计中植入木马 263
14.4.2 HDL中的木马 264
14.4.3 综合后网表中的木马 265
14.4.4 案例:映射/布局布线后网表中的木马 267
14.5 比特流中的木马 267
14.5.1 Xilinx比特流结构 267
14.5.2 修改比特流的木马 268
14.5.3 文献中的木马例子 269
14.6 针对FPGA木马的对策 269
14.6.1 使用模块冗余的硬件木马容错 270
14.6.2 FPGA可信熔断(TrustFuzion) 271
14.6.3 比特流木马对策 271
14.7 小结 271
参考文献 272
第六部分 新兴趋势、工业实践和新的攻击
第15章 工业SoC设计中的硬件可信性:实践与挑战 276
15.1 引言 276
15.2 可信挑战的范围 277
15.3 安全策略和执行 278
15.4 设计和实现的可信性验证 279
15.5 平台级可信保证 281
15.6 安全认证 282
15.7 小结 283
参考文献 283
第16章 总结与未来的工作 285
16.1 总结 285
16.2 未来的工作 286