Android的安全问题
来源:互联网 发布:列式数据库 olap 编辑:程序博客网 时间:2024/06/03 22:59
Android的安全问题
安全问题在哪个平台,都是很重要的一方面。安卓开发中个人总结有以下几个方面来保护Android系统的安全。
1.1 代码安全-代码混淆(proguard)
由于java语言本身的特性,就算编译好APK的应用程序也会存在可能被反编译的危险。Proguard在代码层面对应用程序APP的保护,因为它混淆了关键代码,替换命名让想窃取代码的阅读困难,本身还可以压缩代码,优化编译过的Java字节码。
1.2 应用签名-数字证书
Android中的APP都有数字证书(App的数字签名),数字证书用于保护APP的开发者与其APP的识别关系,拥有相同数字签名的APP,在升级更新中才会确认相同APP。因为Android系统不会安装没有签名的APP。
1.3 应用接入权限控制-AndroidMainifest文件权限声明和权限检查机制
先判断permission名称,如果为空直接返回PERMISSION_DENIED;
判断Uid,如果为0就是Root权限,不做权限控制;是System Server的Uid就是系统权限,
也不做权限控制;如果Uid与参数中的请求Uid不相同,将返回PERMISSION_DENIED;
通过调用PackageManagerService.checkUidPermission()方法判断Uid是否具有相应的权限;
此方法会去XML的权限列表与platform.xml中查找;
1.4 Linux内核层安全机制-Uid与访问权限控制
Android本身是基于Linux内核开发的,所有Android都继承了Linux的安全特性,比如文件访问操作,Linux文件系统的权限控制是由user、group、other与r/w/x的不同组合来实现,同样的,Android也实现了这些操作,通常情况下,只有System、Root用户才会有权限访问到系统文件,一般用户不能访问。
安全问题在哪个平台,都是很重要的一方面。安卓开发中个人总结有以下几个方面来保护Android系统的安全。
1.1 代码安全-代码混淆(proguard)
由于java语言本身的特性,就算编译好APK的应用程序也会存在可能被反编译的危险。Proguard在代码层面对应用程序APP的保护,因为它混淆了关键代码,替换命名让想窃取代码的阅读困难,本身还可以压缩代码,优化编译过的Java字节码。
1.2 应用签名-数字证书
Android中的APP都有数字证书(App的数字签名),数字证书用于保护APP的开发者与其APP的识别关系,拥有相同数字签名的APP,在升级更新中才会确认相同APP。因为Android系统不会安装没有签名的APP。
1.3 应用接入权限控制-AndroidMainifest文件权限声明和权限检查机制
所有应用程序在使用Android受限资源的时候,都需要显示向系统声明所需要的权限,或应用APP具备相应的权限,在申请受限资源的时候,通过权限机制的检查使用系统的Binder对象完成对系统服务的调用。它也有不足之处:如果授予权限将不会停止、当应用声明APP使用权限后,用户无法对部分权限进行控制、权限的声明机制和用户的安全想法相关联。
先判断permission名称,如果为空直接返回PERMISSION_DENIED;
判断Uid,如果为0就是Root权限,不做权限控制;是System Server的Uid就是系统权限,
也不做权限控制;如果Uid与参数中的请求Uid不相同,将返回PERMISSION_DENIED;
通过调用PackageManagerService.checkUidPermission()方法判断Uid是否具有相应的权限;
此方法会去XML的权限列表与platform.xml中查找;
1.4 Linux内核层安全机制-Uid与访问权限控制
Android本身是基于Linux内核开发的,所有Android都继承了Linux的安全特性,比如文件访问操作,Linux文件系统的权限控制是由user、group、other与r/w/x的不同组合来实现,同样的,Android也实现了这些操作,通常情况下,只有System、Root用户才会有权限访问到系统文件,一般用户不能访问。
1.5 Android虚拟机沙箱隔离操作
0 0
- Android的安全问题报告
- Android的安全问题
- Android安全问题的博客推荐
- android安全问题
- android 安全问题
- android手机root后的安全问题
- Android手机Root后的安全问题汇总
- android手机root后的安全问题(二)
- android开发中注意的安全问题
- android开发中遇到的安全问题
- Android中其他常见的安全问题
- Android Handler 发送消息的线程安全问题
- Android签名与权限的安全问题(3)
- Android 主要涉及的安全问题调研
- Android下需注意的安全问题
- android DateFormat 线程安全问题
- Android安全问题-网络传输
- android 开发之安全问题
- Java8之Interface接口新特性
- lightoj 1080 - Binary Simulation(区间更新,单点查询)
- WebRtc VideoRtpSender
- 安卓中用AndroidStudio集成第三方支付宝
- Medium 366题 Find Leaves of Binary Tree
- Android的安全问题
- react-Native ListView中实现单击行展开效果
- 希尔排序
- linux下怎么安装chrome浏览器
- apt-get使用代理
- 归并排序
- lightoj 1085 All Possible Increasing Subsequences(递推式+离散化+树状数组维护)
- 图解Android View的scrollTo(),scrollBy(),getScrollX(), getScrollY()
- 冒泡排序与简单排序