基于智能手机的移动应用系基本组成包括三部分:
①一是移动应用,简称App;
②二是通信网络,包括无线网络、移动通写完了及;
③三是应用服务端,由相关的服务器构成,负责处理来自App的相关信息或数据。
移动应用安全威胁主要有以下类型:
①移动操作系统平台安全威胁;
②无线网络攻击;
③恶意代码;
④移动应用代码逆向工程;
⑤移动应用程序非法篡改。
Android是一个开源的移动终端操作系统,其系统结构分成:
①Linux内核层(Linux Kermel);
②系统运行库层(Libraries和Runtime);
③应用程序框架层(Application Framework);
④应用程序层(Applications)。
①normal权限:不会给用户带来实质性的伤害。
②dangerous权限:可能会给用户带来潜在的威胁,如读取用户位置信息,读取电话簿等,对于此安全威胁,多数手机会在用户安装应用时提醒用户;
③signature权限:具有同一签名的应用才能访问;
④signatureOrSystem权限:主要由设备商使用。
Android将应用程序打包成APK文件,应用程序签名机制规定对APK文件进行数字签名,用来标识相应应用程序的开发者和应用程序之间存在信任关系。所有安装到Android系统中的应用程序都必须拥有一个数字证书,此数字证书用于标识应用程序的作者和应用程序之间的信任关系。
沙箱隔离机制使用应用程序和其相应运行的Dalvik虚拟机都运行在独立的Linux进程空间,不与其他应用程序交叉,实现完全隔离。Android沙箱的本质是为了实现不同应用程序和进程之间的互相隔离, 即在默认情况下,应用程序没有权限访问系统资源或其他应用程序的资源。每个App和系统进程都被分配唯一并且固定的UserID,这个UID与内核进程的UID对应。每个App在各自独立的Dalvik虚拟机中运行,拥有独立的地址空间和资源。
Android支持使用SSL/TLS协议对网络数据进行传输加密,以防止敏感数据泄露。
Android系统的内核层采用分区和Linux ACL权限控制机制。Linux ACL权限控制机制是指每个文件的访问控制权限都由其拥有者、所属的组、读写执三个方面共同控制。文件在创建时被赋予了不同的应用程序ID,只有拥有相同应用程序ID或被设置为全局可读写才能够被其他应用程序所访问。
①核心操作系统层:提供本地认证、安全、外部访问、系统等服务;
②核心服务层:提供应用所需要的基础的系统服务,如账户、数据存储、网络连接、地理位置、运动框架等;
③媒体层:提供应用中视听方面的技术;
④可触摸层:为应用程序开发提供了各种常用的框架并且大部分创建与界面有关,负责用户在IOS设备上触摸交互操作。
分为硬件、固件
①硬件、固件层由设备密钥、设备组密钥、苹果根认证、加密引擎、内核组成。Secure Enclave是苹果高版本A系列处理器中的协处理器,独立与应用处理器之外,提供所有加密操作。
②软件层则由文件系统、操作系统分区、用户分区、应用沙盒及数据保护类构成;
①安全启动链;
②数据保护;
③数据加密与保护机制;
④地址空间布局随机化;
⑤代码签名;
⑥沙箱机制。
①防反编译;
②防调试;
③防篡改;
④防窃取。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq78442761/article/details/120716166
内容来源于网络,如有侵权,请联系作者删除!