CN110795732A - 基于SVM的Android移动网络终端恶意代码的动静结合检测方法 - Google Patents
基于SVM的Android移动网络终端恶意代码的动静结合检测方法 Download PDFInfo
- 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
Links
- 230000003068 static effect Effects 0.000 title claims abstract description 42
- 238000001514 detection method Methods 0.000 title claims abstract description 22
- 239000013598 vector Substances 0.000 claims abstract description 91
- 238000012549 training Methods 0.000 claims abstract description 44
- 238000012706 support-vector machine Methods 0.000 claims abstract description 28
- 238000007637 random forest analysis Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 23
- 230000006399 behavior Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000004677 spark ionization mass spectrometry Methods 0.000 claims description 7
- 238000003066 decision tree Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 238000004088 simulation Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000003058 natural language processing Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test 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移动网络终端恶意代码的动静结合检测方法。
背景技术
当前智能手机的应用已经涉及到人们生活的各个方面,而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时表示当前样本为恶意样本。
根据支持向量机分类器分类间隔最大化原则,其求解的问题表示为:
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函数:
其中,非负向量α=(α1,…αl)T和β=(βl,…βl)T均为Lagrange乘子;
将Lagrange函数分别对ω、b和ξi求偏导,并令偏导数为0,将结果带入上述问题后,得到新的优化问题为:
0≤αi≤C(1+η),i=1,…,l
进一步的,将参数η的选择问题转化为分类器集成问题,即根据η1=0.2获得分类函数f1(F),根据η2=0.4获得f2(F),…,根据η5=1获得f5(F),寻找最终分类函数即优化最后得到目标函数如下:
其中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为训练样本的数量。
根据分类间隔最大化原则,支持向量机分类器求解的问题表示为:
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函数:
其中,非负向量α=(α1,…αl)T和β=(βl,…βl)T均为Lagrange乘子;
将Lagrange函数分别对ω、b和ξi求偏导,并令偏导数为0,将结果带入上述问题后,得到新的优化问题为:
0≤αi≤C(1+η),i=1,…,l
其中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中,根据支持向量机分类器分类间隔最大化原则,其求解的问题表示为:
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函数:
其中,非负向量α=(α1,…αl)T和β=(β1,…βl)T均为Lagrange乘子;
将Lagrange函数分别对ω、b和ξi求偏导,并令偏导数为0,将结果带入上述问题后,得到新的优化问题为:
0≤αi≤C(1+η),i=1,…,l
进一步的,将参数η的选择问题转化为分类器集成问题,即根据η1=0.2获得分类函数f1(F),根据η2=0.4获得f2(F),…,根据η5=1获得f5(F),寻找最终分类函数即优化最后得到目标函数如下:
其中F+和F-分别为正负类分类得分矩阵,L+和L-分别为正负类拉普拉斯矩阵;
当f(F)≥0时,输出为1,即特征向量F代表的软件为恶意软件,否则为非恶意软件。
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)
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)
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分类算法的不平衡数据分类方法 |
-
2019
- 2019-10-10 CN CN201910959635.7A patent/CN110795732A/zh active Pending
Patent Citations (7)
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)
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)
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 |