站在安全的角度上对客户端应用安全提出几点小建议和思考,以防止产品后期调整造成不必要的麻烦.所以总结一些常见的检测方案,过滤一些风险用户
没有绝对的安全, 安全都是相对的.
道高一尺魔高一丈, 逆向永远胜利!
1. 如何避免同行来爬取我们应用的素材?
对服务器压力造成压力,影响用户体验.
解决方案:
-
简单的做一下抓包检测
-
OKHTTP开启证书校验功能
-
检测客户端是否使用VPN功能
-
检测客户端是否设置了系统代理
-
-
接口验签功能
- 对接口的参数进行验签功能(sign参数),
-
如果开发团队有NDK开发经验,建议写到native层上,可以过滤新手.
2. 盗版应用,内购功能,去广告
市场上出现大量的VIP破解版,VIP内购版,去广告绿色版. 应该尽可能的避免这类可能的出现
解决方案:
-
APK签名校验,如果团队有能力,建议放在native层
-
对release版的应用做混淆
-
使用第三方的加固厂商保护服务(加壳)
- 360
- 腾讯
- 爱加密
- 梆梆
- 关键功能,核心功能应该由服务器下发接口,所有关键接口做VIP校验,本地APP只是个数据展示. 从根源上避免内购的可能
3. 如何避免用户恶意调用接口
竞品应用不具备相关能力, 会选择开通VIP或者注册大量帐号来调用我们的客户端接口以服务他们的产品使用
解决方案:
- 调用频率限制, 每分钟限制多少次请求.
- IP限制 – 当某个IP疯狂的请求接口的时候为风险用户.
- 帐号限制 – 一个帐号的IP频繁切换,也可视为风险用户.
4. 机刷(真实用户)问题
如果推广方案使用存在地推,或者有推广奖励的情况下,那避免不了存在机刷的可能, 如何尽可能的避免机刷(恶意用户)的存在
解决方案:
https://github.com/lamster2018/EasyProtector
-
ROOT检测 一般的真实用户机器都是不具备ROOT权限的,把ROOT用户视为恶意用户即可
-
Xposed检测, 遍历APP列表,检测是否存在xposed manager, 通过反射loadClass de.robv.android.xposed.XposedHelpers
-
frida检测, 检测端口27042
-
Android模拟器特征检测
5. 总结
在客户端层面的对抗终究是有限, 你没法100%的避免破解者对客户端的破解侵入. 我们只能尽可能的给破解者提高自身产品破解难度.从而劝退一些逆向工作者,达到保护自身产品的目的.
同时,随着安全圈的资料日渐丰富,逆向工具日渐丰富完善,破解客户端的成本大幅降低,这也对Android/IOS应用开发工程师的能力提出了全新的要求,不再是简单的会开发,CURD工程师亦或者画画UI,写写简单的逻辑,还需要对安全相关的知识有一定的了解,才可以更好的为产品客户端保驾护航!
最后, 逆向工程师永远胜利!
1. 转载请在文内以超链形式注明出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
暂无评论内容