安卓应用软件测试信息智能监测系统设计
2017-07-25蔡娟陆璐
蔡娟+陆璐
摘 要: 随着安卓系统的广泛应用,简单的安卓应用软件测试信息监测已经不能保证用户信息安全。为了解决以上问题,将动态测试与静态测试融合起来,设计一种新型的安卓应用软件测试信息智能监测系统。该系统主要由信息采集模块、网络调制模块和串口通信模块组成,采用CC2530F128处理器控制信息传输、监测流程。信息采集模块将动、静测试信息融合,通过网络调制模块组建ZigBee星状拓扑局域网络,利用串口通信模块测试信息兼容性,并进一步给出系统监测流程和安卓应用软件安全性评估目录。实验结果证明,所设计的系统对安卓应用软件的危险行为测出率高,对安全行为误测率低。
关键词: 安卓系统; 应用软件; 测试信息采集; 监测系统
中图分类号: TN931+.3?34; TP273.5 文献标识码: A 文章编号: 1004?373X(2017)14?0058?03
Abstract: With the widely application of the Android, the simple Android application software testing the information monitoring cannot ensure the safety of the user information. In order to solve the above problem, a new type of intelligent monitoring system for Android application software testing information was designed by means of the dynamic and static testing fusion. The system is mainly composed of information collection module, network modulation module and serial port communication module. The CC2530F128 processor is used to control information transmission and monitoring process. The information collection module is used to fuse the dynamic and static test information. The network modulation module is adopted to establish a Zigbee star topology local area network. The serial port communication module is used to test the compatibility of testing information, give out system monitoring process and safety assessment directory of Android application software. The experimental results show that the designed system has high detection rate of risk behaviors and low false?positive rate of safety behavior for Android application software.
Keywords: Android; application software; test information acquisition; monitoring system
安卓系统在智能手机、平板电脑上的应用越来越广,国内外的安卓应用软件测试信息智能监测系统层出不穷,360安全卫士、Avast、ClamAV等都获得了巨大成就。安卓系统用户对应用软件安全问题缺少专业的评判,监测系统往往不能面面俱到,用户依然会在不经意间丢失个人信息甚至损失金钱[1]。监测系统普遍使用的是动态测试或静态测试,两种方法各有优缺点,融合起来使用事半功倍。为此,设计一种静态与动态相融合的安卓应用软件测试信息智能监测系统,填补安卓系统安全漏洞。
1 安卓应用软件测试信息智能监测系统设计
1.1 系统整体设计以及关键技术
为了将动态测试与静态测试的优点高度兼容地融合在安卓应用软件测试信息智能监测系统中,系统构造了信息采集模块、网络调制模块和串口通信模块。通过信息采集模块监控动、静测试信息。网络调制模块负责为信息组建合适的局域通信网络,经由串口通信模块将信息传输到网络数据库中进行应用软件安全测试。整个系统能耗小、效率高、成本低、便携性强,系统整体结构见图1。
由图1可知,信息采集模块采用并行分析技术[2],从多个信息采集节点同时采集安卓应用软件测试信息;网络调制模块采用ZigBee通信技术,依附于协调器进行組网;串口通信模块可以保证信息检测区域与信息存储区域精确对应,而且每个区域只包含一个应用软件,监控并移除应用软件后才可以列队引进下一个应用软件。
ZigBee为无线双向通信技术,支持美国、欧洲以及国际制定的标准通信频段,通信速率快、稳定可靠,具有广阔的应用前景。ZigBee拥有三种拓扑结构,分别为星状、网状以及树状[3]。安卓应用软件的系统监测面积很小,信息量也不是很大,动态测试与静态测试的信息融合同样不能采用复杂的拓扑构造,所以采用复杂度低的星状ZigBee结构。星状拓扑结构成本低,扩展能力强,还拥有智能寻址功能。协调器与信息采集节点共同组成系统监测局域ZigBee网络,将动、静测试信息融合传输到串口和网络数据库,执行用户对安卓应用软件测试信息的监测指令。
所设计的系统将动、静测试信息的不安全程度分成5种特征,组成安卓应用软件安全性评估目录供用户参考,见表1。
1.2 处理器设计
处理器在安卓應用软件测试信息智能监测系统中格外重要,用于管理系统各模块数据协调性以及动、静测试信息的兼容性,并用于监测流程的精确控制[4]。系统使用的CC2530F128处理器由美国TI公司设计,可以低成本构造高性能网络节点,支持ZigBee组网和运行模式快速切换,内部配置的射频收发设备和微控制器性能优越,能耗极低,闪存为128 KB,编程模式简单,CC2530F128处理器最小系统电路见图2,由于安卓系统内信息的射频收发为差分模式,CC2530F128处理器将使用平衡不平衡转换器将差分信号转换成单端信号,电容C1,C2自动进行阻抗匹配,以减少系统中ZigBee的通信误差。
图2为CC2530F128处理器最基本的组成结构,含有一些功能电路,如电源电路、复位电路、锁定电路和编译电路等,最重要的是控制电路。控制电路提供给处理器射频收发功能,控制安卓应用软件测试信息智能监测系统的信息传输和监测流程。
CC2530F128处理器拥有33 MHz以及35 MHz两种晶振模式,射频收发功能正常工作时连接33 MHz模式,在管脚11处收发安卓应用软件测试信息,电容C6和C7用来监控信息容量,防止传输超载。射频收发功能处于休眠状态时在管脚12处连接35 MHz模式,电阻丝R2用于调整处理器时钟,电容C7用于监视信息容量[5]。电源去耦同样是CC2530F128处理器中电源电路的设计重点,可以稳定电能,保证处理器可以长时间正常工作。图2中电容C3和C4是主要去耦元件,均为104封装、100 μF容量的电解电容。
1.3 串口通信模块设计
串口通信模块将协调器与网络数据库连通,使用RS 232通信协议和M3132CE数据转换器调整处理器与安卓系统的信息兼容性,将所有ZigBee通信周期内安卓应用软件测试信息的不平等电平调至相等[6]。在[3.2 V,5.6 V]电压范围内的电源下,串口通信模块完美展示了RS 232通信协议控制规程,因此可以采用蓄电池供电[7]。此时M3132CE数据转换器的内部电路无需准备多余功能,M3132CE数据转换器内部的串口通信电路见图3,其在保证正常通信的前提下将多余的电路元件摘除,保留若干个电容进行信息采集、信息监控、指令下发以及信息传输,信息存储位置见图3中相应管脚,管脚7,8,9,10额外配置输电导管J3,保护信息传输安全。
1.4 系统监测流程设计
所设计静态与动态相融合的安卓应用软件测试信息智能监测系统的监测流程见图4。
由图4可知,对于采用静态测试的安全应用软件,信息采集模块在接收测试信息的同时按照特征类型的不同将信息分门别类,检测特征签名。特殊签名指应用软件危险行为的存在方位,是软件行为的简化信息。特征签名检测是对安卓应用软件测试信息相似度的一个评估,通过安装文件将应用软件转换为Smali源代码[8],再将Smali源代码封装为简短的数据码,利用信息熵定理[9]实现检测,初步检测到应用软件的危险行为,之后对应用软件程序进行反编译。
串口通信模块跟踪程序编译信息流,将其送入安全测试。当某个应用软件的特征不属于既定的特征类型或者特征危害明显,直接跳至安全检测进行安全性评估,节约系统监测用时。
对于采用动态测试的安全应用软件,由于动态测试在模拟器上实现,整个过程产生的信息跳跃性较大,分类操作会占用大量时间,故将直接进行安全性评估。动态测试信息先经过特殊场景模拟和模拟点击事件两个流程,将动态测试信息转换成与静态测试信息签名一致的可扩展标记语言,再将语言输出成日志进行信息流跟踪和安全测试,最后汇总静态和动态测试信息的安全性评估结果并展示给用户。
2 实验验证
2.1 实验简介
测出率和误测率实际上是两个具有相容关系的评估标准[10],实验在两种极端的条件下进行。对无危险行为的安卓应用软件进行信息监测,主要验证本文设计的安卓应用软件测试信息智能监测系统的误测率,辅助描述测出率;对存在危险行为的安卓应用软件进行信息监测,主要验证本文系统测出率,辅助描述误测率。
为了确保实验进行当中系统能够正常运行,实验采用3台Linux操作系统的计算机,中央处理器内核为8核心,内存为16 GB。
2.2 结果与讨论
用于进行实验验证的安卓应用软件包括2 000个危险软件和2 000个安全软件,实验对照组有2个,分别是静态测试和动态测试。两种实验条件下的检测结果见表2和表3。
由表2、表3可知,在实验实际运行中能够发现,危险软件的智能监测时间远高于安全软件,静态测试用时短于动态测试,静态测试与动态测试在安全软件的监测中误测率大幅降低,本文系统测试用时与静态测试几乎相等。以上结论证明,本文系统对安全应用软件的危险行为测出率高,对安全行为误测率低。
3 结 论
本文对一种新型的安卓应用软件测试信息智能监测系统进行设计,将静态测试和动态测试融合,通过调整信息兼容性,共同监测安卓应用软件行为。设计出系统的整体结构、CC2530F128处理器结构、串口通信电路以及监测流程,通过进行本文系统与静态测试以及动态测试的对照实验,验证出本文系统能够完美兼容静态测试效率高以及动态测试精度高的优点,拥有测出率高、误测率低的优点。
参考文献
[1] 冯陈伟,张璘,袁江南.基于ZigBee与安卓的智能远程监控系统的设计[J].电视技术,2015,39(20):38?42.
[2] 蔡利民,侯群,张龙,等.Android软件在智能鱼缸远程控制系统中的应用设计[J].自动化技术与应用,2016,35(9):27?30.
[3] 张恩海,王铎,于晋瑄.移动终端应用层软件自动化测试系统设计与实现[J].科技资讯,2015,13(3):12?13.
[4] 王维哲,赵伟.引入神经网络的应急调度系统设计[J].现代电子技术,2016,39(4):41?43.
[5] 吴青林,周天宏.基于移动终端和LabVIEW的智能家居控制系统研究[J].现代电子技术,2016,39(2):130?132.
[6] 徐曾春,卢洲,叶坤.一种检测可疑软件的Android沙箱系统的研究与设计[J].南京邮电大学学报(自然科学版),2015,35(4):104?109.
[7] 戴聪,汤家华,陈峻念.一种新的多应用智能卡操作系统测试方法[J].计算机应用与软件,2014,31(8):38?41.
[8] 李慧,张可,徐良.无人值守区域智能监测系统的结构设计与实现[J].计算机科学,2016,43(7):115?119.
[9] 樊娜.基于ZigBee的智能粮仓温度监测系统研究与设计[J].微型机与应用,2015,34(5):70?72.
[10] 钱伟康,郑强强,郑晓琳.汽车智能传感器自动测试系统的设计和建立[J].测控技术,2014,33(11):42?45.