【读书笔记】Android安全机制解析与应用实践之安卓的安全模型

安卓的安全模型:

安卓应用程序在安装的时候被赋予独特的用户标识UID

.apk应用程序包必须被开发者数字签名

权限声明:Normal:申请即可用   Dangerous:安装时由用户确认

进程间通信:Binder基于共享内存,是CS模式

内存管理机制:LMK低内存清理









由此可以看出,进程有自己独立的虚拟内存空间,由内核区和用户区组成

在进程的虚拟内存内核区,操作系统的内核代码和数据被映射到内核区,从而使进程在运行中得到操作系统的支持

内核区总是映射到物理内存的低地址空间

用户区映射到物理地址内核映像以上的任意地址空间




进程沙箱为互不信任的应用程序之间提供了隔离机制,SharedUserID则为具备信任关系的应用程序之间提供了资源共享机制



传统Linux进程间通信的缺点:

效率问题:需要多次复制数据,数据从发送进程的用户区缓存复制到内核区缓存,然后再从内核区缓存复制到接受进程的用户区缓存,单向传输至少有两次复制,传统的共享内存机制无需反复复制,但是属于低层机制,应用程序直接控制十分复杂,因而难以使用。

安全问题:传统的接受进程无法获得发送进程的UID,安卓程序有自己的UID,可以用于鉴别身份








AIDL会定义交换数据的类型,确保进程间通信的数据不会溢出越界污染进程空间

Android有自己的内存共享机制Ashmem



SD卡是FAT系统,无法设置文件读写权限




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值