AndroidLeaks:自动检测潜在隐私泄露
在当今数字化时代,安卓应用的隐私安全问题备受关注。为了帮助安卓用户确定应用是否泄露个人信息,AndroidLeaks 这一静态分析工具应运而生。
1. 污点传播规则与切片计算
为了计算新的切片语句,采用了以下逻辑:
1. 对构造函数参数为污点数据的所有对象进行污点标记。
2. 如果集合中添加了任何污点对象,则对整个集合进行污点标记。
3. 对存储了污点数据的整个对象进行污点标记。
通过将这些传播规则应用于源方法的切片计算,会创建一组被污染但不在原始切片中的语句。因为原始切片仅显示数据依赖的语句,这只是污点传播的一部分。然后为每个新语句以及后续切片中以相同方式派生的所有其他语句计算前向切片,直到遇到汇方法或没有可切片的语句为止。
在静态分析中,防止过度污点标记同时又不遗漏污点传播是一个难题,尤其是当复杂对象同时处理污点和非污点数据时。为了不遗漏任何污点传播,会保守地跟踪所有潜在的污点传播,这可能会导致误报。
2. 评估
对从 13 个安卓市场获取的 25,976 个独特免费安卓应用进行了评估,排除了同一应用的多个版本以及在多个市场上的重复副本。其中 1,626 个应用不需要任何权限,由于这些应用无法访问或泄露私人数据,因此将它们排除在分析之外。在剩下的 24,350 个应用中,发现 7,414 个应用存在潜在的隐私泄露问题。
在一台服务器级计算机上运行 AndroidLeaks,能够在 30 小时内分析所有 24,350 个应用,每小时可分析超过 800 个 APK,总共处理了超过 531,249 个独特的 Java 类。
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



