[發明專利]基于函數調用關系圖特征的惡意代碼檢測新方法有效
| 申請號: | 201010585101.1 | 申請日: | 2010-12-13 |
| 公開(公告)號: | CN102034042A | 公開(公告)日: | 2011-04-27 |
| 發明(設計)人: | 王俊峰;趙宗渠;白金榮;劉達富;方智陽 | 申請(專利權)人: | 四川大學 |
| 主分類號: | G06F21/00 | 分類號: | G06F21/00 |
| 代理公司: | 成都信博專利代理有限責任公司 51200 | 代理人: | 舒啟龍 |
| 地址: | 610065 四川*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 函數 調用 關系 特征 惡意代碼 檢測 新方法 | ||
技術領域
本發明涉及計算機信息安全中的惡意軟件檢測,特別是一種新穎而實用的基于軟件函數調用關系圖特征的惡意代碼檢測方法。
背景技術
隨著計算機科學在社會各個領域的廣泛應用,計算機軟件的安全問題受到人們越來越多的關注。建立可信的軟件系統成為維護計算機信息安全的一種有效手段,對于惡意代碼的檢測成為軟件可信性分析的核心研究方向。
傳統的基于特征碼的檢測方式需要通過專用數據庫來更新和維護事先提取相關特征碼,通過掃描引擎查找軟件的局部信息,并使用字符串匹配方法來對比這些信息和特征碼的相似度,根據對比結果來得出檢測結論。這種檢測方法被廣泛應用于現有的殺毒軟件和系統防護軟件中,屬于比較成熟的技術,現在開發重點主要集中在提高代碼的掃描速度和特征碼提取的準確度。
近年來提出的非特征碼惡意代碼檢測方法中,有些是采用啟發式分析或是基于軟件行為來判斷正常軟件和惡意軟件,這些方法在沒有軟件先驗信息的情況下,對zero-day惡意軟件有一定的檢測效果。還有一些研究是通過在軟件特殊結構屬性信息來分類軟件,比如通過提取PE(Portable?Executables)文件的頭部信息進行對比分類,在正常運行環境也取得了不錯的檢測結果。這些方法都是通過對軟件的局部信息挖掘,期望得到能夠將軟件正確分類的指標集,然后用指標集檢測軟件。
上述的惡意代碼檢測方法分別存在以下問題:
第一,基于特征碼的檢測方法需要獲得惡意代碼的特征碼,并將不斷增加的特征碼到用戶端的數據庫,對日益龐大的數據庫維護成為使用者付出的代價。該檢測方法最大的缺點是難以檢測未知的惡意代碼,用戶不能夠及時處理新的安全威脅。
第二,采用啟發式分析或是基于軟件行為檢測方法是通過獲得代碼的特殊局部信息對軟件進行分類,但是對于使用模糊和多態的惡意代碼,這種局部特征往往不固定,因此該檢測方法在判斷這些惡意代碼時準確率不夠。
第三,使用標準格式信息來區分軟件的檢測方法,利用的是軟件的外部描述信息,這些信息大多不直接涉及軟件的行為,對于熟悉該方法的惡意代碼設計者,能夠通過對格式信息的特殊處理來大幅度降低該方法的檢測效果。
發明內容
本發明的目的在于提出并設計一種檢出率高、穩定性好的基于軟件函數調用關系圖的惡意代碼檢測新方法。
本發明的目的的是這樣實現的:一種基于函數調用關系圖特征的惡意代碼檢測方法,分為以下3個階段:
1、建立軟件函數調用圖;2、提取圖中特征指標;3、通過數據挖掘算法分類惡意軟件和正常軟件;具體步驟如下:
1)建立軟件函數調用圖:
裝入PE格式文件,然后采用遞歸下降算法來處理文件,將文件進行反匯編操作,將文件轉換成匯編代碼,根據代碼中的調用指令建立函數調用關系,然后將函數和這些調用關系保存在圖這種數據結構中;
上述遞歸下降算法是通過控制流來逐條定位和分析指令及數據,根據順序流指令,條件分支指令,無條件分支指令,函數調用指令和返回指令來定位后續指令的位置;
2)提取圖中特征指標:
2.1)產生函數調用關系圖特征集:
通過對輸入文件處理,將文件中保存的函數調用圖信息使用鄰接鏈表的數據結構保存,然后在該結構中計算和統計定義特征集合FeatureList的值;文件處理步驟為:
a)從輸入文件中讀入結點和邊信息;
b)向鄰接鏈表中添加結點和邊信息;統計結點類型及數量;直至讀文件結束;然后,遍歷所有連通有向子圖,并統計結點和出、入度信息;遍歷所有連通無向子圖,并統計結點和出、入度信息;遍歷定義的擴展連通圖,并統計其信息,最后得到的計算和統計結果為產生的函數調用關系特征集;
2.2)篩選指標以精確的反應函數調用圖的特征:
三者擇一地采用以下兩種屬性過濾算法以去除冗余屬性區和分度較低的屬性,合并相關較高的屬性,進行指標的篩選;其一是,采用數據挖掘軟件Weka中提供的CfsSubsetEval函數提供的屬性過濾功能,衡量每一個屬性的預測能力以及它們之間的冗余度,篩選出對預測目標關聯度較高且相互之間低耦合的屬性集合;其二是,選用與分類算法相關的屬性篩選算法WrapperSubsetEval,通過交叉驗證的方法對屬性進行衡量,最后得到該分類算法最有效的屬性集合;
3)通過數據挖掘算法分類惡意軟件和正常軟件:
3.1)通過分類算法產生訓練集結果:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川大學,未經四川大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010585101.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:馬鈴薯蒸熟干燥加工裝置
- 下一篇:一種用于冷飲成型的滾輪設備





