15 Android系统安全(简要)
Android的用户和第三方软件,Android组件和数据安全
手机root后的问题:1.系统不稳定,2.病毒入侵,3.数据泄露
Root原理:
Root分两类:1。临时root,2。永久root
Root后的问题:1。系统不稳定,2。易中毒,3。隐私泄露
Android权限检查机制:没有权限而执行特定操作的软件会抛出SecurityException异常
所有权限位于/frameworks/base/data/etc/platform.xml
权限分两类:
- 直接读写设备的底层(low-level)权限:
- 间接读写设备的高层(high-level)权限:通过Framework层的权限检查代码进行权限控制
- 根据检查的内容和处理方法分成:
- 检查权限返回结果型
- 检查权限失败抛出异常型
- Uri权限控制型
- Uri权限检查并返回结果型
- Uri权限检查失败抛出异常型
Android程序中资源访问包括使用: Framework提供功能(系统提供权限),访问其它程序的组件(自定义权限)
串谋权限攻击:

Activity组件:是用户唯一能够看见的组件,Android系统组件在指定Intent过滤器(intent-filter)后,默认是可以被外部程序访问的。
android:exported属性值"false"组件则不能被外部程序调用。
外部程序指:签名不同,用户ID不同的程序,而签名相同且用户ID相同的程序在执行时共享同一个进程空间
android:permission属性:指定一个权限字符串,特定的Activity能够程序访问
android:excludeFromRecents属性值"true":程序运行时就不会在显示最近运行过的程序列表中
Activity劫持(属于用户层的安全):用户使用带有恶意Activity劫持功能的程序后,启动一个带FLAG_ACTIVITY_NEW_TASK标志的Activity覆盖正常的Activity获取用户相关信息
Broadcast Receiver:
特点:多数情况下,广播是使用Action来标识其用途,由sendBroadcast()方法发出
分两类:
- 无序广播(类似并联):
- 有序广播(类似串联):调用abortBroadcast()中止广播
广播优先级响应:动态注册的接收者 > 静态注册的接收者,
静态注册的接收者的 android:priority属性值决定,越大,优先级越高
Service:Android系统中的后台进程组件,在后台进行耗时操作
访问方法:
startService():启动服务,可以被用来实现串谋攻击
bindService():帮定服务,可以被用来实现串谋攻击
stopService():停止服务,对程序功能进行恶意破坏
Content Provider:内容提供者,用于程序之间的数据交换
通过提供存储与查询数据的接口来实现进程之间的数据共享
提供的方法:

数据安全
1.外部数据:直接使用File类在外部存储设备上读写文件
2.内部数据:所有软件存放私有数据的地方,openFileInput()与openFileOutput()方法来读写程序私有数据目录
数据通信安全:软件与软件,软件与网络服务器之间进行数据通信引发的安全问题。
Android系统中4大组件是通信的主要手段,数据的传递是依靠Intent完成。
Intent能够传递所有基础类型与支持序列化类型的数据,Intent中附加数据通过Intent类中的putExtra()完成
Intent数据传输的问题:Intent没有指定目的组件的名称,导致Intent中的数据可能被第三方程序获取,使用sendBroadcast()传递的Intent本身就是暴露的。
网络数据通信问题是:网络嗅探
ROM:Read Only Memory只读存储器,存放手机固件的代码存储器
种类:
- 官方
- 第三方
- 个人
ROM制作流程:
- 解包
- 线刷:img文件使用unyaffs解压
- 卡刷:zip通用压缩包
- 修改
- 打包
- 线刷:直接压缩软件即可 签名需要:针对厂商ROM工具签名
- 卡刷:需要厂商ROM工具 使用signapk.jar即可
15 Android系统安全(简要)的更多相关文章
- [转]Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划
转自:Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划 前面我们从Android应用程序与SurfaceFlinger服务的关系出发,从侧面简单学习了Surfa ...
- android系统平台显示驱动开发简要:LCD基本原理篇『一』
平台信息:内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博客 ...
- Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8010977 前面我们从Android应用程序与 ...
- Android系统中的广播(Broadcast)机制简要介绍和学习计划
在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制:这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用:本文通过一个 ...
- Android系统在新进程中启动自定义服务过程(startService)的原理分析
在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验.Android系统为我们提供了一个Service类,我们可以实现 ...
- 【转】Android系统开篇
版权声明:本站所有博文内容均为原创,转载请务必注明作者与原文链接,且不得篡改原文内容.另外,未经授权文章不得用于任何商业目的. 一.引言 Android系统非常庞大.错综复杂,其底层是采用Linux作 ...
- Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> Application)
在Android 2.3(Gingerbread) 系统的时候,我写过一篇关于“Android 震动马达系统“的文章,当时的Linux内核还是2.6版本的.写那篇文章的目的,是想彻底的了解从硬件到驱动 ...
- Android系统init进程启动及init.rc全解析
转:https://blog.csdn.net/zhonglunshun/article/details/78615980 服务启动机制system/core/init/init.c文件main函数中 ...
- 最新Android系统版本与API等级对应关系表
最新Android系统版本与API等级对应关系表 从Android官网拷过来的,方便查阅... 官网地址:https://developer.android.com/guide/topics/mani ...
随机推荐
- HTML基础一-html、CSS
一.HTML标签 前端语言 HTML-将页面展现出来 CSS-修饰前端标签 让HTML更好看 css 对html 进行修饰 JS-能够让页面动起来 HTML htyper text mar ...
- Lotus words
We are going to memorize a lot of words in the fourth grade of primary school. It's very difficult f ...
- 在jsp页面中通过struts的标签<s:if>来判断选择显示控件
<s:iterator value="#request.users" var="u"> <!-- 判断该条评论的评论人是不是查看这篇评论的用户 ...
- 在VMMap中跟踪不可用的虚拟内存
VMMap是一个很好的系统内部工具,它可以可视化特定进程的虚拟内存,并帮助理解内存的用途.它有线程堆栈.映像.Win32堆和GC堆的特定报告.有时,VMMap会报告不可用的虚拟内存,这与可用内存不同. ...
- ESA2GJK1DH1K基础篇: Android实现MQTT封装源码使用说明
说明 这一节说明一下基础篇APP源码里面MyMqttCilent.java这个文件的使用 新建工程 安装MQTT的jar包 implementation 'org.eclipse.paho:org.e ...
- 为什么要使用 Go 语言?Go 语言的优势在哪里?
golang主要特性 1.语法简单 舍弃语法糖,严格控制关键字 C++语法糖之多,令人发指,而C又太过于底层,容易出现自己造轮子的情况,如何在两者之间取舍,是每一个转向golang的工程师曾经思考过的 ...
- 网络协议 4 - 交换机与 VLAN:拓扑结构
上一次,我们通过宿舍联网打魔兽的需求,认识了如何通过物理层和链路层组建一个宿舍局域网.今天,让我们切换到稍微复杂点的场景,办公室. 在这个场景里,就不像在宿舍那样,搞几根网线,拉一拉,扯一扯就 ...
- Salesforce 开发整理(六) Visualforce分页
分页的实现总体上分真分页和假分页. 所谓真分页指页面上列出来的数据就是实际查询的数据,假分页则是无论页面上一次显示多少条记录,实际上后台已经加载了所有的记录,分页只是为了展示给用户查看.今天分享一个V ...
- postgresql小计
1. postgresql执行结束后,判断结果是否成功,有几种结果 typedef enum { PGRES_EMPTY_QUERY = 0, /* empty query string was ex ...
- 【Gamma】项目展示
团队成员介绍 大娃 :后端开发人员,主要工作为后端开发,文档撰写. 大娃的个人博客 二娃 PM,主要工作为项目进度把控,例会博客撰写. 二娃的个人博客 三娃* PM,主要工作为项目进度把控,用户需求分 ...