DidFail:一款用于信息泄漏检测的免费 Android 工具

  • Sergio De Simone
  • 马德奎

2014 年 7 月 11 日

话题:JavaAndroid语言 & 开发架构

近日,CERT Secure Coding 团队发布了一款免费工具,它能够分析 Android 应用程序中的敏感信息泄漏。CERT 的研究人员称,他们的工具“是一款面向 Android 应用程序的、最准确的污染流静态分析工具。”

CERT 的工作解决了从敏感源到受限接收点的信息泄漏问题。敏感信息泄漏可能发生在,比如,用户安装应用程序时,它将用户的联系人列表(源)泄漏给了一些未经许可的第三方(接收点)。这是信息流分析的典型问题。安全问题也可能发生在数据流反向流动的过程中,比如,不可信数据发送到一个只该存储由特许源发送的高可信数据的地方。

为了解决此类问题,CERT 的研究人员设计并实现了DidFail(Droid Intent Data Flow Analysis for Information Leakage),用户可以免费下载。它整合并增强了两款现有的 Android 数据流分析工具FlowDroidEpicc,前者识别组件内的污染流,后者识别诸如动作字符串这样的 intents 属性。

CERT 的研究人员 Will Kiebler 说,与 FlowDroid 相比,DidFail 的优势在于它“分析应用程序之间或者单个应用程序的多个组件之间的潜在污染流”,而 FlowDroid 只侧重于“应用程序单个组件内的信息流”。按照 Kiebler 说法,可以这样描述 DidFail 的行为,它“取得原始的 APK,并在代码中每个 APK 发送 intent 的地方添加一个唯一标识”。这个唯一标识之后会用于“匹配 Epicc 和 FlowDroid 的输出”。

有关 DidFail 的工作尚未完成,Kiebler 说,“由于应用程序之间信息流的检测采用了一种粗粒度的方法,它可能会产生误报”。更重要的是,DidFail 只关注作为跨应用程序数据通信方法的 Android intents,而并不考虑其它 Android IAP 机制,如直接查询内容提供商,从 SD 卡读取数据及向 SD 卡写入数据,使用由底层 Android Linux 操作系统实现的通信渠道(如 sockets 或Binder)。

查看英文原文:DidFail: a Free Android Tool to Detect Information Leakage

JavaAndroid语言 & 开发架构