[發明專利]一種數據流完整性檢測方法、裝置、設備及介質在審
| 申請號: | 202211699802.7 | 申請日: | 2022-12-28 |
| 公開(公告)號: | CN115982028A | 公開(公告)日: | 2023-04-18 |
| 發明(設計)人: | 陳李維;聶曉帆;史崗;孟丹 | 申請(專利權)人: | 中國科學院信息工程研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F11/34 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 張正秋 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據流 完整性 檢測 方法 裝置 設備 介質 | ||
本發明涉及一種數據流完整性檢測方法、裝置、設備及介質,其方法包括:接收用戶輸入的待檢測源代碼生成帶有行號信息的原匯編文件;根據原匯編文件中的讀指令和寫指令,利用預設數據的EUI屬性,定義為sdDFIx指令和ldDFIx指令;再對原匯編文件進行代碼插樁,生成新匯編文件;利用原指令集架構,擴展執行編譯后含有所述sdDFIx指令和ldDFIx指令的所述新匯編文件的所述新指令集架構;利用擴展后的所述新指令集架構,執行編譯和鏈接后的所述新匯編文件,得出對待檢查代碼的檢查結果;本發明的目的是解決現有技術中性能開銷很大,不能更加高效地監測程序異常行為的缺陷,無法實現對程序運行時進行有效的保護的問題。
技術領域
本發明涉及計算機軟件技術領域,尤其涉及一種數據流完整性檢測方法、裝置、設備及介質。
背景技術
C/C++語言編寫的程序,會存在各種內存漏洞。內存漏洞是指程序員在軟件編寫的過程中,對內存的操作有時間或空間上的失誤,產生使得程序可能做出違反程序本身設計的行為的安全問題。攻擊者通常利用這些漏洞,修改內存數據,實施攻擊,嚴重威脅計算機系統的運行時安全。
攻擊者進行攻擊的關鍵點是在程序運行時損壞內存數據,對其進行任意讀寫。目前主流的防御技術是數據流完整性DFI(Data?Flow?Integrity)保護,其可以在程序運行時保護內存數據,發現程序的異常行為,阻止此類攻擊。它通過靜態分析獲取數據的合法寫集合。之后其采用標簽檢查機制對程序進行運行時行為檢測。具體地,DFI首先使用靜態分析來生成數據流圖(DFG)去表達變量的定義-使用關系,給每條內存寫指令(store)分配唯一標簽,進而得到數據合法的標簽集合。之后,其采用代碼插樁的方式對數據的內存讀寫指令進行指令插樁,得到可執行文件。在程序運行時,實時計算內存寫指令(store)的標簽;遇到內存讀指令(load)時,進行標簽檢查,即檢查最新一次寫此數據的內存寫指令(store)的標簽值是否在靜態分析得到的合法寫集合中,若在,則繼續執行;若不在,說明數據被非法損壞,產生異常行為,則終止程序執行。
目前,軟件DFI給被檢測程序的虛擬內存分為1GB,額外的1GB/2的內存分配給數據的標簽RDT。每32bit分配16bit的標簽,即每條store指令都會分配唯一的16bit的標簽,每個數據也會分配一個16bit的標簽。DFI執行會產生超過100%的性能開銷以及50%的內存開銷,使其不能在實踐中應用。目前,采用硬件支持來簡化和加速DFI。例如,現有技術采用硬件輔助的TMDFI為被檢測程序的虛擬內存每64bit,分配8bit的標簽,即每條store指令都會分配唯一的8bit的標簽,每個數據也會分配一個8bit的標簽。硬件輔助的TMDFI通過基于標簽的方法執行DFI,性能開銷為39%,內存開銷為12.5%。硬件輔助的PIM-DFI和軟件DFI一致,每32bit內存空間分配16bit的標簽。硬件輔助的PIM-DFI也是一種引入硬件支持加速DFI的方案,其性能開銷約為37%,內存開銷為25%。同時,現有的RVDFI也是一種引入硬件支持來加速DFI的方案,其性能開銷約為18%,內存開銷為25%。性能開銷來源于代碼膨脹導致的緩存未命中和頻繁的內存訪問。現有的性能開銷仍然很大,不能更加高效地監測程序異常行為,難以對程序運行時進行有效的保護。
發明內容
本發明提供一種數據流完整性檢測方法、裝置、設備及介質。用以解決現有技術中性能開銷很大,不能更加高效地監測程序異常行為的缺陷,無法實現對程序運行時進行有效的保護的問題。
本發明提供一種數據流完整性檢測方法,包括:
接收用戶輸入的待檢測源代碼,利用交叉編譯器生成帶有行號信息的原匯編文件;
根據所述原匯編文件中的讀指令和寫指令,利用預設數據的EUI屬性,定義為sdDFIx指令和ldDFIx指令;
根據所述sdDFIx指令和ldDFIx指令對原匯編文件進行代碼插樁,生成新匯編文件;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院信息工程研究所,未經中國科學院信息工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211699802.7/2.html,轉載請聲明來源鉆瓜專利網。





