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

阅读数:2757 2015 年 9 月 7 日 19:00

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

QARK 的首秀是在 8 月 23 日的 DEFCON 23 上,之后便很快在 GitHub 上公布了源代码。QARK 使用 PLYJ ——一个分析 Java 源码的 Python 工具,还使用了 Beautiful Soup 来分析 Android manifest(配置文件)。而且,QARK 通过使用多种反编译器(包括: Procyon , JD-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


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群LinkedIn发布旨在检测Android应用漏洞的工具QARK)。

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论