999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向FPGA應用的硬件木馬植入與檢測技術研究

2021-10-28 05:52:22姜佩賀王晨旭位寅生
計算機工程與應用 2021年20期
關鍵詞:檢測方法

姜佩賀,王晨旭,郭 剛,位寅生

1.山東漁翁信息技術股份有限公司,山東 威海 264200

2.煙臺大學 光電信息科學技術學院,山東 煙臺 264005

3.哈爾濱工業大學 電子與信息工程學院,哈爾濱 150001

硬件木馬(Hardware Trojan Horse,HTH)是一種被惡意攻擊者植入在集成電路內部的冗余電路[1-2]。該冗余電路一般處于潛伏狀態,只有在特定的條件下才能被觸發,觸發后將執行某種惡意的功能,如關鍵信息泄漏、芯片意外失效等[3-5]。

近年來,隨著新一代信息技術的快速發展,FPGA在高性能計算、5G、人工智能、物聯網等領域的應用愈加廣泛。阿里云、騰訊云、百度云等先后部署了基于FPGA的云加速服務器,微軟將FPGA用于加速必應搜索,在密碼學領域,FPGA以協處理器的形式完成簽名驗簽等密碼算法,保障信息安全的。

FPGA生命周期的多個階段可能被植入硬件木馬,從而對信息安全造成威脅。第一,目前主流FPGA廠商均來自于國外,且在FPGA器件開發進程中,廠商會使用第三方IP以縮短開發周期,這為木馬的植入創造了條件;第二,目前集成電路設計和制造相分離,FPGA芯片在第三方公司的制造過程,可能被惡意植入硬件木馬;第三,在FPGA應用開發過程中,EDA軟件來自國外,其對RTL代碼的處理過程是黑盒的,攻擊者在此階段也可以植入木馬;第四,FPGA的配置文件保存在FPGA芯片外部,惡意攻擊者可以通過偷換或修改配置文件實現木馬的注入。FPGA應用場景廣泛,如果在國防、金融、交通等關鍵場景使用的FPGA被植入了硬件木馬,將對國家安全造成巨大的威脅。因此,對FPGA中硬件木馬檢測技術的研究勢在必行。

硬件木馬檢測技術用于發現木馬的存在,近年來研究者針對硬件木馬檢測展開了廣泛研究。目前主流的檢測技術主要有物理檢測[6-7]、邏輯測試[8]、內建自測試[9]和側信道分析[10-12]等,其中基于側信道分析的檢測方法是近年來的研究主流。

基于環形振蕩器(Ring Oscillators,RO)的檢測方法[13-14]由Zhang等提出,該方法屬側信道分析中的一種,是在集成電路設計時,在芯片版圖的不同區域設計環形振蕩器,通過分析芯片中環形振蕩器的頻率輸出特性,判斷集成電路是否遭到惡意更改或木馬植入。在該方法提出后,Ferraiuolo等[15]使用環形振蕩器和主成分分析法檢測ASIC中的硬件木馬;Kitsos等[16]分析了環形振蕩器級數與靈敏度的關系;在此基礎上,Pirpilidis等[17]提出了級數可配置的環形振蕩器結構;趙毅強等[18]討論了工藝偏差對木馬檢測的影響,并提出校正方法;Alsaiari等[19]提出了基于可配置斷言(RAC)的檢測方法。

調研發現,基于RO木馬檢測方法的研究均是面向專用集成電路ASIC而展開的,而隨著FPGA應用領域的不斷擴展,在FPGA中開展硬件木馬的檢測更是不可或缺的,但由于EDA軟件對RTL代碼的處理流程是黑盒的,因此,如何通過添加約束在FPGA內部準確部署RO,以及如何植入木馬以分析該方法在FPGA中的木馬檢測效果都是需要深入研究的。

基于此,本研究在分析RO檢測方法原理的基礎上,設計基于RO的木馬檢測電路,在FPGA中精確布局RO位置,在Altera FPGA中通過增量編譯技術植入四種類型的典型木馬,使用歸一化差值進行數據分析,最終實現木馬的檢測和定位。

1 環形振蕩器及硬件木馬檢測原理

環形振蕩器是由奇數個反相器首位相接而構成的電路結構,它可以利用門電路的傳輸延遲特性產生自激振蕩,圖1為由3個反相器構成的環形振蕩器。

圖1 由三級反相器構成的環形振蕩器Fig.1 Ring oscillator composed of three-stage inverter

在環形振蕩器中,假設一級門延遲為tpd,則由n級反相器級聯構成RO的振蕩周期為T=2ntpd。在實際集成電路中,每一級的門延遲可以由公式(1)表示[20]:

