CN109684837A - 一种面向电力企业的移动应用恶意软件检测方法及系统 - Google Patents

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

Info

Publication number
CN109684837A
CN109684837A CN201811389269.8A CN201811389269A CN109684837A CN 109684837 A CN109684837 A CN 109684837A CN 201811389269 A CN201811389269 A CN 201811389269A CN 109684837 A CN109684837 A CN 109684837A
Authority
CN
China
Prior art keywords
sample
svm classifier
software
supporting vector
source code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811389269.8A
Other languages
English (en)
Other versions
CN109684837B (zh
Inventor
李勇
马媛媛
张涛
陈牧
戴造建
邵志鹏
石聪聪
陈璐
李尼格
席泽生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Zhejiang Electric Power Co Ltd
Global Energy Interconnection Research Institute
Original Assignee
State Grid Corp of China SGCC
State Grid Zhejiang Electric Power Co Ltd
Global Energy Interconnection Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Zhejiang Electric Power Co Ltd, Global Energy Interconnection Research Institute filed Critical State Grid Corp of China SGCC
Priority to CN201811389269.8A priority Critical patent/CN109684837B/zh
Publication of CN109684837A publication Critical patent/CN109684837A/zh
Application granted granted Critical
Publication of CN109684837B publication Critical patent/CN109684837B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Virology (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

一种面向电力企业的移动应用恶意软件检测方法及系统
技术领域
本发明涉及电力信息安全和移动互联网安全领域,具体涉及一种面向电力企业的移动应用恶意软件检测方法及系统。
背景技术
近年来,随着电力行业信息化应用水平的不断提高和业务的快速发展,智能电网建设、精益化管理及客户服务提升均对移动应用的安全性提出了日益迫切的需求,移动互联已成为公司信息通信建设的重要内容。但是目前电力行业内外部安全形势严峻,各类网络攻击技术持续演进,各类事件时有发生,移动业务由于其自身特殊性、复杂性,极易成为不法分子攻击的突破口,移动业务安全正面临严峻挑战。另外,传统病毒、木马与恶意软件等攻击技术和威胁方式在不断向移动互联方向转移,给电力移动互联带来了严重的损失和恶劣的影响,所采用的技术手段在不断发展进化,给网络和用户带来了相当大的威胁,移动应用各类威胁与漏洞层出不穷,给移动终端应用与用户数据安全造成重大威胁。
根据360公司2016年发布的《android恶意软件专题报告》表明,2016年Android平台新增恶意程序样本1403.3万个,平均每天新增3.8万恶意程序样本,新增样本数量巨大。另外,为了阻止恶意应用被安全公司检测出来,恶意应用也在不断演化,这就需要重新学习恶意样本特征。但是如果重新学习历史样本和新样本,抛弃掉历史经验,容易导致重复学习,学习效率不高。因此需要引入增量学习算法来提高学习效率,增量学习在保留已有的历史经验的基础上,不断学习新的样本,算法分类模型不断进化,在不降低分类精度的前提下提高了学习速度。
支持向量机由于其坚实的理论基础,具有结构简单和泛化能力强的优点,适合用于恶意应用的分类识别。但是由于自身的瓶颈问题,支持向量机不适合大量样本的分类学习。
发明内容
本发明提供的技术方案是:
一种面向电力企业的移动应用恶意软件检测方法,包括:
获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;
提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的支持向量机SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;
其中,所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。
优选的,所述SVM分类器基于双重权重增量方法进行迭代更新,包括:
当有新增样本需要训练时:
将所述预先构建的SVM分类模型中的SVM分类器设定为初始分类器;
从所述初始分类器中确定支持向量集SVA和非支持向量集NSVA
判断新增样本中有无违背初始分类器KKT条件的样本,如果没有,结束迭代更新,将所述初始分类器设定为迭代更新后的分类器;否则:
将新增样本集分为满足KKT条件的样本Bok和违背KKT条件的样本Berr
对所述非支持向量集NSVA中的所有样本使用双权重函数进行筛选后的样本集记为NSV0 A
将所述SVA、Berr、NSV0 A合并为一个集合A0,得到经过迭代计算后的SVM分类器。
优选的,所述SVM分类模型的构建,包括:
采集海量正常应用软件和恶意应用软件,并对所述正常应用软件和恶意应用软件进行反编译获得正常应用软件的源代码和恶意应用软件的源代码;
从所述正常应用软件的源代码中提取正常特征样本;
从所述恶意应用软件的源代码中提取恶意特征样本;
将所述正常特征样本和所述恶意特征样本合并为一个集合,将所述合并后的集合设定为SVM分类器。
优选的,所述对非支持向量集NSVA中的所有样本使用双权重函数进行筛选后的样本集记为NSV0 A,包括:
基于所述初始分类器中的支持向量集SVA和非支持向量集NSVA,结合聚类中心距离算法得到的支持向量集SVA的样本中心和非支持向量集NSVA的样本中心
分别计算支持向量集SVA和非支持向量集NSVA到各自中心距离的权重λ1(x1i)和λ2(x2i);
分别计算支持向量集SVA和非支持向量集NSVA两类样本到异类中心距离的权重μ1(x1i)和μ2(x2i);
筛选非支持向量集NSVA样本中满足下述条件的样本得到集合NSV0 A
其中,所述条件包括:λ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增量学习算法对应用样本进行学习分类,该方法能够在保证应用分类精度不下降的前提下,最大限度降低学习时间,提高学习效率。
2、本发明使用移动应用的危险权限和敏感API组合作为恶意应用判别特征,能够充分表达恶意应用特征。
附图说明
图1为本发明的一种面向电力企业的移动应用恶意软件检测方法流程图;
图2为本发明的电力企业移动应用恶意软件检测流程图;
图3为本发明的APK文件反编译流程图;
图4为本发明的SVM增量学习算法流程图。
具体实施方式
实施例1
本发明提供了一种面向电力企业的移动应用恶意软件检测方法。该检测方法首先对APP样本进行反编译,获取应用的源码,然后利用静态扫描方式提取出正常应用和恶意应用的特征向量,构建正常和恶意特征样本库。最后使用机器学习算法支持向量机对特征库进行训练学习,得到用于识别恶意应用的SVM分类模型。如果有新增样本需要训练,可以通过增量学习的方式快速学习新增样本特征,无需重新学习所有样本特征,最终获得不断迭代更新的SVM分类模型。
电力企业移动应用恶意软件检测流程图如附图1所示,主要包括:
S1、获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;
S2、提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的SVM分类模型进行比对,确定所述待检测软件是否为恶意软件。
其中,SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。
具体的:
S1、获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码:
包括获取APP样本集、反编译等步骤:
步骤1-1:获取APP样本集。APP样本集分为正常样本和恶意样本,正常样本来源于Google安卓市场,大部分是和电力相关的应用,恶意样本主要来源于VirusShare.com,该样本库android恶意样本量巨大,而且在不断更新。
步骤1-2:反编译。反编译目的是为了获取应用的源代码,如Java源码和AndroidManifest.XML等。反编译流程如附图3所示,首先对APK文件进行解压缩,获取AndroidManifest.AXML、Dex文件和资源文件等。然后利用dex2jar工具进行反编译,将Dex文件转换为Jar文件,对得到的文件利用jd-gui工具进行反编译得到应用Java源码。AndroidManifest.AXML文件可以使用AXMLPrinter2工具逆向得到AndroidManifest.XML文件。
S2、提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的SVM分类模型进行比对,确定所述待检测软件是否为恶意软件:
SVM分类模型包括模型的构建和当有新增样本时对SVM分类器基于双重权重增量方法进行迭代更新。
1、特征提取
根据中国互联网协会反病毒联盟发布的《移动互联网恶意代码描述规范》定义,移动应用恶意软件主要分为8类:恶意扣费、隐私窃取、远程控制、恶意传播、资费消耗、系统破坏、诱骗欺诈、流氓行为。这些恶意行为操作需要通过应用申请权限和系统API组合来实现,例如,隐私窃取有可能需要读取短信和连接网络等权限和API。因此,移动应用的特征向量由权限和API两种组合构成。
在Android 6之后,Google将权限分为两类:普通权限和危险权限。危险权限一共定义了9组23种权限,这些权限主要涉及用户隐私,具有较高敏感性。本发明以危险权限为基础,选取了12种危险权限,再加上其它6种权限,如应用开机自启动和获取安装包等权限,一共18种权限构成权限特征向量,权限特征向量Tp={CAMERA,READ_CONTACTS,ACCESS_FINE_LOCATION,WRITE_CONTACTS,ACCESS_COARSE_LOCATION,READ_PHONE_STATE,CALL_PHONE,SEND_SMS,RECEIVE_SMS,READ_SMS,GET_TASKS,READ_EXTERNAL_STORAGE,WRITE_EXTERNAL_STORAGE,RECEIVE_BOOT_COMPLETE,INSTALL_PACKAGES,CHANGE_NETWORK_STATE,CHANGE_WIFI_STATE,INTERNET}。
Android应用恶意软件有一百多个家族,它们的恶意行为主要由一系列的高危API组成,如应用自启动、发送短信和获取地理位置等API。本发明选取13种敏感API作为API特征向量,API特征向量TA={getNumberFromIntent(),ContentResolver/query(),createFromPdu().sendTextMessage(),setMobileDateEnabled(),setWifiEnabled(),HttpURLConnection,getCellLocation(),getLinelNumber(),installPackage(),getDeviceId(),getRunningTasks(),Runtime.getRuntime.exec()}。
2、建模,如图2所示
(1)在建模时需要获取已知的正常应用软件和恶意应用软件,并从已知软件中按照S1的方法获得源代码,然后对软代码进行特征向量的提取,形成训练样本。
(2)SVM训练阶段。
SVM训练阶段是通过对海量正常样本和恶意应用样本进行训练学习,获取SVM分类器。如果有新增样本需要训练,则使用SVM增量学习算法训练样本,如图4所示。SVM增量学习算法设计使用双权重函数淘汰初始样本,尽可能准确的筛选出可能成为支持向量的非支持向量,减小训练样本冗余。下面介绍双权重函数的设计方法。
对于两类分类问题,x1i和x2i分别表示训练样本,l1和l2分别表示两类样本个数,分别表示两类样本的中心,利用基于类中心距离的方法来计算权重函数,方法如下:
两类样本到各自中心距离的权重函数定义为
两类样本到异类中心距离的权重函数定义为
在获取双权重函数之后,结合KKT条件,可以实现SVM的增量学习。增量算法的具体步骤如下:
设初始训练样本集为A,新增样本集为B。
步骤21:对初始训练集A进行训练,得到分类器ΦA,SVA为ΦA的支持向量集,NSVA为ΦA非支持向量集。
步骤22:判断B中有无违背ΦA的KKT条件的样本,如果没有,则算法结束,ΦA为最终分类器;否则,将样本集B分为Bok和Berr,其中Bok表示满足KKT条件的样本,Berr表示违背KKT条件的样本;
步骤23:对NSVA中的所有样本根据公式(3)、(4)和(5)、(6)求出每个样本的两个权重大小;保留NSVA样本满足2个条件:λ1(x1i)≥λ1,λ2(x2i)≥λ2和μ1(x1i)≤μ1,μ2(x2i)≤μ2为KKT条件,记NSV0 A为NSVA经过双权重函数阈值比较过的保留样本集合。
步骤24:将SVA、Berr、NSV0 A合并为一个集合A0,对A0进行训练得到最终分类器Φ0,同时将A0作为下一次增量学习时的初始样本集。
算法中的参数λ1,λ2∈[0,1]和μ1,μ2∈[0,1]是自定义的。
(3)、将所述源代码的特征向量输入到预先构建的SVM分类模型进行比对,确定所述待检测软件是否为恶意软件。
利用训练阶段得到的SVM分类器对待检测未知样本进行分类,判断移动应用是否是恶意应用。
SVM分类器的判别函数为:
式中,x为待检测样本,xi为支持向量,n为支持向量数目,αi为拉格朗日乘子,K(xi,x)即为核函数,ρ为超平面截距。根据训练阶段标签设置情况,如果输出f(x)=1,则检测到的应用是正常应用,如果f(x)=-1,则检测到的应用是恶意应用。
实施例2
一种面向电力企业的移动应用恶意软件检测系统,包括:
获取模块:用于获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;
确定模块:用于提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;
所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。
所述确定模块,包括:模型建立子模块、模型更新子模块和判定子模块:
所述模型建立模块用于:基于海量正常应用软件和恶意应用软件进行特征提取构建SVM分类器;
所述模型更新模块用于:当有新增样本时,基于SVM分类器采用双重权重增量方法更新SVM分类器;
所述判定子模块,用于:用于将待检测样本输入SVM分类模型确定是否为恶意软件。
所述判断子模块包括:SVM分类器的判别函数和计算子单元;
所述SVM分类器的判别函数如下式所示:
式中,x为待检测样本,xi为支持向量,n为支持向量数目,αi为拉格朗日乘子,K(xi,x)即为核函数,ρ为超平面截距;
所述计算子单元包括:根据所述判别函数的输出判断应用是否为恶意应用,当所述判别函数的输出为1时,则新增样本是正常应用,所述判别函数的输出为1,则新增样本是恶意应用。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。

Claims (13)

1.一种面向电力企业的移动应用恶意软件检测方法,其特征在于,包括:
获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;
提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的支持向量机SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;
其中,所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。
2.如权利要求1所述的检测方法,其特征在于,所述SVM分类器基于双重权重增量方法进行迭代更新,包括:
当有新增样本需要训练时:
将所述预先构建的SVM分类模型中的SVM分类器设定为初始分类器;
从所述初始分类器中确定支持向量集SVA和非支持向量集NSVA
判断新增样本中有无违背初始分类器KKT条件的样本,如果没有,结束迭代更新,将所述初始分类器设定为迭代更新后的分类器;否则:
将新增样本集分为满足KKT条件的样本Bok和违背KKT条件的样本Berr
对所述非支持向量集NSVA中的所有样本使用双权重函数进行筛选后的样本集记为NSV0 A
将所述SVA、Berr、NSV0 A合并为一个集合A0,得到经过迭代计算后的SVM分类器。
3.如权利要求1或2所述的检测方法,其特征在于,所述SVM分类模型的构建,包括:
采集海量正常应用软件和恶意应用软件,并对所述正常应用软件和恶意应用软件进行反编译获得正常应用软件的源代码和恶意应用软件的源代码;
从所述正常应用软件的源代码中提取正常特征样本;
从所述恶意应用软件的源代码中提取恶意特征样本;
将所述正常特征样本和所述恶意特征样本合并为一个集合,将所述合并后的集合设定为SVM分类器。
4.如权利要求2所述的检测方法,其特征在于,所述对非支持向量集NSVA中的所有样本使用双权重函数进行筛选后的样本集记为NSV0 A,包括:
基于所述初始分类器中的支持向量集SVA和非支持向量集NSVA,结合聚类中心距离算法得到的支持向量集SVA的样本中心和非支持向量集NSVA的样本中心
分别计算支持向量集SVA和非支持向量集NSVA到各自中心距离的权重λ1(x1i)和λ2(x2i);
分别计算支持向量集SVA和非支持向量集NSVA两类样本到异类中心距离的权重μ1(x1i)和μ2(x2i);
筛选非支持向量集NSVA样本中满足下述条件的样本得到集合NSV0 A
其中,所述条件包括:λ1(x1i)≥λ1,λ2(x2i)≥λ2和μ1(x1i)≤μ1,μ2(x2i)≤μ2
其中,x1i为初始分类器中的支持向量集的训练样本;x2i为初始分类器中的非支持向量集的训练样本。
5.如权利要求4所述的检测方法,其特征在于,所述样本的样本到各自中心距离的权重,按下式计算:
式中:l1为初始分类器中的支持向量集样本个数l2为初始分类器中的非支持向量集样本个数。
6.如权利要求4所述的检测方法,其特征在于,所述样本到异类中心距离的权重,按下式计算:
式中:l1为初始分类器中的支持向量集样本个数l2为初始分类器中的非支持向量集样本个数。
7.如权利要求4至6任一项所述的检测方法,其特征在于,所述按下式计算:
所述按下式计算:
8.如权利要求3所述的检测方法,其特征在于,所述恶意特征样本,包括:
危险权限特征向量和敏感API特征向量。
9.如权利要求1所述的检测方法,其特征在于,所述提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的SVM分类模型进行比对,确定所述待检测软件是否为恶意软件,包括:
将待检测样本输入SVM分类模型的判别函数得到值,进行判断;
所述SVM分类模型的判别函数输出1,则检测到的应用是正常应用,SVM分类模型的判别函数输出-1,则检测到的应用是恶意应用。
10.如权利要求9所述的检测方法,其特征在于,所述SVM分类器的判别函数如下式所示:
式中,x为待检测样本,xi为支持向量,n为支持向量数目,αi为拉格朗日乘子,K(xi,x)为核函数,ρ为超平面截距。
11.一种面向电力企业的移动应用恶意软件检测系统,其特征在于,包括:
获取模块:用于获取待检测软件,并对所述待测软件进行反编译获得所述待测软件的源代码;
确定模块:用于提取所述源代码的特征向量,并将所述源代码的特征向量输入到预先构建的SVM分类模型进行比对,确定所述待检测软件是否为恶意软件;
所述SVM分类模型包括:SVM分类器,所述SVM分类器基于双重权重增量方法进行迭代更新。
12.如权利要求11所述一种面向电力企业的移动应用恶意软件检测系统,其特征在于,所述确定模块,包括:模型建立子模块、模型更新子模块和判定子模块:
所述模型建立模块用于:基于海量正常应用软件和恶意应用软件进行特征提取构建SVM分类器;
所述模型更新模块用于:当有新增样本时,基于SVM分类器采用双重权重增量方法更新SVM分类器;
所述判定子模块,用于:用于将待检测样本输入SVM分类模型确定是否为恶意软件。
13.如权利要求12所述一种面向电力企业的移动应用恶意软件检测系统,其特征在于,所述判断子模块包括:SVM分类器的判别函数和计算子单元;
所述SVM分类器的判别函数如下式所示:
式中,x为待检测样本,xi为支持向量,n为支持向量数目,αi为拉格朗日乘子,K(xi,x)为核函数,ρ为超平面截距;
所述计算子单元包括:根据所述判别函数的输出判断应用是否为恶意应用,当所述判别函数的输出为1时,则新增样本是正常应用,所述判别函数的输出为-1,则新增样本是恶意应用。
CN201811389269.8A 2018-11-21 2018-11-21 一种面向电力企业的移动应用恶意软件检测方法及系统 Active CN109684837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811389269.8A CN109684837B (zh) 2018-11-21 2018-11-21 一种面向电力企业的移动应用恶意软件检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811389269.8A CN109684837B (zh) 2018-11-21 2018-11-21 一种面向电力企业的移动应用恶意软件检测方法及系统

Publications (2)

Publication Number Publication Date
CN109684837A true CN109684837A (zh) 2019-04-26
CN109684837B CN109684837B (zh) 2024-03-19

Family

ID=66185444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811389269.8A Active CN109684837B (zh) 2018-11-21 2018-11-21 一种面向电力企业的移动应用恶意软件检测方法及系统

Country Status (1)

Country Link
CN (1) CN109684837B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111460448A (zh) * 2020-03-09 2020-07-28 北京邮电大学 一种恶意软件家族检测方法及装置
CN112883995A (zh) * 2020-12-30 2021-06-01 华北电力大学 基于集成学习的闭源电力工控系统恶意行为识别方法及装置
CN114756875A (zh) * 2022-06-16 2022-07-15 荣耀终端有限公司 一种代码扫描方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982390A (zh) * 2012-11-02 2013-03-20 广东电网公司电力科学研究院 一种基于支持向量机增量算法的锅炉燃烧效率预测方法
US20170032279A1 (en) * 2015-07-31 2017-02-02 Acuity Solutions Corporation System and method for in-situ classifier retraining for malware identification and model heterogeneity
CN107577942A (zh) * 2017-08-22 2018-01-12 中国民航大学 一种用于Android恶意软件检测的混合特征筛选方法
CN108090360A (zh) * 2018-01-16 2018-05-29 华南师范大学 一种基于行为特征的安卓恶意应用分类方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982390A (zh) * 2012-11-02 2013-03-20 广东电网公司电力科学研究院 一种基于支持向量机增量算法的锅炉燃烧效率预测方法
US20170032279A1 (en) * 2015-07-31 2017-02-02 Acuity Solutions Corporation System and method for in-situ classifier retraining for malware identification and model heterogeneity
CN107577942A (zh) * 2017-08-22 2018-01-12 中国民航大学 一种用于Android恶意软件检测的混合特征筛选方法
CN108090360A (zh) * 2018-01-16 2018-05-29 华南师范大学 一种基于行为特征的安卓恶意应用分类方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111460448A (zh) * 2020-03-09 2020-07-28 北京邮电大学 一种恶意软件家族检测方法及装置
CN112883995A (zh) * 2020-12-30 2021-06-01 华北电力大学 基于集成学习的闭源电力工控系统恶意行为识别方法及装置
CN114756875A (zh) * 2022-06-16 2022-07-15 荣耀终端有限公司 一种代码扫描方法及电子设备

Also Published As

Publication number Publication date
CN109684837B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
US9787695B2 (en) Methods and systems for identifying malware through differences in cloud vs. client behavior
US10104107B2 (en) Methods and systems for behavior-specific actuation for real-time whitelisting
US10915659B2 (en) Privacy detection of a mobile application program
US9910984B2 (en) Methods and systems for on-device high-granularity classification of device behaviors using multi-label models
US20160379136A1 (en) Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications
US9357397B2 (en) Methods and systems for detecting malware and attacks that target behavioral security mechanisms of a mobile device
US9684775B2 (en) Methods and systems for using behavioral analysis towards efficient continuous authentication
US9509707B2 (en) Methods and systems for thwarting side channel attacks
CN110383278A (zh) 用于检测恶意计算事件的系统和方法
US20170024660A1 (en) Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors
US20180039779A1 (en) Predictive Behavioral Analysis for Malware Detection
CN108985066B (zh) 一种智能合约安全漏洞检测方法、装置、终端及存储介质
CN103875003A (zh) 用于在移动网络环境中把应用列入白名单的系统和方法
CN103890770A (zh) 在移动网络环境中将应用列入白列表的系统和方法
CN105357204B (zh) 生成终端识别信息的方法及装置
CN102708320A (zh) 一种病毒apk的识别方法及装置
CN105431859A (zh) 指示恶意软件的信号标记
CN109684837A (zh) 一种面向电力企业的移动应用恶意软件检测方法及系统
US11775641B2 (en) Systems and methods for classifying malware based on feature reuse
KR20200039912A (ko) Ai 기반 안드로이드 악성코드 자동화 분석 시스템 및 방법
CN113328994A (zh) 一种恶意域名处理方法、装置、设备及机器可读存储介质
CN116980162A (zh) 云审计的数据检测方法、装置、设备、介质及程序产品
US10742642B2 (en) User authentication based on predictive applications
Lee et al. An android malware detection system using a knowledge-based permission counting method
CN113626817B (zh) 恶意代码家族分类方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant