嵌入式系統(tǒng)安全機(jī)制探討_第1頁
嵌入式系統(tǒng)安全機(jī)制探討_第2頁
嵌入式系統(tǒng)安全機(jī)制探討_第3頁
嵌入式系統(tǒng)安全機(jī)制探討_第4頁
嵌入式系統(tǒng)安全機(jī)制探討_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng)安全機(jī)制探討一、嵌入式系統(tǒng)所面臨的安全問題一套完整的嵌入式系統(tǒng)由相關(guān)的硬件及其配套的軟件構(gòu)成;硬件部分又可以 劃分為電路系統(tǒng)和芯片兩個(gè)層次。在應(yīng)用環(huán)境中,惡意攻擊者可能從一個(gè)或多個(gè) 設(shè)計(jì)層次對(duì)嵌入式系統(tǒng)展開攻擊,從而達(dá)到竊取密碼、篡改信息、破壞系統(tǒng)等非 法目的。若嵌入式系統(tǒng)應(yīng)用在諸如金融支付、 付費(fèi)娛樂、軍事通訊等高安全敏感 領(lǐng)域,這些攻擊可能會(huì)為嵌入式系統(tǒng)的安全帶來巨大威脅,給用戶造成重大的損 失。根據(jù)攻擊層次的不同,這些針對(duì)嵌入式系統(tǒng)的惡意攻擊可以劃分為軟件攻擊、 電路系統(tǒng)級(jí)的硬件攻擊以及基于芯片的物理攻擊三種類型,如圖1所示。圖1嵌入式系統(tǒng)所面臨的安全威脅在各個(gè)攻擊層次上均存在

2、一批非常典型的攻擊手段。 這些攻擊手段針對(duì)嵌入 式系統(tǒng)不同的設(shè)計(jì)層次展開攻擊, 威脅嵌入式系統(tǒng)的安全。下面本文將對(duì)嵌入式 系統(tǒng)不同層次上的攻擊分別予以介紹。1、軟件層次的安全性分析在軟件層次,嵌入式系統(tǒng)運(yùn)行著各種應(yīng)用程序和驅(qū)動(dòng)程序。在這個(gè)層次上, 嵌入式系統(tǒng)所面臨的惡意攻擊主要有木馬、 蠕蟲和病毒等。從表現(xiàn)特征上看,這 些不同的惡意軟件攻擊都具有各自不同的攻擊方式。 病毒是通過自我傳播以破壞 系統(tǒng)的正常工作為目的;蠕蟲是以網(wǎng)絡(luò)傳播、消耗系統(tǒng)資源為特征;木馬則需要通 過竊取系統(tǒng)權(quán)限從而控制處理器。從傳播方式上看,這些惡意軟件都是利用通訊 網(wǎng)絡(luò)予以擴(kuò)散。在嵌入式系統(tǒng)中最為普遍的惡意軟件就是針對(duì)智能

3、手機(jī)所開發(fā)的 病毒、木馬。這些惡意軟件體積小巧,可以通過SMS(ShortMessagingservice) 短信、軟件下載等隱秘方式侵入智能手機(jī)系統(tǒng),然后等待合適的時(shí)機(jī)發(fā)動(dòng)攻擊。盡管在嵌入式系統(tǒng)中惡意軟件的代碼規(guī)模都很小,但是其破壞力卻是巨大 的。2005年在芬蘭赫爾辛基世界田徑錦標(biāo)賽上大規(guī)模爆發(fā)的手機(jī)病毒Cabir便是惡意軟件攻擊的代表。截至到 2006年4月,全球僅針對(duì)智能手機(jī)的病毒就出 現(xiàn)了近兩百種,并且數(shù)量還在迅猛增加。惡意程序經(jīng)常會(huì)利用程序或操作系統(tǒng)中 漏洞獲取權(quán)限,展開攻擊。最常見的例子就是由緩沖區(qū)溢出所引起的惡意軟件攻 擊。攻擊者利用系統(tǒng)中正常程序所存在的漏洞,對(duì)系統(tǒng)進(jìn)行攻擊。

4、圖2.就描述了一段具有安全隱患的程序代碼。在主程序f()中調(diào)用了 g()子程序,其中參數(shù)x、y以指針的形式進(jìn)行傳遞,字符串 x的內(nèi)容將被復(fù)制到本地變量b中,然而 在這一過程中程序并沒有進(jìn)行檢查字符串 x的大小。因此,惡意攻擊者可以在程 序在運(yùn)行的過程中利用該漏洞展開緩沖區(qū)溢出攻擊。攻擊者所采取的具體攻擊方法如圖 3所示。在系統(tǒng)運(yùn)行過程中,當(dāng)子程序調(diào) 用系統(tǒng)函數(shù)strcpy()時(shí),若攻擊者輸入的字符串x大于b的大小,則會(huì)在內(nèi)存 片段中發(fā)生溢出,程序會(huì)跳轉(zhuǎn)到攻擊者所設(shè)計(jì)的危險(xiǎn)代碼中,從而導(dǎo)致程序的控制權(quán)為惡意攻擊者所獲取。在這一過程中,攻擊者必須要了解處理器的體系結(jié)構(gòu) 與執(zhí)行方式,掌握正常程序中所

