CN110795732A - 基于SVM的Android移动网络终端恶意代码的动静结合检测方法 - Google Patents

基于SVM的Android移动网络终端恶意代码的动静结合检测方法 Download PDF

Info

Publication number
CN110795732A
CN110795732A CN201910959635.7A CN201910959635A CN110795732A CN 110795732 A CN110795732 A CN 110795732A CN 201910959635 A CN201910959635 A CN 201910959635A CN 110795732 A CN110795732 A CN 110795732A
Authority
CN
China
Prior art keywords
software
dynamic
malicious
static
sample
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.)
Pending
Application number
CN201910959635.7A
Other languages
English (en)
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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201910959635.7A priority Critical patent/CN110795732A/zh
Publication of CN110795732A publication Critical patent/CN110795732A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于SVM的Android移动网络终端恶意代码的动静结合检测方法,构建包含恶意软件和非恶意软件的训练样本数据集;获取训练样本数据集中每个样本的静态特征与动态行为特征,构建每个软件样本的特征向量;对所有软件样本的特征向量增加恶意软件标记字段,训练支持向量机分类器;对恶意软件样本的特征向量增加恶意软件类别标记字段,训练随机森林分类器;提取待测软件的静态特征向量和动态特征向量,构建待测软件的特征向量;利用支持向量机分类器进行恶意软件检;若检测为恶意的软件,则进一步利用随机森林分类器判断其所属的恶意软件家族。本发明提高了软件恶意行为检测的准确性,同时具有恶意家族分类的能力。

Description

