app常用的一些设置里就包含了涉及到数据及源码安全的地方,下面我们来看看最常用的几点:
1、allowBackup数据备份泄露
manifest文件中在application节点下有个属性是allowBackup,这个估计大家对它很面熟,具体的作用就是是否允许为其app数据做备份,如果设置为true并且本地数据没有任何加密,那就会有暴露的风险,一般情况下最好设置为false;
Broadcast Receiver作为组成Apk的四个组件之一,对外部事件进行过滤接收,并根据消息内容执行响应,如果设置了导出权限,可能被系统或者第三方的App直接调出并使用,Broadcast Receiver导出可能导致敏感信息泄露、登录界面被绕过等风险,常用操作就是关闭AndroidManifest.xml中的Broadcast Receiver组件导出权限,对于必须导出的组件必须限制于授权用户或者应用组件;
3、动态注册Receiver风险
BroadcastReceiver组件的注册方式可分为两种,一种是静态注册,即提前在AndroidManifest.xml文件中声明组件;另外一种是动态注册,即在代码中使用registerReceiver()方法注册BroadcastReceiver,只有当registerReceiver()的代码执行到了才进行注册,取消时则调用unregisterReceiver()方法。而容易被忽略的是registerReceiver()方法注册的是全局BroadcastReceiver,在其生命周期里是默认可导出的,如果没有指定权限访问控制,可以被任意外部应用访问,向其传递Intent来执行特定的功能。