Android安全检测服务云平台的构建

2017-03-07 22:01陈泓汲张鹏邓样辉王艳红
移动通信 2016年21期

陈泓汲 张鹏 邓样辉 王艳红

摘要:为了提升Android平台安全测试效率,首先介绍了利用开源技术自主构建Android安全检测云平台安测云的必要,论述安测云层次模型以及系统结构,重点阐述为满足大批量应用检测的需求而采用IaaS和PaaS方法构建平台,最后给出产品检测实例说明。

关键词:云平台检测 Android安全检测 IaaS

1 引言

通过云计算[1-2]构建的软件平台,充分利用云计算硬件资源虚拟化易于拓展、灵活、海量计算、大存储能力的优势,能有效解决测试过程中测试能力快速升级、应用大量预处理计算、大容量存储等问题,总体减少测试时间,降低测试成本,带来新的商业模式,因此基于云计算的软件测试服务平台[5-6]应运而生。在现有的云计算软件测试平台中,已经有TestIn、腾讯优测、中国泰尔实验室智测云等多个技术公司或单位提供的商业解决方案,这些商业平台主要思路是面向Android应用提供兼容性、网络友好、弱网、H5、压力测试等测试服务。

本文研究的项目主要研究面向移动互联网企业和普通用户提供Android云安全测试服务,该服务平台融合多种Android安全检测技术[7-12]。云安全测试平台构建在移动智能终端安全测试能力基础上,主要是增强Android自身安全防护能力,防止和抑制安全事件在智能终端上的发生,最终保护用户信息安全。本文研究的安测云安全产品项目在前期调研中,考虑到当前商业平台的技术相对较封闭、商用成本较高、无法深入底层二次开发以完全符合自身业务需求等3个方面的缺点,以及安测云业务后期灵活扩展的需求,计划采用社区驱动的成熟开源技术而不是商业方案构建平台。移动智能终端安全测试产品-安测云主要基于开源云社区OpenStack项目构造Android终端云安全测试一体化平台。本文介绍了安测云系统模型、结构以及构建过程,设计和实现了Android操作系统和应用云测试服务,对云计算技术在信息安全领域的产品应用提供思考和实践经验。

2 安测云基础架构

2.1 安测云层次模型

安测云功能的设计参考YD/T 2407-2013《移动智能终端安全能力技术要求》以及YD/T 2408-2013《移动智能终端安全能力测试方法》,层次模型包括IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as a Service,平台即服务)和门户三个主要组成部分。基于OpenStack实现的IaaS实现并管理灵活可配置的计算、存储以及网络虚拟化资源;PaaS层基于IaaS提供的基础弹性可伸缩资源,主要向上层用户提供运行时环境、中间件、分布式计算、分布式存储、负载均衡等基础服务;门户主要是通过浏览器的方式用户和管理员可以直接操作的一些产品功能。测试平台层次模型如图1所示。

主要考虑到移动互联网快速升级、Android智能终端种类较多、新安全测试能力需要不断升级等特点,安测云整体的架构特点主要包括客户端功能自动升级、规避终端差异带来的测试工具兼容问题、模块化易于拓展、安全可靠、性能稳定强大、负载均衡等特点。实现过程中具体表现为APP层能力快速可达、自主定制、手机快速接入、兼容性好;PaaS拓展升级灵活数据、资源安全可控;IaaS层资源虚拟化、弹性可伸缩、全冗余备份。

2.2 安测云系统结构

“安测云”是集应用软件测试,终端操作系统认证测试为一体的云端测试平台,平台为用户软件商和终端厂商提供产品上线前全面的终端安全认证服务,主要包括操作系统安全认证、预置应用安全认证,预置应用安全认证包括安全检测扫描和动态安全检测服务两个业务。在安测云层次模型的基础上,结合智能终端信息安全测试自身的特点,设计系统结构如图2所示:

3 安测云平台构建

3.1 安测云IaaS构建

IaaS构建的主要目标是基于开源项目实现计算、存储和网络资源的虚拟化,并且通过安装Horizon平台管理工具完成对这些虚拟资源的灵活调配和控制。无论是CloudStack还是OpenStack,对CPU架构、存储驱动、交换机端口及其速率等基礎软硬件设施都有兼容性、性能等方面的要求。