5、存在的漏洞,同時(shí)還要能夠?qū)⑽kU(xiǎn)的程序代碼注 入到系統(tǒng)中,才能夠完成軟件攻擊。1主函數(shù)子函數(shù)1int K) ' -int g(char *x, char *y) /int a;/charb128;g(x, y);一strcpyfb, x);A return;1- 3 -圖2具有安全隱患的代碼高地址Stack frame of 0)Stack frame of f()FP +corrupt addresssaved FF低地址return address圖3緩沖溢出攻擊因而,隨著嵌入式系統(tǒng)日益推廣應(yīng)用, 其己經(jīng)不像過去那么安全。惡意軟件 攻擊可以根據(jù)惡意攻擊者的需求對(duì)嵌入式系統(tǒng)實(shí)施干擾、

6、監(jiān)視甚至遠(yuǎn)程控制,己 經(jīng)對(duì)嵌入式系統(tǒng)的安全應(yīng)用構(gòu)成了實(shí)質(zhì)性的威脅。2、系統(tǒng)層次的安全性分析在嵌入式設(shè)備的系統(tǒng)層次中,設(shè)計(jì)者需要將各種電容、電阻以及芯片等不同 的器件焊接在印刷電路板上組成嵌入式系統(tǒng)的基本硬件,而后將相應(yīng)的程序代碼 寫入電路板上的非易失性存儲(chǔ)器中, 使嵌入式系統(tǒng)具備運(yùn)行能力,從而構(gòu)成整個(gè) 系統(tǒng)。為了能夠破解嵌入式系統(tǒng),攻擊者在電路系統(tǒng)層次上設(shè)計(jì)了多種攻擊方式。 這些攻擊都是通過在嵌入式系統(tǒng)的電路板上施加少量的硬件改動(dòng),并配合適當(dāng)?shù)牡讓訁R編代碼,來達(dá)到欺騙處理器、竊取機(jī)密信息的目的。在這類攻擊中,具有 代表性的攻擊方式主要有:總線監(jiān)聽、總線篡改以及存儲(chǔ)器非法復(fù)制等攻擊方式。攻擊者為

7、了實(shí)現(xiàn)系統(tǒng)級(jí)攻擊,首先需要在硬件層次上對(duì)嵌入式系統(tǒng)進(jìn)行修 改,增加必要的攻擊電路,從而構(gòu)成硬件攻擊平臺(tái)。圖4描述了一套用于總線監(jiān) 聽的攻擊平臺(tái)。惡意攻擊者將一塊 FPGAt路板掛載在嵌入式系統(tǒng)的數(shù)據(jù)總線與 地址總線上。通過配置FPGA器件,攻擊者可以構(gòu)建攻擊所需要的各種監(jiān)控邏輯, 從而捕捉系統(tǒng)總線中的通信信息,為攻擊者提供分析所需的數(shù)據(jù)素材。此外,F(xiàn)PGA 電路板還對(duì)嵌入式處理器的通用接口進(jìn)行監(jiān)聽。 當(dāng)程序指令運(yùn)行到操作通用接口 時(shí),F(xiàn)PGA電路板可以在截獲程序指令的同時(shí)捕獲接口上的電平變化,從而為分 析嵌入式系統(tǒng)的程序提供數(shù)據(jù)支持。FPGA搜集到的所有信息都將上傳到攻擊者 的PC(Perso

8、nalComPuter)中,幫助攻擊者對(duì)嵌入式系統(tǒng)的運(yùn)行方式進(jìn)行解析。 攻擊者在偵測(cè)總線、監(jiān)聽通訊的基礎(chǔ)上,還可以對(duì)處理器與外部設(shè)備之間的通訊 進(jìn)行修改,從而破壞系統(tǒng)的正常運(yùn)行,這種攻擊被稱為總線篡改攻擊。攻擊碗件 止常融件圖4基于總線監(jiān)聽的攻擊平臺(tái)在總線監(jiān)聽的攻擊平臺(tái)上,攻擊者只需要進(jìn)行少量的硬件改動(dòng)即可實(shí)施總線 篡改攻擊。攻擊者在硬件上的工作是要在系統(tǒng)總線上插入多路選擇器,使得攻擊平臺(tái)可以旁路嵌入式處理器在與外部設(shè)備之間的正常通訊。除此以外,攻擊者還需要對(duì)FPGA器件進(jìn)行重新配置,使其能夠在系統(tǒng)運(yùn)行時(shí)偽裝成嵌入式系統(tǒng)中的 正常外設(shè),欺騙嵌入式處理器。當(dāng)嵌入式處理器對(duì)外部設(shè)備進(jìn)行通訊時(shí),由F

9、PGA 電路板對(duì)外部設(shè)備的應(yīng)答予以篡改, 或者直接偽造應(yīng)答,從而誘導(dǎo)嵌入式處理器 完成各種攻擊者所需要的相關(guān)操作??偩€監(jiān)聽攻擊可以幫助惡意攻擊者盜取保存在片外存儲(chǔ)器中的有價(jià)值信息;總線篡改攻擊可以幫助惡意攻擊者控制嵌入式系統(tǒng)的運(yùn)行;在適當(dāng)?shù)能浖浜舷拢偩€篡改攻擊還可以完成對(duì)加密系統(tǒng)的暴力攻擊。 在實(shí)際攻擊中,這兩種攻 擊方式經(jīng)常結(jié)合起來,共同對(duì)嵌入式系統(tǒng)展開攻擊。3、芯片層次的安全性分析 嵌入式系統(tǒng)的芯片是硬件實(shí)現(xiàn)中最低的層次, 然而在這個(gè)層次上依然存在著 面向芯片的硬件攻擊。 這些攻擊主要期望能從芯片器件的角度尋找嵌入式系統(tǒng)安 全漏洞,實(shí)現(xiàn)破解。 根據(jù)實(shí)現(xiàn)方式的不同, 芯片級(jí)的攻擊方式可以

