[發明專利]一種基于應用程序編程接口的安卓重打包應用檢測方法有效
| 申請號: | 201310438647.8 | 申請日: | 2013-09-24 |
| 公開(公告)號: | CN103473346A | 公開(公告)日: | 2013-12-25 |
| 發明(設計)人: | 郭耀;馬子昂;王浩宇;陳向群 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京萬象新悅知識產權代理事務所(普通合伙) 11360 | 代理人: | 朱紅濤 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 應用程序 編程 接口 安卓重 打包 應用 檢測 方法 | ||
技術領域
本發明涉及一種基于應用程序編程接口的重打包應用檢測方法,具體涉及一種在安卓平臺下,利用應用程序代碼中關鍵應用程序編程接口的使用頻率,過濾第三方庫以及檢測重打包應用的方法。
背景技術
近年來,移動設備(例如智能手機和平板)的發展十分迅速。Android平臺占據了智能移動市場的主要份額,據統計每天有超過130萬部搭載Android系統的移動設備被激活使用。隨著移動設備的流行和普及,涌現出大量的移動應用。截止至2013年2月,谷歌官方市場中已經有超過80萬個Android移動應用。這些移動應用不僅增強了移動設備的功能,還大大豐富了用戶體驗。用戶逐漸習慣于使用多樣的應用來娛樂和辦公,智能移動設備和移動應用已經成為人們生活中不可或缺的一部分。
由于Android系統的開放性,用戶不僅能從谷歌官方市場下載和安裝應用,也可以從任意的第三方市場甚至網站和論壇下載和安裝應用。同時,應用的開發者可以將應用提交到任意的第三方市場來供用戶下載。因此對于應用市場的管理者來說,只有管理好市場中應用的質量和提供一個良好的市場環境,才能吸引更多的用戶和開發者。
然而,Android應用很容易被破解,目前有很多開源的反編譯工具可以使用。因此,一些惡意的開發者可以很容易破解應用市場中的合法應用,修改代碼后重新打包并在市場中發布。付費的應用可以被破解然后免費發布出去,惡意的開發者也可以將原應用中的廣告庫替換掉來謀取利益。更為嚴重的是,惡意的開發者可以將惡意的代碼植入到合法的應用中然后發布出去,以此來感染更多的用戶。應用重打包的行為不僅侵犯了開發者的利益,也嚴重威脅到了用戶的安全和隱私。
應用市場的管理者需要控制市場中應用的質量,檢測和移除這些潛在的威脅。然而,在應用市場中檢測重打包應用是很困難的。一方面,管理者大多數時候只能通過手動比較來判斷應用是否是重打包應用,并且很多時候手動比較也很難得到正確的結果。例如,重打包的應用可以在功能上包含了幾個不同的應用,或者重打包的應用包含了惡意軟件等等。另一方面,考慮到應用市場中海量數目的應用,手動進行重打包檢測不可靠且沒有可擴展性。因此,在應用市場級別的應用重打包檢測需要一個自動化的系統來完成。
Wu?Zhou等提出在Dalvik字節碼層次上進行應用重打包檢測(“DroidMOSS:Detecting?Repackaged?Smartphone?Applications?in?Third-Party?Android?Marketplaces”,CODASPY’12)。DroidMOSS提取Dalvik字節碼中的操作碼序列,使用模糊散列的方法對應用程序產生一個指紋簽名并作為特征,通過比較應用程序指紋之間的編輯距離得到應用程序的相似度。類似的,Steve?Hanna等提出了Juxtapp(“Juxtapp:A?Scalable?System?for?Detecting?Code?Reuse?Among?Android?Applications”,DIMVA`12),使用了特征散列的方法對應用程序產生指紋簽名并且以它們之間的Jaccard距離作為重打包的判斷依據。DroidMOSS和Juxtapp都是從Dalvik字節碼中提取靜態的特征信息,并且使用不同的散列技術來將這些靜態信息表示成向量從而進行比較。這種比較方法的優點是簡單快速,能夠很容易擴展到大規模應用的比較。但是重打包應用很容易就能逃避這種檢查技術,比如最簡單的交換代碼順序或者增添刪除操作碼就會導致應用程序的指紋發生改變從而導致檢測方法失效。
Jonathan?Crussell等提出DNADroid(“Attack?of?the?Clones:Detecting?Cloned?Applications?on?Android?Markets”,ESORICS`12),通過比較應用的程序依賴圖(PDG)來檢測重打包應用。基于程序依賴圖的檢測技術是代碼克隆檢測中經常使用的方法。它使用了程序的語義信息,因此檢測的準確率應該會比較高。但是基于程序依賴圖的檢測方法執行效率是個問題。在DNADroid中,作者使用Hadoop?Mapreduce并行計算框架在四臺機器上執行應用的重打包檢測,但是平均每分鐘只能比較0.71個應用對。因此,這種方法的擴展性不高,很難應用到應用市場級別數十萬的應用檢測。
綜上,現有的應用重打包檢測方法主要存在兩個問題:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310438647.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種電容器
- 下一篇:一種銅套引出式電阻分壓器





