转自testerhome
https://testerhome.com/topics/1698
序章:
Android 安全测试,跟 pc 安全测试一样分为
客户端
服务端
服务端的安全测试其实很多都跟 pc 端一样,这里不多阐述。
对于应用安全性,从大的方面来说可以分为 2 类,检查和扫描。
检查包含较多,如:
文件权限
apk运行权限
apk权限
日志
报文
扫描包含较少,如
端口扫描
病毒扫描
木马扫描
广告查杀
说到这里需要补充2点,除了以上那些,我们还得学会使用 drozer 这个工具,比较利于查杀一些隐蔽的漏洞及其他安全方面的缺陷
除了工具外,还得善于网上寻找相关的安全知识了
看到这里,各位应该对于移动端的安全测试有了一些了解,后续会进行细则讲解
这里插播一条之前写的性能方面的集合 http://testerhome.com/topics/506
================================================================
上回大体介绍了下安全测试的一些基本测试项,现在我们就细则方面来一一阐述
首先我们来说说检查这个大项,可能大家看到检查项只有寥寥的几个,但是要查的东西还真不少
文件权限
一般我们需要检查 apk 所生成的文件,这里我们需要检查 2 种模式下安装的apk
adb install
adb push
使用一段时间,需要遍历所有功能,这样才会生成所有需要检查的文件,一般检查文件路径如下 2 个
/dada/dada/packageName
/sdcard/Android/data/packageName
当然有些 apk 还会在 sdcard 上面的其他路径生成文件,这个也是需要检测的,这里我们对文件做如下检测:
权限检测 —— 检测文件的权限所属关系,通过 ls-l 来遍历,查看有哪些文件是否包含允许第三方读写权限
内容检测 —— 打开所有文件,查看内容是否涉及到个人数据及隐私数据,是否加密处理
apk 运行权限
这里我们需要安装apk后,安装方法有 2 种,如上所述,运行apk后,通过 ps 来查看 apk 的运行用户是什么
apk 权限
这里可以使用反编译的方式查看 apk 申请了哪些权限
日志
这里查看 apk 运行期间所打印的日志,通过 logcat 命令来查看
报文
这里查看 apk 在运行期间所有跟网络交互产生的报文,通过 tcpdump、fiddle2、wireshake 等工具均可
好了,今天先说到这里,下回继续说其他的
============================================================
上回说完了检查项,本轮该说说扫描项了
大家听到扫描,可能立马会想起来用工具,对,大部分扫描都是通过工具,但是工具本身也会存在误报等,还需要人手工校验
端口扫描
一般使用 nmap 和 netstat 来进行的。nmap 用于扫描服务器,netstat 用来扫描客户端本身
病毒、木马扫描
一般使用国际四大杀毒厂商提供的移动版来进行扫描,分别扫描 apk 安装文件和 apk 安装后使用一段时间内产生的文件
广告查杀
这个一般都是平台会做的检测项,一般也是用各类查杀广告类的 apk 来进行扫描,目前已知的原理是可以通过 adb shell dumpsys notification 来查杀,至于应用内部的广告查杀原理未知,只能靠软件辅助,如果对方不认可,可以祭出大杀器,反编译找到源码
到这里,扫描也说完了,下面简单的说下 drozer 这个工具
drozer 是一款非常强悍的工具,适合深入挖掘应用底层方面的安全威胁,可以查杀漏洞及木马,以及暗码(有了暗码,很多事情就很好办了~~),drozer搭建好环境后,通过命令行的方式进行运行,命令方面的讲解大家可以移步官方的doc文档
最后还有一个大杀器 —— fuzz测试,可能大家在pc端并不陌生,但是移动端的fuzz测试并不是传统意义的fuzz,而是通过频繁调用空intent来遍历调用apk的各个activity来验证是否会产生崩溃,死机等方面的问题,甚至安全方面的隐患
好了,安全方面到此告一段落