八種硬件木馬設(shè)計和實現(xiàn)_第1頁
八種硬件木馬設(shè)計和實現(xiàn)_第2頁
八種硬件木馬設(shè)計和實現(xiàn)_第3頁
八種硬件木馬設(shè)計和實現(xiàn)_第4頁
八種硬件木馬設(shè)計和實現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、emptyenctx_busystartTo Allempty done3S2 KeyboardModules50MhzExternalClockVGA 11 video_ctrkv128十fcu6 aes128 fast.vhdU4 pt_exp.v 8 to 128RS232asynctransmitter.vu2 c kbtop.v ru8 fifo_buffer (IK)U9 tx_ctrl.vu7 ct_def.v 128 to 8U1ClkdllCtrt.vStart Tx RegStart Enc Reg口口口口口 口口 口口口口 口口口負(fù)載:根據(jù)這些載荷分類,有幾個類別的硬件木

2、馬:1)向攻擊者廣播一些內(nèi)部信號,通常是敏感數(shù)據(jù)(如加密密鑰)。2)妥協(xié)的電路的功能(如與其他預(yù)設(shè)信息替換明文)。3)破壞芯片。我們的設(shè)計,trol,tro4, tro5, tro7,和tro8屬于第一集團。很顯然,對攻擊者,最有價值的信息加密設(shè)備是 加密密鑰。當(dāng)該木馬被觸發(fā)時,該密鑰和該密碼文本將被發(fā)送。攻擊者,通過適當(dāng)?shù)芈爞鬏斝诺?,從而獲得密鑰并 破壞系統(tǒng)。tro3屬于第二組,明文置換。該木馬被激活,合法接收者仍然會收到合理的明文。例如,當(dāng)我們輸入“莫斯科”, 將它改為“波士頓”,即明文“發(fā)射導(dǎo)彈瞄準(zhǔn)莫斯科”將改為“發(fā)射導(dǎo)彈瞄準(zhǔn)波士頓”。tro2, TRO6屬于第三組,目的是摧毀整個芯片。

3、在功能測試中,這種方法具有很難被檢測到的優(yōu)點,因為該木 馬的配置睡眠時間通常會比測試時間長得多。因此在測試階段,木馬被滅活而不會對芯片造成任何傷害。觸發(fā):類似地,我們可以根據(jù)觸發(fā),一個事件,使木馬進行分類。此事件的目的是逃避功能測試,要么依靠罕見的/ 非典型的事件,如未定義的輸入序列,或通過使用一個計數(shù)器后,延長時間。對于觸發(fā)器,我們有以下幾類:1)攻擊者可以在物理上訪問該設(shè)備,并可以給予特殊的輸入,以觸發(fā)木馬。2)該木馬在內(nèi)部觸發(fā):由特定的輸入事件、計數(shù)器或其他信號改變。3)沒有觸發(fā),該木馬總是被激活。trol,tro2,和tro8屬于第一組,該組的觸發(fā)方式是相當(dāng)模糊和在正常測試難以檢測的。

4、最緊湊的但有用的是 重新定義鍵盤中未使用的鍵觸發(fā)木馬。因為阿爾法加密只支持字母,這觸發(fā)可合理預(yù)期逃避功能測試。使用一個特 殊的字符串作為觸發(fā)器,可以很容易地逃避功能測試,因為輸入空間太大,它不像這個特殊的字符串會被類型化。 顯然,觸發(fā)器依賴物理訪問是受限制的。觸發(fā)器的二類(tro3, tro4, tro5, TRO6, tro7)是設(shè)備不能被攻擊者物理訪問。在這種情況下,我們注意到, 某些類型的內(nèi)部計數(shù)器可以用作一個激活機制的木馬。例如,我們可以實現(xiàn)一個計數(shù)器來跟蹤在a中的傳輸次數(shù), 并觸發(fā)后,它超過了預(yù)先指定的號碼。一個實時計數(shù)器也可以用作觸發(fā)器。最后,內(nèi)部信號的開關(guān),也可作為觸發(fā), 如tr

