android开发中遇到的安全问题

本文是自己在开发过程中,app上线前的安全检测遇到的问题,以便及时汇总记录下来.

参考链接:http://drops.wooyun.org/tips/3936
http://www.360doc.com/content/15/0320/19/15077656_456766941.shtml
http://blog.claudxiao.net/2013/03/android-webview-cache/

1.组件暴露的问题

Activity, Service, Broadcast Receiver, Content Provider都会存在有组件暴露的风险,所以要时刻注意.我们知道在混淆代码的到时候四大组件是不会被混淆的,所以如果出现组件暴露,那么就会有可能被其他的应用启动.

处理方式:设置exported属相为false;

2.数据被恶意备份

当我们输入账号和密码登录某一款应用后,然后用电脑进行数据的备份,此时备份数据在电脑中存储的,当我们在拿另外一部手机,同样的拿该应用做实验,不需要登录数据,此时只需要将之前备份的数据直接恢复到该手机中,不需要输入账号密码就可以登录.
原因在于:在manifest.xml文件中,默认的程序是被允许备份的.
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

处理方式:allowBackup属性改为false.

3.webview控件的缓存明文密码

微信使用webview加载微博的OAuth登录和认证页面,并采用了webview的默认设置。这种情况下,用户输入账户和密码登陆微博时,系统会弹出提示询问是否保存密码。如果用户选择了是,密码就会保存在这个应用私有目录的databases/webview.db中.

处理方式:开发在处理过程中只需要在初始化webview时加一行代码即可:WebView.getSettings().setSavePassword(false),设置成不保存密码就可以了.

你可能感兴趣的:(Android开发,APP,安全)