移动互联网安全课件第8章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2.2 移动平台应用软件分析技术
根据各种分析方法使用的广泛程度以及分析方法的相近性,代码静态分析主要 划分为4类:基本分析、基于形式化方法的分析、指向分析与其他辅助分析。
8.2.2 移动平台应用软件分析技术
2. 动态分析技术 动态分析是通过运行具体程序并获取程序的输出或者内部状态等信息来验证和 发现软件性质的过程。与静态分析相比,动态分析具有以下特点。 (1)需要运行系统,通常需要向系统中输入具体数据。 (2)由于有具体的数据,因此分析结果更精确,但也只是对特定的输入情况 精确,对于其他的输入情况则不能保证。
8.2.2 移动平台应用软件分析技术
根据分析过程中“是否需要运行软件”,将软件分析技术划分为两类:静态分 析技术和动态分析技术。
8.2.2 移动平台应用软件分析技术
1. 静态分析技术 静态分析是指在不运行软件的前提下进行的软件分析过程。静态分析的对象一 般是程序源代码,也可以是目标代码,甚至可以是设计模型等形态的制品。静 态代码分析技术可以应用于以下几个过程。 (1)查找并消除软件存在的缺陷 (2)程序转换,实施编译、优化等过程 (3)后期的演化与维护 (4)动态分析
8.4 移动App的安全防护
➢ 8.4.1 移动App安全防护策略 ➢ 8.4.2 移动App加固技术
8.4.1 移动App安全防护策略
在面对移动App的安全问题威胁时,需要确定具体的安全防护策略,即我们需要 采取怎样的防护措施来应对移动App的安全威胁。在实际中,移动App的安全防 护策略可以分为以下3类。
8.1.2 移动App的安全对策
移动App安全不仅涉及数据安全,还包括移动终 端的操作系统、硬件及接口的安全。为应对移动 App的安全风险,需要做好以下几个方面的工作。
1. 移动App的检测审核机制 移动App商店应建立并完善对移动App的检测和 审核机制,加强对应用软件的安全检测,提高 应用软件的安全准入门槛。政府层面需要对移 动App市场进行规范管理,并由移动App商店承 担应用软件的审核和发布的安全责任。
8.2.2 移动平台应用软件分析技术
软件分析通常是另外一个更大的软件生命周期活动的一部分,也是实施这些过 程的一个重要环节。 (1)在开发阶段,对正在开发的软件进行分析,以快速地开发出高质量的软 件。 (2)在维护阶段,对已经开发、部署、运行的软件进行分析,以准确地理解 软件,有效地维护软件,从而使软件能够提供更好的服务。 (3)在复用阶段,对以前开发的软件进行分析,以复用其中有价值的成分。
8.3.2 漏洞扫描技术
漏洞扫描是对移动App进行安全检测的主要手段之一。目前,漏洞扫描包括以下 4种检测技术。 (1)基于应用软件的检测技术。它采用被动的、非破坏性的方法来检查应用软 件包的设置,寻找安全漏洞。 (2)基于主机的检测技术。它采用被动的、非破坏性的方法对系统进行检测。 通常,它会涉及系统的内核、文件的属性、操作系统的补丁等部分,同时它还 采用了口令解密、剔除简单口令等技术。因此,这种技术可以非常准确地定位 系统的问题,发现系统漏洞。它的缺点是与平台相关,升级过程复杂。 (3)基于目标的漏洞检测技术。它采用被动的、非破坏性的方法检查系统属性 和文件属性。 (4)基于网络的检测技术。它采用积极的、非破坏性的方法来检验系统是否有 可能被攻击或崩溃。它使用一系列的脚本来模拟针对系统的攻击行为,然后对 结果进行分析,而且它还针对已知的网络漏洞进行检验。
8.2 移动平台安全机制和分析技术
➢ 8.2.1 移动平台自身的安全机制 ➢ 8.2.2 移动平台应用软件分析技术
8.2.1 移动平台自身的安全机制
移动平台不同于移动开发平台,也不同于移动应用平台,它是涵盖移动App开 发、管理、安全、整合等全生命周期的统一平台。移动平台从技术的角度出发, 需要通过对应用环境的资源、威胁和脆弱性进行分析,然后采取相应的安全机 制进行安全保护。移动平台自身的安全机制通过以下内容来保障。 1. APN技术 全称为Anywhere Private Network,是一种网络接入技术,它决定了移动平台通 过哪种接入方式来访问网络。在移动安全接入平台中,移动终端被强制要求通 过企业APN来访问系统。终端用户需要经过申请和准入审核才可接入网络,从 而使移动终端对企业内网的访问是完全可控的。 2. 设备绑定 UDID是用于区分设备GUID的唯一编码。由于操作系统厂商的限制,很难获取 设备的物理编码(IMEI)。因此,移动安全接入平台根据一定的编码规则及设备 的物理特性为每一台设备生成一个唯一的UDID码,用于识别移动终端。同时 将该编码与特定用户进行绑定。
8.1.1 安全风险分析
3. 权限滥用和隐私窃取 通过声明过多的应用权限,移动App可以对用户本地文件、短信接口、蓝 牙设备等进行操作,如发送短信、连接网络,并在用户不知情的状态下窃 取用户的个人隐私,这些都会威胁到用户的隐私和人身财产安全。同时, 移动互联网与云计算技术的结合,也通过移动App引出了一系列新的安全 问题:云存储服务使得信息集中存储,信息及隐私泄露问题更加严重;云 应用业务使得信息收集和分析的规模更加巨大;通过对收集到的用户信息 进行大数据分析,不仅可能会导致用户的信息和隐私泄露,甚至可能危及 国家的安全利益。 4. 操作系统安全 操作系统安全是指由于移动终端的操作系统存在漏洞而被恶意代码利用所 产生的安全问题。
移动App加固主要从技术层面对DEX文件、SO文件、资源文件等进行保护,为 应对不断出现的新型黑客攻击手段,加固技术也经历了几代技术上的更新换代。
8.4.2 移动App加固技术
1. 第一代保护技术——代码混淆保护技术 Android程序编译后的字节码包含了很多源代码的信息,会带有许多语义信息, 很容易被反编译成Байду номын сангаасJava源代码。为了防止这种现象发生,需要对Java字节码 进行混淆操作,采用的方法包括名称混淆、字符串加密、反射替换、日志清 除、花指令等。这一保护技术在一定程度上保护了程序的逻辑,但保护强度 有限,无法对抗静态分析、动态调试和反射调用冲突。
第8章 移动应用软件安全
8.1 移动App安全 8.2 移动平台安全机制和 分析技术
8.3 移动App的安全检测
8.4 移动App的安全防护 8.5 本章小结 8.6 习题
8.1 移动App安全
➢ 8.1.1 移动App安全风险分析 ➢ 8.1.2 移动App的安全对策
8.1.1 移动App安全风险分析
8.2.1 移动平台自身的安全机制
移动安全接入平台支持对入网设备的手机号(MDN)和UDID进行绑定。针对首 次入网的设备,系统会要求用户对该设备进行绑定。一旦设备绑定成功,该用 户的注册账号和该设备的UDID将绑定到一起,任一信息不符的用户都将无法 登录平台,这样可以最大限度地保证设备不被挟持和滥用,降低资产脆弱性。 3. 身份认证 用户在登录内网应用之前,需要进行身份认证。平台的措施包括用户密码和动 态口令。 4. 信息传输加密 对于在网络中传输的数据,移动安全接入平台也提供了相应的安全加密措施, 包括客户端与平台之间的各种消息报文、交易信息和表单数据等。对于这些高 敏感数据,移动安全接入平台提供了一种“非对称加密+对称加密”的符合网 络传输加密机制。
1. 安全检测 通过自动化检测和人工渗透测试对移动App进行全面检测,挖掘出系统源码中可 能存在的漏洞和安全问题,帮助开发者了解并提高其开发应用程序的安全性, 有效预防可能存在的安全风险。
8.4.1 移动App安全防护策略
2. 安全加固 安全加固是针对移动App普遍存在的破解、篡改、盗版、调试、数据窃取等各类 安全风险而提供的一种有效的安全防护手段,其核心加固技术主要包括防逆向、 防篡改、防调试和防窃取4个方面。安全加固既可以保护App自身安全,也能保 护App的运行环境和业务场景。
对于移动App的检测而言,检测的内容主要包 括:恶意代码检测、内容过滤和权限使用检测。
8.1.2 移动App的安全对策
2. 移动App的签名认证机制 建立移动App数字签名认证机制是实现软件可追溯体系和移动互联网可信应 用环境的重要技术手段。目前,大多数第三方认证技术采用PKI认证体系来 保证认证过程的安全可靠。移动终端的操作系统通过对安装的应用软件进行 签名情况验证,识别移动App的开发者、软件发布渠道以及软件检测机构等 信息,为用户下载、安装可信的应用软件提供指引。而且,移动App生命周 期的各个环节都存在认证需求。
目前,移动App的安全检测技术主要包括:静态检测、动态检测、人工渗透分析。 1. 静态检测 利用apktool、dex2jar等静态工具对应用软件进行反编译扫描分析,将搜索到的 有安全隐患的代码进行摘录并存入检测平台后台,为后续的安全检测提供数据 依据。 2. 动态检测 通过沙箱模型、虚拟机等方式对应用软件的安装和运行过程进行行为监测分析, 从外界观察应用程序的执行过程,进而记录应用程序所表现出来的恶意行为。 3. 人工渗透分析 由资深测试人员对移动App进行检测分析,通过人工安装、运行和试用来圈定检 测重点,综合运用移动App渗透测试技术,在涵盖基础检测和深度检测的同时, 兼顾侧重点检测,为移动App提供更全面、更专业、更贴合实际的分析服务。
3. 安全监测 安全监测是通过对全网各种渠道的各类App进行盗版仿冒、漏洞分布、恶意违规 等方面的检测,分析收集到的数据,精确识别出有问题的应用程序,并发出预 警提示,同时将结果反馈给检测和加固环节,从而形成安全防护闭环。
8.4.2 移动App加固技术
移动App安全加固是一项面向互联网企业和个人开发者的在线加密服务,目前支 持Android系统的应用软件加密。用户只需提供APK软件包即可快速集成防静态 工具分析、DEX函数加密、SO文件加壳、内存保护、反调试、防二次打包等多 项安全功能,而且支持对金融、手机游戏、电商、社交等多个行业的App做加固 保护,避免核心代码被反编译、请求协议被伪造以及APK软件包被植入恶意代 码等安全问题。
移动App面临的安全威胁已成为制约移动App发展的主要因素,常见的安全 威胁可以分为以下几类。 1.盗版仿冒:不法分子通过逆向工程等手段复制正版软件,并使用与正版 软件相似的图标或名称,以达到仿冒的目的。它们通过蹭热点来传播,引 诱用户下载安装,不仅会造成用户通信录和短信内容等个人隐私信息的泄 露,还有恶意扣费的隐患。 2.恶意软件:由于大量的移动App商店在应用软件的安全检测、准入审核等 环节存在安全漏洞,不法分子通过对应用软件的逆向分析,可以发现App 软件中的核心算法或敏感信息,并获知程序的运行逻辑和流程等信息,从 而绕过用户应用中心使用的认证和加密手段,插入恶意代码,一旦用户下 载安装并使用这款App,可能就会遭受广告弹窗、业务资料被非法访问、 隐私泄露、远程控制和诱骗欺诈等安全风险。
4. 构建移动App架构下的云服务安全体系 构建移动App架构下的云服务安全体系,就是从数据保护、用户隐私、内容 安全、运行环境等方面入手,建立基于云端服务的安全体系。强化云端服务 的安全管理,确保信息加密、信息隔离,防止信息滥用和隐私泄露;强化云 端服务的安全防护、应用入侵检测、漏洞扫描等安全防护技术。
8.1.2 移动App的安全对策
3. 构建移动App安全检测的基础设施 构建面向移动App安全检测的基础设施,主要包括:移动安全客户端、恶意 软件研判系统和漏洞库。在移动终端安装了安全客户端之后,恶意软件研判 系统会采集客户端的用户投诉并获取疑似样本,然后通过对疑似样本的自动 化分析,并与国家权威机构合作完成恶意软件的审核认定工作。最终实现基 于大数据的检测分析、安全风险感知和主动防御。
动态分析又可以划分为运行信息的获得 时机和获得途径两个方面。在信息获得 时机上,根据软件是否已经上线投入使 用,可以将软件的动态分析分为两类: 离线动态测试/验证和在线监测。
8.3 移动App的安全检测
➢ 8.3.1 移动App的安全检测技术 ➢ 8.3.2 漏洞扫描技术
8.3.1 移动App的安全检测技术