10、分為侵入式和 非侵入式兩種方法。 其中,侵入式攻擊方式需要將芯片的封裝予以去除, 然后利 用探針等工具直接對(duì)芯片的電路進(jìn)行攻擊。 侵入式的攻擊方式中, 以硬件木馬攻 擊最具代表性。 而非侵入式的攻擊方式主要是指在保留芯片封裝的前提下, 利用 芯片在運(yùn)行過程中泄露出來的物理信息進(jìn)行攻擊的方式, 這種攻擊方式也被稱為 邊頻攻擊。 硬件木馬攻擊是一種新型的芯片級(jí)硬件攻擊。 這種攻擊方式通過逆向 工程分析芯片的裸片電路結(jié)構(gòu), 然后在集成電路的制造過程中, 向芯片硬件電路 中注入的帶有特定惡意目的的硬件電路,即“硬件木馬” ,從而達(dá)到在芯片運(yùn)行 的過程中對(duì)系統(tǒng)的運(yùn)行予以控制的目的。 硬件木馬攻擊包括木馬

11、注入、 監(jiān)聽觸發(fā) 以及木馬發(fā)作三個(gè)步驟。 首先,攻擊者需要分析芯片的內(nèi)部電路結(jié)構(gòu), 在芯片還 在芯片代工廠制造時(shí)將硬件木馬電路注入到正常的功能電路中 ; 待芯片投入使用 后硬件木馬電路監(jiān)聽功能電路中的特定信號(hào) ; 當(dāng)特定信號(hào)達(dá)到某些條件后,硬件 木馬電路被觸發(fā),木馬電路完成攻擊者所期望的惡意功能。經(jīng)過這些攻擊步驟, 硬件木馬甚至可以輕易地注入到加密模塊中, 干擾其計(jì)算過程, 從而降低加密的 安全強(qiáng)度。 在整個(gè)攻擊過程中, 硬件木馬電路的設(shè)計(jì)與注入是攻擊能否成功的關(guān) 鍵。攻擊者需要根據(jù)實(shí)際電路設(shè)計(jì), 將硬件木馬電路寄生在某一正常的功能電路 之中,使其成為該功能電路的旁路分支。硬件木馬攻擊只需要植

12、入很小規(guī)模的電路就可以對(duì)芯片的功能造成顯著影 響?;谇秩胧降男酒?jí)硬件攻擊對(duì)整體系統(tǒng)的功能破壞非常奏效。另一方面,以不破壞芯片的物理封裝為特點(diǎn)的邊頻攻擊, 利用芯片在工作時(shí) 的功耗、 時(shí)間、電磁輻射等物理特性推斷芯片的工作方式, 猜測(cè)系統(tǒng)中的密文信 息。邊頻攻擊中,以差分功耗分析最具代表性。差分功耗分析根據(jù)嵌入式處理器芯片使用固定密鑰對(duì)輸入的多組不同明文 數(shù)據(jù)進(jìn)行加密操作時(shí) CMOS(complementary Metal Oxide Semieonduetor) 電路 的功耗變化情況, 猜測(cè)局部密鑰位與可量測(cè)輸出之間的區(qū)分函數(shù), 并將區(qū)分函數(shù) 的輸出與實(shí)際功耗曲線進(jìn)行對(duì)比驗(yàn)證, 從而分析出

13、嵌入式處理器在加密操作中所使用的密鑰。盡管攻擊者無需在硬件平臺(tái)上進(jìn)行大量的改動(dòng), 但是在攻擊過程中, 攻擊者需要有處理器準(zhǔn)確的功耗模型,并且在實(shí)施攻擊的過程中,電路板的環(huán)境 噪聲、示波器的采樣頻率、數(shù)據(jù)深度等因素都對(duì)攻擊的結(jié)果造成直接的影響。因而,在實(shí)際環(huán)境中的邊頻攻擊存在著局限性。這些攻擊方式都各具特點(diǎn)。軟件攻擊的攻擊范圍廣泛、實(shí)施容易,且不易發(fā) 覺,但是其對(duì)攻擊對(duì)象的平臺(tái)依賴度高, 傳播需要借助網(wǎng)絡(luò)等通訊手段。 嵌入式 系統(tǒng)多種多樣,并且不是所有的系統(tǒng)都采用相同的開放操作系統(tǒng), 還有大量的嵌 入式設(shè)備處于離線工作狀態(tài)中。此外為滿足不同的應(yīng)用環(huán)境的需求, 不少設(shè)備都 是使用封閉的或者特別定制

