[發明專利]基于App對比分析的Android應用商店可信度的評價方法有效
| 申請號: | 201510436106.0 | 申請日: | 2015-07-23 |
| 公開(公告)號: | CN105068921B | 公開(公告)日: | 2018-04-10 |
| 發明(設計)人: | 董淵;吳亦穎;王耀;王生原 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京思海天達知識產權代理有限公司11203 | 代理人: | 樓艮基 |
| 地址: | 100084*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 app 對比 分析 android 應用 商店 可信度 評價 方法 | ||
1.基于App對比分析的Android應用商店可信度評價方法,其特征在于,是一種基于對比分析的App文件評價方法,是在安卓虛擬機中依次完成以下步驟實現的:
步驟(1)按下述條件離線選擇Android應用商店,簡稱應用商店,下同:
所述Android應用商店至少包括:預安裝的、手機生產廠商的、搜索引擎公司的、電商的以及移動運營商的應用商店在內的各類專門的應用商店,
所述條件是指:只要在注冊用戶數量、日均用戶訪問量、月累計下載量、日累計下載量、商店可供下載的應用數量這五個條件中有任何一條滿足預設的下限閾值就認為符合條件;
步驟(2)應用程序App的種類和應用程序樣本集大小的選擇:
按當前智能手機用戶安裝的應用程序的種類和平均應用程序App的數量而定,App樣本集大小的取值為25;
步驟(3)應用程序App樣本的采集:
用步驟(1)中的每一個所述應用商店的ID命名一臺對應的Android虛擬機,在其中安裝對應的所述應用商店的客戶端,并從所述應用商店中下載并安裝應用程序App,構成樣本集,再從每個應用程序App所對應的官方網站下載所述App樣本集需要的應用程序App并安裝在命名為official的虛擬機中,所有應用程序App數據的采集必須保證在同一天完成并更新到當日的最新版本;
步驟(4)完成應用程序App的安裝文件簡稱apk文件的推送和所有應用程序App基本信息的錄入:
在安裝所有安卓虛擬機的實驗機器中建立一個文件夾作為保存安裝文件的共享目錄,把每個裝有應用商店客戶端的虛擬機和所述的official虛擬機中的apk文件推送到所述共享目錄下的相應文件夾中,并把安裝的所有應用程序App的基本信息以及所述apk文件在共享目錄中的文件路徑、版本信息都保存到便于檢索的文件或軟件中;
步驟(5)按以下步驟對從各所述應用商店下載并安裝的應用程序App與官方網站下載并安裝的應用程序App進行對比分析,并保存結果:
步驟(5.1)所述官方應用程序App與應用商店應用程序App的一致性檢測,其中至少包括包名、版本號、SHA256校驗和在內的涉及整體異同方面的比較,比較結果分為:
I(identical):一致,
M(SHA256-mismatched):校驗錯,
L(lower version):版本低,
H(higher version):版本高,
N(package name mismatched due to false-returned):包名錯誤,
E(corrupted apk files):包損壞,
步驟(5.2)所述官方應用程序App與應用商店應用程序App的安裝文件apk的內容差異比較,得到下述六類結果:
首先對apk文件中的數字簽名進行比較;然后再根據manifest文件中所列出的每個文件進行逐個比較,比較的結果被分為以下6類:
S:數字簽名改變,
C:關鍵文件內容改變,至少包括權限文件AndroidManifest.xml,以下簡稱manifest、Java可執行文件.dex、本地可執行的庫文件.so在內的直接影響所述應用程序的運行的那些關鍵文件,
R:資源相關文件的改變,至少包括資源文件目錄res和assets下的圖片、聲音、視頻在內的文件的改變,
F:無法定位manifest中程序清單中的文件,
D:有文件被刪除,
X:有新增加的文件,
在比較時首先對安裝文件apk中的數字簽名進行比較,然后再根據所述manifest文件中的所列出的每個文件進行逐個比較;
步驟(5.3)按以下步驟對步驟(5.2)中得到的有差異的權限文件進行進一步的詳細分析:
首先將存在差異的所述權限文件AndroidManifest.xml轉化為可讀格式,之后對轉化后的上述權限文件中的XML元素進行對比,并保存所有的差異,
以所述差異是否涉及用戶的權限修改為準則,把比較結果分為以下四種:
AX0表示XML樹完全相同,
AX1表示所述差異不影響用戶界面及所述應用商店的應用程序App的正常運行,與所述官方應用程序App在使用效果上無顯著差別,
AX2表示所述差異不影響所述應用商店的應用程序App的正常運行,但至少在用戶的感官效果、對用戶設備的適應性上與所述官方應用程序App相比,存在明顯缺陷,
AX3表示所述差異可能造成用戶隱私數據泄露、產生安全隱患和用戶軟硬件設備的損壞;
步驟(5.4)運行于Android系統的Dalvik虛擬機中的java可執行代碼dex文件的對比分析:
步驟(5.4.1)對所述dex文件進行類級別class level的比較,類的增加、刪減、改變的部分將被分別列出,
步驟(5.4.2)對所述dex文件進行函數級別method level的比較,步驟如下:
步驟(5.4.2.1)把所述dex文件對應的安裝文件apk分別轉換為中間代碼文件,
步驟(5.4.2.2)捕獲每個中間代碼文件中的包括內部調用在內的所有函數調用,
步驟(5.4.2.3)對其中SHA256校驗和不一致的兩個中間代碼文件中的所有函數調用做逐個比較,確定:新增加的函數、刪除的函數、函數內部新增加的以及刪減的函數調用,
步驟(5.4.2.4)對步驟(5.4.2.3)的結果按下述方式處理:
DC0:凡是對比結果一致的,表示沒有修改,標記為0,
DC2:凡是有不一致的都標記為2;
步驟(5.5)本地可執行的庫文件.so,簡稱.so文件的分析,其差異包括刪除、增加或修改了.so文件中的內容,其中被修改的.so文件,將通過導出符號表的不同來體現,結果分為如下兩類:
SC0:兩者完全一致被標記為0,
SC2:導出信息不同,增加或刪除某些.so文件,標記為2;
步驟(6)用safe、warning、critical三種等級描述步驟(5)得到的分析結果:
a.Safe:安全
Identical(I):所述應用商店的應用程序App與官方的應用程序App完全一致,
Higher version(H):所述應用商店的應用程序App的版本高于官方應用程序App的版本,
Zero-modification(ZM):表示零修改,雖然SHA256檢驗和不一致,但經過各模塊的分析后一致,
Zero-impact modification(ZI):表示零影響修改,有些修改對于用戶界面和程序執行流程沒有影響;
b.Warning:警告
Corrupted apk files(E):所述應用商店的應用程序的安裝文件apk是損壞的,
Modifications on resource-related files(R):被修改的文件只是與資源相關的至少包括音頻、視頻在內的文件,
Lower Version(L):所述應用商店中的應用程序App的版本比官方應用程序App版本低,可能存在漏洞或bug,
False-returned(N):用戶實際下載到的應用程序App并不是真正想要下載的應用程序App;
c.Critical:危險
Modifications on critical files(C):所述權限文件、.dex文件、.so文件被修改,
Signature changed(S):所述應用程序App的數字簽名被修改;
步驟(7)通過計算應用商店的應用程序App樣本集的評分對應用商店進行總體評價:
步驟(7.1)規定:
Safe等級中的選項產生正得分,Warning和Critical等級中的選項產生負得分,步驟(7.2)所述應用商店中應用程序App的正得分總和P(s),通過各選項對應的應用程序App的個數和相應的權重系數計算,公式如下:
I(s)表示被標記為identical(I)的應用程序App個數,
H(s)表示被標記為高版本higher version(H)的應用程序App的個數,
Z(s)表示被標記為無修改或無影響的修改的應用程序App的個數,
T(s)表示從所述應用商店下載的應用程序App的總數,
其中權重系數e=100,f=100,g=90;
步驟(7.3)所述應用商店中應用程序App的負得分總和Ne(s),由Warning部分的負得分Wa(s)和Critical部分的負得分Cr(s)求和得到,公式如下:
Ne(s)=Wa(s)+Cr(s)
其中,Wa(s)表示應用程序App含有Warning中選項所產生的對應負得分:
E(s)表示被有損壞的應用程序App的個數,
R(s)表示資源文件被修改的應用程序App的個數,
L(s)表示版本低于官方版本的應用程序App的個數,
N(s)表示包名不匹配的應用程序App的個數,
其中權重系數j=10,k=20,l=30;
Cr(s)表示應用程序App含有Critical中選項所產生的對應負得分:
A(s)表示權限文件被修改的應用程序App的個數,
C(s)表示Java可執行代碼文件被修改的應用程序App的個數,
B(s)表示本地可執行庫文件被修改的應用程序App的個數,
S(s)表示數字簽名被修改的應用程序App的個數,
其中權重系數m=60,n=80,q=80,r=100;
步驟(7.4)應用商店總得分TR(s)通過正負得分求和得到,計算公式如下:
TR(s)=P(s)-Ne(s);
步驟(8)結果顯示。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510436106.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種電磁濕式弱磁場磁選機噴水卸料裝置
- 下一篇:一種新型塑料粉碎機





