[发明专利]一种基于N-gram和机器学习的恶意软件检测方法及系统有效
申请号: | 202110972755.8 | 申请日: | 2021-08-24 |
公开(公告)号: | CN113709134B | 公开(公告)日: | 2023-06-20 |
发明(设计)人: | 产院东;郭乔进;胡杰;梁中岩;刘蔚棣;吴其华;杨冲昊;汪义飞;高沙沙;杨航 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;G06F21/53;G06F21/56;G06N20/00;G06F18/2415;G06F18/2431 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华 |
地址: | 210007 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gram 机器 学习 恶意 软件 检测 方法 系统 | ||
1.一种基于N-gram和机器学习的恶意软件检测方法,其特征在于,包括如下步骤:
步骤1,收集恶意软件样本和应用软件样本,动态分析样本,获得动态分析文件;
步骤2,基于动态分析文件,获得样本关键信息,生成第一N-gram特征集;
步骤3,对所述第一N-gram特征集进行特征规约,获得第二N-gram特征集;
步骤4,将所述第二N-gram特征集转换为二元特征向量集,输入机器学习分类模型进行训练和测试,获得恶意软件分类器;
步骤5,使用恶意软件分类器进行恶意软件检测;
所述步骤1中恶意软件样本包括蠕虫、木马和病毒,所述应用软件样本包括一种以上的应用软件;所述恶意软件样本和应用软件样本为PE文件格式;
所述步骤1中动态分析样本,获得动态分析文件,通过人工智能沙箱SNDBOX获得;人工智能沙箱SNDBOX利用静态检测算法对样本进行扫描,再利用动态引擎模拟人为操作打开样本,对样本执行过程中的行为进行分析,综合考虑静态检测算法和动态引擎的检测结果生成动态分析文件;所述静态检测算法包括静态扫描和杀毒软件检测引擎;
所述步骤2中获得样本关键信息包括:分析所述动态分析文件的格式,归纳出API调用、函数参数以及参数位置关键信息的特征;基于特征编写解析程序,从动态分析文件中摘取在分析恶意软件时的样本关键信息;
所述步骤2中生成第一N-gram特征集是基于样本关键信息,采用N-gram算法生成;
所述步骤3采用TF-IDF算法来评估每一个N-gram对识别恶意软件的重要性,如果一个N-gram在恶意软件的N-gram集合中出现的频率高,而在应用软件的N-gram集合中很少出现,那么该N-gram就是选取的关键N-gram特征集,通过TF-IDF算法筛选的N-gram特征集记为第二N-gram特征集。
2.根据权利要求1所述的一种基于N-gram和机器学习的恶意软件检测方法,其特征在于,所述步骤4中机器学习分类模型包括朴素贝叶斯、决策树分类、随机森林以及逻辑回归模型;将所述第二N-gram特征集转换后的二元特征向量集,按照80%和20%的比例划分为训练样本集和测试样本集,分别分配给训练阶段和测试阶段;采用10倍交叉验证,将训练样本集和测试样本集分别随机分成10个不相交的集合,目的是训练和测试阶段都要执行10次。
3.根据权利要求2所述的一种基于N-gram和机器学习的恶意软件检测方法,其特征在于,所述步骤5中使用恶意软件分类器进行恶意软件检测时,支持两种检测模式:
模式1:每一种机器学习分类模型都能够单独对被检测软件进行检测,判断被检测软件是否是恶意软件;检测时选择任一种机器学习分类模型即可;
模式2:四种机器学习分类模型分别对被检测软件进行检测,分别计算四种机器学习分类模型的评价指标;将所有评价指标通过取平均数的方式获得综合评价指标,判断被检测软件是否是恶意软件。
4.根据权利要求3所述的一种基于N-gram和机器学习的恶意软件检测方法,其特征在于,所述步骤5中所述四种机器学习分类模型的评价指标包括模型识别度、精度、召回率以及F1分数。
5.一种基于N-gram和机器学习的恶意软件检测系统,应用于权利要求1-4任一项所述的基于N-gram和机器学习的恶意软件检测方法,其特征在于,包括沙箱检测模块、特征生成模块、特征规约模块和机器学习模块,
所述沙箱检测模块,用于采用人工智能沙箱SNDBOX对恶意软件样本和应用软件样本进行动态的行为分析,获得动态分析文件;
所述特征生成模块,用于基于动态分析文件,获得样本关键信息;利用N-gram算法生成第一N-gram特征集;所述样本关键信息是包括API调用、函数参数和参数位置信息的语段序列;
所述特征规约模块,用于采用TF-IDF算法对所述第一N-gram特征集进行特征规约,获得第二N-gram特征集;
所述机器学习模块,用于接收第二N-gram特征集,将所述第二N-gram特征集转换为二元特征向量集,输入机器学习分类模型进行训练和测试,获得恶意软件分类器;使用恶意软件分类器进行恶意软件检测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110972755.8/1.html,转载请声明来源钻瓜专利网。