14、的軟件系統(tǒng), 有的設(shè)備甚至沒有操作系統(tǒng)。這樣的軟 件環(huán)境大大降低了惡意軟件的威脅。而芯片級(jí)的物理攻擊在實(shí)際攻擊中會(huì)受到各種約束條件的限制。首先,對(duì)于侵入式的芯片級(jí)硬件攻擊來說,其攻擊成本非常高昂,并且每次攻擊都只能針對(duì) 一塊芯片。對(duì)攻擊者來說,實(shí)現(xiàn)起來也困難,必須要借助專門的實(shí)驗(yàn)環(huán)境才能完 成有效攻擊。然而最重要的一點(diǎn)是侵入式的芯片級(jí)硬件攻擊無法了解系統(tǒng)在運(yùn)行 過程中的情況。另一方面,對(duì)于非侵入式的芯片級(jí)硬件攻擊需要有精確的芯片模 型作為參考,并且對(duì)嵌入式系統(tǒng)的工作環(huán)境要求嚴(yán)格,環(huán)境誤差對(duì)攻擊結(jié)果的影 響明顯,因而也無法廣泛地針對(duì)嵌入式系統(tǒng)展開攻擊。相反在實(shí)際攻擊中,采用系統(tǒng)級(jí)的硬件攻擊最為現(xiàn)

15、實(shí)。首先,系統(tǒng)級(jí)的硬件 攻擊可以針對(duì)任何能夠運(yùn)行的嵌入式系統(tǒng);其次攻擊者可以通過系統(tǒng)級(jí)的硬件攻 擊確切地掌握嵌入式設(shè)備在運(yùn)行時(shí)的數(shù)據(jù)信息;最后,系統(tǒng)級(jí)的硬件攻擊成本低 廉的特點(diǎn)使得攻擊者可以很容易地實(shí)現(xiàn)。因此,就實(shí)際意義而言,系統(tǒng)級(jí)攻擊, 特別是總線監(jiān)聽以及篡改攻擊,才是嵌入式系統(tǒng)在運(yùn)行過程中所需要面臨的最主 要安全威脅。各種攻擊方式的特性比較如表1所示表1各類攻擊方式的特性比較軟件攻擊系統(tǒng)級(jí)硬件攻擊侵入式芯片級(jí)硬件攻擊非侵入式芯片級(jí)硬件攻擊技術(shù)難度容易容易低單個(gè)系統(tǒng)平臺(tái)依賴性局一般廉價(jià)困難攻擊范圍多個(gè)系統(tǒng)低單個(gè)系統(tǒng)一般攻擊破壞性嚴(yán)重曰車 昂貴困難低攻擊成本廉價(jià)單個(gè)系統(tǒng)一般廉價(jià)過去的研究說明,

16、嵌入式系統(tǒng)所面臨的安全性威脅主要源于嵌入式系統(tǒng)運(yùn)行過程中程序以及數(shù)據(jù)的安全性。4、嵌入式處理器的安全設(shè)計(jì)準(zhǔn)則面對(duì)以總線監(jiān)聽以及總線篡改攻擊為代表的系統(tǒng)級(jí)硬件攻擊,本文假設(shè)嵌入式處理器本身是安全可信的,攻擊者無法獲取來自嵌入式處理器內(nèi)部的機(jī)密信 息,并且本文還假設(shè)除處理器以外的其他外部設(shè)備都是不可信任的,設(shè)計(jì)者無法確保來自這些設(shè)備的數(shù)據(jù)是否被攻擊者監(jiān)聽或篡改。在這種安全前提下,嵌入式系統(tǒng)的攻擊對(duì)象主要來自兩個(gè)地方:數(shù)據(jù)總線和片外存儲(chǔ)器。圖5描述了針對(duì)嵌 入式設(shè)備的系統(tǒng)級(jí)硬件攻擊模型。在現(xiàn)實(shí)條件下,程序被保存在處理器外部的不 可信的存儲(chǔ)器中。攻擊者可能將存儲(chǔ)器芯片從電路板中取下, 并通過物理的方法

17、 讀取每一位的狀態(tài)。圖5系統(tǒng)級(jí)硬件攻擊模型如果程序是以明文的形式保存,那么攻擊者將會(huì)得到其有用的信息。此外,處理器與存儲(chǔ)器之間的數(shù)據(jù)總線也是不可信的。被訪問的指令會(huì)受到監(jiān)控的威 脅。因此,為了避免這類攻擊,在設(shè)計(jì)一個(gè)新的嵌入式處理器時(shí)必須對(duì)這些安全 威脅予以細(xì)致考慮。 在已知系統(tǒng)級(jí)硬件攻擊模型的基礎(chǔ)上, 若嵌入式處理器在設(shè) 計(jì)規(guī)劃之初就有相關(guān)的安全性指導(dǎo), 則可以有效地幫助嵌入式處理器提高整體系 統(tǒng)的安全性。 因此,有必要為嵌入式處理器制定合理的安全設(shè)計(jì)準(zhǔn)則。 我們根據(jù) 已有的系統(tǒng)級(jí)攻擊,為嵌入式處理器歸納出了以下安全設(shè)計(jì)準(zhǔn)則 :(l) 、限制總線上的數(shù)據(jù)傳輸。處理器如果對(duì)總線上的數(shù)據(jù)傳輸進(jìn)行

