Reliable Third-Party Library Detection in Android and its Security Applications

背景

  • 出處:CCS ’16, October 24–28, 2016, Vienna, Austria
  • 作者:Michael Backes, Sven Bugiel, Erik Derr @ CISPA, Saarland University
    Saarland Informatics Campus

概述

論文主要觀點

實現了一種可靠的第三方庫探測方法,且描述了這種方法的幾個應用

成果

  • 業(yè)內第一個設計出輕量有效的APP第三方庫掃描方法,且此方法可以對抗一般的代碼混淆,可準確指出使用庫的版本
  • 建了一個包含164個不同第三方庫共2065個版本的數據庫
  • 利用工具在Google Play的top APP上做了研究,得到了第三方lib的流行性,app和lib的更新頻率等結果
  • 研究了使用有問題的Facebook和Dropbox SDK的APK,結果說明使用這些lib的APP會有很大可能遭受攻擊
  • 分析了對于第三方lib的濫用和加密API,揭露了Play上296個app的不當行為

方法模型

為了對抗代碼混淆,所有的特征都由類的層級結構生成,于具體的二進制代碼無關。

  1. 首先使用Standard Class Hierarchy Analysis (CHA)生成包結構樹;


    包結構樹
    包結構樹
  2. 特征生成:對app建立Merkle trees,Merkle trees的最底層(也就是方法層)對于每個方法的名字進行了過濾產生模糊的方法名(fuzzy descriptor),以對抗代碼混淆;
    Merkle trees:本質就是Hash,從葉子節(jié)點開始一層一層向上。
    參考:http://www.tuicool.com/articles/B7fM7j
    Merkle trees
    Merkle trees

    fuzzy descriptor
    fuzzy descriptor
  3. 特征比對:以類為最小粒度,建立評價分數:



    lp:library package,ap:app package
    具體沒細看,比對方法在傳統的Merkle trees比對方法上避免了全部app與lib之間的比對,效率更高。

實驗與應用

本文實驗部分較為簡單,主要講述了上述方法的有效性;
重點在應用部分,本文利用此工具對Play里的app進行了很多統計和分析,例如第三方lib的流行性,被使用最多的第三方lib,AndroidSDK的版本利用程度等。引用含有漏洞的Facebook和Dropbox SDK對使用它們的app進行數據統計,分析了可能導致安全問題的API,指出misuse的廣泛性。

總結

優(yōu)點

本文重點在于后部的大量應用,表明了此工具是有用的。

不足

本文匹配方法較為簡單。本質上來說,本文就是對于第三方庫的一個研究。

我的想法

論文中有應用可證明我的工具是有用的,可加分。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,936評論 25 709
  • 好多次經過那里,都被那一路花開所吸引,一簇簇,一團團,美的妖嬈,美的驚艷! 每次便告訴自己,一定抽空徒步過來,徜徉...
    芝麻山莊的石頭閱讀 221評論 1 1
  • 問題:微軟的bot設計原則是怎樣的? 注釋:這里的bot是特指軟件形態(tài)對話式交互的bot。微軟面向Skype、Fa...
    維京閱讀 452評論 0 2
  • 棧:操作受限的線性表,后進先出棧的內部存儲既可以用順序表,也可以用鏈表,分別稱作順序棧和鏈棧。 先來實現一個簡單的...
    dongwenbo閱讀 304評論 0 0
  • 做得好的:堅持早睡早起;每周三次跑步;堅持看書,每日陪喬一小時,每日堅持英文啟蒙,聽課。 下周目標:英文啟蒙持續(xù)按...
    樂喬媽閱讀 130評論 0 0

友情鏈接更多精彩內容