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/)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容