18、有效的 控制,則意味著更少的信息暴露在電路板的金屬導(dǎo)線上, 從而減小總線監(jiān)聽所帶 來的風(fēng)險(xiǎn) ; 此外限制數(shù)據(jù)傳輸可以避免攻擊者隨意地操作總線,增加攻擊者通過 總線監(jiān)聽分析嵌入式系統(tǒng)的難度。(2) 、保護(hù)數(shù)據(jù)信息的機(jī)密性。安全的嵌入式處理器應(yīng)當(dāng)能確保片外存儲(chǔ)器 中保存的數(shù)據(jù)信息的機(jī)密性。經(jīng)過加密操作使數(shù)據(jù)信息的真實(shí)內(nèi)容隱藏在密文 中。即使攻擊者能夠完全讀取存儲(chǔ)器中的內(nèi)容或者捕獲總線中的所有信息, 在沒 有密鑰的情況下攻擊者也無法獲取其中的信息。 這樣才能保證攻擊者不能通過系 統(tǒng)級(jí)的攻擊手段破解系統(tǒng)。(3) 、確保程序加密空間的獨(dú)立性。不同的程序在嵌入式系統(tǒng)中應(yīng)當(dāng)具有相 互獨(dú)立的加密空間。 在由單

19、一密鑰保存的系統(tǒng)中, 存在著安全脆弱性。 攻擊者能 夠通過竊取某一個(gè)程序的密鑰, 從而獲取到其他程序空間的指令數(shù)據(jù)。 因而,安 全的嵌入式處理器應(yīng)當(dāng)在處理器中采取相應(yīng)的保護(hù)機(jī)制,提高安全保護(hù)的健壯 性。處理器應(yīng)當(dāng)使用相互獨(dú)立的密鑰對(duì)存儲(chǔ)器中的各個(gè)程序予以加密, 從而保證 每一程序被隔離在了自己的空間中。(4) 、保護(hù)數(shù)據(jù)信息的完整性。面對(duì)總線篡改攻擊,僅僅保護(hù)數(shù)據(jù)的加密性 是不夠的。 攻擊者可以通過篡改通信數(shù)據(jù), 修改嵌入式處理器的指令, 并通過分 析嵌入式處理器的行為, 了解嵌入式處理器的內(nèi)部運(yùn)行機(jī)制。 因此, 為了能夠辨 別這些由攻擊者偽造的數(shù)據(jù), 安全的嵌入式處理器應(yīng)當(dāng)確保運(yùn)行過程中數(shù)據(jù)

20、信息 的完整性,從而保證在處理器中運(yùn)行的數(shù)據(jù)指令的合法性。(5) 、確保安全敏感信息的時(shí)效性。在安全的嵌入式處理器中運(yùn)行的安全敏 感信息應(yīng)當(dāng)具備時(shí)效性。 嵌入式處理器中, 諸如密鑰等機(jī)密信息保存的時(shí)間越長, 被捕獲的可能性就越高。 如果嵌入式處理器將根據(jù)程序指令行為以及系統(tǒng)的運(yùn)行 周期,定期地對(duì)密鑰進(jìn)行更換,那么可以有效地防止攻擊者對(duì)系統(tǒng)的暴力攻擊, 提供整體系統(tǒng)的安全性。- 7 -(6) 、隔離安全信息與正常的數(shù)據(jù)信息。在處理器內(nèi)部安全信息與正常的數(shù) 據(jù)信息應(yīng)當(dāng)予以合理地隔離。 否則將安全信息與正常的數(shù)據(jù)信息保存在相同的存 儲(chǔ)器空間內(nèi)既降低了處理器運(yùn)行時(shí)的性能又可能給處理器帶來潛在的安全隱患

21、。 因此處理器在結(jié)構(gòu)應(yīng)當(dāng)將安全信息與正常的數(shù)據(jù)信息予以隔離。通過以上的安全準(zhǔn)則,安全的嵌入式處理器可以對(duì)系統(tǒng)中數(shù)據(jù)信息的機(jī)密 性、完整性提供完善的保護(hù), 從而有效地避免攻擊者通過總線監(jiān)聽、 篡改等系統(tǒng) 級(jí)攻擊方式,分析系統(tǒng),尋找系統(tǒng)的漏洞。二、國內(nèi)外的研究現(xiàn)狀對(duì)數(shù)據(jù)的加密以及認(rèn)證概念最初來自于存儲(chǔ)安全, 其主要目的是用來解決存 儲(chǔ)器中數(shù)據(jù)安全保護(hù)的問題。然而,針對(duì)不斷發(fā)展的系統(tǒng)級(jí)硬件攻擊,從 2003 年開始,出現(xiàn)了在處理器架構(gòu)層次上提高嵌入式系統(tǒng)整體安全性的研究方法, 并 且在過去的 8 年中得到了迅速的發(fā)展。從處理器層次上解決系統(tǒng)安全性問題的探索最初始于 2000 年斯坦福大學(xué)計(jì) 算機(jī)系統(tǒng)

22、實(shí)驗(yàn)室DavidLie等人提出的XOM模型。這種模型旨在保護(hù)計(jì)算機(jī)系統(tǒng) 中應(yīng)用程序的安全性。 數(shù)據(jù)或指令均以密文的形式保存在片外存儲(chǔ)器, 當(dāng)處理器 讀取外部數(shù)據(jù)或指令時(shí),這些數(shù)據(jù)或指令將被解密成明文供處理器執(zhí)行 ; 各個(gè)程 序之間都被分配了用戶標(biāo)示并采用不同的密鑰進(jìn)行加密, 以保證各個(gè)程序之間相 互隱蔽性。由于XOM模型中所提出的加解密操作直接影響處理器的性能,因而需要有專門的設(shè)計(jì)予以實(shí)現(xiàn)。XOM模型為防護(hù)系統(tǒng)外部的硬件攻擊提供了良好的防 御模型,但是XOM莫型本身缺乏具體可行的硬件實(shí)現(xiàn)。麻省理工學(xué)院(MIT)人工智能實(shí)驗(yàn)室的BlaiseGassend等人在XOM模型的基 礎(chǔ)上進(jìn)一步予以改進(jìn)。

