Android中的安全问题,贯穿APK开发的始终,从编码,到与服务器交互,最线打包上线运行在终端上,都存在安全隐患。如果这些隐患排查或者规避,可能给APK或者服务器造成灾难性的后果。
1、SQL注入攻击
Android使用的SQLite数据库,SQLite和我们常见的MySQL非常类似,而且基本语法也相同。
原理:不要将用户直接输入的字符拼接到SQL语句中
2、组件暴漏
Activity组件暴漏
该组件是否允许其他应用调用
android:exported=["true" | "false"]
如果当前Activity为私有组件时,应该不允许外部应用调用,android:exported= “false”
如果当前Activity为公胡组件时,允许外部应用调用,android:exported=”true”,为了安全起见,应该进行权限控制。
其他组件Service,ContentProvider,BroadcastReceiver也都具有该属性。
3、Log敏感信息泄露
- Log日志中打印信息级别。
- Log日志中是否打印用户敏感信息,比如:用户名,密码或者用户的相关资料信息。
- Log日志中是否有服务器敏感信息,比如:url,token等。
- 合理的使用Log开关,来控制打印级别。