本發(fā)明屬于硬件安全,涉及一種基于rtl信息流的時域和安全屬性聯(lián)合建模方法。
背景技術(shù):
1、現(xiàn)有研究人員在軟件和硬件安全領(lǐng)域已進行數(shù)十年的探索,但當(dāng)前計算技術(shù)仍然面臨各種安全漏洞的威脅,例如旁路攻擊、硬件木馬和側(cè)信道攻擊。這主要是由于許多基本計算模型和傳統(tǒng)設(shè)計流程未能充分考慮安全性,在硬件設(shè)計過程中安全性的關(guān)注通常不足,安全漏洞可能源于設(shè)計缺陷,而現(xiàn)代芯片的規(guī)模龐大使得全面驗證變得極為困難。此外,硬件設(shè)計往往依賴于第三方ip核,這些ip核可能包含隱蔽的惡意設(shè)計修改(如后門)。信息流跟蹤(information?flow?tracking,ift)技術(shù)提供了一種有效的方法來檢測各種安全漏洞,包括設(shè)計缺陷、惡意修改、定時側(cè)通道攻擊和訪問控制違規(guī)等。因此,研究信息流建模方法在硬件安全領(lǐng)域具有重要的現(xiàn)實意義。
2、信息流跟蹤(ift)對信息在系統(tǒng)計算時的傳播方式進行建模,如圖1為現(xiàn)有技術(shù)下信息流跟蹤的技術(shù)原理圖,該技術(shù)為每個數(shù)據(jù)對象分配一個標簽,以反映其安全屬性(如可信/不可信)或時域?qū)傩?如數(shù)據(jù)改變的時間),在數(shù)據(jù)運算過程中,這些標簽也隨之在系統(tǒng)中傳播,可以通過觀察標簽的狀態(tài)來驗證信息流屬性。除了原系統(tǒng)的數(shù)據(jù)運算單元外,還需要一個附加的標簽傳播單元,該單元按照預(yù)定義的標簽傳播策略,根據(jù)當(dāng)前操作類型和操作對象的標簽來確定運算結(jié)果的標簽,通過靜態(tài)分析或動態(tài)檢查運算結(jié)果的標簽,可以有效防止違反信息流安全策略。目前,主流的硬件安全信息流分析方法分別為門級層面的信息流跟蹤(gate?level?information?flow?tracking,glift)和寄存器傳輸級層面的信息流跟蹤(register?transfer?level?information?flow?tracking,rtlift),這些方法能跟蹤所有的信息流(顯式流和隱式流)。
3、門級信息流跟蹤方法采用單比特標簽標記數(shù)據(jù)的安全屬性,考慮污染輸入對輸出的影響,構(gòu)建標準門級網(wǎng)表的門級信息流跟蹤邏輯模型。在建模隱式流時,門級信息流跟蹤邏輯模型對單變量翻轉(zhuǎn)情況的處理較為保守,可能導(dǎo)致捕捉到實際上并不存在的信息流,從而引發(fā)誤報。與門級方法相比,rtl信息流跟蹤方法能夠更精確地理解rtl代碼中的所有邏輯信息流,通過為rtl表達式定義精確的標簽傳播規(guī)則,rtlift模型實現(xiàn)了更高的精度;此外,rtlift模型可以完全用標準的rtl語法進行描述,無需引入新的類型強制語言,在構(gòu)建rtlift模型時,需要將rtl設(shè)計分為數(shù)據(jù)流操作語句和控制流操作語句,分別為其添加rtlift標簽。這一過程包括構(gòu)建數(shù)據(jù)流操作邏輯庫和控制流操作邏輯庫,并將rtl代碼映射到基本的rtlift邏輯庫,從而獲得rtl信息流跟蹤邏輯模型。
4、如文獻《cellift:leveraging?cells?for?scalable?and?precise?dynamicinformation?flow?tracking?in?rtl》(solt,flavien;gras,ben;razavi,kaveh,31stusenix?security?symposium,2022:2549-2566.)公開了硬件動態(tài)ift領(lǐng)域的一個新設(shè)計點cellift,當(dāng)檢測給定的寄存器傳輸級(rtl)硬件設(shè)計時,cellift利用邏輯宏單元抽象(例如加法器)來實現(xiàn)可擴展性、精確性和完整性。單元級動態(tài)ift沒有諸如門之類的較低抽象級別所固有的可伸縮性問題,但是它在給定有限數(shù)量的單元類型的情況下實現(xiàn)了完整性。
5、如文獻《automated?assertion?checker?generator?and?information?flowtracking?for?security?verification》(zapata,miguel?angel?alfaro;shahshahani,amirhossein;zilic,zeljko,2024?25th?international?symposium?on?qualityelectronic?design,ieee,2024:1-6.)公開了一種自動化工具,集成了信息流跟蹤(ift)、自動化斷言生成和硬件斷言檢查器來檢測硬件設(shè)計上的信息泄漏漏洞。該工具使用ift技術(shù)生成標記的rtl模型,并基于指定的安全資產(chǎn)自動生成安全斷言。安全斷言然后被轉(zhuǎn)換成硬件斷言檢查器。該工具在各種rtl設(shè)計上進行了評估,并測量了對fpga資源利用率的影響。
6、由上述可知,現(xiàn)有對rtl信息流跟蹤技術(shù)的研究主要集中在提升模型精度、降低計算復(fù)雜度,以及形式化驗證過程中的自動化斷言生成,并更多關(guān)注模型的安全屬性,如機密性、完整性和隔離性。然而,研究rtl信息流模型的時域?qū)傩阅軌蚋_地捕獲時序流,更有效地檢測時序通道,從而加強安全驗證并為新型攻擊,如基于時序的攻擊提供防御。經(jīng)過廣泛調(diào)研,發(fā)現(xiàn)現(xiàn)有研究在rtl信息流模型的時域?qū)傩苑矫娲嬖谳^大局限性,尚未從信息流的角度對時域?qū)傩赃M行建模以設(shè)計安全行為。因此,針對時序通道攻擊等新型攻擊,目前尚缺乏有效的檢測方法。
技術(shù)實現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問題在于如何從信息流的角度對時域?qū)傩赃M行建模以設(shè)計安全行為,檢測針對時序通道攻擊的問題。
2、本發(fā)明是通過以下技術(shù)方案解決上述技術(shù)問題的:
3、基于rtl信息流的時域和安全屬性聯(lián)合建模方法,包括以下步驟:
4、步驟1、確立rtlift復(fù)合屬性標簽的定義,所述復(fù)合屬性標簽包括安全屬性標簽和時域?qū)傩詷撕灒?/p>
5、步驟2、制定復(fù)合屬性標簽傳播策略;
6、步驟3、定義基本邏輯操作的標簽公式;
7、步驟4、將控制流操作的rtl設(shè)計綜合成門級網(wǎng)表并繪制門級電路圖;
8、步驟5、根據(jù)門級電路圖抽象出復(fù)合屬性標簽的傳播規(guī)則;
9、步驟6、構(gòu)建并更新數(shù)據(jù)流和控制流操作的邏輯庫;
10、步驟7、單變量標簽定義與位寬處理;
11、步驟8、利用verilog設(shè)計抽象語法樹,區(qū)分數(shù)據(jù)流和控制流;
12、步驟9、將待測電路rtl代碼映射至邏輯庫,添加rtlift邏輯;
13、步驟10、結(jié)合復(fù)合屬性標簽以及原始變量完成建模;
14、步驟11、生成復(fù)合屬性斷言;
15、步驟12、執(zhí)行斷言驗證;
16、步驟13、選取不同測試基準進行模型評估分析。
17、進一步地,步驟1中所述安全屬性標簽采用單bit二進制編碼,時域?qū)傩詷撕灢捎枚郻it二進制編碼,復(fù)合屬性標簽采用nbit二進制編碼,其中復(fù)合屬性標簽的最高位為安全屬性標簽,復(fù)合屬性標簽的第0位到第n-2位為時域?qū)傩詷撕?,其中n表示復(fù)合屬性標簽的位數(shù)。
18、進一步地,所述步驟2具體為:僅當(dāng)輸入的更新能夠影響輸出時才進行標簽的傳播。
19、進一步地,所述步驟3具體為:通過數(shù)學(xué)公式定義基本邏輯操作的復(fù)合屬性標簽的傳播規(guī)則,構(gòu)建每個邏輯操作的真值表和卡諾圖,得出每個邏輯操作的復(fù)合屬性標簽的邏輯表達式,所述基本邏輯操作包括邏輯與操作、邏輯或操作和邏輯非操作。
20、進一步地,所述邏輯與操作的安全屬性的邏輯表達式為:
21、ox=ax·bx+b·ax+a·bx
22、記為:
23、ox=andx{a,ax,b,bx}
24、式中,ox表示輸出安全屬性標簽,ax表示數(shù)據(jù)對象a的安全屬性標簽,bx表示數(shù)據(jù)對象b的安全屬性標簽,a表示輸入的數(shù)據(jù)對象a,b表示輸入的數(shù)據(jù)對象b;
25、所述邏輯與操作的時間屬性的邏輯表達式為:
26、
27、記為:
28、ot=andt{a,at,b,bt}
29、式中,ot表示輸出時域?qū)傩詷撕?,at表示數(shù)據(jù)對象a的時域?qū)傩詷撕?,bt表示數(shù)據(jù)對象b的時域?qū)傩詷撕灒?/p>
30、所述邏輯或操作的安全屬性的邏輯表達式為:
31、
32、記為:
33、ox=orx{a,ax,b,bx}
34、所述邏輯或操作的時域?qū)傩缘倪壿嫳磉_式為:
35、
36、記為:
37、ot=ort{a,at,b,bt}
38、所述邏輯非操作的安全屬性的邏輯表達式為:
39、ox=ax
40、所述邏輯非操作的時域?qū)傩缘倪壿嫳磉_式為:
41、ot=at。
42、進一步地,所述步驟5包括以下步驟:
43、步驟51、定義數(shù)據(jù)流操作的傳播規(guī)則,所述數(shù)據(jù)流操作包括邏輯運算和無條件賦值語句,使用步驟3定義的標簽公式傳播輸入信號的安全屬性和時域?qū)傩裕?/p>
44、步驟52、定義控制流操作的傳播規(guī)則,所述控制流操作包括有條件賦值語句和連續(xù)賦值語句,根據(jù)步驟4繪制的門級電路圖和步驟3定義的標簽公式確定每個節(jié)點的復(fù)合屬性標簽,考慮不同路徑對最終輸出標簽的影響;
45、步驟53、定義always塊的傳播規(guī)則,所述always塊包括always語句,always語句的安全屬性標簽ax_always=ax,always語句的時域?qū)傩詷撕瀉t_always=max{at,clk}。
46、進一步地,所述步驟51具體為:
47、當(dāng)out=a[n:0]·b[n:0]時,out[i]=a[i]·b[i],第i位輸出安全屬性標簽ox[i]=andx{a[i],ax[i],b[i],bx[i]},第i位輸出時間屬性標簽ot[i]=andt{a[i],at[i],b[i],bt[i]},其中out表示輸出,out[i]表示第i位的輸出,a[i]表示數(shù)據(jù)對象a的第i位,b[i]表示數(shù)據(jù)對象b的第i位,ax[i]表示數(shù)據(jù)對象a的安全屬性標簽的第i位,bx[i]表示數(shù)據(jù)對象b的安全屬性標簽的第i位;
48、當(dāng)out=a[n:0]+b[n:0]時,out[i]=a[i]+b[i],第i位輸出安全屬性標簽ox[i]=orx{a[i],ax[i],b[i],bx[i]},第i位輸出時間屬性標簽ot[i]=ort{a[i],at[i],b[i],bt[i]};
49、當(dāng)out={a[n:0],b[n:0]}時,out[i]=a[i]/b[i-n],第i位輸出安全屬性標簽ox[i]=ax[i]/bx[i-n],第i位輸出時間屬性標簽ot[i]=at[i]/bt[i-n];
50、當(dāng)out=a[n:0]時,out[i]=a[i],第i位輸出安全屬性標簽ox[i]=ax[i],第i位輸出時間屬性標簽ot[i]=at[i];
51、當(dāng)out=~a[n:0]時,out[i]=~a[i],第i位輸出安全屬性標簽ox[i]=ax[i],第i位輸出時間屬性標簽ot[i]=at[i];
52、當(dāng)out={n{a[i]}}時,out[i]=a[i],第i位輸出安全屬性標簽ox[i]=ax[i],第i位輸出時間屬性標簽ot[i]=at[i]。
53、進一步地,所述步驟52具體為:
54、利用下述邏輯表示輸出out[i]的安全屬性標簽:
55、
56、利用下述邏輯表示輸出out[i]的時域?qū)傩詷撕灒?/p>
57、
58、式中,s表示選擇節(jié)點,取s=sel[0]+sel[1],sx表示選擇節(jié)點s的安全屬性標簽,st表示選擇節(jié)點s的時間屬性標簽。
59、進一步地,所述步驟6具體為:構(gòu)建數(shù)據(jù)流和控制流操作的邏輯庫,對于不同控制流操作,重復(fù)步驟4-5,將門級電路圖抽象出的標簽傳播規(guī)則添加至基本邏輯庫,不斷更新邏輯庫,使該邏輯庫能夠涵蓋最常見的rtl語句。
60、進一步地,所述步驟13具體為:對rtl信息流復(fù)合模型進行評估分析,選取不同的測試基準進行驗證,重復(fù)步驟7-12,完成復(fù)合屬性建模并通過仿真和形式化驗證等手段,驗證模型的有效性:
61、當(dāng)斷言結(jié)果可被證明時,則可推斷該硬件設(shè)計具有安全性,并且沒有時間側(cè)信道及硬件木馬等可能造成敏感信息泄露的情況;
62、當(dāng)只有安全屬性斷言不能滿足時,表明設(shè)計中存在安全漏洞導(dǎo)致敏感信息被泄漏;
63、當(dāng)只有時域?qū)傩缘臄嘌圆荒軡M足時,表明在設(shè)計過程中存在硬件時間側(cè)信道造成的敏感信息被泄露。
64、本發(fā)明的優(yōu)點在于:
65、(1)本發(fā)明針對rtl信息流跟蹤模型的時域?qū)傩?,從信息流角度分別以安全屬性和時域?qū)傩越TO(shè)計安全行為,并利用附加的時域?qū)傩愿欉壿嬰娐凡蹲綌?shù)據(jù)流動及其過程中信號的更新時間,對rtlift的安全屬性和時域?qū)傩赃M行雙重建模,其中時間標簽的添加進一步增加了對時間側(cè)信道的敏感性,標簽允許每個數(shù)據(jù)單元關(guān)聯(lián)一個時間值,用于追蹤數(shù)據(jù)在硬件系統(tǒng)中流動的時間特性;通過分析時間標簽的傳播,可以確定輸入變化如何影響輸出的時間變化,使得模型能夠捕捉和分析由于執(zhí)行路徑不平衡引起的時間差異,從而有效地識別出可能導(dǎo)致敏感信息泄露的硬件時間側(cè)信道。相較于現(xiàn)有技術(shù),本發(fā)明能夠有效甄別時間側(cè)信道漏洞,提高rtlift建模的精確性。
66、(2)本發(fā)明定義了rtlift中多bit二進制編碼的時域?qū)傩詷撕?,用于描述信息流動的時間特性,該標簽通過數(shù)據(jù)更新所在的時鐘周期進行度量,能夠反映輸入信號對輸出信號的時間影響,通過引入時域?qū)傩詷撕灥母拍?,使得設(shè)計處理時序通道攻擊等新型攻擊時,能夠更精準地檢測潛在的安全隱患。
67、(3)本發(fā)明提出了一種新穎的rtlift復(fù)合屬性標簽傳播策略,明確規(guī)定標簽僅在輸入更新影響輸出時進行傳播。這種細粒度的傳播機制相較于傳統(tǒng)方法更具準確性,能夠有效減少誤報和漏報,確保在安全性驗證中捕捉到真實的信息流動態(tài)。
68、(4)本發(fā)明基于數(shù)學(xué)公式定義基本邏輯操作的復(fù)合屬性標簽的傳播規(guī)則,通過構(gòu)建真值表和卡諾圖,得到不同基本邏輯操作的具體邏輯表達式,這些表達式不僅能夠捕捉rtl信息流的安全特性,還能有效表征時間動態(tài),為復(fù)雜電路中的安全屬性標簽和時域?qū)傩詷撕灥臏蚀_建模提供了基礎(chǔ)。
69、(5)本發(fā)明綜合rtlift的安全屬性標簽與時域?qū)傩詷撕?,?gòu)建了復(fù)合屬性模型,完成對數(shù)據(jù)流、控制流及always塊操作的時域?qū)傩詷撕灥膭?chuàng)新性引入,該復(fù)合模型不僅能夠從安全性和時序的雙重角度分析電路設(shè)計,還能夠針對新型攻擊(如時序攻擊)提供有效防御策略,使得設(shè)計者能夠在進行rtl信息流跟蹤時,全面評估電路的安全性與時序行為,從而實現(xiàn)更為深入和有效的安全驗證。