安测云面向Android操作系统和应用检测需求,服务于个人、终端厂商、应用商店等用户。其中,操作系统检测服务域为本地引擎。应用检测集成静态扫描、静态源码分析、动态行为监控等多种类型检测引擎,静态扫描引擎由本地查杀引擎和主流云查杀厂商的引擎接口构成,静态源码分析和动态行为监控引擎均为本地引擎。在平衡经济与性能的条件下,安测云硬件主体由12台x86架构的服务器、1台NAS存储服务器、2台交换机构成,物理上采用分布式部署,各服务器和NAS存储之间通过交换机互联。为保持物理上的最大并行计算能力,尽量降低以太网数据传输量,虚机按照应用检测引擎类别进行归类部署,分布式调度由单台虚拟服务器管理,NAS服务器则作为独立存储部署。

在云计算管理平台、虚拟机和基础操作系统选型方面,安测云平台结合移动互联网灵活快速、智能终端机型差异化较大并且安全测试系统较复杂的特点,重点考虑开源项目自身的技术架构、技术成熟度和稳定性、受到商业公司和开源组织的支持力度、应用现状、发展趋势等综合因素,采用开源的OpenStack作为云平台管理项目,采用Linux平台中主流的易于管理的KVM虚拟化软件以及对OpenStack平台支持最好的Ubuntu操作系统。详细配置如表1所示:

(1)OpenStack部署

OpenStack基于基础软件陆续完成硬件模块的虚拟化,在Ubuntu系统之上安装MySql、NTP等基础服务,陆续安装和配置核心的控制节点、计算节点、网络节点和存储节点,主要包括身份认证服务Keystone(Identity as a Service)、Glance虚拟机镜像服务(Image as a Service)、Swift对象存储服务(Object as a Service)、可视化仪表盘服务Horizon(Dashboard as a Service)等。OpenStack大体安装配置过程如图3所示:

(2)虛机服务器部署

安测云平台采用KVM虚拟化技术,硬件资源虚拟化的意义在于可编程,软件技术上可以轻松实现计算、存储节点的负载均衡以及灵活动态调度。在Nova(Computing as a Service)计算节点上运行的Nova-compute服务调用Libvirt API管理KVM虚机。在配置虚拟服务器时,通过KVM制作操作系统镜像文件,然后通过Glance功能函数上传到云平台中。构建控制节点、计算节点和存储节点集群的过程就是根据需要通过创建授权、加载镜像、连接和使用镜像等步骤灵活地批量实例化虚拟服务器。至此,OpenStack和虚机服务器部署完毕,安测云IaaS构建完成。

3.2 安测云PaaS构建

PaaS主要目标是构建Android安全测试即服务,主要包含公共服务组件、核心安全能力测试组件、分布式样本库和样本扫描特征库等功能。自主定制的公共服务包含身份认证、消息组件、用户组件、计费组件、报表组件等商用功能的组件;核心组件包括测试过程管理、测试设备管理、测试文档管理、日志审计以及测试组件自身的管理;核心安全能力测试组件主要包括操作系统测试核心组件、应用真机群调试库、多引擎检测组件。为了应对大批次的样本上传及安全检测,PaaS层部署结合云计算技术采用分布式存储大批量保存样本形成样本库,以及分布式虚拟机集群部署特征库。

(1)对IaaS资源的调用方法

安全测试管理平台主要基于Http+Json的方式调用OpenStack Restful相关API来访问和使用IaaS平台资源。安全测试管理平台通过获得IaaS平台的消息和运行状态,满足本系统云引擎组件测试大批量应用的需要。安全测试管理平台能够和Nova等组件传递消息,根据APK特征值提取的计算量的需要分配计算资源。安全测试管理平台通过调用Swift组件功能实现新样本资源的云端分布式存储。

(2)业务流程

