[發(fā)明專利]一種基于OpCode的android惡意代碼檢測方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201210580586.4 | 申請(qǐng)日: | 2012-12-27 |
| 公開(公告)號(hào): | CN103268445A | 公開(公告)日: | 2013-08-28 |
| 發(fā)明(設(shè)計(jì))人: | 潘宣辰 | 申請(qǐng)(專利權(quán))人: | 武漢安天信息技術(shù)有限責(zé)任公司 |
| 主分類號(hào): | G06F21/56 | 分類號(hào): | G06F21/56 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 430000 湖北省*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 opcode android 惡意代碼 檢測 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及移動(dòng)終端惡意代碼檢測領(lǐng)域,特別涉及一種基于OpCode的android惡意代碼檢測方法及系統(tǒng)。
背景技術(shù)
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展和智能手機(jī)的大范圍使用,惡意代碼對(duì)智能手機(jī)的系統(tǒng)安全及信息安全的威脅也日益增加。惡意代碼層出不窮,雖然各種惡意代碼的檢測技術(shù)也在不斷的發(fā)展,但是總是在檢測效率和有效性上還有很大的提升空間。一方面,手機(jī)惡意代碼主要是通過嵌入正常手機(jī)應(yīng)用軟件的方式,來誘騙用戶下載安裝,其欺騙隱藏技術(shù)使得普通用戶往往很難察覺,另一方面,手機(jī)往往缺乏合格的信息保護(hù)機(jī)制。
目前安全廠商都在積極探索研究手機(jī)惡意代碼的檢測方法。對(duì)于手機(jī)惡意代碼的檢測,目前主要有以下幾種方法和策略。
第一種方法是通過直接對(duì)軟件安裝包APK文件進(jìn)行解壓縮,對(duì)其中的完整數(shù)據(jù)進(jìn)行讀取并計(jì)算出完整文件數(shù)據(jù)的特征值,然后將該特征值作為特征對(duì)手機(jī)惡意代碼進(jìn)行檢測。缺點(diǎn)在于抗變化和抗混淆能力很差。由于是對(duì)安裝包的完整文件數(shù)據(jù)進(jìn)行HASH校驗(yàn)計(jì)算,那么當(dāng)安裝包中的某一個(gè)文件發(fā)生任意字節(jié)的變化時(shí),會(huì)導(dǎo)致整個(gè)文件的特征值發(fā)生變化,進(jìn)而導(dǎo)致手機(jī)惡意代碼無法被檢出。
第二種方法是通過對(duì)軟件安裝包中的部分?jǐn)?shù)據(jù)進(jìn)行特征值檢測,是將軟件安裝包中的特定偏移位置和特定長度的數(shù)據(jù)進(jìn)行特征值計(jì)算,然后將該特征值作為特征對(duì)手機(jī)惡意代碼進(jìn)行檢測。但是由于是對(duì)軟件安裝包的特定部分的數(shù)據(jù)來進(jìn)行特征值計(jì)算,比如可以通過獲取APK安裝包中尾部的文件列表信息節(jié)、APK安裝包中相關(guān)的文件名稱或路徑信息來計(jì)算特征值并進(jìn)行檢測。但是安裝包中往往存在多個(gè)文件,文件在軟件安裝包中的存儲(chǔ)順序,結(jié)構(gòu)信息和路徑信息都是會(huì)產(chǎn)生變化的,因此本方法對(duì)文件名混淆和文件名變化不具備抵抗能力。
現(xiàn)在還有一種方法就是利用手機(jī)安裝包中的可執(zhí)行文件Dex中data部分來進(jìn)行代碼檢測。其中,data部分中記錄的是Dex的所有二進(jìn)制代碼,稱為opcode代碼。由于Dex中的data部分是由各種函數(shù)的代碼片段離散構(gòu)成,不具有連續(xù)性。其在每次編譯和生成都會(huì)發(fā)生變化,因此采用data的片段的檢測也難以達(dá)到較好的檢測目的。
發(fā)明內(nèi)容
本發(fā)明提供一種基于OpCode的android惡意代碼檢測方法及系統(tǒng),解決了現(xiàn)有技術(shù)中由于文件信息變化導(dǎo)致無法檢測出惡意代碼的問題,具有更準(zhǔn)確的檢測效果。
一種基于OpCode的android惡意代碼檢測方法,包括:
對(duì)dex文件格式解析,識(shí)別dex文件中的結(jié)構(gòu)體,掃描各結(jié)構(gòu)體中的類和函數(shù),記錄函數(shù)對(duì)應(yīng)OpCode代碼段內(nèi)容;
對(duì)得到的OpCode代碼段內(nèi)容進(jìn)行反匯編,獲取有API調(diào)用或數(shù)據(jù)賦值行為的OpCode代碼段的OP段數(shù)據(jù)及index段對(duì)應(yīng)數(shù)據(jù);
計(jì)算OP段數(shù)據(jù)的特征碼,并標(biāo)記特征類型為CF類型,和/或OP段數(shù)據(jù)及index段對(duì)應(yīng)數(shù)據(jù)的特征碼,并標(biāo)記特征類型為CDF類型,將計(jì)算得到的特征碼與惡意代碼段特征庫中的特征碼匹配,若任一特征碼匹配成功,且特征類型一致,則輸出惡意代碼名稱;所述惡意代碼特征庫為已知惡意代碼的特征集合,所述惡意代碼特征庫中至少包括:特征類型、特征碼、特征碼長度及對(duì)應(yīng)的惡意代碼名稱。
所述的方法中,所述的特征碼為OP段數(shù)據(jù)和/或OP段數(shù)據(jù)及index段對(duì)應(yīng)數(shù)據(jù)的哈希值。
所述的方法中,對(duì)dex文件格式解析,識(shí)別dex文件中的結(jié)構(gòu)體,掃描各結(jié)構(gòu)體中的類和函數(shù),記錄函數(shù)對(duì)應(yīng)OpCode代碼段內(nèi)容具體為:
解析dex文件頭信息,識(shí)別所有結(jié)構(gòu)體;
按類遍歷class_defs結(jié)構(gòu)體及各類中的函數(shù),構(gòu)建類信息數(shù)組,每個(gè)數(shù)組數(shù)據(jù)節(jié)點(diǎn)分別保存類名、類中函數(shù)個(gè)數(shù)及類中函數(shù)信息數(shù)組,每個(gè)函數(shù)信息數(shù)組節(jié)點(diǎn)分別保存函數(shù)名、函數(shù)原型、函數(shù)對(duì)應(yīng)OpCode代碼段及代碼段長度。
所述的方法中,所述的對(duì)得到的OpCode代碼段內(nèi)容進(jìn)行反匯編,獲取有API調(diào)用或數(shù)據(jù)賦值行為的OpCode代碼段的OP段數(shù)據(jù)及index段對(duì)應(yīng)數(shù)據(jù)流為:判斷OpCode代碼段中OP段數(shù)據(jù),若OP段數(shù)據(jù)符合預(yù)設(shè)數(shù)值范圍,則獲取當(dāng)前OpCode代碼段中index段對(duì)應(yīng)數(shù)據(jù),并記錄OP段數(shù)據(jù)及index段對(duì)應(yīng)數(shù)據(jù),并存儲(chǔ)在對(duì)應(yīng)函數(shù)信息數(shù)組中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武漢安天信息技術(shù)有限責(zé)任公司,未經(jīng)武漢安天信息技術(shù)有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210580586.4/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 一種Android設(shè)備之間遠(yuǎn)程桌面控制的方法
- 一種Android程序的執(zhí)行路徑的還原方法
- 基于ANCS協(xié)議兼容多平臺(tái)的通知消息獲取方法
- 基于字節(jié)碼插樁的Android程序監(jiān)控系統(tǒng)及方法
- 一種減少Android設(shè)備功耗的優(yōu)化方法及裝置
- 一種縮短無屏Android設(shè)備開機(jī)啟動(dòng)時(shí)間的設(shè)置方法
- 一種基于Android雙系統(tǒng)的系統(tǒng)間通知同步方法
- 基于移動(dòng)操作系統(tǒng)的Android兼容層實(shí)現(xiàn)方法和系統(tǒng)
- 一種Android智能設(shè)備APK安全管控方法
- 一種應(yīng)用程序開發(fā)中創(chuàng)建Android庫模塊依賴關(guān)系的方法及裝置
- 檢測惡意代碼樣本的網(wǎng)絡(luò)行為的方法及系統(tǒng)
- 一種惡意代碼樣本自動(dòng)處理的方法及裝置
- 惡意代碼處理方法、裝置及系統(tǒng)
- 惡意代碼誤報(bào)的追蹤方法、裝置及系統(tǒng)
- 惡意代碼降噪大數(shù)據(jù)檢測系統(tǒng)
- 惡意代碼庫建立方法和系統(tǒng)
- 一種受生物基因啟發(fā)的惡意代碼檢測方法
- 惡意代碼可視化及變種檢測方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 惡意代碼可視化及變種檢測方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 工業(yè)惡意代碼標(biāo)記方法、設(shè)備、存儲(chǔ)介質(zhì)及裝置





