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即可
转载于:https://www.cnblogs.com/heixiang/p/10976901.html
15 Android系统安全(简要)相关推荐
- Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划
在Android系统中,提供了独特的匿名共享内存子系统Ashmem(Anonymous Shared Memory),它以驱动程序的形式实现在内核空间中.它有两个特点,一是能够辅助内存管理系统来有效地 ...
- Android系统的启动流程简要分析
这是我结合网上的资料以及自己分析android4.4的源码整理的笔记,对整个安卓系统的流程启动进行了梳理,很多细节并未展开,只是简要的进行了介绍. 一.Android系统的架构介绍 Android的整 ...
- Android 系统(15)---Launcher启动过程
Launcher概述 SystemServer进程主要用于启动系统的各种服务,其中就包含了Launcher服务,LauncherAppService. Android系统默认第一个启动的应用程序是Ho ...
- Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划
前面我们从Android应用程序与SurfaceFlinger服务的关系出发,从侧面简单学习了SurfaceFlinger服务.有了这些预备知识之后,我们就可以从正面来分析SurfaceFlinger ...
- android系统平台显示驱动开发简要:LCD基本原理篇『一』
平台信息: 内核:linux3.4.39 系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新 ...
- Android 功耗(15)---Android系统耗电
详解Android系统耗电 首先介绍一下为什么Android手机普遍有电池不耐用的问题. 作为一个开放系统,Android对于应用程序,特别是后台应用程序几乎完全不加以限制.导致了以下几个比较大的问题 ...
- 深入剖析Android系统
深入剖析Android系统(基于Google发布的Jelly Bean原始代码,讲述Android系统的内部静态结构关系和内部运行机制,为你呈现原汁原味的Android代码分析大餐!) 杨长刚著 IS ...
- Android系统开发和性能优化——查漏补缺【建议收藏】
做了这么久性能相关的工作,也接触了不少模块,说实话要做好性能这一块,真心不容易.为什么这么说? 是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以 ...
- Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
原文地址: http://blog.csdn.net/luoshengyang/article/details/6629298 在前面一篇文章浅谈Android系统进程间通信(IPC)机制Binder ...
- 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路
原文地址: http://blog.csdn.net/luoshengyang/article/details/6627260 在前面一篇文章浅谈Service Manager成为Android进程间 ...
最新文章
- Cisco asa 5510升级IOS和ASDM
- 用 Python 制作酷炫的可视化大屏,特简单!
- elasticsearch 分片_Elasticsearch教程:动手实践
- mysql mha官网下载_mysql MHA 及多主复制
- AI 落地,数据安全绕不开的 4 大问题
- omnet++ : could not be resolved 或error: coreexception 的解决
- Ubuntu cocos2d-x 3.13版本游戏开发学习系列3 Cocos2d-x的坐标系
- android病毒下载地址,LINE病毒查杀
- 【CodeForces - 764B 】Timofey and cubes (模拟)
- 云计算实战系列十(文件查找及包管理)
- 吴恩达深度学习——自然语言处理与词嵌入
- 软件工程2第一次作业
- wafer map格式转换_如何将谷歌地球KML图层转换为Mapinfo TAB图层?
- 条码标签打印软件连接不了数据库怎么办?
- StyTr^2:Image Style Transfer with Transformers
- rar、zip优缺点
- AutoCAD中导入图片
- android 电话录音功能,Android实现电话录音功能
- 【VREP】四舵轮(or n舵轮)自旋与平移融合运动解算
- sqlmap之tamper脚本编写
热门文章
- android外接usb摄像头demo_手机通过USB连接打印机使用教程,手机连接打印机系列之二...
- Eclipse+OpenCV3.1.0 的环境搭建
- css盒子模型实验报告总结_前端知识点总结——盒子模型
- python中sample()函数_PandasDataframe.sample()使用介绍
- 发那科oimf是什么时候出的_请问下FANUC Oi-MF系统怎么把卡里的程序传到机床里面?...
- python表达式3and5_表达式 3 and 5 的值为____________。(5.0分)_学小易找答案
- pod打包原理_webpack打包原理解析
- openstack配置mysql_Centos7.4安装openstack(queens)详细安装部署(三)-镜像服务(glance)安装...
- 获取天气预报API_统计最容易生病时间段
- java64字节指令包,JVM 字节码指令解析