Android的AndroidManifest.xml中的allowBackup属性讲解

1. 概述

自从 API 8以来,谷歌为用户提供了应用程序数据备份和恢复的功能,此功能的开关是AndroidManifest.xml 文件的 allowBackup属性,默认为true开启。所以用户可以对我们的应用数据备份。当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,这可能会带来一定的安全风险。

allowBackup作用

AllowBackup是在Android 2.2中引入的一个系统备份的功能。允许用户备份系统应用和第三方应用的apk安装包和应用数据,以便在刷机或者数据丢失后恢复应用,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复。第三方应用开发者需要在应用的 AndroidManifest.xml 文件中配置 allowBackup 标志(默认为 true )来设置应用数据是否能能够被备份或恢复。

allowBackup高危漏洞

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

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

allowBackup安全影响范围---------->Android API Level 8以及以上系统

allowBackup风险位置:---------------->AndroidMannifest.xml文件android:allowBackup属性

allowBackup风险触发前提条件:------------>未将AndroidMannifest.xml文件中的android:allowBackup属性值设为false

allowBackup风险原理-------------->当allowBackup标志值为true时,即可通过adb backup和adb restore来备份和恢复应用程序数据

防御方法:

将allowBackup 的值设置为false(allowBackup的值为false 对项目运行没有任何影响)。

通过手机设备的IMEI号来辨识来设备编号和备份前是否一致,不一致则直接跳转登陆页面的同时清空当前应用数据及缓存。

allowBackup 备份数据

打开控制台,输入adb backup -f back.ab -noapk 项目包名

输入密码,备份你的数据

这样你备份好了你的数据,然后将你备份的数据输入另外一台设备中。在另一台设备中安装程序,

在控制台输入adb restore back.ab,弹出下列界面,输入密码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值