第25章 移动应用安全需求分析与安全保护工程

第25章 移动应用安全需求分析与安全保护工程

25.1 移动应用安全威胁与需求分析

25.1.1 移动应用系统组成

  随着移动互联网技术的快速发展,智能手机在工作、生活中越来越重要,人们已经普遍使用智能手机上网、通信、支付、办公等。相关基于智能手机的移动应用系统也快速发展,其基本组成包括三个部分:一是移动应用,简称App;二是通信网络,包括无线网络、移动通信网络及互联网;三是应用服务端,由相关的服务器构成,负责处理来自App的相关信息或数据。

25.1.2 移动应用安全分析

  移动应用的安全威胁主要有以下类型。
  1. 移动操作系统平台安全威胁
  移动应用的安全性依赖于移动操作系统。目前,市场上主要的移动操作系统是苹果公司的iOS操作系统与Google公司开源的Android操作系统。
  2. 无线网络攻击
  攻击者利用移动应用程序依赖的无线网络通信环境或网络服务的安全隐患,实施通信内容监听、假冒基站、网络域名欺诈、网络钓鱼等攻击活动。
  3. 恶意代码
  针对智能手机的恶意代码行为呈上升趋势,常见的恶意行为有流氓行为、资费消耗、恶意扣费、隐私窃取、远程控制、诱骗欺诈、系统破坏、恶意传播等。
  4. 移动应用代码逆向工程
  5. 移动应用程序非法篡改

25.2 Android系统安全与保护机制

  本节内容阐述Android系统的组成概况,然后分析Android系统的安全机制。下面分别进行叙述。

25.2.1 Android系统组成概要

  Android是一个开源的移动终端操作系统,其系统结构组成共分成Linux内核层(Linux Kernel)、系统运行库层(Libraries 和 Android Runtime)、应用程序框架层(Application Framework)和应用程序层(Application)。
  Android系统的各层都面临着不同程序的安全威胁。其中,Android系统的基础层安全威胁来自Linux内核攻击,目前,Linux内核漏洞时有出现,内核漏洞常常导致攻击者能够获得系统最高权限,严重威及Android整体系统的安全。Android系统成为恶意代码利用的重点目标,常见的形式有APK重打包(repackaging)、更新攻击、诱惑下载、提权攻击、远程控制、恶意付费、敏感信息收集。

25.2.2 Android系统安全机制

  1. 权限声明机制
  权限声明机制,为操作系统和对象之间设定了一些限制,只有把权限和对象进行绑定,才可以有权操作对象。
  2. 应用程序签名机制
  Android将应用程序打包成.APK文件,应用程序签名机制规定对APK文件进行数字签名,用来标识应用程序的开发者和应用程序之间存在信任关系。
  3. 沙箱机制
  沙箱隔离机制使应用程序和其相应运行的Dalvik虚拟机都运行在独立的Linux进程空间,不与其他应用程序交叉,实现完全隔离。
  4. 网络通信加密
  Android支持使用SSL/TLS协议对网络数据进行传输加密,以防止敏感数据泄露。
  5. 内核安全机制
  Android系统的内核层采用分区和Linux ACL权限控制机制。

25.3 iOS系统安全与保护机制

25.3.1 iOS系统组成概要

  苹果公司建立以iOS平台为核心的封闭的生态系统,iOS的智能手机操作系统的原名为iPhoneOS,其核心与Mac OS X的核心同样都源自Apple Darwin。iOS的系统架构分为四个层次:核心操作系统层(Core OS Layer)、核心服务层(Core Services Layer)、媒体层(Media Layer)和可触摸层(Cocoa Touch Layer)。

  • 可触摸层。为应用程序开发提供了各种常用的框架并且大部分框架与界面有关,负责用户在iOS设备上的触摸交互操作。
  • 媒体层。提供应用中视听方面的技术,如图形图像相关的Core Graphics、Core Image、GLKit、OpenGL ES、Core Text等,声音相关的Core Audio、OpenAL、AV Foundation,视频相关的Core Media、Media Player框架,音视频传输的AirPlay框架等。
  • 核心服务层。提供给应用所需要的基础的系统服务,如帐户、数据存储、网络连接、地理位置、运动框架等。
  • 核心操作系统层。提供本地认证、安全、外部访问、系统等服务。

25.3.2 iOS系统安全机制

  iOS平台的安全架构可以分为硬件、固件、软件。
  硬件、固件层由设备密钥、设备组密钥、苹果根认证、加密引擎、内核组成。Secure Enclave是苹果高版本A系列处理器中协处理器,独立于应用处理器之外,提供所有加密操作。
  软件层则由文件系统、操作系统分区、用户分区、应用沙盒及数据保护类构成。
  苹果基于这一整体安全架构,集成了多种安全机制,共同保护iOS平台的安全性,主要安全机制如下。
  1. 安全启动链
  iOS平台的安全依赖于启动链的安全,为防止黑客攻击启动过程,iOS启动过程使用的组件要求完整性验证,确保信任传递可控。
  2. 数据保护
  针对移动设备因丢失或被窃取导致的泄露数据的风险,苹果公司的iOS 4提供了数据保护API(Data Protection API)。
  3. 数据的加密与保护机制
  4. 地址空间布局随机化
  5. 代码签名
  6. 沙箱机制

25.4 移动应用安全保护机制与技术方案

25.4.1 移动应用App安全风险

  移动应用App是指运行在智能设备终端的客户端程序,其作用是接收和响应移动用户的服务请求,是移动服务界面窗口。由于移动应用App安装在用户的智能设备上(通常为智能手机),很容易遭受到反编译、调试、篡改、数据窃取等安全威胁。

25.4.2 移动应用App安全加固

  为保护移动应用App的安全性,通常采用防反编译、防调试、防篡改、防窃取等多种安全保护措施。

  1. 防反编译
  2. 防调试
  3. 防篡改
  4. 防窃取

25.4.3 移动应用App

  常见的移动应用App网络安全检测内容如下:

  • 身份认证机制检测;
  • 通信会话安全机制检测;
  • 敏感信息保护机制检测;
  • 日志安全策略检测;
  • 交易流程保护机制检测;
  • 服务端鉴权机制检测;
  • 访问控制机制检测;
  • 数据防篡改能力检测;
  • 防SQL注入能力检测;
  • 防钓鱼安全能力检测;
  • App安全漏洞检测。
posted @ 2023-02-04 15:37  Evan-whc  阅读(141)  评论(0编辑  收藏  举报