23、 他們首次提出在處理器安全運(yùn)行中需要對(duì)外部存儲(chǔ)器數(shù)據(jù) 完整性予以保護(hù)以解決篡改攻擊可能帶來的威脅。新的方法被稱為CHTree方式,它利用了 Merckte 樹的方法對(duì)一種程序以及數(shù)據(jù)進(jìn)行完整性驗(yàn)證。 Merkle 樹已 被證明是一種抵御系統(tǒng)級(jí)篡改攻擊的有效方法。 這種方法對(duì)外部存儲(chǔ)器中保存的 數(shù)據(jù)做散列(Hash)運(yùn)算,從而將得到的內(nèi)容摘要作為樹結(jié)構(gòu)中的葉節(jié)點(diǎn),然后通過遞歸的散列運(yùn)算將底層的葉節(jié)點(diǎn)遞歸收斂到唯一的根節(jié)點(diǎn)中, 最后將得到的根 節(jié)點(diǎn)與節(jié)點(diǎn)中的數(shù)據(jù)與處理器中可信存儲(chǔ)器內(nèi)所保存的安全信息予以比較, 得到 外部的數(shù)據(jù)是否完整。 這種方法的最大優(yōu)點(diǎn)在于可以從數(shù)學(xué)上證明其安全性, 并 且利用

24、Cache結(jié)構(gòu)的局域化原理,可以通過設(shè)計(jì)一塊高速緩存來加速存儲(chǔ)器完整 性校驗(yàn)的工作,從而提高整體性能。正是基于這些優(yōu)點(diǎn), Merekle 樹作為一種有效的安全解決方案在以后的研究 中得到了廣泛使用。但是,由于CHTree方式采用了 SHA-1(Secure HashAlgorithm 1) 方式作為其散列算法, 使得處理器需要在訪存結(jié)束以后才能對(duì)數(shù)據(jù)進(jìn)行散列運(yùn) 算,從而對(duì)其整體性能造成了較大影響,其次, Merckle 樹本身存在著較大的性 能開銷。在一次存儲(chǔ)器操作中,需要進(jìn)行炯mn次的散列運(yùn)算,這增加了處理器的計(jì)算量。 此外,這種基于 Merckle 樹方式在檢測(cè)程序之前, 需要進(jìn)行初始化對(duì)

25、 Merckle 樹進(jìn)行構(gòu)建,所以在每次處理器需要載入新程序時(shí)需要進(jìn)行初始化操作。 然而, Merckle 樹的初始時(shí)間并沒有得到充分地優(yōu)化。因而,在運(yùn)行過程中過于 頻繁的程序切換會(huì)直接影響樸理器整體的運(yùn)行性能。2006 年, chenghuaiLu 等人提出了 M-tree 的存儲(chǔ)器完整性校驗(yàn)方式。區(qū)別 于以往利用SHA-1的方式直接進(jìn)行散列函數(shù)的計(jì)算,新的方法采用了 SHA-256的 方式計(jì)算 MAC(MessageAutheniieCode),并用異或操作將 MAC®折疊為32bits 的節(jié)點(diǎn),從而構(gòu)建樹結(jié)構(gòu)。由于 M-tree 方式中每個(gè)節(jié)點(diǎn)的大小僅為 32bits ,并 且

26、,每7個(gè)低級(jí)節(jié)點(diǎn)產(chǎn)生1個(gè)高級(jí)節(jié)點(diǎn),而CHTree方式則是采用的128bits的 節(jié)點(diǎn)大小,同時(shí)由 2 個(gè)低級(jí)節(jié)點(diǎn)產(chǎn)生 1 個(gè)高級(jí)節(jié)點(diǎn),因此采用 M-tree 方式的處 理器運(yùn)行時(shí)不僅可以保存更少的節(jié)點(diǎn), 而且能使用很少的節(jié)點(diǎn)覆蓋同樣的存儲(chǔ)器 空間,取得了更好的運(yùn)行性能。采用了更粗的散列粒度。同CHTree方式相比,在測(cè)試相同的程序時(shí) M-tree 方式可以這種方法的性能優(yōu)勢(shì)實(shí)際上是得益于 M-tree 方式并沒有對(duì)完整樹的運(yùn)行機(jī)制進(jìn)行改進(jìn)。2007 年, Weiding Shi 等人繼續(xù)改進(jìn)了存儲(chǔ)器加解密方式,提出基于使用 頻率的密文預(yù)測(cè)機(jī)制來提高解密的性能。 這種方式在處理器內(nèi)設(shè)計(jì)了一組頻率

27、值 表,用來記錄相應(yīng)的數(shù)據(jù)值所使用到的頻率并對(duì)高頻使用的密文進(jìn)行快速緩存, 從而提高性能。通過實(shí)驗(yàn),新的加密方式獲得了超過10%,甚至 20%的性能加速比。但是這種性能上的優(yōu)勢(shì)是以硬件開銷為代價(jià)的。 這種基于頻率值表的方法除 了有必要的加解密部件以外,還需要有額外硬件開銷對(duì)密文使用的頻率進(jìn)行記 錄,從而不適用于嵌入式處理器。2007年,Reouven Elbaz等人在PE-ICE方式的基礎(chǔ)上進(jìn)一步改進(jìn)了完整 性運(yùn)算機(jī)制,提出了 TEC-Tree方法。TEC-Tree方法將節(jié)點(diǎn)認(rèn)證過程與完整樹的 更新過程并行處理,提高了在計(jì)算性能。但是 TEC-Tree方法僅僅只停留在理論 模型上,缺乏在處理器

