Android 属性 allowBackup 安全风险浅析 具体操作流程

探讨Android系统中allowBackup属性的安全风险,当设为true时,adb工具可备份应用数据,导致信息泄露和财产损失,建议开发者将其设为false。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 属性 allowBackup 安全风险浅析 --> https://segmentfault.com/a/1190000002590577

1、allowBackup安全风险描述
Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值[1] ,其属性值默认是true。当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,这可能会带来一定的安全风险。
Android属性allowBackup安全风险源于adb backup容许任何一个能够打开USB 调试开关的人从Android手机中复制应用数据到外设,一旦应用数据被备份之后,所有应用数据都可被用户读取;adb restore容许用户指定一个恢复的数据来源(即备份的应用数据)来恢复应用程序数据的创建。因此,当一个应用数据被备份之后,用户即可在其他Android手机或模拟器上安装同一个应用,以及通过恢复该备份的应用数据到该设备上,在该设备上打开该应用即可恢复到被备份的应用程序的状态。
尤其是通讯录应用,一旦应用程序支持备份和恢复功能,攻击者即可通过adb backup和adb restore进行恢复新安装的同一个应用来查看聊天记录等信息;对于支付金融类应用,攻击者可通过此来进行恶意支付、盗取存款等;因此为了安全起见,开发者务必将allowBackup标志值设置为false来关闭应用程序的备份和恢复功能,以免造成信息泄露和财产损失。

2、allowBackup安全影响范围

Android API Level 8以及以上系统

3、allowBackup安全风险详情

1) allowBackup风险位置:
AndroidMannifest.xml文件android:allowBackup属性

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

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

第一步:使用adb backup -f applock.ab com.thinkyeah.smartlockfree 进行数据的备份
在这里插入图片描述
在这里插入图片描述

第二步:使用android-backup-extractor(abe)工具来解析ab文件

这个工具是开源的,用Java语言写的。源码位于:https://github.com/nelenkov/android-backup-extractor

这里没有直接下载源码,然后编译了,直接在网上下载了一个编译好的

这里我就下载好了,可以从这里下载:http://download.youkuaiyun.com/detail/jiangwei0910410003/9523470

要在同一个目录下
看到我们使用unpack参数来将ab文件转化成tar文件:
java -jar abe.jar unpack applock.ab applock.tar
下面是解压的内容 也包含一些敏感的数据
在这里插入图片描述

解析数据到次完成。

下面是如何恢复数据:
与上面的adb backup命令相对应的还有一个就是adb restore命令,他是用来恢复数据的,具体用法:
adb restore applock.ab

在这里插入图片描述

注意:备份与恢复 备份的时候如果是登陆状态即使后面你退出了,在恢复的时候也是登陆状态,仅仅限于一部手机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值