5、o5。在這個設(shè)計中,每當(dāng)鑰匙被改變,木馬就會被激活。一個更復(fù)雜的方法將為RS232接收器讓攻擊者控制整 個芯片通過RS232通道第三組的木馬配置是始終激活的。它需要的是隱藏的木馬的有效載荷,即通過廣播秘密信息的方式不被功能測 試檢測到。缺點是這種方式是功率的使用將變得更高,可能引起懷疑。tro5可以很容易地修改,以適應(yīng)在這個群體 中,但是這是興趣的空間,我們不在此討論。代碼優(yōu)化隨著觸發(fā)/基于載荷的木馬上面所描述的,有兩個木馬的目標(biāo)可以是相當(dāng)有效的,很難在Rtl檢測。首先是針對未經(jīng)優(yōu)化的HDL代碼。例如,一些模塊可以寫在一個不合理的方式,即使有先進的合成工具的幫助 下,生成的門級的設(shè)計將有大量冗

6、余邏輯。攻擊者知道這個模塊的規(guī)格,可以以更緊湊的方式重寫硬件電路的代碼, 同時,執(zhí)行相同的功能。通過這個優(yōu)化保存的片上資源,然后被分配給一個木馬。例如,在我們的工作中,我們重 寫了串行到并行的數(shù)據(jù)轉(zhuǎn)換模塊pt_exp.V節(jié)約了了我們128個觸發(fā)器。在tro2, tro7和tro8,原pt_exp.V文件是由 我們自己設(shè)計的模塊替換以平衡芯片面積和功耗的使用。二是針對標(biāo)準(zhǔn)或商業(yè)模塊(ip核)。ip核是現(xiàn)在廣泛使用的學(xué)術(shù)和商業(yè)設(shè)計,以盡量減少開發(fā)時間。作為一個 可重用的模塊,ip核通常是設(shè)計來完成一些通用的功能,以適應(yīng)許多不同的用法。然而,在大多數(shù)應(yīng)用中,并不是 所有的功能將被使用。這會導(dǎo)致冗余邏

7、輯,可以通過修改代碼來消除未使用的功能來優(yōu)化。再次,該修改保存的芯 片面積可用于插入木馬程序。我們將展示ps2interface.vhd模塊優(yōu)化后的,消除13個觸發(fā)器和10個4輸入LUT。在tro2,和tro3,原ps2interface.vhd文件是由我們的優(yōu)化模塊取代以減少總的芯片面積和功耗的使用。木馬實現(xiàn)實驗裝置我們的木馬在Alpha平臺的實現(xiàn)是在Xilinx公司的ISE WebPACK 10.1環(huán)境下進行,使用目標(biāo)芯片xc3s250e-4tq144 在Digilent Basys開發(fā)板8 。這些木馬位于整個阿爾法架構(gòu)如圖1所示,“T”是指每個木馬的位置。圖2總結(jié)了所有八個木馬在本文包括

8、觸發(fā)器的其余部分討論了有效載荷,面積開銷,可能他們會通過正常的檢 測方法檢測。木馬類型一描述和觸發(fā)機制:該木馬是在設(shè)計和監(jiān)控鍵盤輸入前端插入。如果'New Haven”被檢測是在明文的開始,木 馬就會被觸發(fā)。當(dāng)木馬被觸發(fā),第一塊(128位)的輸出密文的加密密鑰將被取代。該木馬代碼的大部分位于alphatop.V 模塊,里面插入有限狀態(tài)機。圖3顯示了木馬類型一的工作流程。平臺和區(qū)域消耗:未經(jīng)修改的原代碼被用作該木馬的平臺??傊?,1486個觸發(fā)器和4320個LUT使用對應(yīng)于原 設(shè)計多了 0.8%和6.8%,分別。實施效果:攻擊者,有權(quán)訪問輸入(鍵盤)和聽輸出通道RS232串口),可以很容易

