有什么有用的 Android 源代码审查工具吗?

信息安全 应用安全 移动的 代码审查 爪哇 安卓
2021-09-01 10:33:53

我想知道是否有人对基于 Java 的 Android 源代码审查有一些建议。例如,检查 Android 应用程序是否存在安全问题。成为 F/OSS 的奖励。

Fortify 似乎是一个不错的选择,但超出了我的价格范围。:)

4个回答

尝试LAPSE +YascaCodePro AnalytiXKlocwork SoloTeachable Static Analysis Workbench

请务必查看 The Denim Group 的博客文章使用静态分析来审查 android 应用程序中的文件访问,其中包括一些用 Perl 编写的工具。

当 Angry Birds Attack Android 版是 TEAM JOCK 的最新博客文章,他在 Shmoocon 的这段视频中介绍了这项研究,并发表了题为 [PDF - TEAM JOCH vs. Android:终极对决- PDF] 的演讲。

Nils 还在最近的 BlackHat上介绍了在 android 的沙箱中构建 android 沙堡。

ENISA 在使用智能手机对智能手机平台的风险进行建模方面做了更正式的工作:信息安全风险、机会和用户建议Cigital 至少有一篇关于迁移到移动 - 新威胁的博客文章,其中还涵盖了威胁建模主题。

以下是两个免费的在线工具,用于检查 Android 应用程序的某些特定问题:

  • Comdroid检查与使用 Intent 相关的漏洞。有关这些漏洞和其他陷阱的描述,请参阅此演示文稿。

  • Stowaway检查是否有过度特权:即,它检查应用程序是否请求其代码似乎没有使用的权限。

请记住,这些是研究工具。此外,他们只关注一组非常具体的漏洞。它们不是通用的静态分析工具,也不能替代安卓通用的安全静态分析工具(如 Fortify);最好将它们视为您可用的其他工具的补充。

对于源代码的静态分析,我发现这个工具对 Android 尤其有用。它是一个名为OpenGrok的免费工具,可以索引源存储库。它支持多种语言,因此对于分析 Android 的 Java 和本机代码非常有用。AndroidXRef还托管一个索引,可用于分析多个 Android 版本。希望这可以帮助。

抱歉,如果这太基本了,但我想确保涵盖了简单的选项。

我刚刚在我的 Eclipse 工作流程中添加了使用 FindBugs 和 PMD(免费)的静态分析。由于价格原因,我还没有使用 Klockwork Solo,但我计划在发布我的下一个应用程序之前使用 30 天试用版。