Android应用审计checklist整理

在对一个Android应用做安全审计分析的时候,可以从静态、动态2个方面去做安全分析,下面是我整理的常规漏洞的checklist,欢迎大家补充。

一、静态扫描

1 文件信息

2 证书检测

3 权限信息检测

4 so文件检测

5 第三方库/SDK/组件检测

  • 第三方开源库/SDK检测

6 manifest文件检测

7 组件安全检测

8 webview组件安全检测

9 sqlite安全检测

10 网络通信安全检测

11 弱加密风险检测

12 数据安全检测

13 敏感函数调用检测

14 加固检测

  • 14.1 dex加固检测
  • 14.2 So文件加固检测
  • 14.3 资源文件加固检测
  • 14.4 混淆率检测

15 系统漏洞检测

16 其他

  • 通用签名风险检测

二、动态扫描

  • 1 服务端漏洞检测

    • 基于http代理
      • 水平权限风险检测
      • 垂直权限风险检测
      • sql注入漏洞检测
      • XSS漏洞检测
      • 敏感信息检测(硬编码、用户密码、银行卡、身份证等明文传输)
    • 基于tcp或udp(socket)代理
      • 敏感信息检测(硬编码、用户密码、银行卡、身份证等明文传输)
    • html5漏洞检测
  • 2 hook技术检测

    • 2.1 SQLite Database存储信息检测
    • 2.2 SharePreferences存储信息检测
    • 2.3 Contert Provider存储信息检测
    • 2.4 File存储信息检测
    • 2.5 Intent数据内容检测
    • 2.6 Log日志打印检测
    • 2.7 System.print*输出检测
    • 2.8 剪贴板敏感信息检测
  • 3 DDOS攻击检测

    • 3.1 组件DDOS攻击检测
      • Activity组件通用crash
      • Receiver组件通用crash
      • Service组件通用crash
    • 3.2 native crash检测
    • 3.3 java crash检测
  • 4 provider注入漏洞检测

  • 5 网络端口开放威胁检测

三、业务安全扫描

未整理,欢迎大家补充

四、Checklist脑图:

checklist-logo

五、问题反馈

上面大部分的checklist,我在开发的APP审计系统中已经实现。 http://01hackcode.com 在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

六、关于作者