第8章移动应用软件安全

上传人:汽*** 文档编号:577443393 上传时间:2024-08-21 格式:PPT 页数:28 大小:312.50KB
返回 下载 相关 举报
第8章移动应用软件安全_第1页
第1页 / 共28页
第8章移动应用软件安全_第2页
第2页 / 共28页
第8章移动应用软件安全_第3页
第3页 / 共28页
第8章移动应用软件安全_第4页
第4页 / 共28页
第8章移动应用软件安全_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《第8章移动应用软件安全》由会员分享,可在线阅读,更多相关《第8章移动应用软件安全(28页珍藏版)》请在金锄头文库上搜索。

1、8.1 移动移动App安全安全8.2 移动平台安全机制和移动平台安全机制和分析技术分析技术8.3 移动移动App的安全检测的安全检测第第8章章 移动应用软件安全移动应用软件安全8.4 移动移动App的安全防护的安全防护8.5 本章小结本章小结8.6 习题习题 8.1.1 移动App安全风险分析 8.1.2 移动App的安全对策8.1 8.1 移动移动AppApp安全安全8.1.1 移动App安全风险分析 移动App面临的安全威胁已成为制约移动App发展的主要因素,常见的安全威胁可以分为以下几类。1.盗版仿冒:不法分子通过逆向工程等手段复制正版软件,并使用与正版软件相似的图标或名称,以达到仿冒的

2、目的。它们通过蹭热点来传播,引诱用户下载安装,不仅会造成用户通信录和短信内容等个人隐私信息的泄露,还有恶意扣费的隐患。2.恶意软件:由于大量的移动App商店在应用软件的安全检测、准入审核等环节存在安全漏洞,不法分子通过对应用软件的逆向分析,可以发现App软件中的核心算法或敏感信息,并获知程序的运行逻辑和流程等信息,从而绕过用户应用中心使用的认证和加密手段,插入恶意代码,一旦用户下载安装并使用这款App,可能就会遭受广告弹窗、业务资料被非法访问、隐私泄露、远程控制和诱骗欺诈等安全风险。8.1.1 安全风险分析 3. 权限滥用和隐私窃取通过声明过多的应用权限,移动App可以对用户本地文件、短信接口

3、、蓝牙设备等进行操作,如发送短信、连接网络,并在用户不知情的状态下窃取用户的个人隐私,这些都会威胁到用户的隐私和人身财产安全。同时,移动互联网与云计算技术的结合,也通过移动App引出了一系列新的安全问题:云存储服务使得信息集中存储,信息及隐私泄露问题更加严重;云应用业务使得信息收集和分析的规模更加巨大;通过对收集到的用户信息进行大数据分析,不仅可能会导致用户的信息和隐私泄露,甚至可能危及国家的安全利益。4. 操作系统安全操作系统安全是指由于移动终端的操作系统存在漏洞而被恶意代码利用所产生的安全问题。8.1.2 移动App的安全对策 移动App安全不仅涉及数据安全,还包括移动终端的操作系统、硬件

4、及接口的安全。为应对移动App的安全风险,需要做好以下几个方面的工作。1. 移动App的检测审核机制移动App商店应建立并完善对移动App的检测和审核机制,加强对应用软件的安全检测,提高应用软件的安全准入门槛。政府层面需要对移动App市场进行规范管理,并由移动App商店承担应用软件的审核和发布的安全责任。对于移动App的检测而言,检测的内容主要包括:恶意代码检测、内容过滤和权限使用检测。8.1.2 移动App的安全对策 2. 移动App的签名认证机制建立移动App数字签名认证机制是实现软件可追溯体系和移动互联网可信应用环境的重要技术手段。目前,大多数第三方认证技术采用PKI认证体系来保证认证过

5、程的安全可靠。移动终端的操作系统通过对安装的应用软件进行签名情况验证,识别移动App的开发者、软件发布渠道以及软件检测机构等信息,为用户下载、安装可信的应用软件提供指引。而且,移动App生命周期的各个环节都存在认证需求。8.1.2 移动App的安全对策 3. 构建移动App安全检测的基础设施构建面向移动App安全检测的基础设施,主要包括:移动安全客户端、恶意软件研判系统和漏洞库。在移动终端安装了安全客户端之后,恶意软件研判系统会采集客户端的用户投诉并获取疑似样本,然后通过对疑似样本的自动化分析,并与国家权威机构合作完成恶意软件的审核认定工作。最终实现基于大数据的检测分析、安全风险感知和主动防御

