移动应用安全关键技术研究和应用

2020-04-23 01:23:16吴英姿肖荣
电子技术与软件工程 2020年5期
关键词:管控监控设备

吴英姿 肖荣

(1.杭州电子科技大学 浙江省杭州市 310018 2.上海理想信息产业(集团)有限公司 上海市 201315)

随着移动互联网的飞速发展,移动业务作为互联网+时代最主要的载体,正越来越多的被用于承载政府和企业的关键业务和核心应用,移动业务所带来的安全和保障问题也越来越突出,给政府、企业的在移动互联网背景下的信息安全带来巨大的风险。

移动应用安全[1]可以分为三个方面的内容:移动应用的安全保护、移动应用运行监控、移动应用的承载设备的安全管控[2]。移动应用安全问题非常突出,恶意破解、源码被逆向分析、恶意代码注入、数据泄漏等,是移动应用面临的最大威胁;移动应用在运行时经常发生闪退、超时、慢交互、耗电、流量大等问题,故障和性能是移动应用面临的主要问题;作为移动应用的载体,移动设备由于其随身性和移动性,丢失、非法使用等,其自身的安全性也需要得到有效的管理。

传统的安全管理主要集中于网络的防护,在面对移动设备和移动应用时,由于缺乏体系化的防范手段,其安全风险经常受到巨大的挑战。移动信息化领域现有防控体系的局限性,推动了企业用户对移动应用安全管理的需求。在移动互联网背景下,设备的移动性、应用的多源性、网络的多态性,使得原有的以软件防护为主的安全体系,需要不断完善优化,构建面向移动应用、运行、设备,以“防护”、“感知”、“控制”相结合的多维安全管控体系是十分必要的。

1 移动应用安全相关的主要技术

1.1 移动应用安全保护技术

移动应用需要通过安全加固,对关键代码、核心业务逻辑进行加密保护,避免被逆向工具分析获取源码。通过对APP 应用的构成文件分配唯一标识,防止代码植入、二次打包等恶意破解。通过加密技术,防止代码注入,防止APP 被调试等恶意攻击。通过通讯协议加密、数据存储加密等功能技术,在数据通信链的各个传输和交互环节,防止数据被捕获、劫持和篡改。

1.2 移动应用运行监控技术

移动应用发生闪退、超时、慢交互、耗电、流量大等问题,多是因为在开发时不正确的使用SQLite、内存、函数、线程、锁等导致的。需要通过实时监控技术可以动态监测和采集移动应用的实时数据,在移动APP 运行发生故障、性能问题时,可以进行问题代码定位,提高性能和故障定位的准确性,缩短解决故障的时间。

图1:移动应用运行监控技术架构

通过实时监控和采集移动设备运行时输出的设备数据、网络数据、业务数据,进行调用链分析,对移动应用进行分析和诊断,及时修正和完善APP 应用,可以帮助用户提升业务洞察力及业务运营能力。

1.3 移动设备安全控制技术

通过将用户身份与对应的移动终端硬件设备ID 进行对应,以证书、终端设备标识、用户名、密码等多种方式实现对终端用户的身份认证,保证合法身份用户使用授权的移动设备访问应用。基于移动设备管理协议,对移动设备上的应用、数据以及移动设备的硬件功能进行管控。

2 技术实现方法

2.1 基于应用加固和安全环境的移动应用安全保护

对移动应用的保护包括代码注入和SDK 嵌套两种方式,对基于android 的系统,在无源码的情况下,可以通过re-wrap 方式注入代码,实现更高的安全性控制。对基于iOS 和android 系统的有源码情况下,可以通过SDK 嵌套,实现对原有方法的重构,实现安全性控制。

此外,更深层次的SDK 嵌套技术,可以用于构建企业移动应用运行环境,由运行环境代理移动应用的网络交互、文件存储和数据加密。通过运行环境的方法重构,实现移动应用与外部环境的数据和通信隔离。通过安全运行环境在手机上建立的安全容器[3],把企业的应用及数据与个人的应用及数据隔离。

通过代码注入和SDK 嵌套技术,可以对移动应用的代码、业务逻辑、数据进行加密和混淆,避免被逆向工具分析获取源码,防止外部恶意代码植入和数据泄漏,对移动应用进行有效的保护。

2.2 基于字节码增强技术的移动应用运行监控

通过字节码增强技术,基于应用探针,对移动APP 进行监控和数据实时采集,实现端到端的全链路监控,及时准确发现移动APP 运行时故障、性能问题,快速查明故障点,通过调用链分析,定位性能瓶颈,提高性能和故障定位的准确性,缩短解决故障的时间。收集系统运行时输出的移动设备数据,提升业务洞察力及业务运营能力。

