前言
当我们把自己的成果交给三方专业检测机构时,结果可能并不是那么的乐观,报告会告诉我们一些奇奇怪怪的漏洞。此系列文章,将会从一份检测报告,从0解决检测的漏洞问题。
此系列文章你将获得以下技能:
- 安全检测报告构成
- 源代码安全
- 应用自身安全
- 算法使用安全
- 网络通讯安全
- 数据交互安全
- 数据存储安全
- 组件安全
- 恶意攻击防范能力
- 应用运行其他可执行程序
- 本地端口开发越权
- so未使用地址空间
- so未使用编译器堆栈保护
- 应用root设备运行
- 寄生推SDK云控
- ZipperDown
- 截屏攻击
移动安全检测主要分为:
- 基本信息检测
- 移动应用恶意行为检测
- 移动应用安全规范检测
- 移动应用漏洞和风险防范检测
我们主要对后俩者重点处理,前俩种简单了解。
一.基本信息检测
1.1 基本信息
检测结果统计:
检测风险项占比:
可以看到检测的风险类型比较多,而且危险指数也比较高。
1.2 加固壳识别
由于Android平台是基于java开发,所以导致Android应用很容易被反编译 ,进行二次打包成盗版。所以对应用进行加固是当前最有效的保护方案, 而现在加固厂商很多,加固的方案参差不齐,个别加固方案无法有效的防 止反编译工具的破解,甚至推掉加固壳拿到真实代码。现阶段比较可靠的 加固厂商有如下几家:娜迦安全加固、启明安全加固、绿盟安全加固、奇 虎360加固、阿里聚安全加固、腾讯乐固、梆梆安全加固、爱加密加固、百 度应用加固等。
由于各厂商通用的免费版本加固方案强度均比较低,很容易被脱壳破解, 无法有效防止应用被反编译脱壳破解,所以建议使用各厂商企业版定制加固方 案。
1.3 权限信息检测
此项检测会告诉developer程序中申请了哪些权限、并且会对权限进行描述、显示危害及危险等级、定位到具体使用此权限的位置,比较傻瓜式,所以developer可以根据报告重新审视是否有引入不必要的权限。
1.4 第三方SDK检测
对项目中引用的SDK进行分析、描述,developer可检查是否必要。
二.敏感词汇、函数
Android应用、第三方库AAR包、第三方库JAR包的代码中含有黄赌毒、暴 力、宗教、政治、人权等敏感词汇,会给应用拥有者带来法律责任,对其 声誉造成严重负面影响。
Android应用、第三方库AAR包、第三方库JAR包的代码中调用了包含敏感 行为的函数,包括发送短信、发送地理位置、拨打电话等,可能会导致用 户隐私数据泄露等风险。
总结
此篇文章列举了项目里的漏洞种类,并介绍了一些检测中的项目。接下来我们将会对具体的漏洞进行修复。