28、環(huán)境下相應(yīng)的實(shí)現(xiàn)評(píng)估。2009 年,Juan A. Garay 等人提出了一種 SHMAC (Shallow MAC的方法來 提高M(jìn)Ac值的計(jì)算性能。作者在SHMAC方法中設(shè)計(jì)一種差分統(tǒng)一函數(shù) (Differentially UniformFunctions)對(duì)MACS進(jìn)行預(yù)計(jì)算。盡管采用這種預(yù)計(jì)算的完整性認(rèn)證方式可以較好的提高處理器安全運(yùn)行時(shí)的性能,但是SHMA仍然需要占用片外存儲(chǔ)器的空間,并且缺乏在實(shí)際的處理器環(huán)境中的實(shí)現(xiàn)評(píng)估。除了存儲(chǔ)器加密的方法以外, 安全處理器的另外一種廣泛應(yīng)用的技術(shù)是是存 儲(chǔ)器完整性保護(hù)。在實(shí)際應(yīng)用中,諸如SHA-1 MD5以及AES-CB(等多種散列函數(shù)被用來為每

29、個(gè)數(shù)據(jù)塊生成唯一的數(shù)據(jù)摘要。 但是,硬件必須等到數(shù)據(jù)塊完全傳 輸結(jié)束后才能開始完整性檢驗(yàn)。由檢驗(yàn)帶來的潛伏時(shí)間無法隱藏在數(shù)據(jù)傳輸中。 基于這一點(diǎn), 人們提出了眾多創(chuàng)新技術(shù)以加速完整性的檢驗(yàn)。 盡管這些技術(shù)能夠 有效地改善完整性檢驗(yàn)的性能,但是卻需要高昂的硬件資源以維護(hù)數(shù)據(jù)的完整 性。這對(duì)于以講求實(shí)時(shí)性、 低成本為特征的嵌入式系統(tǒng)來說是難以接受的。 另外 一方面,目前的存儲(chǔ)器完整性驗(yàn)證工作都是基于完整樹的方式。 這種保護(hù)方式將 可信任的安全信息保存在處理器內(nèi)部的一塊非易失的存儲(chǔ)器中, 通過構(gòu)建樹型結(jié) 構(gòu)將信任鏈從處理器片內(nèi)逐步傳遞到片外存儲(chǔ)器中。 目前的研究方法主要通過在 處理器內(nèi)部完成加解密以

30、及完整性校樣的方式來提高處理器抵御外部硬件攻擊 的能力。但是這些研究大多還處于模型仿真階段, 沒有針對(duì)應(yīng)用設(shè)計(jì)展開合適的 硬件優(yōu)化研究。 對(duì)于一塊安全的嵌入式處理器來說, 如何在提高加解密以及完整 性校驗(yàn)的性能同時(shí)降低相應(yīng)的成本、 功耗開銷是設(shè)計(jì)者在設(shè)計(jì)的過程中所面臨的 重要問題,也是阻礙安全設(shè)計(jì)在嵌入式處理器中應(yīng)用的瓶頸。除了在學(xué)術(shù)界的研究以外,在工業(yè)界中,主要存在可信計(jì)算工作組 (TCG) 以及ARM公司分別提出的兩大標(biāo)準(zhǔn)。TCG勺工作主要在于規(guī)劃了一種由啟動(dòng)開始 的、包括處理器以及外部設(shè)備的安全工作模式。TCG標(biāo)準(zhǔn)需要為遠(yuǎn)程的校驗(yàn)提供 一組平臺(tái)配置寄存器 (PCR,Platformcon

31、figurationRegisters) 來保存對(duì)外設(shè)校 驗(yàn)的結(jié)果。一般情況下,PCR被設(shè)計(jì)在處理器內(nèi)部。在TCG中使用 BIOS(BasieInPutoutPutSystem) 的啟動(dòng)塊作為信任根。然而, BIOS 模塊很容易受到攻擊。攻擊者能夠很輕易的從電路板上將BIOS芯片取下,替換掉其中的安全內(nèi)容。因此,TCG標(biāo)準(zhǔn)在硬件上存在安全隱患。另外,TCG標(biāo)準(zhǔn)還利用了軟、 硬件協(xié)同方式進(jìn)行安全保護(hù), 其計(jì)算開銷較大, 對(duì)軟件的依賴性高, 因而無法適 于無操作系統(tǒng)環(huán)境下的嵌入式系統(tǒng)。ARM公司提出的TrusteZone將安全解決方 案延伸至 ARM(AdvaneedRISCMieroproces

32、sor)處理器架構(gòu)中。TrustZone 將整個(gè) Blos模塊移植到了 ARM處理器內(nèi)部,使得處理器可以直接從片內(nèi)的啟動(dòng)模塊進(jìn) 行啟動(dòng),從而徹底消除了從芯片外部進(jìn)行物理攻擊的可能。此外, TrustZone 還 要求所有需要執(zhí)行的程序都被保存在片外的安全存儲(chǔ)器中,并對(duì)其進(jìn)行加密保 護(hù),從而進(jìn)一步的提高了整體系統(tǒng)的安全。 然而, TrustZone 自身也存在著問題。 首先,TrustZOne的保護(hù)范圍只限于使用了 ARM處理器的嵌入式系統(tǒng),缺乏普遍 性的應(yīng)用能力。其次, TrustZ0ne 盡管提高了嵌入式系統(tǒng)的安全性,但卻增加了 系統(tǒng)的開銷。在芯片內(nèi)部所集成的 BIOS模塊會(huì)占用片內(nèi)昂貴的存

33、儲(chǔ)空間。這樣 的面積開銷阻礙了 TrustZone 在低成本、輕量級(jí)的嵌入式系統(tǒng)中的應(yīng)用。因而, 目前工業(yè)界中己有的安全標(biāo)準(zhǔn)都還存在著自身的局限性。國內(nèi)在硬件安全方面的學(xué)術(shù)研究主要集中于安全協(xié)議以及AES RSA等安全加密算法的實(shí)現(xiàn)上。 國防科技大學(xué)侯方勇博士等人在存儲(chǔ)系統(tǒng)的數(shù)據(jù)機(jī)密性以及 完整性保護(hù)方面進(jìn)行了有益的探索性研究。 這些研究主要針對(duì)存儲(chǔ)系統(tǒng), 并不適 用于嵌入式處理器環(huán)境。解放軍信息工程大學(xué)在GRUBH導(dǎo)程序的基礎(chǔ)上設(shè)計(jì)了一種帶有安全驗(yàn)證功能的新引導(dǎo)程序 sGRUB新的引導(dǎo)程序在系統(tǒng)控制權(quán)進(jìn)行轉(zhuǎn) 移時(shí)對(duì)將要轉(zhuǎn)移的下一層信息進(jìn)行完整性驗(yàn)證, 從而保證整個(gè)引導(dǎo)過程的安全可 信。但是這

34、種方法主要是從軟件上針對(duì)于桌面計(jì)算機(jī)的啟動(dòng)過程作的保護(hù), 其安 全信息保存在外部的一塊可信存儲(chǔ)區(qū)中。若攻擊者對(duì)系統(tǒng)中的該存儲(chǔ)區(qū)進(jìn)行攻 擊,會(huì)導(dǎo)致安全引導(dǎo)過程中的信任鏈遭到破壞。 其次,這種方法完全依賴于軟件 的實(shí)現(xiàn),在執(zhí)行過程的性能開銷會(huì)影響嵌入式系統(tǒng)的啟動(dòng)響應(yīng)速度。目前為止,國內(nèi)在關(guān)于嵌入式處理器安全架構(gòu)方面的研究, 特別是在嵌入式 處理器的硬件層次上, 探索抵御系統(tǒng)級(jí)硬件攻擊的研究還鮮見于已有的公開文獻(xiàn) 中。國內(nèi)工業(yè)界所廣泛采用的安全產(chǎn)品缺乏自主知識(shí)產(chǎn)權(quán), 且較為陳舊, 無法提 供足夠的安全保障。例如,在金融系統(tǒng)中使用的 Dallas-Maxim 公司的安全微控 制器DS5002早在199

35、8年就己有人提出了相應(yīng)的破解方法。若繼續(xù)使用此類帶 有安全隱患的嵌入式設(shè)備將對(duì)我國的金融系統(tǒng)造成潛在威脅。 而另一方面, 國外 的一些先進(jìn)安全產(chǎn)品價(jià)格昂貴, 受市場(chǎng)因素的影響在我國的使用受到了限制。 另 外出于技術(shù)保護(hù)的目的, 國外產(chǎn)品的設(shè)計(jì)細(xì)節(jié)及其可能存在的安全隱患不可能得 到有效的披露,因此在高安全性領(lǐng)域中采用國外產(chǎn)品的風(fēng)險(xiǎn)無法得到定量的評(píng) 估。這些狀況嚴(yán)重威脅了我國在相關(guān)領(lǐng)域的公共安全, 不利于嵌入式設(shè)備在我國 的進(jìn)一步推廣發(fā)展。 未來隨著惡意硬件攻擊方式的發(fā)展, 采用單一加密方式進(jìn)行 安全防御的策略已無法勝任安全性的要求。 在新的安全形勢(shì)下, 不同方法之間的 交叉融合已經(jīng)成為趨勢(shì)。三、本文提出的新方法本文以提高嵌入式系統(tǒng)的運(yùn)行安全性為研究目標(biāo), 從程序數(shù)據(jù)的機(jī)密性、 完 整性等角度出發(fā), 在嵌入式處理器的體系結(jié)構(gòu)上構(gòu)建輕量級(jí)的安全機(jī)制, 探索嵌 入式處理器所面臨的運(yùn)行安全性問題的解決方法, 并對(duì)其底層硬件的實(shí)現(xiàn)策略展 開相應(yīng)的可行性評(píng)估。目前,對(duì)保存于外部存儲(chǔ)器的數(shù)據(jù)信息進(jìn)行加密是保護(hù)數(shù)據(jù)安全最有效的措 施。然而,盡管安全運(yùn)行機(jī)制在硬件上的實(shí)現(xiàn)方法很多, 但可以真正使用于嵌入 式應(yīng)用環(huán)境的方法卻非常有限。 遵循嵌入式處理器的安全設(shè)計(jì)準(zhǔn)則, 國內(nèi)部分研 究 者 提出 了

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論