式中,CL為等效負載電容,k′為跨導,W/L為晶體管寬長比,VDSAT為飽和電壓,Vth為閾值電壓,Vdd為電源電壓。由公式(1)可知,門延遲tpd不僅與集成電路工藝有關而且與電源電壓有關。特別是深亞微米工藝下,Vdd已不再遠遠大于Vth+VDSAT/2,電源電壓對門延遲的影響更不容忽視。

基于環形振蕩器的硬件木馬檢測原理正是利用了電源電壓對門延遲的影響。在現代集成電路中,芯片內部分布著極為密集的電源網絡,元器件的增減會影響其周圍的電源電壓。為實現硬件木馬的檢測,在集成電路設計過程中,需要在版圖不同的區域插入RO,如果在芯片制造時遭到了惡意木馬植入,則當芯片工作時,木馬周圍RO的振蕩頻率會發生變化,木馬規模越大、距離RO越近,對振蕩頻率的影響越大。通過將此頻率與不含有硬件木馬的“黃金芯片”此頻率進行數據分析,即可實現木馬的檢測與定位。

2 檢測系統設計

2.1 環形振蕩器的設計

傳統的環形振蕩器由奇數個反相器構成,在本設計中,環形振蕩器采用基于與非門的結構,原因有以下三點:一是相同級數的與非門RO比反相器RO的振蕩周期更長;二是當使用與非門構成環形振蕩器時,與非門的一個輸入端需要直接連接到VDD,電源電壓變化對振蕩頻率的影響更大;三是可以通過增加受控端EN實現對振蕩器工作與否的控制。圖2為使用三級與非門構成的環形振蕩器。

圖2 由三級與非門構成的環形振蕩器Fig.2 Ring oscillator composed of three-stage NAND gate

RO網絡中RO的數量決定了檢測精度,數量越多,每個RO負責檢測的區域越小,檢測精度越高,但卻更加浪費資源;在每個RO中,反相器(與非門)的級數也需要進行權衡,若級數過少,振蕩頻率就會很高、功耗更大,并且測量高頻振蕩頻率難度更大、測量精度更差。若級數過多,雖然檢測精度會提高,但卻占用更多的硬件資源。綜合權衡后,本設計使用的環形振蕩器網絡包含6個RO,每個RO包含121級與非門。在其他應用中,根據基礎功能電路規模,可以對該數量進行調整。設計的RO網絡如圖3所示,網絡中的6個RO呈分布式布局,分別用于檢測自身附近區域的硬件木馬。

圖3 分布式環形振蕩器網絡示意圖Fig.3 Schematic diagram of distributed ring oscillator network

在基于RO的木馬檢測方法中,需要根據電路系統規模將RO插入到電路的指定位置?,F有研究[15,17,19]主要是針對ASCI展開,ASIC的版圖完全由設計者自行規劃,可以很自由地規劃RO位置。但是在FPGA實現過程中,EDA軟件對RTL代碼的處理是黑盒的,為將RO約束在指定位置,可以在Quartus II中,將相應的RO模塊設置為Logic-lock區,通過修改Logic-lock區的參數,以將其規劃在理想的位置。

2.2 檢測電路設計

設計的基于環形振蕩器的硬件木馬檢測電路結構如圖4所示。這里假定芯片的基礎功能為5個并行的DES(Data Encryption Standard)加密算法,DES算法用于保證數據傳輸安全,在敏感數據保護領域應用廣泛。DES算法的明文輸入由線性反饋移位寄存器LFSR提供,在對待測芯片和黃金芯片(已知不含木馬的電路)的每次檢測中,LFSR應使用相同的種子,以保證基礎功能電路執行相同的邏輯運算。

圖4 基于環形振蕩器的硬件木馬檢測電路結構Fig.4 Hardware Trojan detection circuit based on ring oscillator

檢測電路由鎖相環PLL、有限狀態機FSM、譯碼器、環形振蕩器網絡、多路選擇器、計數器和串口發送模塊組成。系統的輸入時鐘是50 MHz,為了更精確地檢測出RO的振蕩頻率,使用PLL將時鐘倍頻至400 MHz。環形振蕩器網絡是檢測模塊的核心,網絡中的每一個RO是分時輪詢工作的,具體流程如下:有限狀態機FSM包含6個狀態,分別用于輪詢每一個RO,在某一狀態下,譯碼器通過ENn信號使能該RO,多路選擇器將該RO產生的振蕩信號OSCn輸出到計數器。計數器對振蕩頻率進行測量,為提高測量精度,計數器每一次測量n個RO振蕩周期內的時鐘(400 MHz)周期數。在測量時鐘頻率一定的條件下,測量時間越長,檢測精度越高,這里取n=2 047。最終,串口發送模塊將6個RO的輪詢數據打包發送至上位機。

