孙 侃
本文主要对移动应用APP 全生命周期的设计、开发、测试、上线、运维阶段进行研究,并在此基础上提出全生命周期的安全保障措施,主要包括安全开发规范、安全SDK 、源代码审计、安全检测、安全加固、安全分发、渠道监测、智能更新。移动应用 APP 全生命周期 安全移动应用APP 是applicati
on 的缩写,通常专指手机上的应用软件,或称手机客户端。苹果公司的APP store 开创了手机软件业发展的新篇章,使得第三方软件的提供者参与其中的积极性空前高涨。随着智能手机越发普及、用户越发依赖手机软件商店,APP 开发的市场需求与发展前景也逐渐蓬勃,APP 开发已变为红海市场。移动应用便捷了每个人的生活,移动应用让企业都开始了移动信息化进程。互联网向来是一把双刃剑,用户在享受便捷服务的同时,也承担着相应的安全风险。首先,需要对智能手机应用程序、内置软件进行评估和检查;其次,是要将第三方平台纳入管理,成立要备案,运行要监管。并且,平台本身的运营也要有所要求,尤其对个人应用开发者要纳入管理体系,如做实名认证等。
随着移动互联网的发展,智能终端的普及,移动应用APP 成为了移动互联网的主要入口。截至2017年6月,我国手机网民规模达7.24亿,较2016年底增加2830万人,网民使用手机上网比例提升至96.3%,已经超过了传统互联网。据调查,有75% 的用户手机上安装了20个以上的移动来便利的同时,也带来了新的安全威胁,移动应用APP 导致的数据泄露、财产损失等事件常有发生。移动应用APP 面临的安全问题日益严重,需要企业与应用开发者引起足够的重视,并从移动应用APP 的全生命周期进行安全防护。
移动应用APP 的安全包括APP 客户端本身的安全和服
管晓杰和赵奕欢>大力胶务器的安全,APP 本身的安全主要包括APP 的业务逻辑安限号开车怎么处罚
全、程序代码安全、以及数据安全。服务器端的安全主要考虑的是与APP 客户端的数据交互采用HTTP 协议,可能存在Web 安全漏洞。研究显示,Android 平台移动应用APP ,65%至少有1个高危漏洞,88%至少有1个中危漏洞,96%至少有1个低危漏洞,平均每个APP 有7.32个漏洞。相对的iOS 平台
陈坤为什么叫厂花移动应用APP 在《第5次应用安全年度现状安全报告》中明确提及:“虽然iOS 操作系统通常被认为相比Android 更安全,但在研究中,iOS 平台的APP 却比Android 平台的APP 有着更多漏洞。”
每个阶段都需要采取相应的安全防护措施,保障移动应用APP 的安全。如图2所示。
1. 设计开发阶段
企业应当制定统一的移动应用APP 安全开发规范,移动应用APP 的开发人员应严格遵守开发规范的要求,遵从安全编码原则。程序安全架构的设计和安全功能的设计充分考虑身份鉴别和认证、访问控制和授权、数据安全传输、信息机密性和完整性保护、日志与审计等安全需求以及国家、地区、行业等法律法规的强制性要求,为程序的开发奠定安全基础。在移动应用APP 代码开发的过程中,可根据业务需要使用安全SDK 模块,将多种安全防护能力的SDK 安全代码植入到移动应用APP ,从开发阶段进行安全防护。目前,比较成熟的安全SDK 模块具备的安全功能如下: z 清场SDK 能够在程序运行前对运行终端系统进行扫描清场,在程序运行中对运行环境进行实时监测及异常处理,确保程序运行环境安全,只支持Android 平台; z 防劫持SDK 能够通过判断当前在前台显示的进程是否是自己的应用,防止应用界面被恶意程序仿冒实施钓鱼攻击,只支持Android 平台; z 防截屏SDK 能够修改系统底层窗口属性,使系统截屏功能失效,防止黑客通过截屏方式获取用户信息,造成信息泄露,只支持Android 平台; z 安全键盘SDK 能够在自绘随机键盘的基础上对输入Android 平台。2. 测试阶段
梦见爬山艰难移动应用APP 开发完成后需要进行严格的测试,对APP 客户端、信息传输层和服务器端进行全方位的安全能力检测,检测内容包括客户端安全检测、业务流程检测、敏感数据泄露检测、数据通信安全检测、服务端渗透安全检测。
(1)客户端安全检测移动应用APP 开发完成后需要对APP 本身的安全性进行安全检测,通常采用静态检测与动态检测相结合的方式。检测内容包括进程注入防护、拒绝服务攻击防护、二次打包防护、本地SQL 注入防护、本地数据篡改防护、
WEBVIEW 代码执行防护、界面劫持及IO 安全防护、组件导出防护、密码劫持防护、配置文件防护、动态调试防护等多种检测项。(2)业务流程检测
测试人员需要对移动应用APP 内部的业务逻辑进行安全检测,主要包括用户注册逻辑、用户登录逻辑、密码回逻辑、业务操作逻辑、交易逻辑等,确保移动应用APP
逻辑安全。(3)敏感信息泄露检测对移动应用APP 本地文件敏感信息泄露、运行中内存
信息泄露和日志打印导致的信息泄露进行检测,保障敏感数据安全。(4)数据通信安全性检测
对移动应用APP 客户端与服务端的通信协议的加密机
制,服务端证书校验机制,中间人攻击防护能力进行检测。)服务端渗透安全检测服务端渗透测试通
过结合的方式进行安全检测,检测内容主要包括测、文件上传检测、任意文件下载/遍历检测、敏感信息泄露检测、未收取访问/权限绕过检测等WEB 漏洞相关的安全检测。除了常规的安全检测之外,还应该建立源代码安全检测机制,采用自动化检测工具与人工深度检测相结合的方式,及时发现代码中隐藏的漏洞与逻辑错误,减少因开发人员有意或无意造成的安全隐患。移动应用APP 在测试阶段发现的安全问题应及时修复,待修复完成后复测,直到通过所有的安全检测项后才能进行上线阶段,对移动应用APP 进行严格的安全把控。3. 上线阶段企业移动应用APP 正式上线前需要进行安全加固,保障APP 自身的安全,防止上线后被反编译、二次打包。Android 平台常见的加固手段有DEX 加密、SO 加壳、反调试。(1)DEX 加密对移动应用所有DEX 代码进行完整加密,并将核心代码加密替换,在移动应用启动时选择合适时机进行内存解密后并依据相关业务流程继续执行。所有被加密的代码均在内存自行解密,手机客户端不残留任何明文代码文件,即任何被编译优化后的明文文件,具备高强度加密的安全特性。
DEX 完整加密保护技术可有效防止黑客静态反编译代码,防止被第三方工具破解,诸如:baksmali 、apktool 、dex2jar 、APK 改之理等工具,防止黑客通过反编译等手段获取用户真实代码。完整加密保护技术是加固保护整体方案的第一道防线,是从明文到密文,磁盘到内存加密保护时的桥梁。(2)SO 加壳SO 文件融合技术将两个或多个SO 文件合并为一个SO 文件,使安全加固壳以SO 文件的形式融合到客户移动应用的SO 文件中。在加固后的移动应用中,以后台进程的形式 z 防止进程/线
程附加:主要是防止黑客通过附加手段实现动态跟踪调试,如果反调试模块检测到被保护APK 被附加则程序退出。在反调试程序中,全面检测运行中
APK 的各项进程或线程的状态,根据状态判断是否被附加,若被附加即程序及时退出; z 防止进程注入:主要是防止进程注入,反调试模块实时搜索内存数据,如果检测到被保护APK 的内存空间非
法访问则程序退出。在反调试程序中,特定模块实时监测APK 的内存空间,如果被保护的内存空间被其他进程读取、写入,则反调试程序将会监测到,并做出相应处理。
采用DEX 加密技术进行类多重保护后,所有函数代码
记忆宫殿记忆法都被加密异化无法解读,有效防止反编译。采用SO 加壳技
术进行壳融合后,用IDA 反编译SO 文件得到的信息完全无法解读,有效保护SO 文件的安全性。采用反调试技术可以防止对壳启动进行调试、防止ZjDroid 插件从内存dump
DEX 文件、防止内存篡改、多进程守护APK 主进程、防止进程/线程附加调试、防止进程注入、防止调试器调试、防止hook 攻击等多种安全风险,有效保护程序安全。
iOS 系统为闭源系统,不支持加壳等保护措施,可以利用安全编译器对代码进行差分、乱序、扁平化
、函数混淆等技术处理实现对iOS 平台的移动应用APP 的安全加固。经过安全加固后,移动应用APP 可以正式对外发布,
iOS 应用发布渠道为APP Store ,Android 应用的分发渠道众
多,各类应用市场已经达到数百家,为保障企业移动应用APP 的分发安全,建议建立专属的企业应用市场,通过安全分发技术实现多渠道打包分发,实现企业移动应用APP 的集中管控与快速推广。4. 运维阶段企业移动应用APP 正式上线发布后,企业需要对各个应用市场进行持续性的监控,全面掌握企业移动应用APP 的安全状况与运营状况,有效规避各类潜在的风险。渠道监控的流程如图5所示。通过软件多层智能分析匹配算法,精确判别盗版应
用,并对盗版应用和正版应用进行差异化分析,为企业要
求下架盗版应用提供有力证据。通过对市场类似产品进行检索,并统计竞争产品的分发情况,如下载量、分发渠道、用户反馈等内容,及时掌握竞争对手的动向。
通过监控应用市场的评论,快速定位APP 相关的负面消息,及时响应,进行舆情控制。移动应用APP 智能更新采用最新类抽取安全技术,有效地防止了APP 的二次打包现象,充分保障APP 的发布安全;采用更新包预加载技术对更新流量进行分流,可实现APP 客户端分散下载,统一更新,保障更新可控;支持增量更新、全量更新、安装更新方式,分别应对小版本迭代、资源文件更新少的大版本迭代、核心加载器改变的大版本APP 分发成本。
三 小结
通过研究如何在移动应用APP 全生命周期进行安全管理工作,对移动应用设计开发、测试、上线和运维阶段可采取的安全措施进行了详细分析,本文中提到的防护手段
已经在企业实际应用中得到了验证,能够有效地保护移动
应用APP ,可以为企业移动应用APP 全生命周期的安全管理提供有价值的参考。
参考文献[1] 钟雪慧. APP 应用程序安全治理[J]. 网络安全技术与应用, 2016, (8): 59页.[2] GBT 22239-2008, 信息安全技术 信息系统安全等级保护基本要求[S]. [3] 2017年度移动App 安全漏洞与数据泄露现状报告[R]. FreeBuf 研究院, 2017.(上接第139页)
根据节目形式,我们在现场观众席上架设了6路立体声话筒,拾取演出现场的声场环境和观众与艺人的互动气氛。首先吊装了一对Neumann 的KM183组成的AB 制式的立体声拾音话筒,用来拾取演播室的声场环境。再用两支SCHOEPS ORTF MSTC64U ,分别用来拾取观众的热烈反应和乐队的立体声信号。
此外,话筒尽量躲避主扩声覆盖区域,否
则会导致声源混杂,音质被破坏,对声音信号
产生极大的干扰。为了解决这一难题,我们在
观众区域不同方位补充了6支SENNHEISER MKH416话筒,分布在观众席内,这些正面的
话筒和强指向话筒的混合使用,既避开了扩声
信号的干扰,又能够较为清晰地拾取现场空间
信号中具有颗粒感的声音,突出互动的细节,
为后期制作提供了高质量的声轨素材(如图6)。
六 总结
此次春晚的录制秉承了“同心匠心”的理念,全台各部门精诚合作。以导演团队的精心策划与编排为前提,以制作团队严谨与周密的技术保障和技术引领为支撑,此次春晚录制得以顺利完成,在春节期间成为吉林荧屏的最大亮点,绽放出了别样的光彩。
发布评论