9、地獲取加密密鑰。遠(yuǎn)程攻 擊者不能訪問設(shè)備但可以監(jiān)聽通信渠道仍然可以獲得的密鑰,但它依賴于一個用戶進入特殊的文本為明文。限制:如上所述,需要一個特殊的輸入字符串來觸發(fā)該木馬。因此,攻擊者必須物理訪問系統(tǒng),或依賴于合法 用戶輸入這個特殊的字符串。當(dāng)然,攻擊者也必須有能力監(jiān)控輸出。此外,芯片面積開銷可能會導(dǎo)致更多的功耗, 提高到可疑的測試過程中的水平。雖然它是非常不可能的,但也有一個非零的概率,使木馬將被發(fā)現(xiàn)在功能測試, 如果這個特殊的關(guān)鍵字是用來測試系統(tǒng)。此外,當(dāng)木馬被觸發(fā),合法接收者仍然試圖對已經(jīng)被加密密鑰替換的密文 解密。這將導(dǎo)致接收機獲取垃圾數(shù)據(jù)而不是正確的明文,這也可能導(dǎo)致木馬被檢測。木馬

10、類型二說明和觸發(fā)機制:該木馬的設(shè)計,以減少功率的使用顯著,以避免給木馬帶來木馬可疑增加。在木馬實施之前, 兩個Verilog文件通過編輯刪除多余的成分和減少空間的使用。這個木馬,觸發(fā)是一個最初定義的鍵F12。無論何時, 按下該鍵,觸發(fā)木馬后會鎖定和忽略任何輸入,除非對FPGA重新編程。主要的木馬代碼位于kb2ascii.V文件,那里 對F12鍵定義。圖4顯示了木馬類型二的工作程序。Alpha面積消耗:優(yōu)化過的pt_exp.v和kb_top.v模塊作為平臺。Trojan Summary TableTypeTriggerPayloadChanged M(hI.By WhomHowHowLeakin

11、g ChannelTrolAttacker with access to input deviceInput "New Haven °First block of ciphertext replaced by keyRS-232 TxDN/CTro2Attacker/legitimate userPress "F12" keyThe chip stops working-pt_exp, kb_topTro 3Legitimate userInput "Moscow"*Moscow" is replaced byMBoston

12、" at outputRS-232 TxDkb_topTro4Legitimate userInput > 1KB dataLast block of ciphertext replaced by keyRS-232 TxDN/CTro5Legitimate userWhen key is changedNew key is hidden in the outputRS-232 TxDN/CTro6Legitimate userTransmit> NThe chip stops working-N/CTro7Attacker (using the RxD portCont

13、rol w/ RxD portChip controlled by the attackersRS-232 TxDpt_expTroSAttacker with access to input devicePress "Caps Lock" keyThe "Caps Lock" LED will reveal the keyKeyboardpt_expTypeArea OverheadTesting Detection Likelihood FunctionalPowerFlop-flops4-input LUTsTrol1486(+0.8%)4320(

14、+6.8%)Unlikely Except with exhaustive input patterns.ik-plyTro21336(-9.4%4198(+0.024%)UnlikelyUnlikelyTro31523(+3.3%)4266(+2.4%)Unlikely1LikelyTro41475(+0.068%)4273(+1.8%)Unlikely Except with buffer-overflow testLikelyTro51485(+0.75%)4255(+1.4%)Neariy impossibleUnlikely Except with transmit power te

15、stingFig2總之,1336個觸發(fā)器和4198個LUTS是比原來設(shè)計分別少了 9.4%的設(shè)計和多了 0.024%。顯然,使用太少的觸發(fā)器是沒有問題的,因為我們可以隨意插入虛擬系統(tǒng)去匹配原來設(shè)計。實施效果:可以訪問輸入端的攻擊者,可以很容易地觸發(fā)木馬。無法訪問該設(shè)備的遠(yuǎn)程攻擊者是依賴于用戶誤 按未定義的密鑰來觸發(fā)該木馬的。局限性:由于合成工具的局限性,我們不能物理地通過RTL代碼破壞芯片,即從 VDD接地進行連接。由于該木馬可以通過簡單的重新編程滅活,這種類型的木馬可能不會對用戶產(chǎn)生嚴(yán)重的長期負(fù) 面影響。木馬類型三描述和觸發(fā)機制:這個木馬是專為特殊的情況下:攻擊者知道電路的使用,可以適當(dāng)?shù)貥?gòu)

