[發明專利]一種基于數據流切片的軟件識別方法有效
| 申請號: | 201110169906.2 | 申請日: | 2011-06-22 |
| 公開(公告)號: | CN102298681A | 公開(公告)日: | 2011-12-28 |
| 發明(設計)人: | 房鼎益;李磊;湯戰勇;陳曉江;雷遠曉;郭俊;何路;龔曉慶;王妮;王懷軍;高寶健;邢天璋 | 申請(專利權)人: | 西北大學 |
| 主分類號: | G06F21/22 | 分類號: | G06F21/22 |
| 代理公司: | 西安恒泰知識產權代理事務所 61216 | 代理人: | 李鄭建 |
| 地址: | 710127 陜西省西安市*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 數據流 切片 軟件 識別 方法 | ||
1.一種基于數據流切片的軟件識別方法,其特征在于,該方法使用計算機系統進行軟件識別和病毒特征檢測,所述的計算機系統至少包括一個特征提取模塊,該特征提取模塊內有數據依賴提取模塊、切片規則模塊、數據依賴圖切片模塊和拓撲排序模塊;其中的數據依賴提取模塊和一個數據收集模塊連接,所述的數據依賴提取模塊和數據收集模塊有共同的輸入,特征提取模塊和數據收集模塊的輸出均與相似度比較模塊相連;其中:
數據依賴提取模塊,用以提取原始軟件本身的數據流及其依賴關系,并將提取出來的數據流用數據依賴圖表示;
切片規則模塊,用于根據數據依賴圖產生數據流切片的規則;
數據依賴圖切片模塊,通過使用切片規則模塊中的數據流切片規則對數據依賴圖進行化簡;
拓撲排序模塊,用拓撲排序算法對數據依賴圖切片模塊化簡的數據依賴圖進行拓撲排序,最終形成軟件特征文檔;
數據收集模塊,用以在被檢測軟件運行過程中,收集程序中每條指令執行后寄存器和對應的內存中的數據,形成一個數據文檔;
相似度比較模塊,把拓撲排序模塊與數據收集模塊分別得到的軟件特征文檔和數據文檔進行相似度比較,然后進行判別;
所述的軟件識別和病毒特征檢測按下列步驟進行:
步驟一,根據原始軟件,數據依賴提取模塊根據運算符提取數據流,根據表達式提取數據間的依賴關系;并將提取出來的數據流用數據依賴圖表示;
步驟二,數據依賴圖切片模塊對提取出來的數據流圖根據切片規則模塊產生的數據流切片規則進行化簡;所述數據流切片規則具體如下:
(1)由于算法的輸出性質,導致軟件至少有一個輸出,軟件所有的指令對數據的操作都圍繞著輸出數據的返回值或傳出值展開,并將與輸出數據無依賴關系的數據去除;
(2)由于算法有可能需要隨機數據參與輸出數據的運算,隨機數據因為數據不確定,及對它有依賴關系的數據也不確定,不能用來表示軟件特征,因此將隨機數據節點刪除,并對隨機數可達節點都刪除;
(3)由于軟件的靜態數據的確定性,不隨輸入數據而變換,而軟件攻擊的方法可以將靜態數據和指令結合,進行相應整體調整,造成獲得的數據流之間的差異,所以要去除數據依賴圖中的靜態數據節點;
步驟三,拓撲排序模塊按照拓撲排序算法將沒有直接或間接數據依賴關系的節點使用集合表示,將有直接或間接數據依賴關系的節點利用向量表示,向量順序表示節點的先后順序,形成軟件特征,該軟件特征以字符串的形式表示;
步驟四,數據收集模塊使用一些通用的工具,加載軟件,在被檢測軟件運行的過程中收集程序中每條指令執行后寄存器以及對應的內存中的數值,形成一個數據文檔,以便在相似度比較模塊進行字符串相似度匹配時使用;
步驟五,相似度比較模塊把拓撲排序模塊與數據收集模塊中得到的軟件特征文檔和數據文檔進行相似度比較,并用遞歸算法計算出軟件相似度,然后給出相似度判定標準。
2.如權利要求1所述的方法,其特征在于,所述的拓撲排序算法如下:
1)若拓撲圖棧非空且入度為0的節點個數為1,則跳到步驟3);若拓撲圖棧非空且入度為0的節點個數大于1,將節點構成集合,跳到步驟2);若拓撲圖棧為空,退出算法;
2)輸出集合開始符號(“{”),對集合中每個節點分別執行步驟3),最后輸出集合結束符號(“}”);
輸出開始符號(“(”)和此節點;若節點有前繼節點,將其所有前繼節點構成集合,執行步驟2);輸出向量結束符號(“)”)。
3.如權利要求1所述的方法,其特征在于,所述的相似度比較是將字符中的有序關系嚴格按照字符的出現序列進行比較,對于無序的字符只進行字符比較不進行順序比較,直到字符匹配完成。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北大學,未經西北大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110169906.2/1.html,轉載請聲明來源鉆瓜專利網。





