基于模糊神经网络的恶意APP软件动态检测技术研究

2020-03-04 02:48彭守镇
现代电子技术 2020年2期

摘  要: 为了解决传统恶意APP软件检测技术中存在的检测准确率低下的问题,引入模糊神经网络,设计恶意APP软件的动态检测技术。从软件应用程序权限与软件代码两个方面,提取恶意APP软件特征,并得出相应的特征向量,通过构建模糊神经元得出动态模糊神经网络,将得出的APP软件特征向量输入到模糊神经网络当中,针对APP软件的恶意行为进行特征匹配,从而输出APP软件的风险检测报告。通过实验发现,模糊神经网络下的恶意APP软件动态检测技术比传统的检测技术误报率与漏检率分别低18.5%和3.8%,准确率高6.47%。

关键词: 恶意APP软件; 动态检测; 模糊神经网络; 特征向量获取; 特征匹配; 对比验证

中图分类号: TN711?34; TP183                  文献标识码: A                       文章编号: 1004?373X(2020)02?0049?04

Research on malicious APP software dynamic detection technology based on

fuzzy neural network

PENG Shouzhen

Abstract: A dynamic detection technology against malicious APP software is designed by introducing a fuzzy neural network to solve the low detection accuracy in the traditional malicious APP software detection technology. From the two aspects of software application permission and software code, the features of malicious APP software are extracted and the corresponding feature vectors are obtained. The dynamic fuzzy neural network is obtained by constructing the fuzzy neuron, in which the obtained feature vectors of APP software are inputted, so as to conduct the feature matching against the malicious behaviors of APP software to output the risk detection report of APP software. The experimental results show that in comparison with the traditional detection technology, the false alarm rate and the omission rate of the malicious APP software dynamic detection technology based on fuzzy neural network are decreased by 18.5% and 3.8%, respectively, and its accuracy is increased by 6.47%.

Keywords: malicious APP software; dynamic detection; fuzzy neural network; feature vector acquisition; feature matching; comparison validation

0  引  言

智能手机与传统的功能机相比,延续了传统手机打电话和手发短信息的功能,并在此基础上添加了无线上网功能,实现网络通信,并按照用户的个人需求,支持第三方軟件下载与安装。Android市场份额的扩大和第三方软件应用数量的急增,也给恶意软件的开发者创造了机会[1]。恶意APP软件开发人员,利用Android系统源码的隐藏漏洞,对源代码进行篡改,导致用户隐私遭到威胁。现阶段出现的恶意APP软件类型分为恶意吸费、隐私窃取、远程控制、恶意推广以及系统破坏。用户在无意识的情况下安装相应的APK文件,被窃取短信、通话记录等隐私信息。恶意APP软件通过采取重打包、更新攻击等方式入侵,重打包将软件包装成为正常的APK,经过APK的反编译、重打包、重签名等步骤生成新的、带有恶意功能的安装包,诱导用户下载与安装。而更新攻击是将连接服务器的部分代码写入到合法应用当中,当用户在使用APP软件时,恶意代码服务器连接后台启动,通过远程服务器完成更新,进而执行恶意代码[2]。

为了保证用户手机的使用安全,需要在安装之前对APP软件进行安全检测,由此也就产生了恶意APP软件检测技术。现阶段的检测技术包括基于源码分析的静态检测技术和基于行为模拟的动态检测方法。基于源码分析的静态检测技术可以有效地检测出以重打包为主要入侵攻击方式的恶意软件,但由于更新攻击的源码是隐藏在正常应用程序当中的,因此使用这种静态分析技术不能检测出隐藏的恶意功能[3]。基于行为模拟的动态检测方法有效地解决了静态检测技术当中的问题,但与此同时降低了检测的准确率。综合现阶段传统检测技术中存在的问题,引入了模糊神经网络的概念,对恶意APP软件动态检测技术进行优化设计,在扩大检测范围的同时,保证检测的准确性与精确性。

1  特征向量提取

通过对恶意APP软件中的特征提取作为检测恶意软件的依据。具体的特征提取分为两个方面,分别为应用程序权限提取和代码特征提取。特征提取的方式是逆向分析APP软件的安装包,即APK文件,从中获得软件程序的调用信息;恶意APP软件这两个方面的特征组合成为混合特征,构建特征向量。

1.1  应用程序权限提取