16、建一個明文的置換方 案。在這個木馬,每當(dāng)在明文檢測到“Moscow”,它將被取代“boston”。Tro61479(+0.34%)4204(+0.17%)Nearly impossibleUnlikelyTro71409(-4.4%)4401(+4.9%)Neariy impossibleUnlikelyTro81396(-5.3%)4305(+2.6%)Nearly impossibleUnlikely感興趣的短語和替換短語可以根據(jù)使用的木馬和芯片來改變。木馬代碼位于插入了 FSM的alphatop.V模塊。圖5顯 示了木馬類型三的工作流程。平臺和面積消費:優(yōu)化的kb_top.V模塊應(yīng)用平臺

17、。總之,1523個觸發(fā)器和4266 LUTS是+3.3%和+ 1.6%超過原 設(shè)計。實施效果:攻擊者不需要訪問輸入設(shè)備,也不需要監(jiān)控輸出。替換的詞的選擇是木馬修改系統(tǒng)的功能的能力, 為了在某些方面對攻擊者有用。約束:如上所述,在設(shè)計該木馬時,關(guān)鍵字的選擇是至關(guān)重要的。然而,這種類型的木馬會屈服于功能測試的 輸入空間的窮舉測試。此外,如果TMR (三重模塊冗余)是用三個不同的加密模塊(沒有硬件木馬的)來加密和傳 輸數(shù)據(jù),修改后的結(jié)果將被丟棄的木馬效果將無效。木馬類型四描述和觸發(fā)機制:木馬設(shè)計定制目標(biāo)是系統(tǒng)中的不匹配的緩沖區(qū)大小。明文緩沖區(qū)的大小是1 KB,而視頻緩沖 區(qū)是4 KB。這使得操作者難

18、以知道他或她太多的明文是否已經(jīng)發(fā)生了輸入緩沖溢出。當(dāng)輸入緩沖區(qū)發(fā)生溢出時,該 木馬被觸發(fā),而有效載荷是用加密密鑰替換最后一個塊。這種方法充分利用了原設(shè)計中的一個細(xì)節(jié):根據(jù)設(shè)計,如 果輸入是1kb,最后一個字節(jié)將被丟棄,為了傳輸?shù)拿荑€索引。因此,合法的接收器將丟棄最后一個塊作為垃圾。 由于接收器會丟棄這個塊,該木馬可以簡單地用整個加密密鑰替換塊。木馬代碼位,lphatop. V模塊。圖6顯示了 木馬類型四的工作流程。平臺和面積消費:沒有任何修改的原始代碼被用作一個平臺??傊?,1475個觸發(fā)器和LUTS是4273 + 0.068% + 1.8%超過原設(shè)計。實施效果:攻擊者不需要物理訪問設(shè)備,但應(yīng)該

19、有訪問的通信通道緩沖區(qū)溢出發(fā)生后去聽取加密密鑰,。約束:攻擊者必須連續(xù)監(jiān)測通信信道,并檢查每個傳輸?shù)淖詈笠粋€塊的爆發(fā)。如果在功能測試計劃中包含一個 緩沖區(qū)溢出測試,它可以檢測到該類型的木馬。木馬類型五描述和觸發(fā)機制:這個木馬是設(shè)計來通過隱藏信息在傳輸RS-232通道,去妥協(xié)(泄露)通信信道。在我們的設(shè)計中, 對串口波特率為9600 bps,改為19200bps。在最初的設(shè)計中,每一個RS-232數(shù)據(jù)包中包含1個起始位,8個數(shù)據(jù)位,2 停止位。在19200個基點的波特率,這些參數(shù)被更改為1個起始位,8個數(shù)據(jù)位,1個停止位。這使得木馬插入其他信 息,例如,加密密鑰,隨著合法的數(shù)據(jù)。對于每個合法的8

20、位數(shù)據(jù)包,多達(dá)7位可以被插入。圖7比較了原區(qū)9232包 在9600波特率與折中渠道19200波特率包?!癟ro”表示,泄漏的位可以插入從而泄露秘密。在我們的設(shè)計中,我們使 用了四個這樣的位。當(dāng)關(guān)鍵索引被改變時,該木馬被觸發(fā)以加密密鑰插入到隱藏的通道中的。如果波特率設(shè)置為9600 bps,合法用戶或功能測試設(shè)備將不再注意任何輸出端的差異。因此,唯一可能用于檢測該木馬的手段是通過比較 功耗。木馬代碼位于async_transmitter .V模塊。圖8顯示了木馬類型五的工作流程。Fig 7Fig 8平臺和面積消耗:沒有任何修改的原始代碼被用作一個平臺??傊?,1485個觸發(fā)器(0.75%超過原設(shè)計)

