Android操作系统安全(分层结构、应用沙盒、安全进程通信、Android权限模式和应用程序签名代码混淆)

Android是一个开放的移动设备操作系统。因为是开放的平台,它的设计和实现细节完全暴露,因此对安全性要求更加严格。Android系统为了安全性,提供如下主要安全特征:
Android系统严格的分层结构、应用沙盒、安全进程通信、Android权限模式、应用程序签名和代码混淆等。

一、对于Android的安全体系结构了解,请看这篇文章,了解Android系统框架四层结构

二、Android设备上的应用都有一个沙盒目录。将文件保存在沙盒中,可阻止其他应用甚至是设备用户的访问和窥探。(方然,设备被root了的话,用户就可以随意访问各种目录和文件了),应用沙盒目录是/data/data/包名的子目录。

三、Android权限模式:默认情况下,应用只能存取受限的系统资源。应用程序为了能够存取一些敏感的资源(摄像头、GPS、蓝牙、电话、短信、网络等),需要在配置文件中使命存取所需资源的能力,当用户安装这种程序时,系统会显示对话框提示程序需要的权限并询问用户是否需要继续安装,如果用户继续安装,系统就会把这些权限授予对应的程序。而程序的配置文件也可以定义安全级别属性,这个属性告诉系统其他哪些应用可以访问此应用。也给用户一个知情权。

四、安全进程通信:尽管Linux内核提供了多种进程通信机制(IPC),比如管道、信号、共享内存、套接字等,但出于安全性考虑,Android增加了新的安全IPC机制,主要包括Binder、Service、Intent和ContentProvider。Binder是一个轻量级的远程过程调用机制,它可以高效安全地实现进程内和进程间调用;Service运行在后台并通过Binder向外提供接口服务;Intent是一个简单的消息对象,此对象表示想要做某事的意向;ContentProvider内容提供者,通过它可以向外提供数据。

五、应用程序安装包签名:所有的Android应用程序安装包(apk文件)必须进行签名,否则程序不能安装在Android设备或模拟器中,签名的目的用于标识程序作者,升级应用程序。当没有签名的应用在安装时,包管理器就会拒绝安装。签名的应用在安装时,包管理器首先验证apk文件中的签名证书是否正确,如果正确,首先把应用放置在应用沙盒中,然后系统为它分配一个UID,不同的应用有不同的UID;如果证书签名与设备中其他签名的应用相同,表示是同一个应用,则提示用户是否用新的应用更新旧的应用。

六、Android的代码混淆保护了开发者的劳动成果。

你可能感兴趣的:(Android操作系统安全(分层结构、应用沙盒、安全进程通信、Android权限模式和应用程序签名代码混淆))