应用程序在执行功能时需要申请相应的权限,因此一个应用程序软件的权限列表能够反映该程序的功能和行为。在SDK提供的权限中,例如统计电量、设置壁纸等权限是不会产生恶意行为的[4]。恶意APP程序常用权限包括:拨打电话、发送短信、联网、安装程序包、读取手机状态、读取手机联系人信息等。提取按照图1中的流程对应用程序权限特征进行提取。

定义特征权限向量为[P=p1,p2,…,pm],其中[pm]表示的是在恶意应用软件中通话权限的次数从高到低排序为第m位的权限,由此得出的特征权限既具有代表性,同时可以避免统计过多权限特征,导致算法时间效率低下的问题。在此基础上定义权限恶意程度值函数为:

[?p=λ2mpλnp] (1)

式中:[p∈P];[λm]为恶意行为概率;[λn]为正常行为概率。

1.2  代码特征提取

代码特征的提取对象是解压后得到的应用程序软件文件,文件中包含APK的包名和权限。其中包名可以当成APK文件的身份信息[5];而权限可以用来判断APK对手机系统的调用情况。将代码特征提取结果用[η]来表示,[η]的提取过程如图2所示。

通过图2可以看到,图中所示的.dex文件反编译模块和Java反编译模块可以将dex文件逐步由Dalvik虚拟机可执行文件转换为Java字节码文件直至Java代码文件。

综上所述,综合应用程序权限提取与代码特征提取结果,可以将恶意APP软件提取的特征向量表示为:

[QA=q1,q2,…,qm=ηp??p] (2)

式中:[ηp]与[?p]分别表示特征提取的结果;[qi]的取值范围为0~1。

2  动态模糊神经网络建模

模糊神经网络就是具有模糊权系数或者输入信号是模糊量的神经网络[6]。利用逻辑模糊神经网络中的误差学习算法,即是监视学习算法,针对恶意APP软件检测建立动态网络模型。

建立动态模糊神经网络模型首先需要建立模糊神经元模型。模糊神经元是模糊神经网络的基本组成单位,主要是指一类可以实施模糊信息处理模糊逻辑运算的神经元。模糊神经元模型的基本表达式如下:

[r=hω1x1,ω2x2,…,ωnxnk=fr-Tyj=gjk] (3)

式中:[r]表示的是模糊神经元的输入值;h表示的是模糊神经元的聚合函数;k表示的是模糊神经元的状态,一般情况下取值为0或1;[f]表示的是输入值在模糊神经元当中的传递函数;T为阈值[7];[gj]为一个模糊神经元对应的n个输出函数,其中[j]的取值为[0,1,2,…,n]。

在建立模糊神经元模型基础上进行模糊神经元的分类,按照分类单元对恶意APP元件代码进行分类。按照模糊化圣经元和模糊逻辑神经元的分类原则,可以将模糊神经元划分为第一类模糊神经元和第二类模糊神经元,两类神经元的模型结构如图3所示。

图3中:[xi]为第i个模糊神经元的输入值;y为当前的输出值;图中“[?]”表示的是累计算子;[μi]为修正处理函数。而第二类模糊神经元的加权操作是对每一个模糊输入的值进行修正的操作。

3  神经网络动态特征匹配

对恶意APP软件进行动态跟踪,得到初始的跟踪数据。在敏感数据来源上分配模糊神经元标签,带有标签的神经元随着数据和变量的移动自由传播,在模糊神经元流动路径以及终端的位置添加检测标签。恶意软件启动会调用本地的方法和数据,变量的值会与神经元同时作为参数进行传输。通过模糊神经元的标记,在恶意软件启动的过程中,神经元随着软件应用程序进行流通,因此神经元的运行路径即为软件的执行路径。当有软件结束调用时,观察并检测被操作的数据是否与标记的模糊神经元重合,以此来判定APP软件是否存在恶意行为。接着进行特征向量匹配檢测,检测过程如图4所示。

该过程主要通过应用程序调用相关工具获取APK的文件包名、版本信息等内容,从中提取MD5的值为APK的特征码。首先将得到的APP软件应用程序代码和恶意代码按照黑白名单入库,将提取出的文件特征与数据库中的数据进行匹配,若待检测软件的提取特征与正常软件的匹配度达到95%以上,可以判定为正常软件;如果提取的特征与恶意特征匹配度仅达到5%,则判定为恶意APP软件。

4  输出软件风险检测报告

