我们在讲“移动互联网安全性测试技术”之前,先来了解下移动互联网安全测评服务!它的整个生命周期包含安全检测、安全评估、安全加固和APP发布渠道监测。

  1. 安全检测
    对象:所有待上线的APP
    目标:防止恶意软件流入应用市场
    内容:对APP进行安全性检测,检测APP是否存在病毒、木马等恶意代码
  2. 安全评估
    对象:对安全性要求较高的APP
    目标:发现通过APP给业务带来的安全风险
    内容:对APP进行安全性评测,评测APP和业务流程是否存在安全风险和漏洞
  3. 安全加固
    对象:所有待上线的APP
    目标:对APP进行二进制级别的保护,防止被非法修改,防止被插入恶意代码等
    内容:对APP安装包进行安全加固和封装,防止被非法破解、篡改和盗版等
  4. APP发布渠道监测
    对象:所有待上线的APP
    目标:监测APP的被盗版和修改的现状情况等
    内容:监测与APP相关的发布渠道,监测app被盗版和篡改的情况

接下来,我们再来看看移动互联网安全性测试有哪些技术手段?

  1. 传输安全
  2. 明文流量
  3. 不当的会话处理
  4. 正确验证SSL证书
  5. 编译器的保护
  6. 反破解保护
  7. PIE编译
  8. 用stack cookies编译
  9. 自动引用计数
  10. uiwebviews
  11. 数据验证(输入,输出)
  12. 分析UIWebView的实现
  13. 不安全的数据存储
  14. SQLlite数据库
  15. 文件缓存
  16. 检查属性列表文件
  17. 请检查日志文件
  18. Logging
  19. 自定义日志
  20. nslog报表
  21. 崩溃报告文件
  22. 二元分析
  23. 分解应用
  24. 检测的汇编代码保护混淆
  25. 检测防篡改保护
  26. 检测反调试保护
  27. 协议处理程序
  28. 客户端注入
  29. 第三方的库

最后,我们来了解下APP常见漏洞与风险:

  1. 静态破解
    通过工具apktool、dex2jar、jd-gui、DDMS、签名工具,可以对任何一个未加密应用进行静态破解,窃取源码。
  2. 二次打包
    通过静态破解获取源码,嵌入恶意病毒、广告等行为再利用工具打包、签名,形成二次打包应用。
  3. 本地储存数据窃取
    通过获取root权限,对手机中应用储存的数据进行窃取、编辑、转存等恶意行为,直接威胁用户隐私。
  4. 界面截取
    通过adb shell命令或第三方软件获取root权限,在手机界面截取用户填写的隐私信息,随后进行恶意行为。
  5. 输入法攻击
    通过对系统输入法攻击,从而对用户填写的隐私信息进行截获、转存等恶意操作,窃取敏感信息。
  6. 协议抓取
    通过设置代理或使用第三方抓包工具,对应用发送与接收的数据包进行截获、重发、编辑、转存等恶意操作。

特此声明:大家在学习实践过程中,请遵守相关互联网法律法规,不要做违法违规行为!