3 硬件木馬與植入技術

3.1 四種典型硬件木馬設計

硬件木馬通常包含觸發電路和負載電路兩個部分,按照觸發電路和負載電路的工作情況可以將木馬電路分為全激活狀態、部分激活狀態和靜止狀態三種狀態。(1)全激活狀態是指當觸發條件滿足時,木馬被觸發,負載電路開始工作;(2)部分激活狀態是指觸發條件沒有滿足,雖然硬件木馬處于未被觸發的狀態,但木馬電路內部部分電路節點發生翻轉是不可避免的;(3)靜止狀態是指經設計者的精心設計,硬件木馬未被觸發,并且內部的所有電路節點都完全不翻轉。全激活和部分激活狀態下木馬電路存在動態功耗,而靜止狀態不存在動態功耗。但靜態功耗是三種狀態都不可避免的,并且隨著工藝尺寸的不斷下降,靜態功耗在總功耗中的占比日益增大。

硬件木馬本質上為冗余電路,因此,本研究使用線性反饋移位寄存器和串行進位加法器分別代表組合型和時序型木馬。根據電路類型以及功耗的來源,設計了四種類型的木馬,具體如表1所示。同時,為了方便對比,經過優化,4種電路占用的邏輯資源基本相同。

表1 四種典型的硬件木馬Table 1 Four typical hardware trojans

3.2 木馬的植入

為了測試木馬檢測效果,木馬植入技術也是需要進行細致研究的。這里假設惡意攻擊者通過修改版圖實現硬件木馬的植入。即在木馬植入前后,除惡意冗余電路外,其他電路應具有相同的布局布線結果,即版圖相同。這在ASIC設計中是很容易實現的[15,17,19],但在FPGA木馬檢測的相關研究中并沒有類似的討論,在文獻[16]中也僅僅提到了在Xilinx FPGA中需要PlanAhead工具。

本研究提出了在Altera FPGA中使用Quartus II的增量編譯(Smart Compilatio)技術實現該要求的方法。該方法克服了綜合優化等過程由EDA工具自動完成所造成的困難。在增量編譯過程中,只有增量編譯前后的模塊具有相同的輸入輸出,編譯才不發生錯誤。即在含有和不含有木馬的電路中,冗余電路模塊都要具有相同的輸入輸出。為滿足該要求,在含有木馬的電路中植入真實的木馬(以下簡稱真木馬),而在不需要含有木馬的電路中,植入最簡單的門電路(以下簡稱假木馬),假木馬的目的僅僅是為了保證與真木馬有相同的輸入輸出,由于僅由幾個門構成,對系統的影響可以忽略。

使用增量編譯技術實現木馬的植入方法有兩種,分別是“先預留再植入”和“先植入再移除”?!跋阮A留再植入”是指首先編譯含有假木馬的電路,這個過程相當于是預留,然后再將假木馬換為真木馬,進行第二次編譯;另一種方法是“先植入再移除”,是指第一次編譯含有真木馬的電路,然后將真木馬換為假木馬,再進行第二次編譯。先植入再移除的方法更好地模擬了ASIC流程中硬件木馬的植入環境,硬件木馬被植入在原始版圖的空白部分。因此,本設計采用“先植入再移除”的方法植入硬件木馬。

植入硬件木馬前后的FPGA版圖如圖5和圖6所示。圖中顏色較深的藍色區域表示該邏輯資源已被占用,顏色較淺的區域表示未被占用。由圖可知,RO1~6被約束在版圖中的不同位置,并在RO3附近植入了硬件木馬。對比可以發現,植入木馬前后只是在木馬約束區域內版圖有所不同,其余部分是完全相同的。因此,在后續實驗中,若環形振蕩器振蕩頻率發生變化,則影響一定來源于硬件木馬的植入。

圖5 植入假木馬(無木馬)時FPGA版圖Fig.5 FPGA layout with fake Trojan horse(without Trojan horse)

圖6 植入真木馬時FPGA版圖Fig.6 FPGA layout with Trojan horse

4 實驗結果與分析

針對四種典型的木馬電路,依次進行四次實驗。每次實驗使用兩塊FPGA開發板,其中一塊加載不含木馬的比特流,另一塊加載是含有木馬的比特流。程序加載后,不同RO的振蕩頻率將通過串口發送至上位機,采用多次測量求平均值的方式抵消噪聲和測量誤差,設定的平均次數為200次。

使用歸一化差值算法對平均后的數據進行處理,具體算法如下:

