层次化的FPGA硬件脆弱性分析方法研究
发布时间:2023-04-20 06:01
具有可编程、高速和高可靠性等优点的FPGA被广泛应用于无线通讯、消费电子、高性能运算等领域。近年来,5G、人工智能、物联网、大数据等技术领域快速兴起和发展,对大吞吐量、数据并行运算等性能的要求越来越高,将使得FPGA的应用领域更加广泛。因此,FPGA的硬件安全必须得到重视,特别是程序源码的设计安全。在数字电路中,有限状态机(Finite State Machine,FSM)通常被用作控制器,会对电路的行为和性能会产生巨大影响。针对FPGA的硬件安全,本文以Verilog源代码为研究对象,分析研究FSM的提取问题,并基于FSM的转移条件二义性和死机状态评估FPGA硬件脆弱性。本文主要研究工作分为以下三个方面:1)提出了一种基于Verilog代码提取伪状态机的方法。针对Verilog源代码的语义理解问题,提出一种提取伪状态机的算法,设计了一个简化编译器。首先,通过词法分析,将源代码中的字符流转换成词法单元序列。其次,通过语法分析,将词法单元有组织地存储在抽象语法树中。然后,通过遍历语法抽象树,访问各节点并分析其语义,提取状态和转移条件。最后,经实验证明,可以提取出Verilog源码程序中的...
【文章页数】:82 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
第一章 绪论
1.1 研究背景与意义
1.2 国内外研究进展
1.3 本文的工作及创新点
1.4 本文的章节组织架构
第二章 FPGA硬件脆弱性的分析方法研究
2.1 逆向工程
2.2 漏洞挖掘
2.2.1 FPGA硬件脆弱性源
2.2.2 软件的漏洞挖掘方法
2.2.3 FPGA硬件的漏洞挖掘方法
2.2.3.1 仿真软件
2.2.3.2 模型检验
2.3 FPGA硬件脆弱性分析的整体架构
2.4 本章小结
第三章 基于Verilog代码提取伪状态机
3.1 伪状态机
3.1.1 定义
3.1.2 提取伪状态机总体流程图
3.2 词法分析
3.2.1 分析工具Flex
3.2.2 编写Verilog的词法规则
3.2.3 实验结果
3.3 语法分析
3.3.1 分析工具Bison
3.3.2 编写Verilog的语法规则
3.3.3 构建抽象语法树
3.3.3.1 一般节点
3.3.3.2 数字节点
3.3.3.3 条件语句节点
3.3.3.4 分支语句节点
3.3.3.5 节点nodetype
3.3.4 实验结果
3.4 语义分析
3.4.1 转移条件分类
3.4.1.1 条件表达式
3.4.1.2 赋值表达式
3.4.2 转移条件提取
3.4.3 提取伪状态机算法
3.5 程序测试结果
3.6 本章小结
第四章 基于伪状态机识别有限状态机
4.1 伪状态机的分析方法
4.2 转移条件的回溯过程
4.2.1 回溯过程的起点
4.2.2 回溯间隔
4.2.3 回溯过程的表示
4.2.4 状态循环
4.2.5 回溯过程的终点
4.2.6 超维树的生成算法
4.3 转移条件的判断算法
4.3.1 深度优先与广度优先
4.3.2 判断子平面状态的算法
4.3.3 判断平面状态的算法
4.3.4 判断转移条件的算法
4.4 程序测试结果
4.5 本章小结
第五章 基于FSM评估FPGA硬件脆弱性
5.1 有限状态机的设计缺陷
5.1.1 二义性
5.1.2 死机状态
5.2 设计缺陷分析算法
5.2.1 二义性分析
5.2.2 死机状态分析
5.3 FPGA硬件脆弱性评估算法
5.4 程序测试结果
5.5 本章小结
第六章 总结与展望
6.1 工作总结
6.2 未来展望
致谢
参考文献
攻读硕士学位期间取得的成果
本文编号:3795034
【文章页数】:82 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
第一章 绪论
1.1 研究背景与意义
1.2 国内外研究进展
1.3 本文的工作及创新点
1.4 本文的章节组织架构
第二章 FPGA硬件脆弱性的分析方法研究
2.1 逆向工程
2.2 漏洞挖掘
2.2.1 FPGA硬件脆弱性源
2.2.2 软件的漏洞挖掘方法
2.2.3 FPGA硬件的漏洞挖掘方法
2.2.3.1 仿真软件
2.2.3.2 模型检验
2.3 FPGA硬件脆弱性分析的整体架构
2.4 本章小结
第三章 基于Verilog代码提取伪状态机
3.1 伪状态机
3.1.1 定义
3.1.2 提取伪状态机总体流程图
3.2 词法分析
3.2.1 分析工具Flex
3.2.2 编写Verilog的词法规则
3.2.3 实验结果
3.3 语法分析
3.3.1 分析工具Bison
3.3.2 编写Verilog的语法规则
3.3.3 构建抽象语法树
3.3.3.1 一般节点
3.3.3.2 数字节点
3.3.3.3 条件语句节点
3.3.3.4 分支语句节点
3.3.3.5 节点nodetype
3.3.4 实验结果
3.4 语义分析
3.4.1 转移条件分类
3.4.1.1 条件表达式
3.4.1.2 赋值表达式
3.4.2 转移条件提取
3.4.3 提取伪状态机算法
3.5 程序测试结果
3.6 本章小结
第四章 基于伪状态机识别有限状态机
4.1 伪状态机的分析方法
4.2 转移条件的回溯过程
4.2.1 回溯过程的起点
4.2.2 回溯间隔
4.2.3 回溯过程的表示
4.2.4 状态循环
4.2.5 回溯过程的终点
4.2.6 超维树的生成算法
4.3 转移条件的判断算法
4.3.1 深度优先与广度优先
4.3.2 判断子平面状态的算法
4.3.3 判断平面状态的算法
4.3.4 判断转移条件的算法
4.4 程序测试结果
4.5 本章小结
第五章 基于FSM评估FPGA硬件脆弱性
5.1 有限状态机的设计缺陷
5.1.1 二义性
5.1.2 死机状态
5.2 设计缺陷分析算法
5.2.1 二义性分析
5.2.2 死机状态分析
5.3 FPGA硬件脆弱性评估算法
5.4 程序测试结果
5.5 本章小结
第六章 总结与展望
6.1 工作总结
6.2 未来展望
致谢
参考文献
攻读硕士学位期间取得的成果
本文编号:3795034
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/3795034.html