[發明專利]一種基于函數調用關系圖的代碼同源性分析方法有效
| 申請號: | 201811212440.8 | 申請日: | 2018-10-18 |
| 公開(公告)號: | CN109542508B | 公開(公告)日: | 2020-12-29 |
| 發明(設計)人: | 付才;張哲暢;胡啟宬;韓蘭勝;劉銘;崔永泉;駱婷;湯學明 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F8/74 | 分類號: | G06F8/74 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 李智;曹葆青 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 函數 調用 關系 代碼 同源性 分析 方法 | ||
本發明公開了一種基于函數調用關系圖的代碼同源性分析方法,包括以:基于代碼的函數調用關系圖生成母圖;計算函數調用關系圖與母圖之間的相對編輯距離、函數調用關系圖對應矩陣的半方差值、函數調用關系圖的度分布有序值;基于相對編輯距離、半方差值、度分布有序值三者的中至少一個,分析代碼同源性。相對編輯距離從程序組織的角度進行代碼同源性分析,判斷程序整體的有序性和無序性;半方差值從代碼邏輯的角度進行代碼同源性分析,判斷程序編寫者的深度優先或廣度優先編寫習慣;度分布有序值從統計學的角度進行代碼同源性分析,判斷程序的調用次數分布。通過綜合三種指標,區分功能函數的設計和調用特征,在代碼溯源領域有較優的表現。
技術領域
本發明屬代碼溯源技術領域,更具體地,涉及一種基于函數調用關系圖的代碼同源性分析方法。
背景技術
目前針對惡意代碼的研究主要分為一維研究和多維研究。一維研究主要包括靜態分析與多數動態分析,僅針對惡意代碼本身,檢測局限性較為明顯。多維研究是目前研究的主要趨勢,包括執行特征、傳播特征和通信特征等。目前有學者將惡意代碼研究投入到惡意代碼溯源的領域,通過分析惡意代碼各類行為社會特征,判定惡意代碼同源性,從而區分編寫者,為犯罪調查提供證據或對實時惡意代碼持續跟蹤。
專利CN104933365A公開了一種基于調用習慣的惡意代碼自動化同源判定方法及系統,該方法依據定義的7類WinAPI調用特征項,基于某作者的惡意代碼樣本集,構建該作者調用習慣模型并選擇判定閾值,進而判定待測樣本是否同源。具體包括兩個階段:學習階段與判定階段。其中學習階段基于特定作者的樣本集構建該作者的編程習慣模型與選擇同源判定閾值,主要步驟包括:特征提取、習慣模型構建、同源度計算、閾值選擇;判定階段依據學習階段構建的編程習慣模型與選擇的閾值,判定待測樣本是否與訓練樣本集同源。
然而,現有的代碼同源性分析方法均未考慮將代碼特征與代碼編寫行為聯系起來。
發明內容
針對現有技術的缺陷,本發明的目的在于提供一種基于函數調用關系圖的代碼同源性分析方法,其將代碼特征與代碼編寫行為聯系起來,旨在為代碼挖掘取證、同源性分析提供新思路,也同時對代碼特征提煉研究提供理論支持。
為實現上述目的,本發明實施例提供了一種基于函數調用關系圖的代碼同源性分析方法,該方法包括以下步驟:
S1.基于代碼的函數調用關系圖,生成函數調用關系圖的母圖;
S2.計算函數調用關系圖與母圖之間的相對編輯距離、函數調用關系圖對應矩陣的半方差值、函數調用關系圖的度分布有序值;
S3.基于相對編輯距離、半方差值、度分布有序值三者的中至少一個,分析代碼同源性。
具體地,所述基于代碼的函數調用關系圖,生成函數調用關系圖的母圖為:
按廣度優先遍歷函數調用關系圖,在遍歷過程中對圖進行操作,即第一次尋到某函數時標記該函數所在層數,即可得到母圖。
具體地,計算函數調用關系圖與母圖之間的相對編輯距離,包括以下步驟:
(1)編輯距離DE初始為0;
(2)從函數調用關系圖的頂層開始,依次檢查每個層次所有節點的子節點,當前檢查層次記為1,每檢查到函數調用關系圖中的一個1層節點的子節點對應到母圖中的層數不是1+1層,則編輯距離DE增加1;
(3)按照層次遍歷所有節點,得到編輯距離DE;
(4)基于編輯距離DE,按照下列公式計算相對編輯距離DRE;
式中,n為函數的總個數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201811212440.8/2.html,轉載請聲明來源鉆瓜專利網。





