一種基于硬件的嵌入式系統(tǒng)程序執(zhí)行安全增強(qiáng)模塊,它由一個(gè)存儲(chǔ)器組和一個(gè)信息分析比較邏輯電路組成。所述存儲(chǔ)器組是由3個(gè)靜態(tài)隨機(jī)存儲(chǔ)器構(gòu)成,其主要功能是存儲(chǔ)監(jiān)控模型和堆棧映射存儲(chǔ);所述信息分析比較邏輯電路是模塊的主控制部分,它接收外部的處理器輸出的程序計(jì)數(shù)器信號(hào),調(diào)用存儲(chǔ)器組的信息,對(duì)嵌入式處理器的實(shí)時(shí)運(yùn)行控制流行為的合法性進(jìn)行判定;它由信息調(diào)用、監(jiān)控比較、堆棧映射3個(gè)功能電路組成。存儲(chǔ)器組與信息分析比較邏輯電路之間的數(shù)據(jù)信號(hào)端口、地址信號(hào)端口及讀寫(xiě)控制信號(hào)端口進(jìn)行互連。該模塊通過(guò)對(duì)處理器執(zhí)行路徑信息的分析,判定其執(zhí)行行為的合法性,由此可以阻止任何被判定為非法的執(zhí)行行為。它增強(qiáng)了系統(tǒng)程序的安全性。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及一種增強(qiáng)程序執(zhí)行安全的模塊,尤其涉及一種基于硬件的嵌入 式系統(tǒng)程序執(zhí)行安全增強(qiáng)模塊,它利用硬件輔助模式來(lái)進(jìn)行程序執(zhí)行監(jiān)控,防 止軟件攻擊帶來(lái)的惡意執(zhí)行行為的發(fā)生,阻止惡意代碼的執(zhí)行。屬于嵌入式系 統(tǒng)安全
(二)
技術(shù)介紹
嵌入式系統(tǒng)在當(dāng)今社會(huì)中扮演了越來(lái)越重要的角色,從消費(fèi)電子產(chǎn)品到航 空航天、軍事產(chǎn)品,嵌入式系統(tǒng)和我們的關(guān)系越來(lái)越緊密了。然而在應(yīng)用更為 廣泛的同時(shí),嵌入式系統(tǒng)的運(yùn)行安全問(wèn)題也變得更加的重要。但是其資源受限 特性使得相關(guān)的安全保護(hù)設(shè)計(jì)更加困難。通常的軟件攻擊都是利用程序漏洞,為了增強(qiáng)嵌入式系統(tǒng)程序執(zhí)行的安全性,通常有3種技術(shù)可以采用,它們是基于軟件的靜態(tài)分析技術(shù)、基于軟件 的實(shí)時(shí)保護(hù)技術(shù)以及基于硬件的實(shí)時(shí)保護(hù)技術(shù)。第一種技術(shù)利用離線代碼分析 進(jìn)行相關(guān)程序漏洞檢測(cè)修復(fù),避免攻擊者在程序執(zhí)行時(shí)利用這些漏洞進(jìn)行攻擊; 第二種技術(shù)則通過(guò)軟件方式在程序中加入監(jiān)測(cè)代碼的方式對(duì)程序?qū)崟r(shí)執(zhí)行加以監(jiān)控,防止攻擊導(dǎo)致的錯(cuò)誤的程序執(zhí)行行為;最后一種就是從硬件的角度來(lái)保 障程序的執(zhí)行行為的正確性,通過(guò)堆棧保護(hù)、安全協(xié)處理器等方式對(duì)程序的執(zhí) 行過(guò)程進(jìn)行保護(hù)。本專利技術(shù)屬于最后一種技術(shù),利用一個(gè)與處理器并行運(yùn)行的監(jiān) 控硬件模塊來(lái)實(shí)現(xiàn)對(duì)處理器執(zhí)行過(guò)程的實(shí)時(shí)監(jiān)控,增強(qiáng)其安全性。(三)
技術(shù)實(shí)現(xiàn)思路
1、 目的本專利技術(shù)的目的是提供一種基于硬件的嵌入式系統(tǒng)程序執(zhí)行安全增 強(qiáng)模塊,它是一種針對(duì)處理器執(zhí)行狀態(tài)的實(shí)時(shí)監(jiān)控模塊。該模塊涉及一個(gè)用于 監(jiān)控的硬件,它與處理器并行運(yùn)行,通過(guò)對(duì)處理器執(zhí)行路徑信息的分析,判定 其執(zhí)行行為的合法性,由此可以阻止任何被判定為非法的執(zhí)行行為。2、 技術(shù)方案 一種基于硬件的嵌入式系統(tǒng)程序執(zhí)行安全增強(qiáng)模塊,該模塊由一個(gè)存儲(chǔ)器組和一個(gè)信息分析比較邏輯電路組成。所述存儲(chǔ)器組是由3個(gè)靜態(tài)隨機(jī)存儲(chǔ)器SRAM1, SRAM2和SRAM3 (采用 現(xiàn)有器件)構(gòu)成,其主要功能是存儲(chǔ)監(jiān)控模型和堆棧映射存儲(chǔ)。其中監(jiān)控模型 描述了程序的合法控制流行為的范圍,是通過(guò)離線的程序分析得到的,包括函 數(shù)信息與基本塊信息。3個(gè)靜態(tài)隨機(jī)存儲(chǔ)器中,SRAM1用于存儲(chǔ)監(jiān)控模型中的 函數(shù)信息,SRAM2用于存儲(chǔ)監(jiān)控模型中的基本塊信息,SRAM3則用于存儲(chǔ)堆 棧映射信息。利用該存儲(chǔ)器組中的信息,可以得到一個(gè)確定的程序合法控制流 行為描述。所述信息分析比較邏輯電路是模塊的主控制部分,它接收外部的處理器輸 出的程序計(jì)數(shù)器信號(hào),調(diào)用存儲(chǔ)器組的信息,對(duì)嵌入式處理器的實(shí)時(shí)運(yùn)行控制 流行為的合法性進(jìn)行判定,如果發(fā)現(xiàn)了非法的控制流行為,該電路發(fā)出中斷控 制信號(hào)輸入到處理器相關(guān)的中斷接口觸發(fā)相應(yīng)的中斷應(yīng)急響應(yīng)。該部分主要由3 個(gè)功能電路組成,分別是1,信息調(diào)用;2,監(jiān)控比較;3,堆棧映射。所述信 息調(diào)用,完成對(duì)存儲(chǔ)器的數(shù)據(jù)讀出,每次發(fā)生控制流轉(zhuǎn)換后,將開(kāi)始計(jì)算下一 次的控制流跳轉(zhuǎn)可能目標(biāo)所對(duì)應(yīng)的SRAM中的信息地址。所述監(jiān)控比較,是通 過(guò)對(duì)存儲(chǔ)器輸出的數(shù)據(jù)信息(包括函數(shù)信息和基本塊信息)進(jìn)行分析計(jì)算,計(jì) 算出下一次程序控制流跳轉(zhuǎn)的可能的目標(biāo)地址,即合法的執(zhí)行路徑,并且通過(guò)處 理器的執(zhí)行控制流信息(程序計(jì)數(shù)器PC)進(jìn)行控制流轉(zhuǎn)換的判定。所述堆棧映射, 將模擬處理器中堆棧的運(yùn)行過(guò)程,實(shí)時(shí)保存了函數(shù)調(diào)用的返回地址,并在函數(shù) 返回時(shí)可以對(duì)該返回地址進(jìn)行沖交驗(yàn)。存儲(chǔ)器組與信息分析比較邏輯電路之間的數(shù)據(jù)信號(hào)端口 、地址信號(hào)端口及 讀寫(xiě)控制信號(hào)端口進(jìn)行互連。信息分析比較邏輯電路通過(guò)輸出讀寫(xiě)控制信號(hào)及地址信號(hào)到存儲(chǔ)器組,以對(duì)存儲(chǔ)器組的相應(yīng)地址進(jìn)行讀寫(xiě)控制。數(shù)據(jù)信號(hào)則是 一個(gè)雙向信號(hào),對(duì)于存儲(chǔ)器組和信息分析比較邏輯電路而言,它可以是輸入信號(hào)也可能是輸出信號(hào),這都取決于讀寫(xiě)操作的類型。本專利技術(shù)可以檢測(cè)出任何違背合法定義的程序執(zhí)行行為。這種實(shí)時(shí)監(jiān)控模塊 主要具備以下幾個(gè)優(yōu)點(diǎn)(1) 本專利技術(shù)所涉及的硬件監(jiān)控模塊因?yàn)椴捎昧嘶诔绦蚩刂屏鞯脑O(shè)計(jì),對(duì)任何 種類的攻擊都有很好的監(jiān)控效果。(2) 本專利技術(shù)所涉及的硬件監(jiān)控模塊,通過(guò)硬件優(yōu)化,能夠?qū)崿F(xiàn)在一個(gè)時(shí)鐘周期 內(nèi)的實(shí)時(shí)檢測(cè),大大提高了檢測(cè)效率。(3) 本專利技術(shù)所涉及的硬件監(jiān)控模塊具有獨(dú)立性,監(jiān)控模塊本身具備軟件攻擊的不每丈感性。(4) 本專利技術(shù)所涉及的監(jiān)控模塊對(duì)硬件資源的占用少,在提高了可靠性的同時(shí)降 低了監(jiān)測(cè)成本。(5) 本專利技術(shù)所涉及的硬件監(jiān)控模塊不需要改變?cè)星度胧较到y(tǒng)的開(kāi)發(fā)程序,只 需對(duì)程序進(jìn)行離線分析,將分析得到的監(jiān)控模型存入監(jiān)控硬件的存儲(chǔ)器中,不 需修改硬件邏輯。(6) 本專利技術(shù)所涉及的硬件監(jiān)控模塊具有很好的可擴(kuò)展性,能適應(yīng)不同種類的嵌 入式系統(tǒng)。(四) 附圖說(shuō)明圖l是本專利技術(shù)模塊與傳統(tǒng)嵌入式系統(tǒng)的關(guān)系示意圖 圖2是本專利技術(shù)模塊結(jié)構(gòu)示意圖圖3是具備本專利技術(shù)模塊的系統(tǒng)的應(yīng)用開(kāi)發(fā)流程示意圖 圖中符號(hào)說(shuō)明如下SRAM1 靜態(tài)隨機(jī)存儲(chǔ)器l; SRAM2 靜態(tài)隨機(jī)存儲(chǔ)器2; SRAM3 靜態(tài)隨機(jī)存 儲(chǔ)器3。(五) 具體實(shí)施例方式見(jiàn)圖l、圖2、圖3所示,其具體實(shí)施方式如下如圖2所示為一種基于硬件的嵌入式系統(tǒng)程序執(zhí)行安全增強(qiáng)模塊的結(jié)構(gòu)示 意圖,由圖中可以看出該模塊由一個(gè)存儲(chǔ)器組(右部分方框所示)和一個(gè)信息 分析比較邏輯電路(左部分方框所示)組成。所述模塊接收控制流信息,輸出 中斷控制信號(hào)。該模塊需要完成程序執(zhí)行的實(shí)時(shí)狀態(tài)監(jiān)控及相應(yīng)監(jiān)控反饋信號(hào) 的生成。所述存儲(chǔ)器組是包括3個(gè)靜態(tài)隨機(jī)存儲(chǔ)器SRAM1, SRAM2和SRAM3, 當(dāng)然也可以用其它類型存儲(chǔ)器(如動(dòng)態(tài)存儲(chǔ)器DRAM等)來(lái)代替。這3個(gè)存儲(chǔ) 器中的SRAM1和SRAM2的被用于存儲(chǔ)監(jiān)控模型中的函數(shù)信息和基本塊信息。 所述監(jiān)控模型是通過(guò)軟件進(jìn)行的離線的程序控制流分析而得到的,包括函數(shù)信 息和基本塊信息。監(jiān)控模型的功能則是對(duì)程序運(yùn)行的合法控制流執(zhí)行路徑進(jìn)行 描述,其中函數(shù)信息包括函數(shù)的首地址和對(duì)應(yīng)基本塊的索引;基本塊信息包括 基本塊類型、首地址、目標(biāo)索引和對(duì)應(yīng)函數(shù)索引。利用SRAM1和SRAM2中存 儲(chǔ)的函數(shù)信息及基本塊信息,可以對(duì)靜態(tài)分析的程序合法控制流執(zhí)行路徑進(jìn)行 描述。SRAM3被用于存儲(chǔ)堆棧映射信息,該部分信息是實(shí)時(shí)動(dòng)態(tài)跟新的,它模 擬了一個(gè)處理器堆棧存儲(chǔ)功能,利用這個(gè)堆棧映射信息可以推斷出函數(shù)返回地址,從而保證對(duì)整個(gè)程序的合法控制流路徑進(jìn)行完整描述。3個(gè)靜態(tài)隨機(jī)存儲(chǔ)器 沒(méi)有互連的接口。所述信息分析比較邏輯電路接收外部的嵌入式處理器輸出的程序計(jì)數(shù)器信 號(hào),調(diào)用存儲(chǔ)器組的信息,對(duì)嵌入式處理器的實(shí)時(shí)運(yùn)行控制流行為的合法性進(jìn)行監(jiān)控。所述電路主要由3個(gè)功能部分組成,分別是信息調(diào)用、監(jiān)控比較和 堆棧映射控制。信息調(diào)用完成對(duì)存儲(chǔ)器的數(shù)據(jù)讀出,每次發(fā)生控制流轉(zhuǎn)換后, 將開(kāi)始計(jì)算下一次的控制流跳轉(zhuǎn)可能目標(biāo)所對(duì)應(yīng)的SRAM中的信息地址。監(jiān)控 比較是通過(guò)對(duì)存儲(chǔ)器輸出的數(shù)據(jù)信息(包括函數(shù)信息和基本塊信息)進(jìn)行分析 計(jì)算,計(jì)算出下一次程序控制流跳轉(zhuǎn)的可能的目標(biāo)地址,即合法的執(zhí)行路徑,并 且通過(guò)處理器的執(zhí)行控制流信息(程序計(jì)數(shù)器PC)進(jìn)行控制流轉(zhuǎn)換的判定,如果 發(fā)生轉(zhuǎn)換,則將實(shí)際跳轉(zhuǎn)地址和之前計(jì)算出的地址進(jìn)行比較,如果不一致則生 成一個(gè)反饋控制信號(hào)中斷處理器的運(yùn)行,并讓其執(zhí)行相應(yīng)的安全響應(yīng)機(jī)制。堆 棧映射將模擬處理器中堆棧的運(yùn)行過(guò)程,當(dāng)程序執(zhí)行過(guò)程中發(fā)生了函數(shù)調(diào)用, 則將當(dāng)前的函數(shù)信息索引和基本本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種基于硬件的嵌入式系統(tǒng)程序執(zhí)行安全增強(qiáng)模塊,其特征在于:該模塊由一個(gè)存儲(chǔ)器組和一個(gè)信息分析比較邏輯電路組成; 所述存儲(chǔ)器組是由3個(gè)靜態(tài)隨機(jī)存儲(chǔ)器SRAM1,SRAM2和SRAM3構(gòu)成,其主要功能是存儲(chǔ)監(jiān)控模型和堆棧映射存儲(chǔ);其中監(jiān)控模型描述了程序的合法控制流行為的范圍,是通過(guò)離線的程序分析得到的,包括函數(shù)信息與基本塊信息;3個(gè)靜態(tài)隨機(jī)存儲(chǔ)器中,SRAM1用于存儲(chǔ)監(jiān)控模型中的函數(shù)信息,SRAM2用于存儲(chǔ)監(jiān)控模型中的基本塊信息,SRAM3則用于存儲(chǔ)堆棧映射信息,利用該存儲(chǔ)器組中的信息,可以得到一個(gè)確定的程序合法控制流行為描述; 所述信息分析比較邏輯電路是模塊的主控制部分,它接收外部的處理器輸出的程序計(jì)數(shù)器信號(hào),調(diào)用存儲(chǔ)器組的信息,對(duì)嵌入式處理器的實(shí)時(shí)運(yùn)行控制流行為的合法性進(jìn)行判定,如果發(fā)現(xiàn)了非法的控制流行為,該電路發(fā)出中斷控制信號(hào)輸入到處理器相關(guān)的中斷接口觸發(fā)相應(yīng)的中斷應(yīng)急響應(yīng);該部分主要由3個(gè)功能電路組成,分別是:1,信息調(diào)用;2,監(jiān)控比較;3,堆棧映射;所述信息調(diào)用,完成對(duì)存儲(chǔ)器的數(shù)據(jù)讀出,每次發(fā)生控制流轉(zhuǎn)換后,將開(kāi)始計(jì)算下一次的控制流跳轉(zhuǎn)可能目標(biāo)所對(duì)應(yīng)的SRAM中的信息地址;所述監(jiān)控比較,是通過(guò)對(duì)存儲(chǔ)器輸出的數(shù)據(jù)信息即包括函數(shù)信息和基本塊信息進(jìn)行分析計(jì)算,計(jì)算出下一次程序控制流跳轉(zhuǎn)的可能的目標(biāo)地址,即合法的執(zhí)行路徑,并且通過(guò)處理器的執(zhí)行控制流信息即程序計(jì)數(shù)器PC進(jìn)行控制流轉(zhuǎn)換的判定;所述堆棧映射,將模擬處理器中堆棧的運(yùn)行過(guò)程,實(shí)時(shí)保存了函數(shù)調(diào)用的返回地址,并在函數(shù)返回時(shí)可以對(duì)該返回地址進(jìn)行校驗(yàn); 存儲(chǔ)器組與信息分析比較邏輯電路之間的數(shù)據(jù)信號(hào)端口、地址信號(hào)端口及讀寫(xiě)控制信號(hào)端口進(jìn)行互連;信息分析比較邏輯電路通過(guò)輸出讀寫(xiě)控制信號(hào)及地址信號(hào)到存儲(chǔ)器組,以對(duì)存儲(chǔ)器組的相應(yīng)地址進(jìn)行讀寫(xiě)控制;數(shù)據(jù)信號(hào)則是一個(gè)雙向信號(hào),對(duì)于存儲(chǔ)器組和信息分析比較邏輯電路而言,它可以是輸入信號(hào)也可能是輸出信號(hào),這都取決于讀寫(xiě)操作的類型。...
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王翔,雷偉,
申請(qǐng)(專利權(quán))人:北京航空航天大學(xué),
類型:發(fā)明
國(guó)別省市:11[中國(guó)|北京]
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。