[發(fā)明專利]軟件識(shí)別方法及裝置在審
| 申請(qǐng)?zhí)枺?/td> | 201310632296.4 | 申請(qǐng)日: | 2013-12-02 |
| 公開(公告)號(hào): | CN104679495A | 公開(公告)日: | 2015-06-03 |
| 發(fā)明(設(shè)計(jì))人: | 王鑫;姚輝;劉桂峰 | 申請(qǐng)(專利權(quán))人: | 貝殼網(wǎng)際(北京)安全技術(shù)有限公司;北京金山網(wǎng)絡(luò)科技有限公司 |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44;G06F17/30 |
| 代理公司: | 北京柏杉松知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11413 | 代理人: | 項(xiàng)京;馬敬 |
| 地址: | 100041 北京市石景山區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 軟件 識(shí)別 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及軟件識(shí)別領(lǐng)域,特別涉及一種軟件識(shí)別方法及裝置。
背景技術(shù)
隨著科學(xué)技術(shù)的高速發(fā)展,紛繁眾多的電子設(shè)備對(duì)人們工作和生活的影響越來越大。同時(shí),軟件規(guī)模的日益龐大以及繁瑣的分工使得軟件產(chǎn)品的質(zhì)量往往難以得到保證,從而帶來了日益嚴(yán)重的軟件安全隱患問題。因此,用于識(shí)別正常軟件和惡意軟件的軟件識(shí)別方法一直是備受關(guān)注的。
現(xiàn)有的軟件識(shí)別方法是將經(jīng)過反匯編處理后的可執(zhí)行文件分為若干代碼段,從代碼段中提取特征值,并與預(yù)先依據(jù)惡意軟件所構(gòu)建的特征庫中的特征值進(jìn)行匹配,根據(jù)匹配結(jié)果來確定識(shí)別結(jié)果。
但是,現(xiàn)有的軟件識(shí)別方法中,特征泛型較低,導(dǎo)致通用性較差。同時(shí),惡意軟件制造者可以通過對(duì)可執(zhí)行文件進(jìn)行加殼、加花、亂序、或修改入口等方式來更改代碼段,以對(duì)抗現(xiàn)有軟件識(shí)別方法;甚至,惡意軟件制造者只需在原代碼基礎(chǔ)上隨意加一些新功能,原來的特征就會(huì)消失,最終導(dǎo)致該惡意軟件無法被識(shí)別出。
綜上所述,現(xiàn)有的軟件識(shí)別方法對(duì)軟件識(shí)別的準(zhǔn)確性不高。
發(fā)明內(nèi)容
基于上述問題,本發(fā)明實(shí)施例公開了一種軟件識(shí)別方法及裝置,以提高識(shí)別軟件的準(zhǔn)確性。技術(shù)方案如下:
第一方面,本發(fā)明實(shí)施例提供了一種軟件識(shí)別方法,包括:
將待識(shí)別軟件的可執(zhí)行文件進(jìn)行反匯編處理;
確定所述反匯編處理后的可執(zhí)行文件所利用的編譯程序的類型;
根據(jù)所述編譯程序的類型,提取所述反匯編處理后的可執(zhí)行文件中的用戶定義函數(shù);
生成所述用戶定義函數(shù)對(duì)應(yīng)的待識(shí)別特征值;
確定所述待識(shí)別特征值與特征庫中所存儲(chǔ)的特征值的匹配數(shù)量,其中,所述特征庫存儲(chǔ)有從惡意軟件中提取的用戶定義函數(shù)所對(duì)應(yīng)的特征值,且所述特征庫中所存儲(chǔ)的特征值與所述待識(shí)別特征值具有相同的數(shù)據(jù)長度;
依據(jù)所述匹配數(shù)量與所述待識(shí)別特征值的總數(shù)量的比值,確定所述待識(shí)別軟件的屬性。
可選的,所述生成所述用戶定義函數(shù)對(duì)應(yīng)的待識(shí)別特征值,包括:
對(duì)所述用戶定義函數(shù)進(jìn)行至少一次編譯,獲得所述用戶定義函數(shù)對(duì)應(yīng)的命令序列;
從所述命令序列中確定出所述用戶定義函數(shù)所調(diào)用的第一函數(shù)的地址,其中,所述第一函數(shù)包括:庫函數(shù)和/或API函數(shù);
通過所述第一函數(shù)的地址,確定所述第一函數(shù)的名稱;
將所述命令序列中的第一函數(shù)的地址替換為相應(yīng)的第一函數(shù)的名稱;
對(duì)第一函數(shù)的地址替換為相應(yīng)的第一函數(shù)的名稱的所述命令序列運(yùn)用預(yù)設(shè)的算法,以形成所述用戶定義函數(shù)對(duì)應(yīng)的待識(shí)別特征值。
可選的,通過提取程序入口函數(shù)或PE(Portable?Executable,可移植可執(zhí)行)字節(jié)表的方式,確定所述反匯編處理后的可執(zhí)行文件所利用的編譯程序的類型。
可選的,所述待識(shí)別軟件的屬性包括:正常軟件、惡意軟件、偏正常軟件或偏惡意軟件。
可選的,當(dāng)確定出所述反匯編處理后的可執(zhí)行文件所利用的編譯程序?yàn)镸FC類型時(shí),所述根據(jù)所述編譯程序的類型,提取所述反匯編處理后的可執(zhí)行文件中的用戶定義函數(shù),包括:
確定所述反匯編處理后的可執(zhí)行文件中的rdata節(jié);
確定所述rdata節(jié)中的虛表;
從虛表對(duì)應(yīng)的虛函數(shù)中,去除重寫的MFC類虛函數(shù);
將所剩余的虛函數(shù)作為反匯編處理后的可執(zhí)行文件中的用戶定義函數(shù)。
可選的,所述根據(jù)所述編譯程序的類型,提取所述反匯編處理后的可執(zhí)行文件中的用戶定義函數(shù),還包括:
確定rdata節(jié)中的消息循環(huán)列表;
依據(jù)所述消息循環(huán)列表,確定出消息循環(huán)處理函數(shù)結(jié)構(gòu)體,進(jìn)而依據(jù)消息循環(huán)處理函數(shù)結(jié)構(gòu)體,提取出消息循環(huán)處理函數(shù);
在從虛表對(duì)應(yīng)的虛函數(shù)中,去除重寫的MFC類虛函數(shù)之后,遍歷所述消息循環(huán)處理函數(shù)和所剩余的虛函數(shù),獲取被調(diào)用的函數(shù);
所述將所剩余的虛函數(shù)作為反匯編處理后的可執(zhí)行文件中的用戶定義函數(shù),包括:
將所述被調(diào)用的函數(shù)和所剩余的虛函數(shù)作為反匯編處理后的可執(zhí)行文件中的用戶定義函數(shù)。
可選的,當(dāng)確定出所述反匯編處理后的可執(zhí)行文件所利用的編譯程序?yàn)閂B類型時(shí),所述根據(jù)所述編譯程序的類型,提取所述反匯編處理后的可執(zhí)行文件中的用戶定義函數(shù),包括:
依據(jù)所述反匯編處理后的可執(zhí)行文件的程序入口代碼,確定出文件頭結(jié)構(gòu)體;
解析所述文件頭結(jié)構(gòu)體,確定出所述反匯編處理后的可執(zhí)行文件的事件處理函數(shù)結(jié)構(gòu)體;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于貝殼網(wǎng)際(北京)安全技術(shù)有限公司;北京金山網(wǎng)絡(luò)科技有限公司;,未經(jīng)貝殼網(wǎng)際(北京)安全技術(shù)有限公司;北京金山網(wǎng)絡(luò)科技有限公司;許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310632296.4/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法
- 識(shí)別媒體、識(shí)別媒體的識(shí)別方法、識(shí)別對(duì)象物品以及識(shí)別裝置
- 一種探針卡識(shí)別裝置和方法
- 識(shí)別裝置、識(shí)別方法以及記錄介質(zhì)
- 識(shí)別裝置、識(shí)別系統(tǒng),識(shí)別方法以及存儲(chǔ)介質(zhì)
- 識(shí)別程序、識(shí)別方法以及識(shí)別裝置
- 車載身份識(shí)別方法及系統(tǒng)
- 車載身份識(shí)別方法及系統(tǒng)
- 車載身份識(shí)別方法及系統(tǒng)
- 識(shí)別裝置、識(shí)別方法以及識(shí)別程序
- 識(shí)別裝置、識(shí)別方法及識(shí)別程序
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