利用特征动态匹配对比结果得出相应的程序隐私分数,进而得出软件风险检测报告[8]。通过特征比对的结果,对应用与类的相似性进行加权处理,获得风险模式指标。结合指标的最终相似性,得出风险阈值参数[β],当[β]为0时,APP软件的风险取值会固定为给定的特征匹配比对值;当[β]为1时,需要通过应用权限计算的平均相似性来决定风险的阈值;当[β]大于1时,风险阈值使相似性低的应用设置高风险值,即应用的权限越多,相似性阈值则越高。

5  实验分析

5.1  实验环境

实验平台环境主要由支持APP运行的Android手机和用于相关检测的服务器两部分组成。选用的运行检测服务器为云端服务器,其基本配置为Intel 2.94 GHz CPU,2 GB RAM,操作系统为Windows XP。而Android手机的版本为Android 2.4.4版本,SD卡的容量为1.86 GB。

5.2  实验样本

实验中选用的实验样本分别为APP软件10组,且正常APP软件有5组,恶意APP软件5组。具体的测试样本APP设置情况如表1所示。

另外,在实验中将部分已知恶意软件的特征添加到检测环境中的恶意软件样本特征库中。

5.3  实验过程

将实验样本输入到实验环境中,利用Eclipse检测技术进行后台检测,最终输出检测报告。具体的实验过程如图5所示。

在此次实验当中设立传统的检测技术和静态检测技术作为实验的对比方法,将实验样本输入到检测环境当中,分别按照检测的技术流程进行检验。相比于设计出的检测技术,传统的检测技术没有输入模糊神经网络的步骤。通过两种实验检测方法得出恶意APP软件的最终检验结果。

5.4  实验结果与分析

通过APP软件检测方法输出最终的检测报告,针对两种实验技术得出实验结果进行具体分析,得出有关于检测技术效率相关系数的实验结果。检测效率相关系数包括APP软件检测的准确率、检测率、误报率、漏检率等,最终明确检测精度。APP软件检测的准确率为实验正确检测样本数与总样本数的商;检测率为检测出的恶意APP样本数与总恶意APP样本数的商;误报率为错误检测样本数与总样本之间的商;漏检率为未检测出的恶意APP样本数与恶意APP样本总数之间的商。由此便可得出有关于检测技术效率的实验对比结果如表2所示。

从表中的数据可以看出,基于模糊神经网络的恶意APP软件检测技术比传统技术的检测率高3.665%,误报率低18.5%,漏检率低3.8%,准确率高6.47%。由此可以看出,借助模糊神经网络理论,设计出的恶意APP软件检测技术精度较高。

6  结  语

综上所述,借助模糊神经网络设计出的恶意APP软件检测方法,具有较高的使用价值。在实际的生活与工作当中应用这种软件检测方法也达到了相应的预期效果,与传统的检测方法相比,在准确率和误报率等方面都有一定的提升。然而由于研究时间和研究水平的限制,设计出的检测技术仍存在诸多不足之处,希望可以在今后的研究中不断得到完善。

参考文献

[1] 秦玉海,候世恒,杨嵩.Android平臺恶意APP的检验方法[J].中国刑警学院学报,2017,23(3):121?124.

[2] 孙伟,孙雅杰,夏孟友.一种静态Android重打包恶意应用检测方法[J].信息安全研究,2017,3(8):692?700.

[3] 兰雪梅,董纯,季启政.基于LabVIEW的计量校准软件动态量限自动测试方法研究[J].计测技术,2017,37(z1):236?240.

[4] 张海舰,方舟,陈新.基于深度学习技术的恶意APP检测方案[J].网络安全技术与应用,2017,22(3):108.

[5] 宋秋雨.软件安全漏洞检测技术[J].数字通信世界,2017,20(7):74.

[6] 王涛,李剑.基于深度学习的Android恶意软件检测系统的设计和实现[J].信息安全研究,2018,37(2):25?29.

[7] 郗桐,金昊,徐根炜,等.基于卷积神经网络的Android恶意应用检测方法[J].信息安全研究,2018,35(8):41?47.

[8] 权鹏宇,车文刚,余任,等.基于混沌时间序列的模糊神经网络预测研究[J].软件导刊,2018,11(2):23?27.

[9] 沈斐扬.钢轨超声导波动态检测关键技术研究[D].杭州:浙江大学,2018.

[10] 龚琪,曹金璇,芦天亮.基于序列比对的勒索病毒同源性分析[J].计算机与现代化,2018(2):1?5.

作者简介:彭守镇(1979—),男,江西九江人,硕士,讲师,研究方向为数据挖掘和决策算法、信息安全。