基于字节码增强技术,可以支持多种软件架构,实现探针自动探测、为集中式和分布式应用的提供完整的调用链拓扑、内外部方法依赖、调用请求量统计等[4]。基于字节码增强技术的应用监控架构图如图1 所示。

2.2.1 采集层

通过APP 探针技术,进行APP 上的各种性能数据的监测功能,如网络请求、网络错误、页面交互、崩溃等。

2.2.2 收集层

对来自APP 的性能数据的接入及分发,进行数据的校验。同时,根据定义的数据分析维度,进行数据的预处理。

2.2.3 计算层

队列消费者模块用于从Kafka 中读取统计型日志,比如网络请求、页面交互等性能统计数据,批量写入到数据库中。

2.2.4 存储层

历史日志包括全量日志数据,会存储到Нadoop 分布式文件系统中,主要用于大批量数据统计分析的需要。按照统计数据规模可采用两种存储引擎,对于单纬度统计数据,数据量可控,可以存储于关系型数据库;对于需要自定义纬度、自定义筛选条件的统计需求,需要预统计生成大量的统计数据,数据量是根据统计纬度的数量呈指数级,传统的关系型数据库存储容量和检索速度已经无法满足,需要引入ElasticSearch。通过将日志数据进行全纬度预统计,然后输入到ElasticSearch。

2.2.5 展示分析层

根据定义的维度,进行调用链拓扑和分析,定位问题代码。

2.3 基于移动设备管理协议的移动设备安全管控

基于移动设备管理协议,对移动设备进行管理,包括移动应用控制、设备功能控制和设备安全控制等。移动设备安全管控技术架构如图2 所示。

移动应用控制:对移动设备上的应用进行管控,包括应用的推送、安装、卸载,以及对非授权的移动应用进行删除,可以保证权限范围内使用相应的移动应用。

图2:移动设备安全管控技术架构

图3:移动应用安全服务平台架构

设备功能控制:对移动设备自身的能力进行管理和限制,包括网络权限、GPS 定位、摄像头限制、应用下载权限等功能。

设备安全控制:可以通过锁屏、恢复出厂设置、更改密码、数据擦除等多种方式保护终端设备的数据安全。

通过移动设备的安全管理,对设备上的应用安装和使用权限、移动设备的功能、移动设备的密码和数据等进行多层次的管理,通过对设备的安全控制,实现对设备上的政府、企业移动应用的保护。

3 移动应用安全服务平台构建和应用验证

3.1 基于微服务的移动应用安全服务平台架构

基于微服务架构[5],构建了多层次、多维度的企业移动安全体系,能够从移动应用安全保护、移动应用实时监控、移动设备安全等多层次、多维度提供移动安全保护,为用户的移动互联网应用安全提供保障。如图3 所示。

基于微服务架构,将移动应用安全保护、移动应用运行监控、移动设备安全管控,通过将移动安全相应的能力核心服务功能分解到各个服务中心当中,各个服务中心可以独立地开发、管理和迭代,移动安全管理门户和核心服务功能之间通过信息交换的基础技术体系。该架构降低了系统的耦合性,可以提供更加灵活的服务支持和扩展性,实现移动应用安全能力管控分离,提升了平台的开放能力、行业应用能力、多元化服务能力以及系统的可扩展性、灵活性和可靠性。

3.2 面向行业的移动应用安全验证

基于移动应用安全服务平台,支持可扩展、面向行业的移动安全应用保护,能够从设备层、应用层、数据层提供多层次、全方位的安全管理。支持面向政府、司法、警务、教育、金融、零售、物流等诸多行业的移动应用安全管理,满足不同行业对移动应用安全管控的需求。在司法领域,移动应用安全服务平台为数十个监狱提供智能警务通管理,满足司法系统对警务应用和警务终端的安全管控要求;在金融服务领域,安全平台为分布于28 个省市的金融智能终端提供安全管理,实时监控移动应用运行情况,并为金融智能终端提供应用层和终端层的安全管理。

4 结束语

在互联网快速发展背景下,对移动应用的安全保障体系进行研究和应用,通过技术创新和集成创新,对传统安全管理内容进行扩展和提升,对保障移动应用代码和数据安全,对移动应用进行性能瓶颈和故障点精确定位,以及提供对移动设备的使用安全保护,为政府、企业提供不同维度的移动应用安全保护,对建立多层次移动信息安全风险防范体系,具有非常重要的价值和意义。

猜你喜欢
管控监控设备
谐响应分析在设备减振中的应用
EyeCGas OGI在泄漏管控工作中的应用
多端联动、全时管控的高速路产保通管控平台
The Great Barrier Reef shows coral comeback
管控老年高血压要多管齐下
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
基于MPU6050简单控制设备
电子制作(2018年11期)2018-08-04 03:26:08
看监控摄像机的4K之道
500kV输变电设备运行维护探讨
工业设计(2016年12期)2016-04-16 02:52:00