Unsafe Exposure Analysis of Mobile In-App Advertisements

背景:

本文发表于2012年4月发表于ACM WiSec会议上,主要对android应用中嵌入的第三方ad lib进行风险分析。

出处:

WiSec’12,April 16–18, 2012, Tucson, Arizona, USA.

作者:

Michael Grace, Wu Zhou,  Xuxian Jiang and Ahmad-Reza Sadeghi


概述:

本文针对第三方广告库所造成的隐私泄露问题进行研究,通过建立AdRisk系统来系统的识别和分析潜在的风险。分析范围从上传敏感信息到远程服务器到互联网源执行不可信代码。

主要成果:

对100000个app中的100个ad lib进行分析,找到并证明在绝大多数lib中存在威胁,包括收集次要信息,允许第三方代码在host app中执行等。建立主流ad lib与其获得的相应权限的关系表。

主要框架:


Unsafe Exposure Analysis of Mobile In-App Advertisements_第1张图片

1.收集app并提取其中的ad lib(100个,包括主流的20个lib)

2.判别ad lib是否存在安全和隐私的风险(在此过程中建立API与权限之间的关系)

3.识别可能存在的风险(两个维度)

对每个ad lib进行可达性分析(reachability analysis)。

在第一个维度针对一些危险行为的事件(precipitating event),比如一个入口点(entry point)或是接收的网络包等。寻找从入口点到某一特定API的路径可以标注一个危险情况。

第二维度主要寻找一个到达外部的危险调用,如使用networkAPI。

这些危险的API调用在之前建立的API-permission表中有标注。

在原理方面,本文将之前进行标注的所有API调用视为危险,对每个API调用进行回溯并找到调用该API的源(library source),通过lib source寻找潜在的入口点,判断调用是否安全。对于无法溯源的API调用,向前查找其目标是否是外部的(network sink)。

在算法方面,在实验过程中,对每一个lib绘制控制流图,对其中API调用的所有可能的执行路径进行分析,判断这些路径是否可行。

实现工具:

使用Felt获得API调用与所需的相应权限。

基于开源的baksmali Dalvik disassembler(1.2.6)进行开发,加入4个hook,输入API-permission的关系文件用以分析。

实验结果:

找到主流ad lib所使用的危险权限,如下图所示:

Unsafe Exposure Analysis of Mobile In-App Advertisements_第2张图片

总结:

本文对ad lib中的API调用进行检测,判断是否会有不安全泄露的风险。实验结果中给出主流ad lib获取的有安全风险的权限。但是在文中对于ad lib与权限的联系并没有详细的说明(即ad lib如何通过这些权限进行危险操作)。此外在寻找API调用的源和目的时不明确,没有解释哪种路径被判定为危险。

你可能感兴趣的:(Unsafe Exposure Analysis of Mobile In-App Advertisements)