6、。4. 构建移动App架构下的云服务安全体系构建移动App架构下的云服务安全体系,就是从数据保护、用户隐私、内容安全、运行环境等方面入手,建立基于云端服务的安全体系。强化云端服务的安全管理,确保信息加密、信息隔离,防止信息滥用和隐私泄露;强化云端服务的安全防护、应用入侵检测、漏洞扫描等安全防护技术。 8.2.1 移动平台自身的安全机制 8.2.2 移动平台应用软件分析技术8.2 8.2 移动平台安全机制和分析技术移动平台安全机制和分析技术移动平台不同于移动开发平台,也不同于移动应用平台,它是涵盖移动App开发、管理、安全、整合等全生命周期的统一平台。移动平台从技术的角度出发,需要通过对应用环境

7、的资源、威胁和脆弱性进行分析,然后采取相应的安全机制进行安全保护。移动平台自身的安全机制通过以下内容来保障。1. APN技术全称为Anywhere Private Network,是一种网络接入技术,它决定了移动平台通过哪种接入方式来访问网络。在移动安全接入平台中,移动终端被强制要求通过企业APN来访问系统。终端用户需要经过申请和准入审核才可接入网络,从而使移动终端对企业内网的访问是完全可控的。2. 设备绑定UDID是用于区分设备GUID的唯一编码。由于操作系统厂商的限制,很难获取设备的物理编码(IMEI)。因此,移动安全接入平台根据一定的编码规则及设备的物理特性为每一台设备生成一个唯一的UD

8、ID码,用于识别移动终端。同时将该编码与特定用户进行绑定。8.2.1 移动平台自身的安全机制移动安全接入平台支持对入网设备的手机号(MDN)和UDID进行绑定。针对首次入网的设备,系统会要求用户对该设备进行绑定。一旦设备绑定成功,该用户的注册账号和该设备的UDID将绑定到一起,任一信息不符的用户都将无法登录平台,这样可以最大限度地保证设备不被挟持和滥用,降低资产脆弱性。3. 身份认证用户在登录内网应用之前,需要进行身份认证。平台的措施包括用户密码和动态口令。4. 信息传输加密对于在网络中传输的数据,移动安全接入平台也提供了相应的安全加密措施,包括客户端与平台之间的各种消息报文、交易信息和表单数

9、据等。对于这些高敏感数据,移动安全接入平台提供了一种“非对称加密+对称加密”的符合网络传输加密机制。8.2.1 移动平台自身的安全机制软件分析通常是另外一个更大的软件生命周期活动的一部分,也是实施这些过程的一个重要环节。(1)在开发阶段,对正在开发的软件进行分析,以快速地开发出高质量的软件。(2)在维护阶段,对已经开发、部署、运行的软件进行分析,以准确地理解软件,有效地维护软件,从而使软件能够提供更好的服务。(3)在复用阶段,对以前开发的软件进行分析,以复用其中有价值的成分。8.2.2 移动平台应用软件分析技术根据分析过程中“是否需要运行软件”,将软件分析技术划分为两类:静态分析技术和动态分析

10、技术。8.2.2 移动平台应用软件分析技术1. 静态分析技术静态分析是指在不运行软件的前提下进行的软件分析过程。静态分析的对象一般是程序源代码,也可以是目标代码,甚至可以是设计模型等形态的制品。静态代码分析技术可以应用于以下几个过程。(1)查找并消除软件存在的缺陷(2)程序转换,实施编译、优化等过程(3)后期的演化与维护(4)动态分析8.2.2 移动平台应用软件分析技术根据各种分析方法使用的广泛程度以及分析方法的相近性,代码静态分析主要划分为4类:基本分析、基于形式化方法的分析、指向分析与其他辅助分析。8.2.2 移动平台应用软件分析技术2. 动态分析技术动态分析是通过运行具体程序并获取程序的