终端制造商、移动互联网公司、公众均可以通过浏览器将应用软件上传至应用安全扫描引擎,检测结果汇集到云端。快速扫描引擎首先根据应用特征试图匹配特征库,如果命中,直接反馈结果给用户。如果没有命中,安全扫描云组件会负载均衡分配给相对空闲的服务器集群,服务器集群根据负载均衡分配到相对空闲的虚拟机计算节点,每个计算节点都有部署静态源码分析、动态安全扫描等安全检测工具,新的安全测试的结果新增到特征库,样本云存储到样本库,同时向前端用户反馈安全扫描的结果。可以预见,随着样本库的增长,应用软件平均检测速度将会快速提高。业务流程如图4所示。

(3)实现效果

安测云云管理平台如图5所示,主要包括云资源管理、云服务管理、统计分析、系统管理、USB设备管理服务器等功能。云资源中心主要包括数据中心、集群、主机等管理功能;云服务管理主要是虚拟机关系、审批、告警、事件等;统计分析包括项目资源统计、单位资源统计;系统管理包括单位管理、用户管理、资源分级管理、模板中心管理、方案管理、系统日志、报表管理、全局设置。针对移动终端测试的特点,定制USB设备服务器管理,包括USB设备服务器管理,涉及到名称、IP、是否自动分享、S/N、状态、虚拟机等信息。

用户通过授权提交批量Android应用样本,安测云快速反馈扫描结果,包括状态包括安全、检测中和恶意行为,恶意行为涵盖隐私窃取、资费消耗、恶意广告等检测数据,如图6所示。

4 结束语

用户通过本产品陆续意识到自身终端或者应用在安全方面存在的一些风险,并从反馈的测试信息中得到解决安全问题的提示。由本文的分析可知,安测云为企业智能终端检测提供了强有力的平台支撑,依托灵活强大的云测试服务切实帮助企业提升产品研发的进度,降低了移动恶意应用给用户和产业带来的经济损失,对于保障消费者合法权益、维护产业健康发展起到了积极的作用。

参考文献:

[1] Chen Kang, Zheng Weimin. Cloud Computing: System Instances and Current Research[J]. Journal of Software, 2009,20(5): 1337-1348.

[2] Aaron Weiss. Computing in the Clouds[J]. Networker, 2007,11(4): 16-25.

[3] L Riungu-Kalliosaari, O Taipale, K Smolander. Testing in the Cloud: Exploring the Practice[J]. IEEE Software, 2012,29(2): 46-51.

[4] Elfriede Dustin, Jeff Rashka, John Paul. Automated Software Testing: Introduction, Management, and Performance[J]. Addison-Wesley Professional, 1999.

[5] Banzai T, Koizumi H, Kanbayashi R, et al. D-Cloud: Design of a Software Testing Environment for Reliable Distributed Systems Using Cloud Computing Technology[A]. 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing ( CCGRID)[C]. IEEE Computer Society, 2010: 631-636.

[6] Hanawa T, Banzai T, Koizumi H, et al. Large-Scale Software Testing Environment Using Cloud Computing Technology for Dependable Parallel and Distributed Systems[A]. 3rd International Conference on Software Testing, Verification and Validation ( ICSTW)[C]. 2010: 428-433.

[7] SCHMIDT A D, SCHMIDT H G, CLAUSEN J. Static analysis of executables for collaborative malware detection on android[A]. IEEE International Congress on Communication (ICC)2009–Communication and Information Systems Security Symposium[C]. 2009.

[8] J Bergeron, M Debbabi, J Desharnais, et al. Static detection of malicious code in executable programs[A]. Proceedings of the Symposium on Requirements Engineering for Information Security[C]. USA: Int.j.of Req.eng, 2001: 20-24.

[9] Sato R, Chiba D, Goto S. Detecting Android malware by analyzing manifest files[A]. Proc. of the Asia-Pacific Advanced Network[C]. 2013: 23-31.

[10] Su MY, Chang WC. Permission-Based malware detection mechanisms for smart phones[A]. Proc. of the 2014 IEEE Intl Conf. on Information Networking (ICOIN 2014)[C]. 2014: 449-452.

[11] Wen WP, Mei R, Ning G, et al. Malware detection technology analysis and applied research of Android platform[J]. Journal on Communications, 2014(8): 78-85.

[12] Su MY, Chang WC. Permission-Based malware detection mechanisms for smart phones[A]. Proc. of the 2014 IEEE Intl Conf. on Information Networking (ICOIN 2014)[C]. 2014: 449-452. ★