一种面向电力企业的移动应用恶意软件检测方法及系统技术方案

技术编号:20993059 阅读:24 留言:0更新日期:2019-04-29 22:54
一种面向电力企业的移动应用恶意软件检测方法,其特征在于,包括:获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的支持向量机SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;其中,所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。本发明专利技术技术方案解决了支持向量机不适合大量样本的分类学习,本发明专利技术提出一种基于双权重函数的SVM增量学习算法对应用样本进行学习分类,该方法能够在保证应用分类精度不下降的前提下,最大限度降低学习时间,提高学习效率。

A Malware Detection Method and System for Mobile Applications Oriented to Electric Power Enterprises

A malware detection method for mobile applications oriented to power enterprises is characterized by acquiring the software to be detected and decompiling the software to be tested to obtain the source code of the software to be tested, extracting the feature vectors of the source code, and inputting the feature vectors of the source code into the SVM classification model of the pre-constructed support vector machine for comparison to determine the location of the malware. Describes whether the software to be detected is malicious software, in which the SVM classification model includes: SVM classifier, the SVM classifier is updated iteratively based on double weight incremental method. The technical scheme of the invention solves the problem that the support vector machine is not suitable for the classification learning of a large number of samples. The invention proposes an incremental learning algorithm of SVM based on double weight function to learn and classify application samples. The method can minimize the learning time and improve the learning efficiency without reducing the accuracy of application classification.

【技术实现步骤摘要】
一种面向电力企业的移动应用恶意软件检测方法及系统
本专利技术涉及电力信息安全和移动互联网安全领域,具体涉及一种面向电力企业的移动应用恶意软件检测方法及系统。
技术介绍
近年来,随着电力行业信息化应用水平的不断提高和业务的快速发展,智能电网建设、精益化管理及客户服务提升均对移动应用的安全性提出了日益迫切的需求,移动互联已成为公司信息通信建设的重要内容。但是目前电力行业内外部安全形势严峻,各类网络攻击技术持续演进,各类事件时有发生,移动业务由于其自身特殊性、复杂性,极易成为不法分子攻击的突破口,移动业务安全正面临严峻挑战。另外,传统病毒、木马与恶意软件等攻击技术和威胁方式在不断向移动互联方向转移,给电力移动互联带来了严重的损失和恶劣的影响,所采用的技术手段在不断发展进化,给网络和用户带来了相当大的威胁,移动应用各类威胁与漏洞层出不穷,给移动终端应用与用户数据安全造成重大威胁。根据360公司2016年发布的《android恶意软件专题报告》表明,2016年Android平台新增恶意程序样本1403.3万个,平均每天新增3.8万恶意程序样本,新增样本数量巨大。另外,为了阻止恶意应用被安全公司检测出来,恶意应用也在不断演化,这就需要重新学习恶意样本特征。但是如果重新学习历史样本和新样本,抛弃掉历史经验,容易导致重复学习,学习效率不高。因此需要引入增量学习算法来提高学习效率,增量学习在保留已有的历史经验的基础上,不断学习新的样本,算法分类模型不断进化,在不降低分类精度的前提下提高了学习速度。支持向量机由于其坚实的理论基础,具有结构简单和泛化能力强的优点,适合用于恶意应用的分类识别。但是由于自身的瓶颈问题,支持向量机不适合大量样本的分类学习。
技术实现思路
本专利技术提供的技术方案是:一种面向电力企业的移动应用恶意软件检测方法,包括:获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的支持向量机SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;其中,所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。优选的,所述SVM分类器基于双重权重增量方法进行迭代更新,包括:当有新增样本需要训练时:将所述预先构建的SVM分类模型中的SVM分类器设定为初始分类器;从所述初始分类器中确定支持向量集SVA和非支持向量集NSVA;判断新增样本中有无违背初始分类器KKT条件的样本,如果没有,结束迭代更新,将所述初始分类器设定为迭代更新后的分类器;否则:将新增样本集分为满足KKT条件的样本Bok和违背KKT条件的样本Berr;对所述非支持向量集NSVA中的所有样本使用双权重函数进行筛选后的样本集记为NSV0A;将所述SVA、Berr、NSV0A合并为一个集合A0,得到经过迭代计算后的SVM分类器。优选的,所述SVM分类模型的构建,包括:采集海量正常应用软件和恶意应用软件,并对所述正常应用软件和恶意应用软件进行反编译获得正常应用软件的源代码和恶意应用软件的源代码;从所述正常应用软件的源代码中提取正常特征样本;从所述恶意应用软件的源代码中提取恶意特征样本;将所述正常特征样本和所述恶意特征样本合并为一个集合,将所述合并后的集合设定为SVM分类器。优选的,所述对非支持向量集NSVA中的所有样本使用双权重函数进行筛选后的样本集记为NSV0A,包括:基于所述初始分类器中的支持向量集SVA和非支持向量集NSVA,结合聚类中心距离算法得到的支持向量集SVA的样本中心和非支持向量集NSVA的样本中心分别计算支持向量集SVA和非支持向量集NSVA到各自中心距离的权重λ1(x1i)和λ2(x2i);分别计算支持向量集SVA和非支持向量集NSVA两类样本到异类中心距离的权重μ1(x1i)和μ2(x2i);筛选非支持向量集NSVA样本中满足下述条件的样本得到集合NSV0A:其中,所述条件包括:λ1(x1i)≥λ1,λ2(x2i)≥λ2和μ1(x1i)≤μ1,μ2(x2i)≤μ2;其中,x1i为初始分类器中的支持向量集的训练样本;x2i为初始分类器中的非支持向量集的训练样本。优选的,所述样本的样本到各自中心距离的权重,按下式计算:式中:l1为初始分类器中的支持向量集样本个数l2为初始分类器中的非支持向量集样本个数。优选的,所述样本到异类中心距离的权重,按下式计算:式中:l1为初始分类器中的支持向量集样本个数l2为初始分类器中的非支持向量集样本个数。优选的,所述按下式计算:所述按下式计算:优选的,所述恶意特征样本,包括:危险权限特征向量和敏感API特征向量。优选的,所述提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的SVM分类模型进行比对,确定所述待检测软件是否为恶意软件,包括:将待检测样本输入SVM分类模型的判别函数得到值,进行判断;所述SVM分类模型的判别函数输出1,则检测到的应用是正常应用,SVM分类模型的判别函数输出1,则检测到的应用是恶意应用。优选的,所述SVM分类器的判别函数如下式所示:式中,x为待检测样本,xi为支持向量,n为支持向量数目,αi为拉格朗日乘子,K(xi,x)为核函数,ρ为超平面截距。一种面向电力企业的移动应用恶意软件检测系统,包括:获取模块:用于获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;确定模块:用于提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。优选的,所述确定模块,包括:模型建立子模块、模型更新子模块和判定子模块:所述模型建立模块用于:基于海量正常应用软件和恶意应用软件进行特征提取构建SVM分类器;所述模型更新模块用于:当有新增样本时,基于SVM分类器采用双重权重增量方法更新SVM分类器;所述判定子模块,用于:用于将待检测样本输入SVM分类模型确定是否为恶意软件。优选的,所述判断子模块包括:SVM分类器的判别函数和计算子单元;所述SVM分类器的判别函数如下式所示:式中,x为待检测样本,xi为支持向量,n为支持向量数目,αi为拉格朗日乘子,K(xi,x)为核函数,ρ为超平面截距;所述计算子单元包括:根据所述判别函数的输出判断应用是否为恶意应用,当所述判别函数的输出为1时,则新增样本是正常应用,所述判别函数的输出为-1,则新增样本是恶意应用。与现有技术相比,本专利技术的有益效果为:1、一种面向电力企业的移动应用恶意软件检测方法,其特征在于,包括:获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的支持向量机SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;其中,所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。本专利技术技术方案解决了支持向量机不适合大量样本的分类学习,本专利技术提出一种基于双权重函数的SVM增量学习算法对应用样本进行学习分类,该方法能够在保证应用分类精度不下降的前提下,最大限度本文档来自技高网
...

