一种恶意软件检测方法及系统技术方案

技术编号:22387798 阅读:55 留言:0更新日期:2019-10-29 06:38
本发明专利技术公开了一种恶意软件检测方法及系统,涉及软件检测领域。本发明专利技术的方法包括:创建恶意软件数据库和非恶意软件数据库;从恶意软件数据库和非恶意软件数据库中的软件源代码中提取Dalvik指令,通过Dalvik指令相对频率均值之间的差异进行鉴别恶意软件,利用基于Dalvik指令的均值和方差特征选择算法,并使用主成分分析算法、Kaehunen‑Loeve变换算法、独立成分分析算法,将原始的Dalvik指令映射到相应的特征空间,得得新特征。本发明专利技术通过提出基于均值和方差的特征选择方法,减少对分类无效的特征,针对软件样本的不平衡数据,本发明专利技术提出基于决策树的多级分类集成模型,解决了恶意软件检测准确性差的问题。

A malware detection method and system

【技术实现步骤摘要】
一种恶意软件检测方法及系统
本专利技术涉及软件检测领域,尤其涉及一种恶意软件检测方法及系统。
技术介绍
恶意软件是指所有能够在智能手机或者计算机上执行恶意操作的应用程序,会导致系统崩溃、用户机密信息的损失或泄露,恶意软件数据量的快速增长与变种的不断出现给恶意软件自动鉴别带来挑战,只有面向大数据的技术不断发展,才能将大数据时代带来的挑战变成机遇,更好地运用这些不断积累的样本,真正将海量数据变化为有效信息,并有效构建相适应的数据挖掘模型,才能实现对海量恶意软件样本的快速鉴别。针对恶意软件严峻的发展趋势与庞大的数据量,国内外研究学者提出了许多不同的解决方案;当前恶意软件检测技术主要分为机遇特征码的检测技术和基于行为的检测技术;基于特征码的检测技术和黑名单技术被主要的安全软件厂商广泛使用,但该技术需要对已知的恶意软件样本进行全面的分析,无法抵御位置的或经代码混淆、加壳技术处理过的恶意软件,因此针对上述问题提供一种基于软件行为大数据的恶意软件检测方法及系统具有重要意义。
技术实现思路
本专利技术为一种恶意软件检测方法及系统,通过提出基于均值和方差的特征选择方法,以减少对分类无效的特征,实现了基于不本文档来自技高网...

【技术保护点】
1.一种恶意软件检测方法,其特征在于,包括下步骤:S01:创建恶意软件数据库和非恶意软件数据库;S02:通过使用除Google Play外的其它检测工具、杀毒软件和人工进行检测,确保非恶意应用软件数据库中的非恶意软件均为非恶意软件,不包括可疑的恶意软件;S03:从恶意软件数据库和非恶意软件数据库中的软件源代码中提取Dalvik指令,通过Dalvik指令相对频率均值之间的差异进行鉴别恶意软件,利用基于Dalvik指令的均值和方差特征选择算法,并使用主成分分析算法、Kaehunen‑Loeve变换算法、独立成分分析算法,将原始的Dalvik指令映射到相应的特征空间,得到三个新特征;S04:针对所提...

【技术特征摘要】
1.一种恶意软件检测方法,其特征在于,包括下步骤:S01:创建恶意软件数据库和非恶意软件数据库;S02:通过使用除GooglePlay外的其它检测工具、杀毒软件和人工进行检测,确保非恶意应用软件数据库中的非恶意软件均为非恶意软件,不包括可疑的恶意软件;S03:从恶意软件数据库和非恶意软件数据库中的软件源代码中提取Dalvik指令,通过Dalvik指令相对频率均值之间的差异进行鉴别恶意软件,利用基于Dalvik指令的均值和方差特征选择算法,并使用主成分分析算法、Kaehunen-Loeve变换算法、独立成分分析算法,将原始的Dalvik指令映射到相应的特征空间,得到三个新特征;S04:针对所提取的软件特征,使用急速学习机算法学习单层神经网络,将其作为其分类器,使用Stacking算法融合每一个分类器,涉嫌特征的集合;S05:通过采用多层决策树的集成学习方法针对是否为恶意软件进行决策。2.根据权利要求1所述的一种恶意软件检测方法,其特征在于,所述恶意软件数据库和非恶意软件数据库的软件所采用的数据集来自GoogelPlay,其中包含了5560个恶意软件和123453个非恶意软件,并将这些软件使用Java语言改写了Akdeniz的爬虫程序,增加了异常处理、去除、迭代等功能,可以实现从GoogelPlay批量不间断的下载应用软件至PC端。3.根据权利要求1所述的一种恶意软件检测方法,其特征在于,所述基于Dalvik指令的均值和方差特征选择算法的公式为:其中,μb和μm分别表示正常软件与恶意软件相对频率的平均值;Sb和Sm分别表示正常软件与恶意软件相对频率的方差,J(A)值表示特征选择的目标的最大化值,即最小化两类样本间的方差及最大化两类样本间的平均值之差。4.根据权利要求3所述的一种恶意软件检测方法,本发明对每个Dalvik指令计算J(A)值,J(A)值越大表示特征A的分类能力越强,并按照J(A)值的大小对特征进行降序排序,最终选择前k个Dalvik指令特征作为有效的特征子集,根据以上公式(1)采用的基于Dalvik指令的均值和方差特征选择算法的流程,其特征在于,包括以下步骤:P01:输入:样本集S,DalVik指令A;P02:输出:特征子集WK;P03:开始:P031:计算正常软件的Dalvik指令相对频率的平均值μb和方差Sb;P032:计算恶意软件的Dalvik指令相对频率的平均值μm和方差Sm;P033:按照公式(1)计算指令的权重;P034:对Dalvik指令进行降序排序;P035:fork←——1todo//p为Dalvik指令的总数(a)取前k个指令作为WK;(b)不同分类器Cls验证WK结果;P036:选择该分类器下最优的特征子集;P04:结束。5.根据权利要求1所述的一种恶意软件检测方法,其特征在于,所述主成分分析算法是一种线性投影,将高维特征映射到低维的一种技术,在投影过程中,数据的方差最大;定义N个样本X={X1,X2,...,XN},其中Xi=[Xi,1,Xi,2,...,Xi,d]T∈Rd,d是特征数量;主成分分析将Xi线性变换成一个新的样本:yi=UTXi(2)其中,U是正交矩阵;U的第i列μi是样本协方差矩阵的特征向量;主成分分析首先计算样本的协方差矩阵,然后计算协方差举证的特征向量,根据公式(2)将原始特征进行交换。6.根据权利要求1或5所述的一种恶意软件检测方法,其特征在于,所述Kaehunen-Loeve变换算法是主要成分分析的扩展,在...

【专利技术属性】
技术研发人员:雷振兴
申请(专利权)人:合肥智瑞工程科技有限公司
类型:发明
国别省市:安徽,34

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

1