其中,data1_ave和data2_ave分別表示含有木馬和不含木馬的數據采集矩陣,矩陣大小為1×6,矩陣中的6個元素分別為6個RO進行200次平均后的振蕩頻率;mean為求矩陣均值函數;abs為取絕對值函數;ones(1,6)表示一個大小為1×6且元素為1的矩陣。

圖7(a)~(d)分別展示了不同類型木馬的數據分析結果,在四幅圖中,RO3處都存在明顯的尖峰,即采用所提出的方法,四種類型的木馬均被成功檢出。在圖7(c)和圖7(d)中,雖然RO3出存在尖峰,但尖峰值明顯小于圖7(a)和圖7(b)的結果,這是因為第一組實驗和第二組實驗中的硬件木馬既有動態功耗又有靜態功耗,而第三組和第四組實驗中的硬件木馬只有靜態功耗。這與前文的分析是一致的。

圖7 木馬檢測結果Fig.7 Detection results of Trojan horse

相關文獻大都針對ASIC展開,并且在不同的文獻中,作者植入的木馬不盡相同,因而無法進行橫向的對比,但本實驗對僅具有靜態功耗的木馬電路3和木馬電路4能夠成功檢測,這在相關文章中是不多見的,這不僅說明了所提出方法的有效性,更印證了其先進性。

5 結束語

保障國家信息安全,建設安全自主可控的信息體系已成為國家戰略。本研究面向FPGA應用,在基于環形振蕩器的硬件木馬檢測方法之上,通過在FPGA內部部署RO,使用增量編譯技術實現了四種典型木馬的植入,使用歸一化差值算法發現并定位了木馬。檢測結果表明,基于環形振蕩器的硬件木馬檢測方法在FPGA中具有很好的木馬檢出效果。所提出的方法已經在公司實際FPGA產品中使用,為及時發現木馬,保證信息安全提供了一種有效途徑。然而,木馬種類千變萬化,攻擊者的植入方式也越來越高明,只有進一步提高國家綜合實力,打造具有自主知識產權的中國芯,才能從根本避免受到硬件木馬的侵害。

猜你喜歡
檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
學習方法
小波變換在PCB缺陷檢測中的應用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: jizz在线观看| 免费激情网址| 亚洲无码37.| 亚洲欧洲日韩综合色天使| 国产杨幂丝袜av在线播放| 国产av一码二码三码无码 | 国产香蕉在线视频| 亚洲AV无码一二区三区在线播放| 亚洲第一天堂无码专区| 国产一级毛片高清完整视频版| 国产精品v欧美| 久久婷婷国产综合尤物精品| 青青草91视频| 久久成人18免费| 性视频久久| 4虎影视国产在线观看精品| 欧美啪啪一区| 欧美亚洲国产精品第一页| 午夜啪啪网| 天天爽免费视频| 国产精品永久不卡免费视频| 精品国产www| 亚洲精品动漫| 欧美日韩理论| 91免费观看视频| 国产亚洲欧美在线专区| 国产精品第5页| 国产麻豆福利av在线播放| av午夜福利一片免费看| 亚洲三级视频在线观看| 亚洲一级毛片| 怡红院美国分院一区二区| 欧美国产日产一区二区| 国产污视频在线观看| 久久五月视频| 亚洲91在线精品| 国产精品白浆在线播放| 亚洲一区毛片| 欧美成人精品欧美一级乱黄| 国产精品密蕾丝视频| 黄色国产在线| 国产大片喷水在线在线视频| 巨熟乳波霸若妻中文观看免费| 亚洲精品视频免费| 最近最新中文字幕在线第一页| 成年人午夜免费视频| 亚洲精品va| 久久青草热| 中文字幕欧美日韩| 在线亚洲精品自拍| www.亚洲一区| 国产久草视频| 国产人成在线观看| 亚洲视频影院| 成人a免费α片在线视频网站| 久无码久无码av无码| 成人看片欧美一区二区| 亚洲精品动漫| 国产在线97| 国产00高中生在线播放| 国产精品香蕉在线观看不卡| 成年人免费国产视频| 五月天在线网站| …亚洲 欧洲 另类 春色| 亚洲国产高清精品线久久| 一本色道久久88综合日韩精品| 亚洲免费人成影院| 人妻少妇久久久久久97人妻| 欧美一级黄片一区2区| 波多野结衣AV无码久久一区| 亚洲人人视频| 波多野结衣的av一区二区三区| 国产免费高清无需播放器| 黄色福利在线| 高清不卡一区二区三区香蕉| 久久人妻xunleige无码| 亚洲欧美人成电影在线观看| 专干老肥熟女视频网站| 五月婷婷精品| 国产男人天堂| 亚洲男人天堂网址| 国产精品2|