LinkedIn发布旨在检测Android应用漏洞的工具QARK

原文出处:http://www.infoq.com/cn/news/2015/09/qark 

LinkedIn最近开源了他的静态分析工具QARK,该工具用于分析那些用Java语言开发的Android应用中的潜在安全缺陷。

QARK的首秀是在8月23日的DEFCON 23上,之后便很快在GitHub上公布了源代码。QARK使用PLYJ——一个分析Java源码的Python工具,还使用了Beautiful Soup来分析Android manifest(配置文件)。而且,QARK通过使用多种反编译器(包括:ProcyonJD-Core,CFR,DEX2JAR, 和APKTool)并合并他们的分析结果,还可以处理编译后的二进制文件。QARK对安全缺陷的分析范围包括:

  • 不经意公开的组件

  • 保护不当的公开组件

  • 易被窃听或嗅探的Intent

  • 不当的x.509格式的证书校验

  • 不当地创建“全局可读”或者“全局可写”文件

  • 可能泄露敏感数据的Activity组件

  • 是否正确使用Sticky Intent

  • 不安全地创建Pending Intent

  • 发送未经安全保护的Broadcast Intent

  • 源代码中嵌入了私钥

  • 使用了弱或不当的加密解密算法

  • 使用了有潜在安全问题的WebView配置项

  • 对其他应用公开的Preference Activity

  • 触屏劫持

  • 允许备份的应用

  • 允许调试模式的应用

  • 应用中使用的过时的API,其中包含了已知的缺陷

当QARK指出一个潜在缺陷的时候,会针对该缺陷,提供概要解释和一条详细解释的链接。它还可以创建可测试的APK文件和若干ADB命令,这些文件和命令能让你知道该缺陷会产生怎样的危害。

未来,LinkedIn打算扩展QARK,使它能够分析Bound Service和Content Provider缺陷,与Java/Android无关的缺陷,解析ODEX文件,改进自身的扩展性,动态分析等等。

当QARK可以被集成到Android工具链中,自动探测到问题和缺陷的时候,作者建议同时继续对应用进行人工审查,因为还有其他类型的缺陷是静态分析无能为力的,而且还有许多缺陷未能完全覆盖。

查看英文原文: LinkedIn Release QARK to Discover Security Holes in Android Apps