[發(fā)明專利]基于張量分解的安卓APP重打包檢測(cè)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201910428020.1 | 申請(qǐng)日: | 2019-05-22 |
| 公開(公告)號(hào): | CN110245492B | 公開(公告)日: | 2021-04-20 |
| 發(fā)明(設(shè)計(jì))人: | 劉烴;池劍磊;王子駿;鄭慶華;范偉杰 | 申請(qǐng)(專利權(quán))人: | 西安交通大學(xué) |
| 主分類號(hào): | G06F21/56 | 分類號(hào): | G06F21/56;G06K9/62 |
| 代理公司: | 西安通大專利代理有限責(zé)任公司 61200 | 代理人: | 田洲 |
| 地址: | 710049 *** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 張量 分解 app 打包 檢測(cè) 方法 | ||
本發(fā)明公開一種基于張量分解的安卓APP重打包檢測(cè)方法,首先,根據(jù)安卓APP調(diào)用API的協(xié)同出現(xiàn)關(guān)系,構(gòu)建出所有安卓APP的協(xié)同出現(xiàn)矩陣,并表達(dá)為三階張量形式;然后,采用張量分解算法,將每個(gè)安卓APP的協(xié)同出現(xiàn)矩陣表示為一個(gè)一階向量;最后,針對(duì)兩個(gè)不同的安卓APP,通過計(jì)算其一階向量的歐氏距離,表述兩個(gè)安卓APP的相似性,通過排序算法判定兩個(gè)安卓APP是否屬于重打包關(guān)系。本發(fā)明一方面將復(fù)雜的程序相似性計(jì)算問題,轉(zhuǎn)化為張量分解和一階向量歐式距離計(jì)算;另一方面當(dāng)新的安卓APP加入檢測(cè)時(shí),只需要在張量上增加維數(shù),而不用重新構(gòu)建張量,避免重復(fù)計(jì)算現(xiàn)有樣本集。該方法在檢測(cè)性能和時(shí)間開銷上取得較好的平衡,可以支持大規(guī)模安卓APP的重打包檢測(cè)分析。
技術(shù)領(lǐng)域
本發(fā)明屬于可信軟件及惡意軟件檢測(cè)領(lǐng)域,特別涉及一種基于張量分解的安卓APP重打包檢測(cè)方法。
背景技術(shù)
APP重打包就是惡意的開發(fā)者將原先APP程序進(jìn)行破譯,對(duì)非核心的代碼資料進(jìn)行惡意的改動(dòng),并對(duì)APP進(jìn)行重新的打包,發(fā)布到市場中,將APP重新打包后產(chǎn)生的APP稱為重打包APP。在安卓平臺(tái),重打包問題是Android多年的頑疾。基本上大部分的惡意軟件的流入是通過重打包。
重打包APP包含兩個(gè)特征:
(1)重打包APP與原APP核心代碼相似,核心代碼是指去除第三方庫等外部通用代碼之后的部分。由于重打包APP需要保持原APP的功能,因此對(duì)于核心代碼不會(huì)做很大的改動(dòng);
(2)重打包APP的簽名與原APP簽名不同,簽名代表著APP的作者信息;破解一個(gè)APP之后,必然要對(duì)APP重新簽名,而這個(gè)簽名一般無法與原簽名保持一致。
如果將重打包APP進(jìn)行分類,可以根據(jù)其重打包的目的以及其它因素將其分為替換廣告庫版、漢化版、功能擴(kuò)充版。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于張量分解的安卓APP重打包檢測(cè)方法,能夠在檢測(cè)性能和時(shí)間開銷上取得平衡,并且在大規(guī)模APP中能夠取得性能上的優(yōu)勢(shì),利用張量分解進(jìn)行重打包檢測(cè)也能在有新的APP加入檢測(cè)時(shí),避免重復(fù)訓(xùn)練之前的APP,以解決上述技術(shù)問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
基于張量分解的安卓APP重打包檢測(cè)方法,包括以下步驟:
步驟S1):構(gòu)建Java的API調(diào)用類集合SA={si|1≤i≤I},其中si表示第i個(gè)API調(diào)用類,I表示Java的API調(diào)用類的總數(shù),然后對(duì)所有待檢測(cè)的安卓APP進(jìn)行反編譯,得到各個(gè)APP的全部Smali文件集合,并對(duì)得到的Smali文件進(jìn)行第三方庫過濾;
步驟S2):利用API調(diào)用在Smali文件中出現(xiàn)的位置,得到各個(gè)Smali文件的協(xié)同出現(xiàn)矩陣,對(duì)每個(gè)APP的所有Smali文件的協(xié)同出現(xiàn)矩陣取并集操作,獲得每個(gè)APP的協(xié)同出現(xiàn)矩陣SC={sk|1≤k≤K},其中sk表示第k個(gè)APP的協(xié)同出現(xiàn)矩陣,K表示待檢測(cè)的APP總數(shù);
步驟S3):利用所有APP的協(xié)同出現(xiàn)矩陣組成三階張量
步驟S4):采用張量分解算法將得到的三階張量X降維為二階矩陣,從而,將每個(gè)APP的協(xié)同出現(xiàn)矩陣表示成一階向量;
步驟S5):計(jì)算兩個(gè)APP的向量表示之間的歐式距離Di,j,隨后,利用排序算法連接所有APP,若兩個(gè)APP被相連,則認(rèn)為這兩個(gè)APP是重打包關(guān)系。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安交通大學(xué),未經(jīng)西安交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910428020.1/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 .通過限制訪問或處理程序或過程
- 基于快速張量魯棒模型的視頻前景提取方法
- 運(yùn)算方法及相關(guān)方法和產(chǎn)品
- 張量寄存器文件
- 一種張量轉(zhuǎn)置方法、裝置、計(jì)算機(jī)及存儲(chǔ)介質(zhì)
- 一種基于張量的背景減除方法及系統(tǒng)
- 分解后的多維圖像的存儲(chǔ)、顯示和分析
- 在深度神經(jīng)網(wǎng)絡(luò)中利用激活稀疏性
- 一種基于張量鏈分解的流式數(shù)據(jù)增量處理方法及裝置
- 一種基于浮動(dòng)車數(shù)據(jù)加權(quán)張量重建的交通狀態(tài)估計(jì)方法
- 基于廣播機(jī)制進(jìn)行張量計(jì)算的方法、裝置、芯片及介質(zhì)
- 應(yīng)用程序平臺(tái)系統(tǒng)中推送應(yīng)用程序的方法和裝置
- APP操作方法和設(shè)備以及支持APP操作方法的APP輸出設(shè)備
- 一種基于APP質(zhì)量的APP排名預(yù)測(cè)方法及系統(tǒng)
- 一種應(yīng)用程序業(yè)務(wù)策略的處理方法、裝置及控制器
- 一種生成應(yīng)用熱度榜單的方法及系統(tǒng)
- 一種自動(dòng)部署生成APP的方法
- 一種APP應(yīng)用一體化的實(shí)現(xiàn)方法
- 基于可信APP列表的移動(dòng)設(shè)備APP安裝控制方法
- 一種APP識(shí)別方法及系統(tǒng)
- 用戶APP興趣的嵌入方法、裝置、設(shè)備以及存儲(chǔ)介質(zhì)





