近日, CERT Secure Coding 团队发布了一款免费工具,它能够分析Android 应用程序中的敏感信息泄漏。CERT 的研究人员称,他们的工具“是一款面向Android 应用程序的、最准确的污染流静态分析工具。”
CERT 的工作解决了从敏感源到受限接收点的信息泄漏问题。敏感信息泄漏可能发生在,比如,用户安装应用程序时,它将用户的联系人列表(源)泄漏给了一些未经许可的第三方(接收点)。这是信息流分析的典型问题。安全问题也可能发生在数据流反向流动的过程中,比如,不可信数据发送到一个只该存储由特许源发送的高可信数据的地方。
为了解决此类问题,CERT 的研究人员设计并实现了 DidFail (Droid Intent Data Flow Analysis for Information Leakage),用户可以免费下载。它整合并增强了两款现有的 Android 数据流分析工具 FlowDroid 和 Epicc ,前者识别组件内的污染流,后者识别诸如动作字符串这样的 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
评论