[發明專利]一種基于圖論的代碼復用識別方法及系統在審
| 申請號: | 201711489518.6 | 申請日: | 2017-12-29 |
| 公開(公告)號: | CN109472145A | 公開(公告)日: | 2019-03-15 |
| 發明(設計)人: | 李登峰;李柏松;王小豐 | 申請(專利權)人: | 北京安天網絡安全技術有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100195 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 待檢測樣本 代碼復用 函數調用 樣本 圖形特征數據 抽象語法樹 惡意代碼 圖形特征 中間表示 圖論 匹配 數據庫 調用關系 平臺無關 語言獲取 同源性 解析 追溯 繪制 攻擊 語言 轉化 分析 | ||
本發明公開了一種基于圖論的代碼復用識別方法及系統,其中,所述方法包括:解析待檢測樣本和已知惡意樣本形成抽象語法樹;將形成的抽象語法樹轉化為與平臺無關的中間表示語言;根據所述中間表示語言獲取所有函數的調用關系,繪制函數調用流圖;利用圖算法處理已知惡意樣本相關的函數調用流圖形成圖形特征數據庫;利用圖算法處理待檢測樣本的函數調用流圖形成圖形特征數據;利用待檢測樣本的圖形特征數據匹配所述圖形特征數據庫,確定待檢測樣本與已知惡意樣本的代碼復用程度。本發明通過分析代碼相似性來判斷惡意代碼的同源性,不僅可以用來匹配惡意代碼家族,而且可以追溯攻擊者。
技術領域
本發明涉及信息安全技術領域,尤其涉及一種基于圖論的代碼復用識別方法及系統。
背景技術
由于惡意攻擊者一般不會一次次的重復寫同一個模塊,所以可以通過代碼的相似性來判斷惡意代碼同源性,用來匹配家族,追溯攻擊者。
目前的代碼復用識別依賴于字符串提取和最長公共子序列算法,速度較慢且擁有較高的錯誤率,并且無法根據已有特征來形成新的特征,只能單調地進行模式匹配。
發明內容
針對上述技術問題,本發明通過圖算法對待檢測樣本和已知惡意樣本進行處理形成圖形特征數據,最終根據圖形的特征進行代碼復用的判別,進而判斷惡意代碼的同源性并最終追溯攻擊者。
本發明采用如下方法來實現:一種基于圖論的代碼復用識別方法,包括:
解析待檢測樣本和已知惡意樣本形成抽象語法樹;
將形成的抽象語法樹轉化為與平臺無關的中間表示語言;
根據所述中間表示語言獲取所有函數的調用關系,繪制函數調用流圖;
利用圖算法處理已知惡意樣本相關的函數調用流圖形成圖形特征數據庫;
利用圖算法處理待檢測樣本的函數調用流圖形成圖形特征數據;
利用待檢測樣本的圖形特征數據匹配所述圖形特征數據庫,確定待檢測樣本與已知惡意樣本的代碼復用程度。
進一步地,所述利用待檢測樣本的圖形特征數據匹配所述圖形特征數據庫,確定待檢測樣本與已知惡意樣本的代碼復用程度,具體包括:
若待檢測樣本的圖形特征數據與圖形特征數據庫中的某一已知惡意樣本的相似度超過預設閾值,則判定待檢測樣本與該已知惡意樣本存在代碼復用。
更進一步地,所述預設閾值為大于等于35%。
進一步地,還包括:利用開源代碼和歷史代碼作為訓練數據來提高圖形特征數據庫的識別準確率。
本發明采用如下系統來實現:一種基于圖論的代碼復用識別系統,包括:
抽象語法樹生成模塊,用于解析待檢測樣本和已知惡意樣本形成抽象語法樹;
中間表示語言生成模塊,用于將形成的抽象語法樹轉化為與平臺無關的中間表示語言;
函數調用流圖繪制模塊,用于根據所述中間表示語言獲取所有函數的調用關系,繪制函數調用流圖;
圖形特征數據庫生成模塊,用于利用圖算法處理已知惡意樣本相關的函數調用流圖形成圖形特征數據庫;
圖形特征數據生成模塊,用于利用圖算法處理待檢測樣本的函數調用流圖形成圖形特征數據;
復用判定模塊,用于利用待檢測樣本的圖形特征數據匹配所述圖形特征數據庫,確定待檢測樣本與已知惡意樣本的代碼復用程度。
進一步地,所述復用判定模塊,具體用于:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京安天網絡安全技術有限公司,未經北京安天網絡安全技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711489518.6/2.html,轉載請聲明來源鉆瓜專利網。