基于SVM的Android移动网络终端恶意代码的动静结合检测 方法
技术领域
本发明属于信息安全领域,具体涉及一种基于SVM的Android移动网络终端恶意代码的动静结合检测方法。
背景技术
当前智能手机的应用已经涉及到人们生活的各个方面,而Android系统在智能手机中占有大量的份额,因此准确的检测Android恶意代码,对于保护Android用户隐私和财产安全具有重要的意义和应用价值。现有的Android恶意代码多标签检测的研究中,一般仅使用静态分析方法提取Android软件的特征,无法处理动态加载、运行时加解密等行为,恶意软件的检测精度和恶意家族的分类精度较低。
发明内容
本发明的目的在于提供一种基于SVM的Android移动网络终端恶意代码的动静结合检测方法。
实现本发明目的的技术解决方案为:一种基于SVM的Android移动网络终端恶意代码的动静结合检测方法,包括以下步骤:
步骤1、获取Android移动智能终端嵌入式恶意软件样本,并标记各样本所属的Android恶意软件家族,然后获取非恶意软件样本,从而构建包含恶意软件和非恶意软件的训练样本数据集;
步骤2、使用反编译工具处理Android软件样本,构建软件的静态特征向量;
步骤3、创建Android虚拟设备,使用Android软件动态分析工具,构建软件的动态特征向量;
步骤4、获取训练样本数据集中每个样本的静态特征与动态行为特征,构建每个软件样本的特征向量;
步骤5、对所有软件样本的特征向量增加恶意软件标记字段,指明该样本是否为恶意软件,利用带恶意软件标记字段的特征向量训练支持向量机分类器;
步骤6、对恶意软件样本的特征向量增加恶意软件类别标记字段,指明该样本所属的Android恶意软件家族,利用带恶意软件类别标记字段的特征向量训练随机森林分类器;
步骤7、提取待测软件的静态特征向量和动态特征向量,构建待测软件的特征向量;
步骤8、利用支持向量机分类器进行恶意软件检;若检测为恶意的软件,则进一步利用随机森林分类器判断其所属的恶意软件家族。
本发明与现有技术相比,其显著优点为:1)使用动静结合的方法分析待测软件,能够更全面获取软件的行为特征,对动态加载、加密等行为进行检测,提高了恶意性判定的准确性;2)通过使用脚本构建adb shell命令,模拟Android恶意软件通常监听的系统事件,能够有效触发软件恶意负载,提高了动态分析的效率;3)使用支持向量机判定软件的恶意性,并将随机森林引入到Android恶意家族的分类中,提高了恶意性判定精度和恶意家族分类精度。
附图说明
图1为基于SVM的Android移动网络终端恶意代码的动静结合检测方法流程图。
图2为构建的软件特征向量实例图。
图3为待测软件恶意性检测和家族分类流程图。
具体实施方式
下面结合附图和具体实施例,进一步说明本发明方案。
如图1所示,基于SVM的Android移动网络终端恶意代码的动静结合检测方法,包括以下步骤:
步骤1、获取Android移动智能终端嵌入式恶意软件样本,并标记各样本所属的Android恶意软件家族,然后获取非恶意软件样本,从而构建包含恶意软件和非恶意软件的训练样本数据集;
步骤2、使用反编译工具处理Android软件样本,构建软件的静态特征向量Fstatic
使用APKParser处理Android软件样本,解析AndroidManifest.xml文件,根据xml中的标记字段,提取软件申请的权限列表、声明的组件以及软件监控的系统事件,构建软件静态特征向量Fstatic,可将其表示为下列三元组:
Fstatic=<Per,Cpt,Act>
其中,Per为软件申请的所有权限的集合,Cpt为软件声明的所有组件集合,Act为软件监听的所有事件集合。
步骤3、创建Android虚拟设备,使用Android软件动态分析工具,构建软件的动态特征向量Fdynamic
使用Android SDK工具创建Android虚拟设备,使用DroidBox作为Android软件动态分析工具,通过构建的MonkeyRunner脚本安装待检测的软件,模拟用户交互行为并仿真系统事件,收集监控到的软件动态行为,构建软件的动态特征;
其中仿真系统事件使用adb shell命令实现,关注的系统事件为Android恶意软件通常监听的10种系统事件,包括:收到基于数据的短信、收到基于文本的短信、系统启动完成、有电话呼入、有电话呼出、手机电量低、时区发生改变、电话状态改变、信号强度改变和关机;
构建的软件动态特征Fdynamic为:
Fdynamic=<DCL,SS,RN,FRW,ON,CN,SN,DL-N,DL-F,DL-S,SSMS,PC,CU>
其中,DCL为动态加载,SS为启动服务,RN为接收网络数据,FRW为文件读写,ON为开启网络连接,CN为关闭网络连接,SN为发送网络数据,DL-N为数据泄露(通过网络),DL-F为数据泄露(通过文件),DL-S为数据泄露(通过短信),SSMS为发送短信,PC为打电话,CU加密算法使用。
步骤4、使用步骤2~3的方法,获取训练样本数据集中每个样本的静态特征Fstatic与动态行为特征Fdynamic,构建每个软件样本的特征向量F,将构建的特征向量存储到本地文件中;
每个样本的特征向量F可以表示为:
F=<F′static,F′dynamic>
其中F′static和F′dynamic为对Fstatic和Fdynamic进一步处理的结果,具体的处理方法为,对Fstatic的权限列表Per,判断其是否存在常用的敏感权限,如果存在则将相应位标记为1,否则标记为0;对Fstatic的组件Cpt字段,统计服务组件和广播接收器组件的数量,以及各组件中包含有<intent-filter>字段的数量,构成长度为4的向量;对Fstatic的系统事件Act,判断其是否包含恶意软件通常监听的10种系统事件,如果包含则将相应位标记为1,否则标记为0;对Fdynamic中的各动态行为,使用自然语言处理中常用的词袋模型进行表示,从而构建动态行为的特征向量F′dynamic
步骤5、对所有软件样本的特征向量增加恶意软件标记字段,指明该样本是否为恶意软件,利用带恶意软件标记字段的特征向量训练支持向量机分类器;
训练支持向量机分类器时,带恶意软件标记字段的训练样本特征向量集合可以表示为:T={(Fi,mi)}i=1,…l,l为训练样本的数量,其中Fi=<F′i,static,F′i,dynamic>为训练集中第i个样本的特征向量,由静态特征向量Fstatic和动态特征向量Fdynamic进一步处理得到;mi∈{-1,1}指明当前样本是否为恶意样本,值为-1时表示当前样本为非恶意样本,值为1时表示当前样本为恶意样本。
根据支持向量机分类器分类间隔最大化原则,其求解的问题表示为:
Figure BDA0002228494000000041
s.t.mi((ω·Fi)+b)≥1-ξi
mj((ω·Fj)+b)≥1-ξj
ξi≥0,ξj≥0,i,j=1,…,l
其中,X+为正常软件,X-为恶意软件,ω和b为支持向量机求解的最优化分类面的法向量和截距,ξi为依据样本软件的特征向量Fi将软件错误分类产生的误差,C>0为误差项ξi的惩罚参数,对两类不平衡数据的惩罚不同对参数η的选择是数据依赖问题,拟从范围[0.2,0.4,0.6,0.8,1]中选取;
为了有效求解该问题,引入Lagrange函数:
Figure BDA0002228494000000042
其中,非负向量α=(α1,…αl)T和β=(βl,…βl)T均为Lagrange乘子;
将Lagrange函数分别对ω、b和ξi求偏导,并令偏导数为0,将结果带入上述问题后,得到新的优化问题为:
Figure BDA0002228494000000043
Figure BDA0002228494000000044
0≤αi≤C(1+η),i=1,…,l
通过求解上述的二次规划问题可得到Lagrange乘子αi,其中
Figure BDA0002228494000000045
对应样本的支持向量集,选取任一支持向量得到截距
Figure BDA0002228494000000046
则恶意软件判定决策函数为:
进一步的,将参数η的选择问题转化为分类器集成问题,即根据η1=0.2获得分类函数f1(F),根据η2=0.4获得f2(F),…,根据η5=1获得f5(F),寻找最终分类函数
Figure BDA0002228494000000048
即优化
Figure BDA0002228494000000049
最后得到目标函数如下:
Figure BDA00022284940000000410
其中F+和F-分别为正负类分类得分矩阵,L+和L-分别为正负类拉普拉斯矩阵;
当f(F)≥0时,输出为1,即特征向量F代表的软件为恶意软件,否则为非恶意软件。
步骤6、对恶意软件样本的特征向量增加恶意软件类别标记字段,指明该样本所属的Android恶意软件家族,利用带恶意软件类别标记字段的特征向量训练随机森林分类器;
随机森林分类器的训练方法如下:设训练集中恶意软件样本的数量为n,对这n个样本,有放回的抽样n次,得到训练集的一个子集S;随机抽取特征向量F中的个特征,在集合S的所有样本的特征向量中,使用抽取的m个特征训练一棵决策树;重复上述过程N次,得到N棵决策树,从而构成随机森林分类器。
步骤7、使用步骤2~3的方法,提取待测软件的静态特征向量和动态特征向量,构建待测软件的特征向量;
步骤8、利用支持向量机分类器进行恶意软件检;若检测为恶意的软件,则进一步利用随机森林分类器判断其所属的恶意软件家族,并显示检测结果。
实施例
为了验证本发明方案的有效性,使用Drebin数据集和Google Play中获取的非恶意软件样本构成数据集,进行恶意代码检测和家族分类仿真。
步骤1、将Drebin中的样本按照其所属的恶意家族进行分割,使用网络爬虫方法,在Google Play上获取非恶意软件,并使用VirusTotal在线检测服务进行验证,从而构建样本数据集,选取数据集中70%的样本作为训练数据;
步骤2、使用APKParser处理Android软件样本,解析AndroidManifest.xml文件,根据xml中的标记字段,提取软件申请的权限列表、声明的组件以及软件监控的系统事件,构建软件的静态特征Fstatic,表示为:
Fstatic=<Per,Cpt,Act>
其中,Per为软件申请的所有权限的列表集合,Cpt为软件声明的所有组件集合,Act为软件监听的所有事件。
步骤3、使用Android SDK工具创建Android虚拟设备,使用DroidBox作为Android软件动态分析工具,通过构建的MonkeyRunner脚本安装待检测的软件,模拟用户交互行为并仿真系统事件,收集监控到的软件动态行为,构建软件的动态特征Fdynamic
其中仿真系统事件使用adb shell命令实现,关注的系统事件为Android恶意软件通常监听的10种系统事件,包括:收到基于数据的短信、收到基于文本的短信、系统启动完成、有电话呼入、有电话呼出、手机电量低、时区发生改变、电话状态改变、信号强度改变和关机;
构建的软件动态特征Fdynamic为:
Fdynamic=<DCL,SS,RN,FRW,ON,CN,SN,DL-N,DL-F,DL-S,SSMS,PC,CU>
其中,DCL为动态加载,SS为启动服务,RN为接收网络数据,FRW为文件读写,ON为开启网络连接,CN为关闭网络连接,SN为发送网络数据,DL-N为数据泄露(通过网络),DL-F为数据泄露(通过文件),DL-S为数据泄露(通过短信),SSMS为发送短信,PC为打电话,CU加密算法使用;
步骤4、使用步骤2~3的方法,获取训练集中所有样本的静态特征Fstatic与动态行为特征Fdvnamic,将每个样本的特征表示为特征向量F,并将构建的特征向量存储到本地文件中;
每个样本的特征向量F为:
F=<F′static,F′dynamic>
其中F′satic和F′dynamic为对Fstatic和Fdynamic进一步处理的结果,具体的处理方法为:对Fstatic的权限列表Per,判断其是否存在常用的敏感权限,并将相应位标记为1,否则标记为0;对Fstatic的组件Cpt字段,统计服务组件和广播接收器组件的数量,以及各组件中包含有<intent-filter>字段的数量,构成长度为4的向量;对Fstatic的系统事件Act,判断其是否包含恶意软件通常监听的10种系统事件,并将相应位标记为1,否则标记为0;对Fdynamic中的各动态行为,使用自然语言处理中常用的词袋模型(Bag-of-words Model)进行表示,从而构建动态行为的特征向量F′dynamic
最终构成如图2所示的245维特征向量;
步骤5、在存储的样本特征向量的最后增加标记字段,指明该样本是否为恶意软件,然后将其作为训练集训练支持向量机分类器;
给定训练软件样本数据的特征向量集T={(F1,m1),…,(Fl,ml)},其中Fi=<F′i,static,F′idynamic>为训练集中第i个样本的特征向量;mi∈{-1,1}指明当前样本是否为恶意样本,值为-1时表示当前样本为非恶意样本,值为1时表示当前样本为恶意样本;i=1,…l,l为训练样本的数量。
根据分类间隔最大化原则,支持向量机分类器求解的问题表示为:
Figure BDA0002228494000000061
s.t.mi((ω·Fi)+b)≥1-ξi
mj((ω·Fj)+b)≥1-ξj
ξi≥0,ξj≥0,i,j=1,…,l
其中,X+为正常软件,X-为恶意软件,ω和b为支持向量机求解的最优化分类面的法向量和截距,ξi为依据样本软件的特征向量Fi将软件错误分类产生的误差,C>0为误差项ξi的惩罚参数,对两类不平衡数据的惩罚不同对参数η的选择是数据依赖问题,拟从范围[0.2,0.4,0.6,0.8,1]中选取;
为了有效求解该问题,引入Lagrange函数:
Figure BDA0002228494000000071
其中,非负向量α=(α1,…αl)T和β=(βl,…βl)T均为Lagrange乘子;
将Lagrange函数分别对ω、b和ξi求偏导,并令偏导数为0,将结果带入上述问题后,得到新的优化问题为:
Figure BDA0002228494000000072
Figure BDA0002228494000000073
0≤αi≤C(1+η),i=1,…,l
通过求解上述的二次规划问题可得到Lagrange乘子αi,其中
Figure BDA0002228494000000074
对应样本的支持向量集,选取任一支持向量得到截距
Figure BDA0002228494000000075
则恶意软件判定决策函数为:
Figure BDA0002228494000000076
进一步,将参数η的选择问题转化为分类器集成问题。即根据η1=0.2获得分类函数f1(F),根据η2=0.4获得f2(F),…,根据η5=1获得f5(F)。寻找最终分类函数
Figure BDA0002228494000000077
即优化
Figure BDA0002228494000000078
最后得到目标函数如下:
Figure BDA0002228494000000079
其中F+和F-分别为正负类分类得分矩阵,L+和L-分别为正负类拉普拉斯矩阵。
当f(F)≥0时,输出为1,即特征向量F代表的软件为恶意软件,否则为非恶意软件。
步骤6、对训练集中的恶意样本,在其特征向量的最后增加标记字段,指明该样本所属的Android恶意软件家族,并将其作为训练集,训练随机森林分类器;
随机森林分类器的训练过程为,训练集中恶意软件样本的数量为3778个,对这3778个样本,有放回的抽样3778次,得到训练集的一个子集S;随机抽取特征向量F中的个特征,在集合S的所有样本的特征向量中,使用抽取的8个特征训练一棵决策树;重复上述过程100次,得到100棵决策树,从而构成随机森林分类器;
步骤7、在测试样本中,随机选取待测软件对系统进行测试,测试方法如图3所示,使用步骤2~3的方法提取待测软件的静态和动态特征,构建待测软件的特征向量;
步骤8、对待测软件使用支持向量机进行恶意软件检测,若检测为恶意软件,使用随机森林分类器判断其所属的恶意软件家族,并显示检测结果。
本发明采用动静结合的检测方法,有效的分析了Android恶意软件的恶意行为,结合机器学习算法,提高了Android恶意软件检测的精度,并具有Android恶意家族分类的能力。

