信息安全工程师笔记-移动应用安全需求分析与安全保护工程

x33g5p2x  于2021-11-10 转载在 其他  
字(1.5k)|赞(0)|评价(0)|浏览(309)

移动应用系统组成

基于智能手机的移动应用系基本组成包括三部分:

①一是移动应用,简称App;

②二是通信网络,包括无线网络、移动通写完了及;

③三是应用服务端,由相关的服务器构成,负责处理来自App的相关信息或数据。

移动应用安全分析

移动应用安全威胁主要有以下类型:

①移动操作系统平台安全威胁;

②无线网络攻击;

③恶意代码;

④移动应用代码逆向工程;

⑤移动应用程序非法篡改。

Android系统组成概要

Android是一个开源的移动终端操作系统,其系统结构分成:

①Linux内核层(Linux Kermel);

②系统运行库层(Libraries和Runtime);

③应用程序框架层(Application Framework);

④应用程序层(Applications)。

Android应用程序层的权限包括

①normal权限:不会给用户带来实质性的伤害。

②dangerous权限:可能会给用户带来潜在的威胁,如读取用户位置信息,读取电话簿等,对于此安全威胁,多数手机会在用户安装应用时提醒用户;

③signature权限:具有同一签名的应用才能访问;

④signatureOrSystem权限:主要由设备商使用。

Android应用程序签名机制

Android将应用程序打包成APK文件,应用程序签名机制规定对APK文件进行数字签名,用来标识相应应用程序的开发者和应用程序之间存在信任关系。所有安装到Android系统中的应用程序都必须拥有一个数字证书,此数字证书用于标识应用程序的作者和应用程序之间的信任关系。

Android沙箱机制

沙箱隔离机制使用应用程序和其相应运行的Dalvik虚拟机都运行在独立的Linux进程空间,不与其他应用程序交叉,实现完全隔离。Android沙箱的本质是为了实现不同应用程序和进程之间的互相隔离, 即在默认情况下,应用程序没有权限访问系统资源或其他应用程序的资源。每个App和系统进程都被分配唯一并且固定的UserID,这个UID与内核进程的UID对应。每个App在各自独立的Dalvik虚拟机中运行,拥有独立的地址空间和资源。

Android网络通信加密

Android支持使用SSL/TLS协议对网络数据进行传输加密,以防止敏感数据泄露。

Android内核安全机制

Android系统的内核层采用分区和Linux ACL权限控制机制。Linux ACL权限控制机制是指每个文件的访问控制权限都由其拥有者、所属的组、读写执三个方面共同控制。文件在创建时被赋予了不同的应用程序ID,只有拥有相同应用程序ID或被设置为全局可读写才能够被其他应用程序所访问。

IOS系统架构

①核心操作系统层:提供本地认证、安全、外部访问、系统等服务;

②核心服务层:提供应用所需要的基础的系统服务,如账户、数据存储、网络连接、地理位置、运动框架等;

③媒体层:提供应用中视听方面的技术;

④可触摸层:为应用程序开发提供了各种常用的框架并且大部分创建与界面有关,负责用户在IOS设备上触摸交互操作。

IOS平台安全架构

分为硬件、固件

①硬件、固件层由设备密钥、设备组密钥、苹果根认证、加密引擎、内核组成。Secure Enclave是苹果高版本A系列处理器中的协处理器,独立与应用处理器之外,提供所有加密操作。

②软件层则由文件系统、操作系统分区、用户分区、应用沙盒及数据保护类构成;

IOS平台的安全机制

①安全启动链;

②数据保护;

③数据加密与保护机制;

④地址空间布局随机化;

⑤代码签名;

⑥沙箱机制。

移动应用App安全加固

①防反编译;

②防调试;

③防篡改;

④防窃取。

相关文章