信息安全工程师-第二十五章 网站安全需求分析与安全保护工程

123456
1
2025-10-03

第二十五章 网站安全需求分析与安全保护工程

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

25.1.1 移动应用系统组成与安全分析

移动应用系统包括三个部分:

①移动应用,简称App;

·②通信网络,包括无线网络、移动通信网络及互联网;

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

image-20250929164652541

25.1.2 移动应用安全分析

移动应用的安全威胁:

·1.移动操作系统平台安全威胁。(谷歌Android+苹果IOS+华为鸿蒙)

·2.无线网络攻击。(4G/5G假冒基站+WIFI“钓鱼”,或其他通信内容监听)

·3.恶意代码。恶意扣费、隐私窃取、远程控制、诱骗欺诈、系统破坏、恶意传播等。

·4.移动应用代码逆向工程。攻击者通过对移动应用程序的二进制代码进行反编译分析,获取移动应用源代码的关键算法思路或窃取敏感数据。

·5.移动应用程序非法篡改。攻击者利用安全工具,非法篡改移动应用程序,实现恶意的攻击,窃取用户信息。

25.1.3 Android系统架构

Android系统分成Linux内核层(Linux Kenel)、系统运行库层(Libraries和Android吕ntime)、应用程序框架层(Application Framework)和应用程序层(Applications)。

image-20250929165035880

25.1.4 Android系统安全与保护机制

Android系统在内核层、系统运行库层、应用程序框架层以及应用程序层都采取了相应的安全措施。

image-20250929165050203

25.1.5 Android系统安全与保护机制

1.应用程序层:权限声明机制。

为操作权限和对象之间设定了一些限制,只有把权限和对象进行绑定,才可以有权操作对象。

权限声明机制还制定了不同级别不同的认证方式的制度。应用程序层的权限包括如下四种权限:

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

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

·signature权限:只有和定义该权限者具有相同签名的应用才可以申请该权限;

·signatureorSystem权限:主要由设备商使用。

2.应用程序框架层:应用程序签名机制。

·Android将应用程序打包成APK文件,应用程序签名机制规定对APK文件进行数字签名,用来标识应用程序开发者和应用程序之间存在信任关系。

·安装到Android系统中的应用程序必须拥有一个数字证书,用于标识应用程序的作者和应用程序之间的信任关系。

3.系统运行层:沙箱机制、SSL。

·沙箱隔离机制:应用程序和其相应运行的Dalvik虚拟机都运行在独立的Linux进程空间,不与其他应用程序交叉,实现完全隔离。

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

4.内核层:文件系统安全、地址空间布局随机化、SELinux.

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

25.1.6 IOS系统组成概要

IOS平台是苹果公司封闭的生态系统,分为四个层次:核心操作系统层(Core OS Layer)、核心服务层 (Core Services Layer)、媒体层 (Media Layer) 和可触摸层 (Cocoa Touch Layer) .

image-20250929165302179

25.1.7 IOS系统安全机制

IOS平台的安全架构可以分为硬件、固件、软件。

·硬件、固件层由设备密钥、设备组密钥、苹果根认证、加密引擎、内核组成。

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

IOS平台主要安全机制如下:

1.安全启动链。IOS启动过程使用的组件要求完整性验证,确保信任传递可控。

2.数据保护。针对移动设备因丢失或被窃取导致的泄露数据的风险,提供了数据保护API,API让应用开发者尽可能简单地对文件和keychain项中存储的敏感用户数据施以足够的保护。

3.数据的加密与保护机制。IOS内所有用户数据都是强制加密的。苹果的AES加解密引擎都是硬件级的。

4.地址空间布局随机化。利用ASLR技术,确保IOS的二进制文件、库文件、动态链接文件、栈和堆内存地址的位置是随机分布的,从而增强抗攻击能力。

5.代码签名。为防止应用攻击,IOS系统要求所有可执行程序必须使用苹果公司发放的证书签名。

6.沙箱机制。通过沙箱机制,可以限制进程的恶意行为。

25.1.8 移动应用 App安全加固

为保护移动应用 App的安全性,通常采用:

1.防反编译。对移动应用程序文件进行加密处理,防止攻击者通过静态的反编译工具,获取到应用的源代码。除了加密措施之外,还可以对移动应用程序进行代码混淆,增加破解者阅读代码的难度。常见的混淆方法有名字混淆、控制混淆、计算混淆等。

2.防调试。为防止应用程序动态调试,应用程序设置调试检测功能,以触发反调试安全保护措施,如清理用户数据、报告程序所在设备的情况、禁止使用某些功能甚至直接退出运行。

3.防篡改。通过数字签名和多重校验的防护手段,验证移动应用程序的完整性,防范移动应用程序APK被二次打包以及盗版。

4.防窃取。对移动应用相关的本地数据文件、网络通信等进行加密,防止数据被窃取。

动物装饰