Android安全机制解析与应用实践------- 权限机制 笔记(1)

一、Android
应用程序权限机制
(1)安装
PachageManagerService:installPackageLI:parsePackage解析AndroidManifest.xml
文件,获得应用申请权限;
grandPermissionsLP授予应用相应权限的GID;
(2)启动
PachageManagerService:startProcessLocked启动应用程序时,创建新进程并传入GID、UID;
forkAndSpecializeCommon创建SystemServer进程并设置了进程GID和ID;

二、应用程序权限控制
1)选择性权限
权限细粒度化,需修改Android系统
策略限制,权限机制之外的另一层保护,限制授权涉及软件包管理器的修改
2)权限管理应用程序
Android权限扫描器定时检测已安装应用,可比较异常应用

三、检测进程是否有相应自定义权限:
1)其他进程中:checkCallingPermission(权限)
2)指定某应用:checkPermission(权限,应用名);checkPermission(权限,PID,UID)
3)本身活其他进程中:checkCallingOrSelfPermission(权限)
危险,即使调用失败也会透露权限信息

时间: 2024-10-05 23:09:18

Android安全机制解析与应用实践------- 权限机制 笔记(1)的相关文章

《Android安全机制解析与应用实践》笔记 第2章

Android扩展了Linux内核安全模型的用户与权限机制,将多用户操作系统的用户隔离机制巧妙地移植为应用程序隔离.在linux中,一个用户标识(UID)识别一个给定用户:在Android上,一个UID则识别一个应用程序.在安装应用程序时向其分配UID.应用程序在设备上存续期间内,其UID保持不变.仅限用于允许或限制应用程序(而非用户)对设备资源的访问.如此,Android的安全机制与Linux内核的安全模型完美衔接!不同的应用程序分别属于不同的用户,因此,应用程序运行于自己独立的进程空间,与U

android permission权限与安全机制解析(下)

在android permission权限与安全机制解析(上)篇博客中,我已经详细介绍了android相关系统permission和自定义permission,以及一些权限机制和安全机制.这篇博客主要将会介绍到android 6.0的相关权限更改,原理和相关的处理方式,解决方法等. 就以我以前的一个仿最新版微信相册为例子来分析. android 6.0权限全面详细分析和解决方案 Marshmallow版本权限修改 android的权限系统一直是首要的安全概念,因为这些权限只在安装的时候被询问一次

android permission权限与安全机制解析

总结整理了一下android权限相关的知识,分享一下: uses-permission 用法为<uses-permission android:name="string" android:maxSdkVersion="integer"/> 为了保证application的正常运行,需要系统授予app的权限声明.这个权限是在用户安装应用的时候授予的. android:name的值可以是其他app通过<permission>声明的(用于两个应用之

Android测试&amp;权限机制&amp;数据存储

测试 黑盒测试 -测试人员不知道源代码 白盒测试 -测试人员知道源代码,能写一些测试用例 根据测试的粒度 方法测试 function test 单元测试 unit test junit测试框架 集成测试 integration test 系统测试 system test 根据测试的暴力程度 冒烟测试 smoke test 压力测试 pressure test 单元测试框架(JUnit) Android代码只能运行在手机中的Dalvik虚拟机里,在PC机的JVM下会报错异常,写测试用例,通常把上传

Android Notification和权限机制探讨

近期为了在部门内做一次小型的技术分享.深入了解了一下Notification的实现原理.以及android的权限机制.在此做个记录.文章可能比較长,没耐心的话就直接看题纲吧. 先看一下以下两张图 图一: 看到这图可能大家不太明确,这和我们的notification有什么关系,我来简介一下背景.这是发生在15年NBA季后赛期间,火箭队对阵小牛队,火箭队以3:1率先,仅仅要再赢一场就能淘汰对手.这时候火箭队的官方首席运营官发了这条官方推特. 翻译一下就是 "一把枪指着小牛的队标,哼哼,仅仅须要闭上你

Android权限机制(一) 权限的申请与保存

Android系统采用了sandboxes的安全机制,每个app有对应的PID,UID,资源,数据,以及基本的API.当app需要sandbox没有提供的额外API时,需要声明权限. 在本文中,我们将会探究apk申请的权限信息是如何被保存到系统中的. 一.声明权限 1. 在AndroidManifest.xml中声明权限 AndroidManifest.xml位于工程根目录下 在<activity>标签之前声明权限 声明了app所需要用到的权限 Android要求权限必须在manifest文件

Android权限机制(三) 针对权限控制如何设计App

随着Android 5.0的到来,原生的权限管理控制功能AppOps终于登场(虽然4.3的代码中已经包含). 它的使用路径是Settings -> Security -> AppOps(有些厂商的ROM可能依然屏蔽着,或名字被修改) AppOps引进的一个新概念"Ops",也就是"Operations"操作.之前的第三方应用(如LBE)和手机厂商ROM(三星.MIUI),都实现了类似功能,但强调的是permission权限.而在AppOps中,ops操作

android 利用 aapt 解析 apk 的应用名称 包名 版本号 权限等信息

在上传各大市场时发现 apk 上传后能自动解析出应用名称.包名.版本号.使用权限等信息,所以就研究了一下 1 直接解压 apk 解析  AndroidManifest.xml 是不行的,因为 apk 打包时 AndroidManifest.xml 文件被压缩混淆了. 2 主要有两种实现方式 1) 通过 aapt (android asset packaging tool) aapt 是打包.更新资源的一个工具,可以解析出 apk 的资源信息 2) apktool 著名的反编译工具,先反编译出 A

Sql Server Tempdb原理-日志机制解析实践

笔者曾经在面试DBA时的一句”tempdb为什么比其他数据库快?”使得95%以上的应试者都一脸茫然.Tempdb作为Sqlserver的重要特征,一直以来大家对它可能即熟悉又陌生.熟悉是我们时时刻刻都在用,陌生可能是很少有人关注它的运行机制.这次我将通过实例给大家介绍下tempdb的日志机制. 测试用例 我们分别在用户数据库(testpage),tempdb中创建相似对象t1,#t1,并在tempdb中创建创建非临时表,然后执行相应的insert脚本(用以产生日志),并记录执行时间用以比较用以比