火线扫描Android静态代码

火线扫描是由360公司内部孵化出的免费静态代码扫描工具, 它目前最新版本v1.2.4主要针对Android静态代码的安全问题进行扫描. 在360内部该方案也服务于360安全卫士、手机助手、手机浏览器等15个App. 据火线的开发者说后续可能会对Kotlin(Android first-class开发语言)扫描、IOS扫描、圈复杂度和覆盖率统计等提供支持.并且火线是本地部署, 可以避免代码泄露和其他安全信息泄露的风险. 推荐结合jenkins, sonar等使用, 作为App上线的checklist之一.

规则集

火线的规则集按照不同的类型分为四种, 分别是安全类, 日志类, 内存类和基础类. 同时根据规则的严重程度分为了四个级别, 分别是Block, 风险, 优化和建议. 具体的规则分布如下图所示.

类型/等级/个 安全类 日志类 内存类 基础类
Block 6 1 0 0
风险 3 0 3 4
优化 0 0 0 50
建议 1 2 0 7
总数 10 3 3 61
  • 安全类

    从危险等级的规则数分布来看, 安全类的权重还是很大的, 就像火线的宣传主要是安卓APP安全检查规则一样. 规则主要覆盖了Android中信息泄露, 系统漏洞, 越权绕过, 拒绝服务, 远程提权, sql注入等场景进行扫描.

  • 日志类

    日志类的规则很少, 主要限定了敏感信息的打印, Log方法中对变量进行赋值操作和日志开关的位置.

  • 内存类

    内存方面扫描针对资源对象使用完成后没有关闭, 或者数据库操作相关的资源对象没有关闭等. 这些场景Sonar都有覆盖.

  • 基础类

    基础类主要集中在Java代码规范和少部分Android特性上, 在Java规范方面火线的覆盖不如Sonar全面. 可以配合Sonar一起使用.

接入指引

  1. 下载jar包, 使用命令行运行
  2. Android Studio插件 (推荐)
  3. Gradle部署
  4. Jenkins集成 (推荐)

转载请注明出处:http://blog.csdn.net/l2show/article/details/73022668

你可能感兴趣的:(环境和工具配置,Android,天南地北)