【技术保护点】
1.一种面向电力企业的移动应用恶意软件检测方法,其特征在于,包括:获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的支持向量机SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;其中,所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。

【技术特征摘要】
1.一种面向电力企业的移动应用恶意软件检测方法,其特征在于,包括:获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的支持向量机SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;其中,所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。2.如权利要求1所述的检测方法,其特征在于,所述SVM分类器基于双重权重增量方法进行迭代更新,包括:当有新增样本需要训练时:将所述预先构建的SVM分类模型中的SVM分类器设定为初始分类器;从所述初始分类器中确定支持向量集SVA和非支持向量集NSVA;判断新增样本中有无违背初始分类器KKT条件的样本,如果没有,结束迭代更新,将所述初始分类器设定为迭代更新后的分类器;否则:将新增样本集分为满足KKT条件的样本Bok和违背KKT条件的样本Berr;对所述非支持向量集NSVA中的所有样本使用双权重函数进行筛选后的样本集记为NSV0A;将所述SVA、Berr、NSV0A合并为一个集合A0,得到经过迭代计算后的SVM分类器。3.如权利要求1或2所述的检测方法,其特征在于,所述SVM分类模型的构建,包括:采集海量正常应用软件和恶意应用软件,并对所述正常应用软件和恶意应用软件进行反编译获得正常应用软件的源代码和恶意应用软件的源代码;从所述正常应用软件的源代码中提取正常特征样本;从所述恶意应用软件的源代码中提取恶意特征样本;将所述正常特征样本和所述恶意特征样本合并为一个集合,将所述合并后的集合设定为SVM分类器。4.如权利要求2所述的检测方法,其特征在于,所述对非支持向量集NSVA中的所有样本使用双权重函数进行筛选后的样本集记为NSV0A,包括:基于所述初始分类器中的支持向量集SVA和非支持向量集NSVA,结合聚类中心距离算法得到的支持向量集SVA的样本中心和非支持向量集NSVA的样本中心分别计算支持向量集SVA和非支持向量集NSVA到各自中心距离的权重λ1(x1i)和λ2(x2i);分别计算支持向量集SVA和非支持向量集NSVA两类样本到异类中心距离的权重μ1(x1i)和μ2(x2i);筛选非支持向量集NSVA样本中满足下述条件的样本得到集合NSV0A:其中,所述条件包括:λ1(x1i)≥λ1,λ2(x2i)≥λ2和μ1(x1i)≤μ1,μ2(x2i)≤μ2;其中,x1i为初始分类器中的支持向量集的训练样本;x2i为初始分类器中的非支持向量集的训练样本。5.如权利要求4所述的检测方法,其特征在于,所述样本的样本到各自中心距离的权重,按下式计算:式中:...

【专利技术属性】
技术研发人员:李勇马媛媛张涛陈牧戴造建邵志鹏石聪聪陈璐李尼格席泽生
申请(专利权)人:全球能源互联网研究院有限公司国网浙江省电力有限公司国家电网有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1