翟騰 高宏玲 郭青帥
摘? ?要: 芯片硬件安全性能是信息安全的基石,分析、防控和杜絕芯片內(nèi)部和外部的相關(guān)安全風(fēng)險隱患一直是重要研究課題。針對芯片面臨的兩大安全風(fēng)險——硬件木馬植入和物理攻擊進(jìn)行了探討:一是以旁路信號分析檢測硬件木馬為典型案例,分析了物理檢測、邏輯測試、旁路信號分析等硬件木馬檢測技術(shù)的優(yōu)勢和劣勢;二是以使用簡單功耗分析(SPA)和差分功耗分析(DPA)等攻擊方式破解智能卡芯片密鑰為典型案例,分析了非侵入式攻擊、半侵入式攻擊和侵入式攻擊等物理攻擊類硬件安全風(fēng)險?;陲L(fēng)險識別提出了硬件安全防控建議:1)構(gòu)建高集成度硬件木馬仿真環(huán)境和模型庫;2)重點關(guān)注產(chǎn)業(yè)鏈安全,加強(qiáng)環(huán)節(jié)控制;3)大力開展攻防技術(shù)研究,提升芯片抗攻擊能力。
關(guān)鍵詞: 芯片;風(fēng)險識別;安全管控;硬件木馬;物理攻擊;旁路信號分析;模型庫;產(chǎn)業(yè)鏈
引言
芯片硬件的集成度、設(shè)備規(guī)模一直呈指數(shù)級增長,芯片制造技術(shù)的飛速進(jìn)步造就了人工智能、智能網(wǎng)聯(lián)汽車、機(jī)器人、物聯(lián)網(wǎng)等產(chǎn)業(yè)的不斷發(fā)展,但是芯片硬件暴露出來安全問題,也越來越引起業(yè)界和公眾的重視。2018年初,媒體披露當(dāng)時的主流高性能CPU芯片普遍存在“熔斷”和“幽靈”等多個嚴(yán)重影響信息安全的漏洞,隨后清華大學(xué)也報道了能夠竊取ARM和X86芯片可信執(zhí)行環(huán)境中加密密鑰的“騎士”漏洞[1]。這些漏洞影響范圍廣泛,檢測難度大,同時與以往漏洞存在顯著區(qū)別:它們都是硬件漏洞。
芯片硬件安全性能分析和防控是信息安全的基石,檢測并杜絕芯片內(nèi)部和外部的相關(guān)安全風(fēng)險隱患至關(guān)重要。當(dāng)前大部分軟件安全漏洞防控措施對硬件漏洞束手無策,甚至無法對漏洞是否被利用提出有效的檢測方案,即使進(jìn)行硬件固件更新,也僅僅能夠修補(bǔ)部分漏洞,原因在于漏洞所依賴的硬件預(yù)測執(zhí)行行為在軟件層面完全不可見??梢哉f,硬件安全是計算系統(tǒng)的安全根基,無法確保芯片的硬件安全,就無法保證運行于其上的軟件的安全,與之緊密關(guān)聯(lián)的系統(tǒng)安全和網(wǎng)絡(luò)安全則更無從談起。
目前芯片產(chǎn)品面臨的硬件安全風(fēng)險主要來源于兩大類:一是在芯片設(shè)計、制造、開發(fā)環(huán)節(jié)可能受到的硬件木馬植入[2-4]或設(shè)計導(dǎo)致的漏洞缺陷;二是在芯片使用過程中可能遭受的各種外部物理攻擊。本文結(jié)合實際案例對上述兩類硬件安全風(fēng)險進(jìn)行了分析,并有針對性地提出了防控建議。
1? 硬件木馬及其檢測技術(shù)
1.1? 硬件木馬原理
硬件木馬是指惡意攻擊者出于某種特殊目的,在芯片設(shè)計、制造或二次開發(fā)過程中人為制造的非法木馬電路。硬件木馬長期保持休眠狀態(tài)并且不影響原始電路工作,當(dāng)原始電路滿足某些觸發(fā)機(jī)制,比如原始電路某些參數(shù)運行到某些特定的值時,硬件木馬即能夠使原始電路發(fā)生本不該有的情況,如改變原始電路的功能、向攻擊者泄露機(jī)密信息,甚至使整個系統(tǒng)癱瘓等。硬件木馬一般由兩部分組成:用于激活木馬電路的觸發(fā)模塊,以及在木馬被激活后實施攻擊的有效載荷模塊。硬件木馬一旦被觸發(fā),就會發(fā)送激勵信號給木馬的有效載荷模塊,然后有效載荷模塊開始發(fā)揮作用,實現(xiàn)攻擊目的。
圖1是一個非常簡單的依靠時鐘控制的硬件木馬的電路模型[5],該木馬電路由一個K位的同步計數(shù)器和一個異或門構(gòu)成,其中作為觸發(fā)模塊的計數(shù)器的值被計滿時,木馬電路即通過作為有效載荷的異或門將ER處的邏輯值反向形成ER*,從而順利地改變原始電路的輸出結(jié)果。
按照觸發(fā)特性,硬件木馬可以分為外部觸發(fā)與內(nèi)部觸發(fā)兩類:外部觸發(fā)是指利用外部天線或者其他傳感器來激活的木馬電路;內(nèi)部觸發(fā)是指在符合特定條件時被觸發(fā)的木馬電路,特定條件包括芯片內(nèi)部某個特殊的邏輯狀態(tài)或者特定的溫度、濕度、電磁干擾等。按照作用方式,硬件木馬可以分為功能破壞和信息竊取兩類:功能破壞是指硬件木馬能夠改變芯片內(nèi)部的數(shù)據(jù)或結(jié)構(gòu),導(dǎo)致原始電路的功能發(fā)生改變、失常,甚至導(dǎo)致芯片發(fā)生物理損壞;信息竊取是指硬件木馬能夠竊取芯片內(nèi)部數(shù)據(jù),并通過特殊方式泄露出去。硬件木馬一般相對整個芯片來說占比很小,植入芯片后不會改變芯片的尺寸規(guī)格和原始功能,同時十分隱蔽且活性不高。植入芯片的木馬電路很難被發(fā)現(xiàn),硬件木馬只在特殊的條件下才被激活啟動,其他絕大部分時間對整個芯片幾乎是沒有影響的,因此如何高效地檢測硬件木馬,保證芯片和硬件的可靠性與安全性,顯得尤為重要。
1.2? 硬件木馬檢測技術(shù)
1.2.1? 物理檢測
物理檢測是一種基于對芯片采用反向工程的安全檢測技術(shù),該方法能夠?qū)π酒茧娐方Y(jié)構(gòu)進(jìn)行分析,從而發(fā)現(xiàn)芯片后門和硬件木馬。物理檢測屬于破壞性的檢測手段。如圖2所示[6],芯片反向工程主要利用去封裝、制樣、照相、拼合、掃描電鏡、電子探針等硬件設(shè)備和手段對芯片版圖進(jìn)行提取和分析,通過引線識別、通孔識別、單元搜索和提取等自動化分析技術(shù),得到反映芯片原始版圖信息的平面電路圖,分析判斷其中超過功能要求的部分,確定是否存在芯片后門和冗余電路等安全隱患。
物理檢測技術(shù)的局限性在于三個方面:一是反向工程對軟硬件條件要求極高,檢測流程和工藝復(fù)雜,檢測成本過高;二是無法實現(xiàn)批量檢測,只能進(jìn)行抽樣檢查,不能保證所有待測芯片的安全性;三是隨著芯片集成度越來越高、工藝流程越來越復(fù)雜,通過物理檢測技術(shù)來發(fā)現(xiàn)硬件木馬的難度也會越來越大。
1.2.2? 邏輯測試
邏輯測試采用窮舉法對電路的所有端口進(jìn)行測試,通過檢測芯片功能是否正常來判斷是否存在硬件木馬植入。該測試方法基于自動測試矢量生成技術(shù)(Automatic Test Pattern Generation,ATPG),通過向待檢測芯片輸入激勵向量,最大程度地激活電路中所有的信號。如果輸出的邏輯值與預(yù)期結(jié)果不匹配,則可判定存在硬件木馬或缺陷。
邏輯測試技術(shù)的局限性在于三個方面:一是其采用了窮舉法,因此檢測過程必須考慮到所有可能的輸入向量,時間成本高;二是對于較大規(guī)模的硬件木馬,比如對于獨立增加的功能模塊,很難通過邏輯測試手段檢測出來;三是該檢測方法只能檢測通過輸入端口激活的硬件木馬,對于通過旁路信號激活的硬件木馬不適用[7]。
1.2.3? 旁路信號分析
旁路信號分析技術(shù)主要通過采集被測芯片在工作過程中所泄露的功耗、時序、電磁輻射、熱量等旁路信號變化曲線來判斷芯片中是否含有硬件木馬[8]。目前主要依靠分析功耗和時序信息來檢測硬件木馬。對于植入硬件木馬的芯片,在其正常工作狀態(tài)下的各種旁路信號都會由于受到木馬模塊的影響而出現(xiàn)細(xì)微變化,因此,通過采集待測芯片的旁路信號數(shù)據(jù),并將其與原始電路的旁路信號數(shù)據(jù)進(jìn)行處理、分析和對比,能夠發(fā)現(xiàn)并綜合判斷二者之間的差異是否合理,進(jìn)而判斷電路中是否存在硬件木馬。在前期工作中,我們通過旁路信號分析成功檢測出了在FPGA開發(fā)板中預(yù)先植入的硬件木馬,該木馬能夠在特定條件下被激活,竊取AES加密模塊密鑰,導(dǎo)致密鑰泄露[9]。圖3是采集到的芯片功耗泄露曲線,圖4是將時域信號進(jìn)行FFT變換后濾除高頻成分,并對頻域波形相關(guān)性進(jìn)行計算后的結(jié)果,能夠看出濾除高頻成分后的頻譜圖出現(xiàn)明顯變化。
旁路信號分析技術(shù)的局限性在于兩個方面:一是需要有被測芯片型號的“黃金模板”,即完全可信的不含木馬的標(biāo)定芯片,通過采集可疑芯片和標(biāo)定芯片在同樣工作條件下的側(cè)信道信息進(jìn)行對比分析,綜合判斷可疑芯片是否含有硬件木馬;二是需要排除工藝變量和檢測設(shè)備誤差,對于大規(guī)模SoC來說,惡意植入的硬件木馬占芯片電路比例甚至小于0.01%,這時硬件木馬對電路功耗、電磁泄露等旁路信號的影響很容易被芯片工藝變量和檢測設(shè)備誤差所掩蓋,導(dǎo)致硬件木馬難以被檢測出來。
2? 物理攻擊類硬件安全風(fēng)險
傳統(tǒng)基于窮舉或純數(shù)學(xué)理論層面的分析,對于現(xiàn)代高強(qiáng)度加密算法而言算力有限,導(dǎo)致無法實現(xiàn)窮舉,算法的復(fù)雜性也使得很難通過數(shù)學(xué)工具對芯片進(jìn)行直接破解。物理攻擊方式直接獲取芯片物理信息或?qū)π酒M(jìn)行硬件級修改,能夠大大降低芯片破解的難度。根據(jù)侵入方式的不同,物理攻擊可以分為三類:非侵入式攻擊、半侵入式攻擊和侵入式攻擊。
2.1? 非侵入式攻擊
非侵入式攻擊的主要方式是在芯片工作運行的特定時刻,不對芯片進(jìn)行任何物理損傷或改變,而是采集其在側(cè)信道泄露的功耗、時間或電磁輻射等物理量,通過對采集到的原始信號進(jìn)行處理分析,或注入電壓毛刺和時鐘信號等故障的方式,使芯片電路工作異常或產(chǎn)生錯誤操作,從而竊取芯片內(nèi)部敏感信息。非侵入式攻擊典型方法主要包括簡單功耗分析(Simple Power Analysis,SPA)、差分功耗分析(Differential Power Analysis,DPA)、相關(guān)性功耗分析(Correlation Power Analysis,CPA)、差分故障分析(Differential Fault Analysis,DFA)等,此外能量分析攻擊方法中還包括一些擴(kuò)展的方法,如模板攻擊、高階能量分析等。
圖4是一個簡單的SPA案例,檢測對象是一個采用SM2加密算法的智能卡芯片,由于芯片沒有采用任何側(cè)信道防護(hù)技術(shù),我們可以從直接采集的功耗波形中識別出點加和倍點對應(yīng)的功耗特征。點加包含10個模乘運算,倍點包含11個模乘運算,根據(jù)點加和倍點對應(yīng)的功耗特征以及Double-and-add算法的特點,可以識別出功耗曲線中的0(僅包含一次倍點)和1(包含一次倍點和點加),從而獲取芯片加密密鑰。
圖5是針對采用DES算法硬件加密的智能卡芯片進(jìn)行DPA攻擊所采集和處理后的功耗曲線。從功耗曲線上可以很明顯地看到左側(cè)框及右側(cè)框中分別有8個相似的尖峰波形,通過相關(guān)性分析結(jié)果可以確定其分別為處理明文、處理密文時的功耗波形,左側(cè)框及右側(cè)框之間的曲線部分即為DES運算的功耗波形。我們對該智能卡芯片采集大約5 000條功耗曲線后,通過DPA攻擊成功獲取了芯片加密密鑰。
2.2? 半侵入式攻擊
半侵入式攻擊主要指在芯片運行的特定時刻,通過打開芯片的頂部或底部封裝層,使用光注入、電磁操縱、放射線注入、電壓對比等攻擊手段,獲取芯片內(nèi)部敏感信息。半侵入式攻擊的類型包括激光故障注入、電磁故障注入、強(qiáng)光照射、放射線照射等。以激光故障注入為例,其把特定波長和功率的激光打在芯片關(guān)鍵工作區(qū)域上,利用半導(dǎo)體光電效應(yīng)使晶體管導(dǎo)通,從而引發(fā)錯誤,以對微控制器SRAM的任何單獨bit進(jìn)行置位和復(fù)位[10]。由于這種攻擊可以在加密計算或者是加密協(xié)議通信中引發(fā)錯誤,因此可能會導(dǎo)致密鑰信息泄露或改變芯片加密流程。
2.3? 侵入式攻擊
侵入式攻擊主要通過打開芯片的封裝并取出片芯,使用FIB、SEM等精密電子設(shè)備對片芯的物理結(jié)構(gòu)和電路信號進(jìn)行觀察、測量,或改變某些電路單元的功能,以獲取密鑰等敏感信息。侵入式攻擊可分為芯片解剖、芯片修改和芯片破解三種形式。芯片解剖通過采用化學(xué)腐蝕或物理切割等方式對芯片外圍封裝進(jìn)行去除,直接獲取芯片晶元;芯片修改通過FIB設(shè)備對芯片內(nèi)部結(jié)構(gòu)進(jìn)行修改,以獲取芯片內(nèi)部信息;芯片破解直接對裸露芯片進(jìn)行有源探測或無源探測,讀取芯片內(nèi)部信息,同時通過探針臺等設(shè)備直接對芯片進(jìn)行測試。侵入式攻擊的類型包括總線探針檢測、傳感器拆除探針檢測、讀ROM、讀EEPROM、讀FLASH、FIB電路重構(gòu)、隨機(jī)數(shù)發(fā)生器RNG攻擊、返回檢測模式等。
3? 硬件安全防控建議
3.1? 構(gòu)建高集成度硬件木馬仿真環(huán)境和模型庫
硬件木馬具有植入方式靈活和長期隱蔽的特點。有的木馬直接存在于使用的第三方IP核中,有的木馬在RTL級代碼中插入,有的木馬在版圖中的空余空間插入,一旦成功植入,硬件木馬就會長期潛伏在芯片產(chǎn)品中。目前的幾種檢測方法都存在較大局限性,通常只能檢測出已知的一種或者一類硬件木馬,應(yīng)該說至今沒有任何一種方法可以檢測出所有的硬件木馬?;谂月沸盘柗治龅姆椒ㄊ悄壳鞍l(fā)展得比較好的硬件木馬檢測方法,能有效地檢測出規(guī)模較大的木馬,但由于芯片工藝變量和信號采集設(shè)備誤差的影響,該方法難以檢測到小型木馬;邏輯測試方法不受工藝噪聲的影響,能有效地檢測出小型木馬,但是其測試向量生成復(fù)雜,對大型木馬的檢測效果不夠理想。研究構(gòu)建高集成度的硬件木馬仿真實驗環(huán)境、建立硬件木馬模型庫,有利于相關(guān)研究的開展,推動硬件木馬檢測技術(shù)的發(fā)展。
3.2? 重點關(guān)注產(chǎn)業(yè)鏈安全,加強(qiáng)環(huán)節(jié)控制
芯片信息安全防控應(yīng)重點考慮產(chǎn)業(yè)鏈安全。隨著芯片產(chǎn)品和技術(shù)的快速發(fā)展,芯片廠商在設(shè)計階段過于依賴外部IP,在生產(chǎn)制造階段過于依賴專業(yè)代工廠,在封裝測試階段過于依賴專業(yè)封測廠,使得其對自身產(chǎn)品的控制力越來越弱,使得產(chǎn)品在產(chǎn)業(yè)鏈的整個過程都變得更加容易受到安全威脅。芯片產(chǎn)業(yè)鏈的不斷細(xì)分所面臨的巨大威脅,就是芯片產(chǎn)品在設(shè)計制造過程中不斷增加的被攻擊風(fēng)險和惡意更改風(fēng)險。為了防御硬件木馬對整個芯片電路系統(tǒng)安全的威脅,最直接有效的方法就是嚴(yán)格控制芯片開發(fā)周期中的每一個環(huán)節(jié),確保沒有硬件木馬的植入,對人員、環(huán)境、工作流程進(jìn)行科學(xué)管理的效果遠(yuǎn)遠(yuǎn)大于對檢測技術(shù)的依賴。因此,關(guān)注芯片設(shè)計、制造、研發(fā)等環(huán)節(jié)的產(chǎn)業(yè)鏈安全對于芯片信息安全防控至關(guān)重要。
3.3? 大力開展攻防技術(shù)研究,提升芯片抗攻擊能力
在芯片廠商追求高性能、低功耗的過程中,必然會產(chǎn)生硬件安全漏洞的隱患,特別是在消費電子領(lǐng)域,為了縮短開發(fā)周期,廠商往往不會在安全防控方面投入太大成本。因此,開展芯片安全攻防技術(shù)研究對于提升芯片產(chǎn)品安全性尤為重要。一方面,開展芯片攻防技術(shù)的研究實際上就是一個硬件漏洞挖掘的過程,比如Intel“熔斷”和“幽靈”漏洞是基于側(cè)信道攻擊的技術(shù),“騎士”漏洞是基于電壓毛刺錯誤注入攻擊的技術(shù),通過開展芯片攻防技術(shù)的研究,能夠發(fā)現(xiàn)已經(jīng)存在的硬件漏洞,及時排除安全隱患;另一方面,隨著物理攻擊理論、技術(shù)的不斷發(fā)展,攻擊者在物理攻擊過程中常使用多種攻擊手段結(jié)合的方式,提升攻擊成功率,通過開展芯片攻防技術(shù)的研究,能夠指導(dǎo)芯片安全設(shè)計,有效提升芯片產(chǎn)品抗物理攻擊能力。
4? 結(jié)語
硬件安全性能和管控是信息安全的基石。芯片的硬件安全研究與攻擊方法研究是互相競爭發(fā)展的,芯片的安全設(shè)計是系統(tǒng)的、立體的、交叉的,與其他學(xué)科相互滲透。隨著量子計算機(jī)和人工智能等技術(shù)的不斷發(fā)展,新的攻擊方法和安全威脅將會不斷地涌現(xiàn),保障芯片硬件安全任重而道遠(yuǎn)。
參考文獻(xiàn)
[1] Qiu P F, Wang D S, Lyu Y Q, et al. VoltJockey: Breaching TrustZone by Software-Controlled Voltage Manipulation over Multi-core Frequencies[C]// Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security (CCS19), ACM, 2019: 195-209.
[2] Baumgarten A, Steffen M, Clausman M, et al. A case study in hardware Trojan design and implementation[J]. International Journal of Information Security, 2011, 10(1): 1-14.
[3] Moradi A, Oswald D, Paar C, et al. Side-Channel Attacks on the Bitstream Encryption Mechanism of Altera Stratix II[C]// 21st ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA13), 2013: 91-99.
[4] Tehranipoor M, Koushanfar F. A survey of hardware Trojan taxonomy and detection[J]. IEEE Design & Test of Computers, 2010, 27(1): 10-25.
[5] Chakraborty R S, Narasimhan S, Bhunia S. Hardware Trojan: Threats and Emerging Solutions[C]// High Level Design Validation and Test Workshop, San Francisco, CA, USA: IEEE, 2009: 166-171.
[6] 房磊. 基于門級網(wǎng)表的硬件木馬檢測技術(shù)研究[D]. 成都: 電子科技大學(xué), 2014.
[7] Adamov A, Saprykin A, Melnik D, et al. The problem of Hardware Trojans detection in System-on-Chip[C]//CAD Systems in Microelectronics, IEEE, 2009: 24-28.
[8] 唐棠. 基于旁路分析的硬件木馬檢測技術(shù)研究[D]. 成都: 電子科技大學(xué), 2014.
[9] 郭青帥, 翟騰, 高宏玲. 基于FPGA的串口通信AES加密模塊硬件木馬設(shè)計與檢測[J]. 工業(yè)技術(shù)創(chuàng)新, 2019, 6(6): 32-37.
[10] Sergei P, Skorobogatov R J A. Optical fault induction attacks[M]// Lecture Notes in Computer Science, 2002: 2-12.