21、和4255個 LUT (+超過1.4%原創(chuàng)設(shè)計)的使用。實施效果:這是一個復(fù)雜的木馬,它免疫規(guī)范參數(shù)的功能測試,盡管被觸發(fā)頻繁。攻擊只需要在19200的波特率監(jiān) 測RS-232傳輸信道就可獲得密鑰和密文。限制:由于該區(qū)域的開銷是微不足道的,該木馬大多數(shù)時間不能被功能測試或通過功率跟蹤測試檢測到的。然而, 當(dāng)木馬被觸發(fā)時,由于高的傳輸速率,在傳輸階段的功率消耗可以高于正常的。因此,一個在線的功率譜監(jiān)測方法 可能會檢測到該木馬。木馬類型六 描述和觸發(fā)機制:該木馬類似于定時炸彈。插入的計數(shù)器將在每個字符的傳輸自增,直到它超過了預(yù)定數(shù),N。當(dāng) 該木馬被觸發(fā),輸出被鎖定到一個二進制1。木馬代碼位于alp

22、hatop .丫模塊。圖9顯示了木馬類型六的流程。平臺和面積消耗:沒有任何修改的原始代碼被用作一個平臺??傊?,1479個觸發(fā)器和4204個LUTS分別+ 0.34% + 0.17% 超過原設(shè)計。實施效果:該木馬是一個定時炸彈,這將不被激活,直到計數(shù)的傳輸超過預(yù)定數(shù)量。攻擊應(yīng)該小心地設(shè)置號碼。 約束:對于這個木馬,設(shè)定懷數(shù)是關(guān)鍵的整個設(shè)計。一個差的選擇可能會導(dǎo)致在功能測試中被檢測。再次,由于 綜合工具的限制,我們不能通過RTL代碼破壞芯片,這意味著當(dāng)木馬被觸發(fā),重新編程是修復(fù)芯片的一個簡單的方 法。然而,在實際環(huán)境中,產(chǎn)生的負(fù)載可能導(dǎo)致破壞芯片,例如通過激活一條短路/DD至接地。木馬類型七 描述

23、和觸發(fā)機制:該木馬是一種積極的嘗試,演示如何完全控制設(shè)備通過一個木馬。在本設(shè)計中,原本閑置際XD 端DBASYS板配置為觸發(fā)/控制信號和一個async_receiver.V模塊添加到設(shè)計。隨著木馬的觸發(fā)信號,兩個控制信號插 在原設(shè)計:tro7_trigger_rst,和tro7_trigger_txo這兩個信號控制通過RXD端口作為遠(yuǎn)程版本的復(fù)位信號和在系統(tǒng)板發(fā) 送按鈕。新的加密密鑰也插入,這是用來加密木馬通過RS-232通信信道傳輸?shù)男畔⒌?。例如,在我們的實現(xiàn)中,原 來的加密密鑰是用這個密鑰進行加密,然后在通信信道上進行廣播,使攻擊者能夠獲得加密密鑰。同時,合法的用 戶不知道,該系統(tǒng)已經(jīng)廣播

24、密鑰陷入危險,因為加密的密鑰看起來像一個垃圾塊。表一顯示一個列表,我們通過RS-232 RXD端口實現(xiàn)的的命令。木馬代碼位于alphatop.WD額外的async_receiver .V模塊。Commandst。RS-232 RxD purlEil乳tTrojaneftriReset the sy&temTrojanabtriEndypl the enciypiLon key with (he Trojan keyTrojancdtriTransmil encrypted key on RS-232 TxD portTABLF TH OJA M COMMAND KEYS平臺和面積消耗:一個優(yōu)化的pt_exp.V模塊作為一個平臺??傊?409個觸發(fā)器和4401 LUTS分別是4.4%小于原設(shè)計 和4.9%超過原設(shè)計。實施效果:由于在原設(shè)計的接收信道RXd空

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論