Claims (7)

1.基于SVM的Android移动网络终端恶意代码的动静结合检测方法,其特征在于,包括以下步骤:
步骤1、获取Android移动智能终端嵌入式恶意软件样本,并标记各样本所属的Android恶意软件家族,然后获取非恶意软件样本,从而构建包含恶意软件和非恶意软件的训练样本数据集;
步骤2、使用反编译工具处理Android软件样本,构建软件的静态特征向量;
步骤3、创建Android虚拟设备,使用Android软件动态分析工具,构建软件的动态特征向量;
步骤4、获取训练样本数据集中每个样本的静态特征与动态行为特征,构建每个软件样本的特征向量;
步骤5、对所有软件样本的特征向量增加恶意软件标记字段,指明该样本是否为恶意软件,利用带恶意软件标记字段的特征向量训练支持向量机分类器;
步骤6、对恶意软件样本的特征向量增加恶意软件类别标记字段,指明该样本所属的Android恶意软件家族,利用带恶意软件类别标记字段的特征向量训练随机森林分类器;
步骤7、提取待测软件的静态特征向量和动态特征向量,构建待测软件的特征向量;
步骤8、利用支持向量机分类器进行恶意软件检;若检测为恶意的软件,则进一步利用随机森林分类器判断其所属的恶意软件家族。
2.根据权利要求1所述的Android移动网络终端恶意代码的动静结合检测方法,其特征在于,步骤2中,使用APKParser处理Android软件样本,解析AndroidManifest.xml文件,根据xml中的标记字段,提取软件申请的权限列表、声明的组件以及软件监控的系统事件,构建软件静态特征向量Fstatic,将其表示为下列三元组:
Fstatic=<Per,Cpt,Act>
其中,Per为软件申请的所有权限的集合,Cpt为软件声明的所有组件集合,Act为软件监听的所有事件集合。
3.根据权利要求1所述的Android移动网络终端恶意代码的动静结合检测方法,其特征在于,步骤3中,使用Android SDK工具创建Android虚拟设备,使用DroidBox作为Android软件动态分析工具,通过构建的MonkeyRunner脚本安装待检测的软件,模拟用户交互行为并仿真系统事件,收集监控到的软件动态行为,构建软件的动态特征;
其中仿真系统事件使用adb shell命令实现,关注的系统事件为Android恶意软件通常监听的10种系统事件,包括:收到基于数据的短信、收到基于文本的短信、系统启动完成、有电话呼入、有电话呼出、手机电量低、时区发生改变、电话状态改变、信号强度改变和关机;
构建的软件动态特征Fdynamic为:
Fdynamic=<DCL,SS,RN,FRW,ON,CN,SN,DL-N,DL-F,DL-S,SSMS,PC,CU>
其中,DCL为动态加载,SS为启动服务,RN为接收网络数据,FRW为文件读写,ON为开启网络连接,CN为关闭网络连接,SN为发送网络数据,DL-N为数据泄露(通过网络),DL-F为数据泄露(通过文件),DL-S为数据泄露(通过短信),SSMS为发送短信,PC为打电话,CU加密算法使用。
4.根据权利要求1所述的Android移动网络终端恶意代码的动静结合检测方法,其特征在于,步骤4中,每个样本的特征向量F为:
F=〈F′static,F′dynamic>
其中F′static和F′dynamic为对Fstatic和Fdynamic进一步处理的结果,具体的处理方法为,对Fstatic的权限列表Per,判断其是否存在常用的敏感权限,如果存在则将相应位标记为1,否则标记为0;对Fstatic的组件Cpt字段,统计服务组件和广播接收器组件的数量,以及各组件中包含有<intent-filter>字段的数量,构成长度为4的向量;对Fstatic的系统事件Act,判断其是否包含恶意软件通常监听的10种系统事件,如果包含则将相应位标记为1,否则标记为0;对Fdynamic中的各动态行为,使用自然语言处理中常用的词袋模型进行表示,从而构建动态行为的特征向量F′dynamic
5.根据权利要求1所述的Android移动网络终端恶意代码的动静结合检测方法,其特征在于,步骤5中,带恶意软件标记字段的训练样本特征向量集合表示为T={(Fi,mi)}i=1,…l,l为训练样本的数量,其中Fi=<F′i,static,F′i,dynamic>为训练集中第i个样本的特征向量,由静态特征向量Fstatic和动态特征向量Fdynamic进一步处理得到;mi∈{-1,1}指明当前样本是否为恶意样本,值为-1时表示当前样本为非恶意样本,值为1时表示当前样本为恶意样本。
6.根据权利要求5所述的Android移动网络终端恶意代码的动静结合检测方法,其特征在于,步骤5中,根据支持向量机分类器分类间隔最大化原则,其求解的问题表示为:
Figure FDA0002228493990000021
s.t.mi((ω·Fi)+b)≥1-ξi,
mj((ω·Fj)+b)≥1-ξj,
ξi≥0,ξj≥0,i,j=1,…,l
其中,X+为正常软件,X-为恶意软件,ω和b为支持向量机求解的最优化分类面的法向量和截距,ξi为依据样本软件的特征向量Fi将软件错误分类产生的误差,C>0为误差项ξi的惩罚参数,对两类不平衡数据的惩罚不同对参数η的选择是数据依赖问题,拟从范围[0.2,0.4,0.6,0.8,1]中选取;
为了有效求解该问题,引入Lagrange函数:
Figure FDA0002228493990000031
其中,非负向量α=(α1,…αl)T和β=(β1,…βl)T均为Lagrange乘子;
将Lagrange函数分别对ω、b和ξi求偏导,并令偏导数为0,将结果带入上述问题后,得到新的优化问题为:
Figure FDA0002228493990000033
0≤αi≤C(1+η),i=1,…,l
通过求解上述的二次规划问题可得到Lagrange乘子αi,其中
Figure FDA0002228493990000034
对应样本的支持向量集,选取任一支持向量得到截距
Figure FDA0002228493990000035
则恶意软件判定决策函数为:
Figure FDA0002228493990000036
进一步的,将参数η的选择问题转化为分类器集成问题,即根据η1=0.2获得分类函数f1(F),根据η2=0.4获得f2(F),…,根据η5=1获得f5(F),寻找最终分类函数
Figure FDA0002228493990000037
即优化
Figure FDA0002228493990000038
最后得到目标函数如下:
Figure FDA0002228493990000039
其中F+和F-分别为正负类分类得分矩阵,L+和L-分别为正负类拉普拉斯矩阵;
当f(F)≥0时,输出为1,即特征向量F代表的软件为恶意软件,否则为非恶意软件。
7.根据权利要求1所述的Android移动网络终端恶意代码的动静结合检测方法,其特征在于,步骤6中,随机森林分类器的训练方法如下:设训练集中恶意软件样本的数量为n,对这n个样本,有放回的抽样n次,得到训练集的一个子集S;随机抽取特征向量F中的
Figure FDA00022284939900000310
个特征,在集合S的所有样本的特征向量中,使用抽取的m个特征训练一棵决策树;重复上述过程N次,得到N棵决策树,从而构成随机森林分类器。
CN201910959635.7A 2019-10-10 2019-10-10 基于SVM的Android移动网络终端恶意代码的动静结合检测方法 Pending CN110795732A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910959635.7A CN110795732A (zh) 2019-10-10 2019-10-10 基于SVM的Android移动网络终端恶意代码的动静结合检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910959635.7A CN110795732A (zh) 2019-10-10 2019-10-10 基于SVM的Android移动网络终端恶意代码的动静结合检测方法

