[發明專利]一種基于語義的跨指令架構二進制代碼相似性檢測方法有效
| 申請號: | 202011552657.0 | 申請日: | 2020-12-24 |
| 公開(公告)號: | CN112596736B | 公開(公告)日: | 2021-10-08 |
| 發明(設計)人: | 王莘;姜訓智;董少波 | 申請(專利權)人: | 哈爾濱工業大學 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06N3/04 |
| 代理公司: | 哈爾濱市陽光惠遠知識產權代理有限公司 23211 | 代理人: | 張宏威 |
| 地址: | 150001 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 語義 指令 架構 二進制 代碼 相似性 檢測 方法 | ||
本發明是一種基于語義的跨指令架構二進制代碼相似性檢測方法。本發明涉及漏洞檢測技術領域,本發明構建不同指令架構的匯編語言數據集,提取具有相同語義的不同指令架構的匯編代碼對;對匯編代碼基本塊對進行歸一化處理;進行匯編代碼編碼器的預訓練,將匯編代碼語義相似性任務轉化為自然語言神經機器翻譯任務;進行負采樣結合字符串語義的基本塊嵌入,將字符串嵌入向量與嵌入網絡獲得的嵌入向量進行對齊并拼接,組成新的基本塊嵌入向量;嵌入網絡的訓練,輸出x86和ARM的嵌入向量;進行二進制代碼相似性比較,判斷兩個不同指令架構的二進制代碼是否相似,本發明可以加快漏洞檢測、版權糾紛等需要比較不同指令架構基本塊的準確率和效率。
技術領域
本發明涉及漏洞檢測技術領域,是一種基于語義的跨指令架構二進制代碼相似性檢測方法。
背景技術
以往的跨指令架構二進制代碼相似性研究通常需要人工選擇二進制代碼的特征進行基本塊嵌入,這些特征不僅需要專業知識,而且嵌入信息較少,不能完整表達二進制代碼的語義。如Gemini、Genius。
為了解決上面的問題,SAFE、Asm2vec等方法將基于靜態詞表示的方法應用到二進制代碼中。基本塊中的運算符和操作數被表示為定維向量,基本塊嵌入中的每個元素都是自動計算的實數,大大提高了基本塊嵌入中的信息容量。但這些方法并不適合跨指令架構的基本塊嵌入,因為不同指令架構中元素不可能出現在相同的語境中。
發明內容
本發明用于不同指令架構(如x86、ARM等)間二進制代碼的相似性檢測,可以用于漏洞檢測、版權糾紛、惡意軟件分析等領域,本發明提供了一種基于語義的跨指令架構二進制代碼相似性檢測方法,本發明提供了以下技術方案:
一種基于語義的跨指令架構二進制代碼相似性檢測方法,包括以下步驟:
步驟1:構建不同指令架構的匯編語言數據集,提取具有相同語義的不同指令架構的匯編代碼對;
步驟2:對匯編代碼基本塊對進行歸一化處理;
步驟3:進行匯編代碼編碼器的預訓練,將匯編代碼語義相似性任務轉化為自然語言神經機器翻譯任務;
步驟4:進行負采樣,使模型能夠區分語義不同但嵌入向量相近的基本塊;
步驟5:結合字符串語義的基本塊嵌入,將字符串嵌入向量與嵌入網絡獲得的嵌入向量進行對齊并拼接,組成新的基本塊嵌入向量;
步驟6:嵌入網絡的訓練,輸出x86和ARM的嵌入向量;
步驟7:進行二進制代碼相似性比較,判斷兩個不同指令架構的二進制代碼是否相似。
優選地,所述步驟1具體為:
訓練基本塊嵌入具有相同語義的匯編代碼基本塊對,使用更改后的LLVM編譯器將源代碼編譯成帶有基本塊邊界標記的中間語言IR,經過優化器優化后再使用LLVM的不同后端生成不同指令架構的匯編語言,其中每個基本塊擁有唯一標識符且邊界已經被標記,通過正則過濾提取具有相同語義的不同指令架構的匯編代碼對。
優選地,所述步驟2具體為:
對于寄存器,x86中的寄存器分為14類,其中包含指針寄存器、浮點數寄存器、四類通用寄存器、四類數據寄存器和四類地址寄存器,其中通用寄存器、數據寄存器和地址寄存器按照其存儲的數據長度分為4種類型,分別是8位、16位、32位和64位;對于ARM中的寄存器被分為兩類:通用寄存器和指針寄存器,對x86基本塊的匯編代碼進行歸一化操作。
優選地,所述步驟3具體為:
將匯編代碼語義相似性任務轉化為自然語言神經機器翻譯任務,根據生成的具有相同語義的不同指令架構匯編代碼對訓練當前主流的神經機器翻譯模型Transformer,模型產生的中間向量包含豐富的匯編代碼語義信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學,未經哈爾濱工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011552657.0/2.html,轉載請聲明來源鉆瓜專利網。





