android:allowbackup="true"
<application
android:allowBackup="false"
android:label="@string/app_name">
<activity android:name="LoginActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".HomeActivity"/>
</application
<application android:allowBackup="false">
是否允许备份应用的数据,默认是true,当备份数据的时候,它的数据会被备份下来。如果设为false,那么绝对不会备份应用的数据,即使是备份整个系统。
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来备份和恢复应用程序数据;
推荐两篇文章:http://www.freebuf.com/articles/terminal/60778.html
https://www.secpulse.com/archives/5228.html
android:allowbackup="true"的更多相关文章
- [android警告] AndroidManifest.xml警告 Should explicitly set android:allowBackup to true or false
http://www.cnblogs.com/javadu/p/3812528.html Android中AndroidManifest.xml警告 Should explicitly set and ...
- (转)Android属性设置android:noHistory="true"
设置 android:noHistory="true"后,该Activity在statck中不留历史痕迹.默认的值是false. 举例说明,假设有三个Activity分别是:A,B ...
- AndroidManifest设置android:allowBackup="false"报错
概述 设置android:allowBackup="false"的必要性 Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功 ...
- Android android:allowBackup waiting for backup
在Google settings 中,有个backup 选项,在里面选择开启 如果开启vpn,还是在setting里面还是waiting for backup, 就通过手机链接电脑,安装android ...
- <item name="android:windowNoTitle">true</item> 不起作用。标题栏未被隐藏
改变style.xml 加入 <item name="android:windowNoTitle">true</item> 按理说可以把标题栏隐藏,但是当s ...
- Android RelativeLayout 布局android:layout_centerHorizontal="true"注意
特别注意,如果要是 android:layout_alignTop="@id/bind_decode_item_layout" android:layout_centerHoriz ...
- 119、 android:hardwareAccelerated="true"or"false"硬件加速的重要性
每次做项目都会遇见一些特别简单的问题,但是又很费时间来让你解决的问题. 1.本身想实现一个简单的画廊效果,可是每次图片的显示都不能显示在正中的位置,真的很烦人,也花费了很长时间.最终还是知道了原因.解 ...
- Android--hardwareAccelerated 硬件加速详解 android:largeHeap="true"
做项目时,引导页面的ViewPager报了OOM异常,图片并不大,在清单文件Application节点中添加了两行代码就解决了这个问题 android:hardwareAccelerated=&quo ...
- android.useDeprecatedNdk=true
android.useDeprecatedNdk=true ndk{ moduleName "aa" abiFilter "armeabi-v7a" }
随机推荐
- tableView创建方法调用的研究
当两个section的cell数量都为5的时候,方法的调用顺序: -[ViewController numberOfSectionsInTableView:] -[ViewController tab ...
- 03C#基础(2)
1.比较运算符 ==等于; !=不等于; >大于; >=大于或者等于; <小于; <=小于或者等于; 比较运算符(又称关系运算符)用来进行值得真假性判断,结果是boo ...
- 33.Spring整合Struts2.md
[toc] 1.搭建环境 在idea下可以在创建module时候选择,注意WEB-INF下的classes和lib两个目录需要手动创建,并且对应的配置文件和依赖的lib需要手动拷贝到这两个文件夹下 2 ...
- 3.AOP入门1
1.定义1.1基本概念2. 1.定义 1.1基本概念 AOP:aspect object programing面向切面编程 aop编程的要点在于关注点和切入点 关注点:指的是代码中的重复部分,每次实现 ...
- [转]STL的内存分配器
题记:内存管理一直是C/C++程序的红灯区.关于内存管理的话题,大致有两类侧重点,一类是内存的正确使用,例如C++中new和delete应该成对出现,用RAII技巧管理内存资源,auto_ptr等方面 ...
- qt二维码示例
原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://blog.csdn.net/hiwubihe/article/details/38679621,qq:1269122125. 移动终 ...
- Wireshark抓包、过滤器
查阅于http://blog.sina.com.cn/s/blog_5d527ff00100dwph.html 1.捕捉过滤器 设置捕捉过滤器的步骤是:- 选择 capture -> optio ...
- Ubuntu12.04安装java以及Eclipse和Tomcat
阔别已久的Java,现在捡起来偶感觉亚历山大啊,就单单一个环境的安装就搞得我焦头烂额啊.真后悔当初学习Java的时候没有记录下来这一门槛——环境的搭建,要知道学好一门语言,Develop Enviro ...
- underscorejs-every学习
2.10 every 2.10.1 语法: _.every(list, predicate, [context]) 2.10.2 说明: 对list集合的每个成员根据predicate进行真值检测,如 ...
- python学习第十七天 --定制类
何为定制类? Python的class允许定义许多特殊方法,可以让我们非常方便地生成特定的类.在类中应用或者重写python的特殊方法,得到的类,就是定制类. 大家都知道print的用法.见下面例子 ...