11、输出或者内部状态等信息来验证和发现软件性质的过程。与静态分析相比,动态分析具有以下特点。(1)需要运行系统,通常需要向系统中输入具体数据。(2)由于有具体的数据,因此分析结果更精确,但也只是对特定的输入情况精确,对于其他的输入情况则不能保证。动态分析又可以划分为运行信息的获得时机和获得途径两个方面。在信息获得时机上,根据软件是否已经上线投入使用,可以将软件的动态分析分为两类:离线动态测试/验证和在线监测。8.2.2 移动平台应用软件分析技术 8.3.1 移动App的安全检测技术 8.3.2 漏洞扫描技术8.3 8.3 移动移动AppApp的安全检测的安全检测目前,移动App的安全检测技术主要包

12、括:静态检测、动态检测、人工渗透分析。1. 静态检测利用apktool、dex2jar等静态工具对应用软件进行反编译扫描分析,将搜索到的有安全隐患的代码进行摘录并存入检测平台后台,为后续的安全检测提供数据依据。2. 动态检测通过沙箱模型、虚拟机等方式对应用软件的安装和运行过程进行行为监测分析,从外界观察应用程序的执行过程,进而记录应用程序所表现出来的恶意行为。3. 人工渗透分析由资深测试人员对移动App进行检测分析,通过人工安装、运行和试用来圈定检测重点,综合运用移动App渗透测试技术,在涵盖基础检测和深度检测的同时,兼顾侧重点检测,为移动App提供更全面、更专业、更贴合实际的分析服务。8.3

13、.1 移动App的安全检测技术漏洞扫描是对移动App进行安全检测的主要手段之一。目前,漏洞扫描包括以下4种检测技术。(1)基于应用软件的检测技术。它采用被动的、非破坏性的方法来检查应用软件包的设置,寻找安全漏洞。(2)基于主机的检测技术。它采用被动的、非破坏性的方法对系统进行检测。通常,它会涉及系统的内核、文件的属性、操作系统的补丁等部分,同时它还采用了口令解密、剔除简单口令等技术。因此,这种技术可以非常准确地定位系统的问题,发现系统漏洞。它的缺点是与平台相关,升级过程复杂。(3)基于目标的漏洞检测技术。它采用被动的、非破坏性的方法检查系统属性和文件属性。(4)基于网络的检测技术。它采用积极的

14、、非破坏性的方法来检验系统是否有可能被攻击或崩溃。它使用一系列的脚本来模拟针对系统的攻击行为,然后对结果进行分析,而且它还针对已知的网络漏洞进行检验。8.3.2 漏洞扫描技术 8.4.1 移动App安全防护策略 8.4.2 移动App加固技术8.4 8.4 移动移动AppApp的安全防护的安全防护在面对移动App的安全问题威胁时,需要确定具体的安全防护策略,即我们需要采取怎样的防护措施来应对移动App的安全威胁。在实际中,移动App的安全防护策略可以分为以下3类。1. 安全检测通过自动化检测和人工渗透测试对移动App进行全面检测,挖掘出系统源码中可能存在的漏洞和安全问题,帮助开发者了解并提高其

15、开发应用程序的安全性,有效预防可能存在的安全风险。8.4.1 移动App安全防护策略2. 安全加固安全加固是针对移动App普遍存在的破解、篡改、盗版、调试、数据窃取等各类安全风险而提供的一种有效的安全防护手段,其核心加固技术主要包括防逆向、防篡改、防调试和防窃取4个方面。安全加固既可以保护App自身安全,也能保护App的运行环境和业务场景。3. 安全监测安全监测是通过对全网各种渠道的各类App进行盗版仿冒、漏洞分布、恶意违规等方面的检测,分析收集到的数据,精确识别出有问题的应用程序,并发出预警提示,同时将结果反馈给检测和加固环节,从而形成安全防护闭环。8.4.1 移动App安全防护策略移动Ap

16、p安全加固是一项面向互联网企业和个人开发者的在线加密服务,目前支持Android系统的应用软件加密。用户只需提供APK软件包即可快速集成防静态工具分析、DEX函数加密、SO文件加壳、内存保护、反调试、防二次打包等多项安全功能,而且支持对金融、手机游戏、电商、社交等多个行业的App做加固保护,避免核心代码被反编译、请求协议被伪造以及APK软件包被植入恶意代码等安全问题。移动App加固主要从技术层面对DEX文件、SO文件、资源文件等进行保护,为应对不断出现的新型黑客攻击手段,加固技术也经历了几代技术上的更新换代。8.4.2 移动App加固技术1. 第一代保护技术代码混淆保护技术Android程序编