Publications (1)

Publication Number Publication Date
CN110795732A true CN110795732A (zh) 2020-02-14

Family

ID=69438983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910959635.7A Pending CN110795732A (zh) 2019-10-10 2019-10-10 基于SVM的Android移动网络终端恶意代码的动静结合检测方法

Country Status (1)

Country Link
CN (1) CN110795732A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723371A (zh) * 2020-06-22 2020-09-29 上海斗象信息科技有限公司 构建恶意文件的检测模型以及检测恶意文件的方法
CN111832019A (zh) * 2020-06-10 2020-10-27 国家计算机网络与信息安全管理中心 基于生成对抗网络的恶意代码检测方法
CN111881446A (zh) * 2020-06-19 2020-11-03 中国科学院信息工程研究所 一种工业互联网恶意代码识别方法及装置
CN112800426A (zh) * 2021-02-09 2021-05-14 北京工业大学 一种基于群智能算法和cGAN的恶意代码数据不均衡处理方法
CN113127870A (zh) * 2021-04-08 2021-07-16 重庆电子工程职业学院 一种移动恶意软件大数据的快速智能比对和安全检测方法
CN113254928A (zh) * 2021-05-14 2021-08-13 重庆贝特计算机系统工程有限公司 基于工业互联网远程恶意代码识别方法
CN113761912A (zh) * 2021-08-09 2021-12-07 国家计算机网络与信息安全管理中心 一种对恶意软件归属攻击组织的可解释判定方法及装置
CN114186229A (zh) * 2020-09-15 2022-03-15 中国电信股份有限公司 分类检测模型训练方法和装置、分类检测方法和装置
CN114745200A (zh) * 2022-05-07 2022-07-12 湖南科技学院 一种基于恶意代码动态取证模型的恶意代码检测方法
CN114996708A (zh) * 2022-08-08 2022-09-02 中国信息通信研究院 涉诈手机应用研判方法、装置、电子设备及存储介质
CN115249048A (zh) * 2022-09-16 2022-10-28 西南民族大学 一种对抗样本生成方法
CN116432125A (zh) * 2023-06-01 2023-07-14 中南大学 基于哈希算法的代码分类方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345704A (zh) * 2008-08-15 2009-01-14 南京邮电大学 基于支持向量机的对等网络流量检测方法
CN101980202A (zh) * 2010-11-04 2011-02-23 西安电子科技大学 不平衡数据的半监督分类方法
CN104123500A (zh) * 2014-07-22 2014-10-29 卢永强 一种基于深度学习的Android平台恶意应用检测方法及装置
CN107180192A (zh) * 2017-05-09 2017-09-19 北京理工大学 基于多特征融合的安卓恶意应用程序检测方法和系统
CN108280350A (zh) * 2018-02-05 2018-07-13 南京航空航天大学 一种面向Android的移动网络终端恶意软件多特征检测方法
CN108509973A (zh) * 2018-01-19 2018-09-07 南京航空航天大学 基于Cholesky分解的最小二乘支持向量机学习算法及其应用
CN109934280A (zh) * 2019-03-07 2019-06-25 贵州大学 一种基于pso-dec-ifsvm分类算法的不平衡数据分类方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345704A (zh) * 2008-08-15 2009-01-14 南京邮电大学 基于支持向量机的对等网络流量检测方法
CN101980202A (zh) * 2010-11-04 2011-02-23 西安电子科技大学 不平衡数据的半监督分类方法
CN104123500A (zh) * 2014-07-22 2014-10-29 卢永强 一种基于深度学习的Android平台恶意应用检测方法及装置
CN107180192A (zh) * 2017-05-09 2017-09-19 北京理工大学 基于多特征融合的安卓恶意应用程序检测方法和系统
CN108509973A (zh) * 2018-01-19 2018-09-07 南京航空航天大学 基于Cholesky分解的最小二乘支持向量机学习算法及其应用
CN108280350A (zh) * 2018-02-05 2018-07-13 南京航空航天大学 一种面向Android的移动网络终端恶意软件多特征检测方法
CN109934280A (zh) * 2019-03-07 2019-06-25 贵州大学 一种基于pso-dec-ifsvm分类算法的不平衡数据分类方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
亓呈明 等著: "《机器学习、智能计算与高光谱遥感影像分类应用研究》", vol. 1, 中国矿业大学出版社, pages: 50 - 55 *
王军: "Android终端恶意代码检测系统的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》, 15 March 2018 (2018-03-15), pages 138 - 68 *
王军等: "一种Android恶意软件多标签检测方法", 《小型微型计算机系统》 *
王军等: "一种Android恶意软件多标签检测方法", 《小型微型计算机系统》, no. 10, 15 October 2017 (2017-10-15) *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111832019A (zh) * 2020-06-10 2020-10-27 国家计算机网络与信息安全管理中心 基于生成对抗网络的恶意代码检测方法
CN111832019B (zh) * 2020-06-10 2024-02-23 国家计算机网络与信息安全管理中心 基于生成对抗网络的恶意代码检测方法
CN111881446B (zh) * 2020-06-19 2023-10-27 中国科学院信息工程研究所 一种工业互联网恶意代码识别方法及装置
CN111881446A (zh) * 2020-06-19 2020-11-03 中国科学院信息工程研究所 一种工业互联网恶意代码识别方法及装置
CN111723371A (zh) * 2020-06-22 2020-09-29 上海斗象信息科技有限公司 构建恶意文件的检测模型以及检测恶意文件的方法
CN111723371B (zh) * 2020-06-22 2024-02-20 上海斗象信息科技有限公司 构建恶意文件的检测模型以及检测恶意文件的方法
CN114186229A (zh) * 2020-09-15 2022-03-15 中国电信股份有限公司 分类检测模型训练方法和装置、分类检测方法和装置
CN112800426A (zh) * 2021-02-09 2021-05-14 北京工业大学 一种基于群智能算法和cGAN的恶意代码数据不均衡处理方法
CN112800426B (zh) * 2021-02-09 2024-03-22 北京工业大学 一种基于群智能算法和cGAN的恶意代码数据不均衡处理方法
CN113127870A (zh) * 2021-04-08 2021-07-16 重庆电子工程职业学院 一种移动恶意软件大数据的快速智能比对和安全检测方法
CN113254928A (zh) * 2021-05-14 2021-08-13 重庆贝特计算机系统工程有限公司 基于工业互联网远程恶意代码识别方法
CN113254928B (zh) * 2021-05-14 2023-03-17 重庆贝特计算机系统工程有限公司 基于工业互联网远程恶意代码识别方法
CN113761912A (zh) * 2021-08-09 2021-12-07 国家计算机网络与信息安全管理中心 一种对恶意软件归属攻击组织的可解释判定方法及装置
CN113761912B (zh) * 2021-08-09 2024-04-16 国家计算机网络与信息安全管理中心 一种对恶意软件归属攻击组织的可解释判定方法及装置
CN114745200A (zh) * 2022-05-07 2022-07-12 湖南科技学院 一种基于恶意代码动态取证模型的恶意代码检测方法
CN114745200B (zh) * 2022-05-07 2024-05-24 湖南科技学院 一种基于恶意代码动态取证模型的恶意代码检测方法
CN114996708A (zh) * 2022-08-08 2022-09-02 中国信息通信研究院 涉诈手机应用研判方法、装置、电子设备及存储介质
CN115249048A (zh) * 2022-09-16 2022-10-28 西南民族大学 一种对抗样本生成方法
CN116432125A (zh) * 2023-06-01 2023-07-14 中南大学 基于哈希算法的代码分类方法
CN116432125B (zh) * 2023-06-01 2023-09-05 中南大学 基于哈希算法的代码分类方法

