国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于硬件的緩沖區(qū)溢出攻擊檢測方法與流程

      文檔序號:11387074閱讀:611來源:國知局
      一種基于硬件的緩沖區(qū)溢出攻擊檢測方法與流程

      本發(fā)明涉及一種基于硬件的緩沖區(qū)溢出攻擊檢測方法,它是一種利用硬件安全模塊實時檢測嵌入式處理器運行過程中受到的緩沖區(qū)溢出攻擊的一種方法,屬于嵌入式處理器保護技術領域。本發(fā)明尤其可以被用于提高嵌入式處理器自我保護能力,保證嵌入式處理器運行過程的穩(wěn)定性和安全性,增強嵌入式系統(tǒng)的整體可靠性。



      背景技術:

      隨著科學技術的不斷發(fā)展和創(chuàng)新,嵌入式系統(tǒng)的硬件復雜度和性能不斷提高,得到了廣泛的應用,從大型運輸工具、工業(yè)設備到家用電器、個人便攜式設備,嵌入式系統(tǒng)在我們的社會生活中扮演了越來越重要的角色。并且,隨著家庭網(wǎng)絡和無線網(wǎng)絡(homerf,bluetooth,無線以太網(wǎng),移動互聯(lián)網(wǎng)等)的逐漸流行,使得網(wǎng)絡也變得越來越普及,具有移動特性的嵌入式系統(tǒng)日趨普及。隨著嵌入式系統(tǒng)應用越來越廣泛,隨之表現(xiàn)出來的安全問題也日益嚴重,針對嵌入式系統(tǒng)的惡意攻擊逐漸流行和蔓延開來,涉及政府機構、軍事部門、科研院校、金融商業(yè)系統(tǒng),嚴重干擾了人們的日常生活,侵犯了公民隱私,造成巨大的經(jīng)濟損失,甚至威脅到國防安全。因此,對嵌入式系統(tǒng)系統(tǒng)的安全性和可靠性都提出了越來越高的要求。

      在所有針對嵌入式系統(tǒng)的攻擊中,緩沖區(qū)溢出攻擊被認為是頭號公敵。它的攻擊手段主要包括棧溢出、堆溢出、懸掛指針引用、格式化字符串漏洞和整數(shù)錯誤等。根據(jù)提供的近幾年的統(tǒng)計數(shù)據(jù),利用緩沖區(qū)溢出實施的攻擊事件占所有系統(tǒng)攻擊事件的50%以上。緩沖區(qū)溢出攻擊的危害性很大,它可以使程序運行失敗、系統(tǒng)死機,還可能被攻擊者利用造成拒絕服務攻擊,或利用它執(zhí)行非授權指令,進行各種非法操作。為了有效檢測和防御緩沖區(qū)溢出攻擊,傳統(tǒng)是利用軟件去檢測和防御,存在防御不全面,檢測速度慢,檢測不夠全面等問題,本發(fā)明提出了一種使用與嵌入式處理器并行的硬件模塊,在處理器運行期間實時檢測緩沖區(qū)溢出攻擊的方法,有效的保證了嵌入式系統(tǒng)運行的安全性。本發(fā)明是基于openrisc的處理器,經(jīng)過一些修改,可應用于其他嵌入式處理器。



      技術實現(xiàn)要素:

      1、目的:

      本發(fā)明的目的是提供一種基于硬件的緩沖區(qū)溢出攻擊檢測方法,它是在嵌入式處理器的運行過程中,使用硬件安全模塊實時監(jiān)測嵌入式處理器的多個寄存器,對比靜態(tài)模型和動態(tài)模型,分析并正確檢測出是否受到緩沖區(qū)溢出攻擊,保證嵌入式系統(tǒng)的安全可靠運行。

      2、技術方案:

      見圖1,本發(fā)明為一種基于硬件的緩沖區(qū)溢出攻擊檢測方法,該方法具體步驟如下:

      步驟一:數(shù)據(jù)準備

      在程序的交叉編譯鏈接階段,將程序分成多個以跳轉指令為起始的代碼段作為基本塊,使用編譯器和安全標簽分析軟件對基本塊生成安全標簽(以下稱為靜態(tài)標簽),建立程序的靜態(tài)模型,得到程序的相關信息,稱為靜態(tài)數(shù)據(jù)。

      步驟二:系統(tǒng)準備

      將編譯好的程序和靜態(tài)數(shù)據(jù)一起下載到嵌入式系統(tǒng)(以下稱為目標系統(tǒng))的存儲器件中,目標系統(tǒng)內包含了嵌入式處理器,硬件安全模塊,以及相關的外圍器件(包含存儲器件)組成一個完整可運行的soc系統(tǒng)。

      步驟三:系統(tǒng)運行

      目標系統(tǒng)開始運行,存儲器件中的數(shù)據(jù)隨著嵌入式處理器的程序運行被讀取,得到靜態(tài)標簽,生成靜態(tài)模型,同時,硬件安全模塊實時監(jiān)控嵌入式處理器的指令取指(if),數(shù)據(jù)讀(load)和寫(store)操作以及相關的多個寄存器,動態(tài)生成安全標簽(以下稱為動態(tài)標簽),建立動態(tài)模型。

      步驟四:系統(tǒng)檢測及告警

      硬件安全模塊強制執(zhí)行預先設定的安全策略,通過對比靜態(tài)標簽和動態(tài)標簽,結合靜態(tài)模型和動態(tài)模型,分析并正確檢測出是否受到緩沖區(qū)溢出攻擊,一旦發(fā)現(xiàn)非法操作,則發(fā)送中斷信號,觸發(fā)嵌入式處理器應急響應機制,嵌入式處理器可以根據(jù)情況做出判斷,是否中止系統(tǒng)運行或者發(fā)出告警并恢復。否則繼續(xù)步驟三。

      其中,本發(fā)明的一種基于硬件的緩沖區(qū)溢出攻擊檢測模塊的結構主要包括五個部分,控制模塊,靜態(tài)模型模塊,動態(tài)模型模塊,運算分析模塊和存儲器模塊:

      控制模塊:負責向其它模塊發(fā)出控制信號,使各個模塊配合工作;

      靜態(tài)模型模塊:接收控制模塊的控制信號,讀取存儲器模塊的數(shù)據(jù),建立

      靜態(tài)模型;

      動態(tài)模型模塊:接收控制模塊的控制信號,監(jiān)控嵌入式處理器,生成動態(tài)標簽,建立動態(tài)模型;

      運算分析模塊:接收控制模塊的控制信號,從靜態(tài)模型模塊和動態(tài)模型模塊讀取數(shù)據(jù),進行分析比較并反饋結果給控制模塊;

      存儲器模塊:接收控制模塊的控制信號,讀取存儲器件的數(shù)據(jù),解密生成靜態(tài)標簽。

      3.優(yōu)點

      本發(fā)明可以通過硬件模塊實時檢測緩沖區(qū)溢出攻擊,解決了嵌入式系統(tǒng)的安全問題。本發(fā)明具備以下幾個優(yōu)點:

      (1)本發(fā)明采用了靜態(tài)模型和動態(tài)模型互相對比,大大提高了檢測精度,保證了攻擊檢測的準確性;

      (2)本發(fā)明包含一個硬件安全模塊,與處理器并行運行,不占用處理器計算能力,有效的提高了檢測的速度,同時對嵌入式系統(tǒng)的影響也是最小的;

      (3)本發(fā)明所涉及的硬件安全模塊,采用了標準ip核設計,為后繼的維護和移植提供了方便;

      (4)本發(fā)明所涉及的硬件結構具有良好的可擴展性和更新能力,通過簡單更改相關系統(tǒng)參數(shù)的數(shù)值就可以應用于其它類型的嵌入式系統(tǒng)中。

      附圖說明

      圖1是本發(fā)明技術涉及的方法流程圖。

      圖2是本發(fā)明核心硬件整體結構圖。

      具體實施方式

      本發(fā)明的核心硬件部分如圖2所示,該部分需要完成靜態(tài)模型的讀取、解密和建立,動態(tài)模型的建立,靜態(tài)動態(tài)模型的運算、分析、比較和攻擊判斷功能。整體核心硬件模塊的結構主要包括五個部分,控制模塊,靜態(tài)模型模塊,動態(tài)模型模塊,運算分析模塊和存儲器模塊:

      1.控制模塊:負責向其它模塊發(fā)出控制信號,使各個模塊配合工作;

      2.靜態(tài)模型模塊:接收控制模塊的控制信號,讀取存儲器模塊的數(shù)據(jù),建立靜態(tài)模型;

      3.動態(tài)模型模塊:接收控制模塊的控制信號,監(jiān)控嵌入式處理器,生成動態(tài)標簽,建立動態(tài)模型;

      4.運算分析模塊:接收控制模塊的控制信號,從靜態(tài)模型模塊和動態(tài)模型模塊讀取數(shù)據(jù),進行分析比較并反饋結果給控制模塊;

      5.存儲器模塊:接收控制模塊的控制信號,讀取存儲器件的數(shù)據(jù),解密生成靜態(tài)標簽。

      在具體實施過程中,包含一個狀態(tài)機的控制模塊控制其他各模塊的循環(huán)調用,融合各個模塊完成不同功能并互相通信,最終調用運算分析模塊判斷出系統(tǒng)是否受到緩沖區(qū)溢出攻擊,若受到攻擊,則給出告警信號,算法終止;若未受攻擊,則繼續(xù)運行。

      安全策略設計:

      一、代碼段是程序運行的核心,代碼段的攻擊主要有:

      1.代碼段被篡改;

      2.緩沖區(qū)溢出,程序跳轉到攻擊者植入的代碼段執(zhí)行。

      二、本發(fā)明主要針對緩沖區(qū)溢出攻擊,因此,我們設定緩沖區(qū)溢出保護的安全策略如下:

      1、確保代碼段的完整性;

      2、確保執(zhí)行的指令都是從可執(zhí)行的內存段獲取的;

      3、跳轉指令的目標在可執(zhí)行的內存段內。

      攻擊判斷的算法是本發(fā)明提出的方法的核心部分,有以下幾個步驟。

      步驟一:靜態(tài)標簽數(shù)據(jù)提取:數(shù)據(jù)準備階段,應用程序的各個段的起始地址及深度在交叉編譯階段就可以被完全確定,通過對應用程序反匯編,我們可以得到相應的段參數(shù)。size代表段的深度,vma代表段的起始地址,因此可以確定應用程序的每個段的確切位置,完成每個段的安全標簽的靜態(tài)提取,并通過安全算法得到靜態(tài)標簽數(shù)據(jù),進一步分析得到應用程序的靜態(tài)模型,生成應用程序專用的靜態(tài)數(shù)據(jù)文件。

      步驟二、靜態(tài)數(shù)據(jù)文件下載:系統(tǒng)準備階段,使用jtag軟件將靜態(tài)數(shù)據(jù)文件下載到目標系統(tǒng)的存儲器件。在本專利中,是一個與處理器獨立的外部存儲器件,該器件與處理器和靜態(tài)模型模塊以通用總線相連。系統(tǒng)運行時,存儲器件與處理器的總線連接是關閉的,從外部無法直接訪問,從而能有效的避免物理攻擊行為的發(fā)生。

      步驟三、數(shù)據(jù)生成:系統(tǒng)運行階段,靜態(tài)標簽模塊從存儲器模塊讀取數(shù)據(jù),通過安全算法解密數(shù)據(jù)得到靜態(tài)標簽,建立靜態(tài)模型。動態(tài)模型模塊通過總線獲取嵌入式處理器的指令取指(if),數(shù)據(jù)讀(load)和寫(store)操作以及相關的多個寄存器,通過安全算法生成動態(tài)標簽,建立動態(tài)模型。

      步驟四、攻擊檢測:系統(tǒng)檢測及告警階段,運算分析模塊主要完成兩個作用。一是對比動態(tài)標簽和靜態(tài)標簽,對比動態(tài)模型和靜態(tài)模型;二是判斷是否執(zhí)行了預期的安全策略。當檢測到一次取指令操作時候,根據(jù)當前的安全標簽值判斷當前指令是否是在可執(zhí)行內存段取得。如果發(fā)現(xiàn)動態(tài)標簽值與靜態(tài)標簽值不一致,再進一步判斷當前指令地址是否在可執(zhí)行的內存段,則可正確判斷出系統(tǒng)是否受到緩沖區(qū)溢出攻擊,并根據(jù)判斷結果發(fā)出相應的報警信號,觸發(fā)嵌入式處理器應急響應。

      算法的結束與否取決于攻擊判斷模塊。若該模塊檢測到系統(tǒng)受到攻擊,則給出報警信號,算法終止;若未受攻擊,則由控制模塊繼續(xù)控制各個模塊依次運行。

      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1