[發明專利]一種基于錯誤傳播分析的SDC脆弱指令識別方法有效
| 申請號: | 201410234116.1 | 申請日: | 2014-05-29 |
| 公開(公告)號: | CN103984632A | 公開(公告)日: | 2014-08-13 |
| 發明(設計)人: | 汪蕓;馬駿馳;李凱 | 申請(專利權)人: | 東南大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 江蘇永衡昭輝律師事務所 32250 | 代理人: | 王斌 |
| 地址: | 210096*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 錯誤 傳播 分析 sdc 脆弱 指令 識別 方法 | ||
1.一種基于錯誤傳播分析的SDC脆弱指令識別方法,所述的識別方法包括如下步驟:
步驟一:加載運行目標測試程序,所述目標測試程序由關鍵指令和非關鍵指令組成;所述關鍵指令指寫函數間交互數據的指令,所述非關鍵指令指關鍵指令以外的所有指令;
步驟二:通過錯誤注入實驗驗證所有關鍵指令的SDC脆弱性
首先根據關鍵指令的定義找出關鍵指令,然后通過修改指令目的操作數的一位對關鍵指令實施錯誤注入,如果得到的結果是SDC,則將該關鍵指令加入SDC脆弱關鍵指令集合;
步驟三:識別非關鍵指令中的SDC脆弱指令
首先采用等價類注入的方法對非關鍵指令進行采樣,將采樣得到的指令添加進注入計劃表,然后通過修改目的操作數的一位對指令實施錯誤注入,如果得到的結果是SDC,則運行推斷算法,將推測出的SDC脆弱指令集合從注入計劃表中刪去,并將推測出的SDC脆弱指令集合加入SDC脆弱非關鍵指令集合;
所述的推斷算法的輸入分別為:錯誤注入中指令寫入數據的記錄、正常運行時指令寫入數據的記錄和由步驟二得到的SDC脆弱關鍵指令集合;且所述推斷算法分為以下三個階段:
(a)比較階段:對錯誤注入實驗的第j條指令Ij的寫入數據與正常運行時相同的指令I′j的寫入數據進行比較,若寫入數據是不同的,則判定指令Ij發生了錯誤,將該指令標記為錯誤,否則將該指令標記為正確;如果Ij屬于SDC脆弱關鍵指令集合則進入推測階段;否則進入結束階段;
(b)推測階段:搜索Ij的祖先節點,若祖先節點被標記為正確,則結束該分支的搜索;若祖先節點被標記為錯誤,且祖先節點只有一個被標記為錯誤的SDC脆弱關鍵指令子孫節點Ij,則將該祖先節點加入推測出的SDC脆弱指令集合;
(c)結束階段:如果Ij已經是最后一條指令,則結束,否則轉到Ij的下一條指令;如果Ij是條件跳轉指令,判斷是否與正常運行時選擇了同一分支,若選擇了不同分支,則發生了錯誤的跳轉;為了保持Ij和I′j是同一指令對應的指令實例,Ij和I′j均跳至Ij所在函數的最后一條指令。
步驟四:將步驟二獲得的SDC脆弱關鍵指令集合和步驟三獲得的SDC脆弱非關鍵指令集合合并得到了整個SDC脆弱指令集合。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東南大學,未經東南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410234116.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:冷水自循環漁船用制冰機
- 下一篇:農作物秸稈收割臺





