Android allowBackup属性介绍&安全漏洞问题

allowBackup 是什么

AndroidManifest.xml 中配置allowBackups属性
AndroidManifest.xml 中配置allowBackups属性,创建应用程序默认是true
我们可以在Android应用程序中利用自动备份,以便用户在卸载手机后切换电话或重新安装我们的应用程序时,可以更快地恢复其数据。

如果用户以任何方式(包括通过设备的出厂重置)删除该应用程序,则当用户重新下载该应用程序并安装.apk时,该应用程序的数据仍将可用。 自动备份还可以在各种设备上使用,这意味着当您的用户使用新手机时,他们不会从您的应用中丢失关键信息。

allowBackup备份了哪些数据

默认情况下,“自动备份”包含系统分配给您的应用的大多数目录中的文件:

  • Shared preferences files;
  • 保存到应用程序内部存储的文件,可通过getFilesDir()或getDir(String, int);
  • getDatabasePath(String)返回的目录中的文件,该文件还包括使用SQLiteOpenHelper类创建的文件;
  • getExternalFilesDir(String)返回的目录中外部存储上的文件

备份的数据怎么恢复

  • 打开控制台,输入adb backup -f back.ab -noapk 项目包名
  • 回车之后出现备份界面,输入密码,备份数据(如果不想加密可以不用输入密码直接点击备份)
  • 备份好数据后,将备份的数据输入到另一台设备中。在另一台设备中安装程序,控制台输入adb restore back.ab,输入密码(如果前一步没有设置密码就不需要输入密码)点击恢复数据即可

allowBackup 带来哪些安全风险

在对App做安全检测时,如果AndroidManifest中allowBackup设置为true,会报一个高危漏洞。

Android属性allowBackup安全风险源于adb backup容许任何一个能够打开USB调试开关的人从Android手机中复制应用数据到外设,一旦应用数据被备份之后,所有应用数据都可被用户读取;adb restore容许用户指定一个恢复的数据来源(即备份的应用数据)来恢复应用程序数据的创建。因此,当一个应用数据被备份之后,用户即可在其他Android手机或模拟器上安装同一个应用,以及通过恢复该备份的应用数据到该设备上,在该设备上打开该应用即可恢复到被备份的应用程序的状态。

尤其是通讯录应用,一旦应用程序支持备份和恢复功能,攻击者即可通过adb backupadb restore进行恢复新安装的同一个应用来查看聊天记录等信息;对于支付金融类应用,攻击者可通过此来进行恶意支付、盗取存款等;因此为了安全起见,开发者务必将allowBackup标志值设置为false来关闭应用程序的备份和恢复功能,以免造成信息泄露和财产损失。

安全风险怎么解决

allowBackup的值设置为false(allowBackup的值为false对项目运行没有任何影响)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值