Similar Documents

Publication Publication Date Title
CN110795732A (zh) 基于SVM的Android移动网络终端恶意代码的动静结合检测方法
CN109753800B (zh) 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统
CN111460446B (zh) 基于模型的恶意文件检测方法及装置
CN109271788B (zh) 一种基于深度学习的Android恶意软件检测方法
CN104598824A (zh) 一种恶意程序检测方法及其装置
WO2015016901A1 (en) Signal tokens indicative of malware
CN103106365A (zh) 一种移动终端上的恶意应用软件的检测方法
CN113468524B (zh) 基于rasp的机器学习模型安全检测方法
CN108399336B (zh) 一种安卓应用恶意行为的检测方法及装置
CN111400707A (zh) 一种文件宏病毒检测方法、装置、设备及存储介质
CN111191201A (zh) 基于数据埋点的用户识别方法、装置、设备及存储介质
CN107180190A (zh) 一种基于混合特征的Android恶意软件检测方法及系统
CN114553523A (zh) 基于攻击检测模型的攻击检测方法及装置、介质、设备
CN109815702B (zh) 软件行为的安全检测方法、装置及设备
US20230418943A1 (en) Method and device for image-based malware detection, and artificial intelligence-based endpoint detection and response system using same
CN112163222A (zh) 一种恶意软件检测方法及装置
CN112580047A (zh) 工业恶意代码标记方法、设备、存储介质及装置
CN111049828B (zh) 网络攻击检测及响应方法及系统
CN113420295A (zh) 恶意软件的检测方法及装置
CN113971284B (zh) 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质
CN113378161A (zh) 一种安全检测方法、装置、设备及存储介质
CN112632538A (zh) 一种基于混合特征的安卓恶意软件检测方法及系统
CN108427882B (zh) 基于行为特征抽取的安卓软件动态分析检测法
CN114065202B (zh) 一种恶意代码检测方法、装置、电子设备及存储介质
EP4254241A1 (en) Method and device for image-based malware detection, and artificial intelligence-based endpoint detection and response system using same

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200214