層次化的FPGA硬件脆弱性分析方法研究
發(fā)布時間:2023-04-20 06:01
具有可編程、高速和高可靠性等優(yōu)點的FPGA被廣泛應(yīng)用于無線通訊、消費電子、高性能運算等領(lǐng)域。近年來,5G、人工智能、物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)領(lǐng)域快速興起和發(fā)展,對大吞吐量、數(shù)據(jù)并行運算等性能的要求越來越高,將使得FPGA的應(yīng)用領(lǐng)域更加廣泛。因此,FPGA的硬件安全必須得到重視,特別是程序源碼的設(shè)計安全。在數(shù)字電路中,有限狀態(tài)機(Finite State Machine,FSM)通常被用作控制器,會對電路的行為和性能會產(chǎn)生巨大影響。針對FPGA的硬件安全,本文以Verilog源代碼為研究對象,分析研究FSM的提取問題,并基于FSM的轉(zhuǎn)移條件二義性和死機狀態(tài)評估FPGA硬件脆弱性。本文主要研究工作分為以下三個方面:1)提出了一種基于Verilog代碼提取偽狀態(tài)機的方法。針對Verilog源代碼的語義理解問題,提出一種提取偽狀態(tài)機的算法,設(shè)計了一個簡化編譯器。首先,通過詞法分析,將源代碼中的字符流轉(zhuǎn)換成詞法單元序列。其次,通過語法分析,將詞法單元有組織地存儲在抽象語法樹中。然后,通過遍歷語法抽象樹,訪問各節(jié)點并分析其語義,提取狀態(tài)和轉(zhuǎn)移條件。最后,經(jīng)實驗證明,可以提取出Verilog源碼程序中的...
【文章頁數(shù)】:82 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
abstract
第一章 緒論
1.1 研究背景與意義
1.2 國內(nèi)外研究進展
1.3 本文的工作及創(chuàng)新點
1.4 本文的章節(jié)組織架構(gòu)
第二章 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硬件脆弱性分析的整體架構(gòu)
2.4 本章小結(jié)
第三章 基于Verilog代碼提取偽狀態(tài)機
3.1 偽狀態(tài)機
3.1.1 定義
3.1.2 提取偽狀態(tài)機總體流程圖
3.2 詞法分析
3.2.1 分析工具Flex
3.2.2 編寫Verilog的詞法規(guī)則
3.2.3 實驗結(jié)果
3.3 語法分析
3.3.1 分析工具Bison
3.3.2 編寫Verilog的語法規(guī)則
3.3.3 構(gòu)建抽象語法樹
3.3.3.1 一般節(jié)點
3.3.3.2 數(shù)字節(jié)點
3.3.3.3 條件語句節(jié)點
3.3.3.4 分支語句節(jié)點
3.3.3.5 節(jié)點nodetype
3.3.4 實驗結(jié)果
3.4 語義分析
3.4.1 轉(zhuǎn)移條件分類
3.4.1.1 條件表達式
3.4.1.2 賦值表達式
3.4.2 轉(zhuǎn)移條件提取
3.4.3 提取偽狀態(tài)機算法
3.5 程序測試結(jié)果
3.6 本章小結(jié)
第四章 基于偽狀態(tài)機識別有限狀態(tài)機
4.1 偽狀態(tài)機的分析方法
4.2 轉(zhuǎn)移條件的回溯過程
4.2.1 回溯過程的起點
4.2.2 回溯間隔
4.2.3 回溯過程的表示
4.2.4 狀態(tài)循環(huán)
4.2.5 回溯過程的終點
4.2.6 超維樹的生成算法
4.3 轉(zhuǎn)移條件的判斷算法
4.3.1 深度優(yōu)先與廣度優(yōu)先
4.3.2 判斷子平面狀態(tài)的算法
4.3.3 判斷平面狀態(tài)的算法
4.3.4 判斷轉(zhuǎn)移條件的算法
4.4 程序測試結(jié)果
4.5 本章小結(jié)
第五章 基于FSM評估FPGA硬件脆弱性
5.1 有限狀態(tài)機的設(shè)計缺陷
5.1.1 二義性
5.1.2 死機狀態(tài)
5.2 設(shè)計缺陷分析算法
5.2.1 二義性分析
5.2.2 死機狀態(tài)分析
5.3 FPGA硬件脆弱性評估算法
5.4 程序測試結(jié)果
5.5 本章小結(jié)
第六章 總結(jié)與展望
6.1 工作總結(jié)
6.2 未來展望
致謝
參考文獻
攻讀碩士學(xué)位期間取得的成果
本文編號:3795034
【文章頁數(shù)】:82 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
abstract
第一章 緒論
1.1 研究背景與意義
1.2 國內(nèi)外研究進展
1.3 本文的工作及創(chuàng)新點
1.4 本文的章節(jié)組織架構(gòu)
第二章 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硬件脆弱性分析的整體架構(gòu)
2.4 本章小結(jié)
第三章 基于Verilog代碼提取偽狀態(tài)機
3.1 偽狀態(tài)機
3.1.1 定義
3.1.2 提取偽狀態(tài)機總體流程圖
3.2 詞法分析
3.2.1 分析工具Flex
3.2.2 編寫Verilog的詞法規(guī)則
3.2.3 實驗結(jié)果
3.3 語法分析
3.3.1 分析工具Bison
3.3.2 編寫Verilog的語法規(guī)則
3.3.3 構(gòu)建抽象語法樹
3.3.3.1 一般節(jié)點
3.3.3.2 數(shù)字節(jié)點
3.3.3.3 條件語句節(jié)點
3.3.3.4 分支語句節(jié)點
3.3.3.5 節(jié)點nodetype
3.3.4 實驗結(jié)果
3.4 語義分析
3.4.1 轉(zhuǎn)移條件分類
3.4.1.1 條件表達式
3.4.1.2 賦值表達式
3.4.2 轉(zhuǎn)移條件提取
3.4.3 提取偽狀態(tài)機算法
3.5 程序測試結(jié)果
3.6 本章小結(jié)
第四章 基于偽狀態(tài)機識別有限狀態(tài)機
4.1 偽狀態(tài)機的分析方法
4.2 轉(zhuǎn)移條件的回溯過程
4.2.1 回溯過程的起點
4.2.2 回溯間隔
4.2.3 回溯過程的表示
4.2.4 狀態(tài)循環(huán)
4.2.5 回溯過程的終點
4.2.6 超維樹的生成算法
4.3 轉(zhuǎn)移條件的判斷算法
4.3.1 深度優(yōu)先與廣度優(yōu)先
4.3.2 判斷子平面狀態(tài)的算法
4.3.3 判斷平面狀態(tài)的算法
4.3.4 判斷轉(zhuǎn)移條件的算法
4.4 程序測試結(jié)果
4.5 本章小結(jié)
第五章 基于FSM評估FPGA硬件脆弱性
5.1 有限狀態(tài)機的設(shè)計缺陷
5.1.1 二義性
5.1.2 死機狀態(tài)
5.2 設(shè)計缺陷分析算法
5.2.1 二義性分析
5.2.2 死機狀態(tài)分析
5.3 FPGA硬件脆弱性評估算法
5.4 程序測試結(jié)果
5.5 本章小結(jié)
第六章 總結(jié)與展望
6.1 工作總結(jié)
6.2 未來展望
致謝
參考文獻
攻讀碩士學(xué)位期間取得的成果
本文編號:3795034
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/3795034.html
最近更新
教材專著