17、译后的字节码包含了很多源代码的信息,会带有许多语义信息,很容易被反编译成为Java源代码。为了防止这种现象发生,需要对Java字节码进行混淆操作,采用的方法包括名称混淆、字符串加密、反射替换、日志清除、花指令等。这一保护技术在一定程度上保护了程序的逻辑,但保护强度有限,无法对抗静态分析、动态调试和反射调用冲突。8.4.2 移动App加固技术2. 第二代保护技术DEX文件整体加固保护技术这一技术是基于类加载的方式实现的,整个加固过程涉及3个程序,即源程序、加壳程序、解壳程序。基本原理是对DEX文件进行整体加密后存放在APK的资源中,运行时将加密后的DEX文件在内存中进行解密,并由Dalvik虚拟

18、机来动态加载执行。DEX文件整体加固的目的是为了增加静态分析的难度,可以有效应对静态分析、二次打包等攻击。然而,这一技术无法完全对抗动态调试、内存dump、自动化脱壳工具、定制化虚拟机等攻击。8.4.2 移动App加固技术3.第三保护技术DEX函数抽取加密保护技术针对DEX文件整体加固可以被内存dump的弱点,第三代保护技术对代码中的每个方法进行抽取并单独加密,基本原理是利用Java虚拟机执行方法的机制来实现。这一机制将解密操作延迟到方法执行之前才开始加载该方法的代码,同时解密后的代码在内存中是不连续存放的。4. 第四代加固保护技术DEX文件混合加密保护技术混淆加密主要是为了隐藏DEX文件中的

19、关键代码。代码类型按隐藏力度由轻到重可分为:静态变量、函数的重复定义、函数、类。混淆后的DEX文件依旧可以通过dex2jar、jade等工具反编译成Java源代码,但里面的关键代码无法看到。相比于前几代加固技术,第四代加固技术的加密强度有了很大的提高,能够对抗大部分定制化脱壳机,安全性和兼容性达到了比较好的平衡。但是,第四代加固技术无法完全对抗基于方法重组的脱壳机,存在被破解的风险。8.4.2 移动App加固技术5. 第五代加固保护技术VMP保护技术虚拟机(VMP)保护技术是当下最前沿的移动App的安全加固技术之一。虚拟机保护技术是被动型软件保护技术的一个分支,根据应用层级的不同,它可以分为硬

20、件抽象层虚拟机、操作系统层虚拟机和软件应用层虚拟机。用于保护软件安全的虚拟机属于软件应用层虚拟机,是对被保护的目标程序的核心代码进行“编译”。在这里,编译的对象不再是源文件,而是二进制文件,是由编译器生成的本机代码(Native Code)转换成效果等价的byte-code,然后为软件添加虚拟机解释引擎。当用户最终使用软件时,虚拟机解释引擎会读取byte-code,并进行解释执行,从而实现用户体验完全一致的执行效果。8.4.2 移动App加固技术本章小结移动App作为用户与移动互联网进行交互的重要方式,移动App的安全与否直接关系到用户的个人隐私和数据安全,也会直接影响到移动互联网的健康稳定发

21、展。移动App面临的安全风险主要有盗版仿冒、诱骗欺诈、恶意软件、滥用权限、窃取信息和信息劫持等。为了应对移动App所面临的这些安全威胁,需要确定具体的安全防护策略,可以通过安全检测、安全加固和安全监测3个方面来进行具体落实。目前,移动App的安全检测技术主要包括静态检测、动态检测和人工渗透分析。同时,漏洞扫描也是一种对移动App进行安全检测的重要技术手段。移动App加固主要是从技术层面对系统文件和资源文件等进行保护,为应对不断出现的新型攻击方式,软件加固技术经历了5次技术革新,即代码混淆保护技术、DEX文件整体加密保护技术、DEX函数抽取加密保护技术、DEX文件混合加密保护技术和虚拟机保护技术。在实际应用中,需要综合使用这些安全技术,才能全面地应对各种安全威胁和挑战。习题1. 请举例说明在实际应用中,移动App面临哪些安全风险。2. 为应对安全风险,移动App需要采取哪些安全防护策略?3. 如何保障移动平台自身的安全?4. 移动App的安全检测技术主要有哪些?5. 请简述移动App加固的技术原理,并列举已有的几项加固技术。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号