APP上线前要解决的安全问题

声明:本文是个人笔记,参考了网络上许多文章,难以列出各个链接,如有作者看到,还请在评价中告知,我会在文章末尾注明,谢谢

1、在登录页或用户隐私输入等关键Activity的OnPause方法中检测最前端Activity应用是否自身或系统应用(如果不是,说明可能正在被监听),如发现风险,给出用户一些警示信息。

2、防止截屏(比如用户隐私信息输入界面)

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

3、用户隐私

*检查是否在本地保存用户名密码,无论加密与否

*检查敏感的隐私信息,如聊天记录、关系链、银行账号是否加密

*检查是否将系统文件、配置文件明文保存在外部设备上

*部分需要存储到外部设备的信息、需每次使用前判断信息是否被篡改

4、文件权限

*检查APP所在的目录,其权限必须为不允许其他组成员读写

5、网络通讯

*检查敏感信息在网络传输中是否做了加密处理,重要数据要采用TLS或SSL

6、运行时解释保护

*对于嵌有解释器的软件,检查是否存在XSS、SQL注入漏洞

*使用webview的APP,检查是否存在URL欺骗漏洞

7、Android组件权限保护

*禁止APP内部组件被任意第三方程序调用

*若需要供外部调用的组件,应检查对调用是否做了签名限制

8、升级

*检查是否对升级包的完整性、合法性进行了校验,避免升级包被劫持

9、三方库

*如果使用了第三方库,需要跟进第三方库的更新

10、网络代理监测

如果手机设置了代理,容易被抓包。可以采用证书绑定技术,校验服务端的证书是否被代理给替换。(参考文章:http://www.wisedream.net/2017/03/17/cryption/crack-https/)

你可能感兴趣的:(APP上线前要解决的安全问题)