[發(fā)明專利]一種基于APK加殼軟件動態(tài)行為的查殼方法在審
| 申請?zhí)枺?/td> | 201510740551.6 | 申請日: | 2015-11-04 |
| 公開(公告)號: | CN105205398A | 公開(公告)日: | 2015-12-30 |
| 發(fā)明(設(shè)計(jì))人: | 文偉平 | 申請(專利權(quán))人: | 北京鼎源科技有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 北京萬象新悅知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11360 | 代理人: | 張肖琪 |
| 地址: | 100086 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 apk 軟件 動態(tài) 行為 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于移動客戶端App安全技術(shù),涉及安卓應(yīng)用程序安裝包(APK,AndroidPackage)的加殼,尤其涉及一種基于APK加殼軟件動態(tài)行為的查殼方法。
背景技術(shù)
隨著移動端技術(shù)應(yīng)用的日益普及,移動軟件產(chǎn)業(yè)得以飛速發(fā)展,與此同時,針對移動端的木馬、病毒惡意代碼軟件也越來越多。獵豹移動安全數(shù)據(jù)顯示,2014年全球感染病毒的安卓手機(jī)達(dá)2.8億部,平均每天80萬部安卓手機(jī)中毒,中國以近1.2億部手機(jī)中毒高居榜首。據(jù)360互聯(lián)網(wǎng)安全中心的報(bào)告顯示,2014全年僅360互聯(lián)網(wǎng)安全中心累計(jì)截獲Android平臺新增惡意程序樣本326萬個,為2013年的近4倍。
安卓手機(jī)的應(yīng)用采用java開發(fā),惡意代碼也不例外。由于java解釋語言的特性,在應(yīng)用程序不加殼的情況下,通過靜態(tài)分析技術(shù)可以較為容易的逆向得出木馬和病毒的源碼,然后通過分析檢測斷定是否存在木馬病毒的特征,從而對木馬病毒進(jìn)行查殺。殼程序是一種可以對第三方軟件進(jìn)行加密或是變換結(jié)構(gòu)而不影響其運(yùn)行功能以達(dá)到躲避被惡意逆向分析的軟件程序。加殼操作基于被保護(hù)程序的二進(jìn)制代碼,與被保護(hù)程序的邏輯相分離,因而穩(wěn)定性高,適用度廣。殼程序除了可以用于保護(hù)軟件,在惡意代碼反檢測領(lǐng)域中也有廣泛的應(yīng)用。在惡意代碼反檢測領(lǐng)域,為了對加殼的惡意代碼進(jìn)行逆向分析,就必須先進(jìn)行脫殼,針對不同的殼程序必須使用對應(yīng)的脫殼程序進(jìn)行脫殼,所以脫殼的第一步就是對殼進(jìn)行檢測,即查殼。
現(xiàn)有查殼方法大多基于靜態(tài)文件特征進(jìn)行查殼,如查殼工具PEID,是針對殼程序的二進(jìn)制代碼的特征碼來進(jìn)行查殼。這種基于靜態(tài)文件特征進(jìn)行查殼的方法存在較大的局限性,其存在的問題是可通過修改二進(jìn)制文件抹去特征碼或修改特征碼來混淆查殼的結(jié)果,使得查殼結(jié)果的準(zhǔn)確性低,查殼效率低。
發(fā)明內(nèi)容
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于APK加殼軟件動態(tài)行為的查殼方法,通過安卓系統(tǒng)的Hook函數(shù)針對殼程序?qū)ο到y(tǒng)函數(shù)和特征函數(shù)的調(diào)用進(jìn)行監(jiān)控,使加殼的程序運(yùn)行在部署了監(jiān)控程序的環(huán)境中,一旦被監(jiān)控的函數(shù)被調(diào)用,則跳轉(zhuǎn)到Hook函數(shù)中進(jìn)行記錄,從而獲得加殼軟件對系統(tǒng)函數(shù)和特征函數(shù)的調(diào)用特征,作為檢測特征;再通過特征比對,得到加殼的程序相應(yīng)的殼程序的類型;本發(fā)明可有效地對主流APK殼的類型進(jìn)行檢測,提高分析加殼惡意代碼的準(zhǔn)確性和效率。
本發(fā)明提供的技術(shù)方案是:
一種基于APK加殼軟件動態(tài)行為的查殼方法,所述查殼方法通過安卓系統(tǒng)的Hook函數(shù),針對殼程序?qū)ο到y(tǒng)函數(shù)和特征函數(shù)的調(diào)用進(jìn)行動態(tài)行為監(jiān)控,一旦被監(jiān)控的函數(shù)被調(diào)用,則跳轉(zhuǎn)到Hook函數(shù)中進(jìn)行記錄,再通過特征比對,得到加殼的程序相應(yīng)的殼程序的類型;具體包括如下步驟:
1)通過Hook函數(shù)對加殼軟件的函數(shù)調(diào)用進(jìn)行動態(tài)行為監(jiān)控,分別檢測APK加殼軟件對通用系統(tǒng)函數(shù)和特征函數(shù)的調(diào)用行為,構(gòu)造得到所述APK加殼軟件的加殼函數(shù)調(diào)用特征,包括加殼調(diào)用通用系統(tǒng)函數(shù)特征和加殼調(diào)用特征函數(shù)特征;
2)啟動某一加殼的程序;
3)針對步驟2)所述加殼的程序,通過Hook函數(shù)對加殼程序的函數(shù)調(diào)用進(jìn)行動態(tài)行為監(jiān)控,判斷加殼程序調(diào)用的函數(shù)是否是特征函數(shù);
4)如果加殼程序調(diào)用的函數(shù)是特征函數(shù),則將所述特征函數(shù)的名稱與特征函數(shù)特征庫中的加殼調(diào)用特征函數(shù)特征進(jìn)行匹配,若找到特征匹配項(xiàng),則輸出相應(yīng)的殼類型,結(jié)束操作;若未找到特征匹配項(xiàng),則返回步驟3),通過Hook函數(shù)繼續(xù)監(jiān)控被調(diào)用的函數(shù);
5)如果加殼程序調(diào)用的函數(shù)不是特征函數(shù),記錄所述被調(diào)用函數(shù)的函數(shù)調(diào)用序列和函數(shù)調(diào)用參數(shù);返回步驟3),通過Hook函數(shù)繼續(xù)監(jiān)控被調(diào)用的函數(shù);
6)所述APK加殼的程序(原程序)成功啟動后,將步驟5)記錄的函數(shù)調(diào)用序列和函數(shù)調(diào)用參數(shù)與步驟1)中的通用系統(tǒng)函數(shù)特征庫中的加殼調(diào)用通用系統(tǒng)函數(shù)特征進(jìn)行匹配,匹配成功則得出加殼軟件的類型;匹配不成功則輸出未知?dú)ぁ?/p>
針對上述基于APK加殼軟件動態(tài)行為的查殼方法,進(jìn)一步地,步驟1)所述檢測APK加殼軟件對通用系統(tǒng)函數(shù)的調(diào)用行為,構(gòu)造通用系統(tǒng)函數(shù)特征庫包括如下步驟:
1A)殼程序一啟動即進(jìn)入Hook函數(shù),記錄即將加載殼程序的動態(tài)鏈接庫a.so;
1B)加載殼程序的動態(tài)鏈接庫a.so;
1C)進(jìn)入Hook函數(shù),記錄即將加載殼程序的動態(tài)鏈接庫b.so;
1D)加載殼程序的動態(tài)鏈接庫b.so;
1E)原程序正常啟動;
1F)得到函數(shù)調(diào)用序列,作為加殼調(diào)用通用系統(tǒng)函數(shù)特征;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京鼎源科技有限公司,未經(jīng)北京鼎源科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510740551.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(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 .通過限制訪問或處理程序或過程
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗(yàn)軟件的裝置與方法
- 動態(tài)矢量譯碼方法和動態(tài)矢量譯碼裝置
- 動態(tài)口令的顯示方法及動態(tài)令牌
- 動態(tài)庫管理方法和裝置
- 動態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動態(tài)口令生成方法、動態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動態(tài)模糊控制系統(tǒng)
- 一種基于動態(tài)信號的POS機(jī)和安全保護(hù)方法
- 圖像動態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動態(tài)聚合碼的系統(tǒng)
- 基于動態(tài)口令的身份認(rèn)證方法、裝置和動態(tài)令牌





