[發明專利]一種數據流完整性檢測方法、裝置、設備及介質在審
| 申請號: | 202211699802.7 | 申請日: | 2022-12-28 |
| 公開(公告)號: | CN115982028A | 公開(公告)日: | 2023-04-18 |
| 發明(設計)人: | 陳李維;聶曉帆;史崗;孟丹 | 申請(專利權)人: | 中國科學院信息工程研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F11/34 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 張正秋 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據流 完整性 檢測 方法 裝置 設備 介質 | ||
1.一種數據流完整性檢測方法,其特征在于,包括:
接收用戶輸入的待檢測源代碼,利用交叉編譯器生成帶有行號信息的原匯編文件;
根據所述原匯編文件中的讀指令和寫指令,利用預設數據的EUI屬性,定義為sdDFIx指令和ldDFIx指令;
根據所述sdDFIx指令和ldDFIx指令對原匯編文件進行代碼插樁,生成新匯編文件;
利用執行編譯后所述原匯編文件的原指令集架構,擴展執行編譯后含有所述sdDFIx指令和ldDFIx指令的所述新匯編文件的所述新指令集架構;
利用擴展后的所述新指令集架構,執行編譯和鏈接后的所述新匯編文件,得出對待檢查代碼的檢查結果;
其中,所述預設數據的EUI屬性通過所述待檢測源代碼利用程序分析工具得到程序的數據流圖后,對所述數據流圖進行靜態分析得到。
2.根據權利要求1所述的數據流完整性檢測方法,其特征在于,
根據所述原匯編文件中的讀指令和寫指令,利用預設數據的EUI屬性,定義為sdDFIx指令和ldDFIx指令,包括:
根據所述原匯編文件中的讀指令和寫指令以及預設數據的EUI屬性,得到所述讀指令和寫指令各自與EUI屬性相對應的EUI標簽;
將所述讀指令與EUI屬性相對應的EUI標簽儲存于所述讀指令的標簽中,得到所述ldDFIx指令的標簽,將所述寫指令與EUI屬性相對應的EUI標簽儲存于所述寫指令的標簽中,得到所述sdDFIx指令的標簽。
3.根據權利要求2所述的數據流完整性檢測方法,其特征在于,
所述EUI標簽的存儲空間為3bit。
4.根據權利要求2所述的數據流完整性檢測方法,其特征在于,
根據所述sdDFIx指令和ldDFIx指令對原匯編文件進行代碼插樁,生成新匯編文件,包括:
將所述ldDFIx指令替換原匯編文件中的讀指令,以及所述sdDFIx指令替換原匯編文件中的寫指令后,生成所述新匯編文件。
5.根據權利要求1所述的數據流完整性檢測方法,其特征在于,
所述利用擴展后的所述新指令集架構,執行編譯和鏈接后的所述新匯編文件,得出對待檢查代碼的檢查結果的步驟中,還包括檢查的步驟:
當編譯和鏈接后的所述新匯編文件執行到sdDFIx指令時,利用sdDFIx指令的標簽更新內存數據的標簽;
當編譯和鏈接后的所述新匯編文件執行到ldDFIx指令時,利用ldDFIx指令的標簽對更新后的所述內存數據的標簽進行比較;
若ldDFIx指令的標簽與更新后的所述內存數據的標簽一致,得出待檢查代碼的檢查結果為正常;
若ldDFIx指令的標簽與更新后的所述內存數據的標簽不一致,得出待檢查代碼的檢查結果為異常。
6.根據權利要求1所述的數據流完整性檢測方法,其特征在于,所述原指令集架構采用RISC-V架構。
7.根據權利要求1-6中任一項中的數據流完整性檢測方法,其特征在于,所述數據的EUI屬性包括:輸入的內存數據、懸空/越界指針和非法篡改的內存數據;
所述輸入的內存數據、懸空/越界指針和非法篡改內存數據各自對應一個標簽。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院信息工程研究所,未經中國科學院信息工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211699802.7/1.html,轉載請聲明來源鉆瓜專利網。





