一种基于内存特征的恶意软件检测系统及方法技术方案

技术编号:39063966 阅读:12 留言:0更新日期:2023-10-12 19:56
本发明专利技术公开了一种基于内存特征的恶意软件检测系统及方法,涉及计算机主机安全技术领域。该系统包括依次通信连接的用于采集主机运行时的内存数据的内存采集模块、用于内存数据进行特征工程处理并获得相应内存特征的特征处理模块、用于在主机中运行多种恶意软件并采集内存和提取内存特征的样本生成模块、用于划分样本数据集并使用评估指标训练二层堆叠二分类机器学习模型的离线训练模块以及用于划分不同告警等级的实时预测告警模块。本发明专利技术建立有监督的二层堆叠二分类机器学习模型,实现从内存特征的角度进行恶意软件运行的检测;两层模型堆叠的结构提高了模型的评估指标,更加注重恶意软件的召回效果;分级告警方便技术人员进行监控和问题排查。员进行监控和问题排查。员进行监控和问题排查。

【技术实现步骤摘要】
一种基于内存特征的恶意软件检测系统及方法


[0001]本专利技术属于计算机主机安全
,尤其涉及一种基于内存特征的恶意软件检测系统及方法。

技术介绍

[0002]随着计算机相关产业的快速发展,各种为了谋取非法利益的恶意软件也在不断迭代更新。虽然不同类型的防护措施包括防火墙、安全检测、杀毒软件等为网络主机的安全保驾护航,但仍有恶意软件通过不同的技术手段实现藏匿、绕过并最终发动对主机的攻击。
[0003]虽然恶意软件能够躲过其他检测软件的检测,但如果它要在主机上运行,那么必然会在主机的内存上留下运行的痕迹,因此对于内存特征的研究可以帮助发现、检测恶意软件的运行。
[0004]但恶意软件种类繁多,通过人工总结规则的方式工作量过大,而随着人工智能技术的发展,本专利技术将获取恶意软件运行时,在内存上留下的行为数据特征,通过使用机器学习模型进行有监督的机器学习,训练好模型后,对系统内存特征进行推理,从而检测主机系统中是否有恶意软件运行。本专利技术的系统可以从内存特征的角度去发现恶意软件的运行,进一步保障主机的安全。
[0005]中国专利CN101989322B公开了一种自动提取恶意代码的内存特征的方法和系统。包括:运行恶意代码对新产生的线程信息进行内存转储,生成转储文件;对转储文件进行关联分析并分组;对分组的转储文件提取特征并进行测试处理;系统包括:内存转储模块,用于运行恶意代码对新产生的线程信息进行内存转储,生成转储文件;关联分析模块,用于对转储文件进行关联分析并分组;特征提取与测试模块,用于对分组的转储文件提取特征并进行测试处理。本专利技术整个方案都是自动化的流程,无需人工参与,以线程为基本处理对象,实现了细粒度的更精确和全面的内存特征提取,不再依赖于分析人员的经验,最终获得的内存特征具有较低的误报率和极低的漏报率。
[0006]该专利技术通过运行恶意代码后,转存新产生的线程,对这些线程进行相似性的分析分组后,提取其内存特征。虽然该专利技术的过程是自动化的,但其提取具有超过一定相似性的内存特征时,相似性的程度判定会产生一定的误差,且以线程为内存提取单位粒度细,特征数量多,进而导致在进行特征的相似性判定时需要大量的人工规则介入,工作量较大且不易管理。
[0007]中国专利CN114692156B公开了一种对内存片段进行恶意代码检测的方法和系统。包括:获取待检测内存文件;对待检测内存文件依次进行二进制转化和分词预处理后,基于最优的片段位置和长度组合进行片段截取,得到预测片段;将预测片段输入最优的神经网络模型,对预测片段进行检测,得到待检测内存文件是否被植入恶意代码的结果;其中,神经网络模型采用嵌入层对输入预测片段进行升维后,通过卷积核大小不同的卷积层卷积后进行池化,最后通过展平层和全连接层转化后输入分类器。通过学习恶意代码的潜在的规则和特征,从而检测出尚未发现的病毒以及对现有的病毒进行检测。
[0008]该专利技术对获取的内存代码片段进行二进制转化和分词处理,将内存内容作为自然语言数据进行建模和预测。但其缺点是需要寻找最优的内存片段,转化为自然语言序列数据后的建模,数据量较大,使用深度学习模型建模,模型复杂且训练时间较长,并且模型也缺乏特征解释性。

技术实现思路

[0009]本专利技术的目的在于提供一种基于内存特征的恶意软件检测系统及方法,通过采集恶意软件运行时和正常运行时计算机主机的内存数据,分别提取内存特征后建立有监督的二层堆叠二分类机器学习模型,对日常监控中的内存数据片段进行是否存在恶意软件运行的二分类预测和风险告警,从而实现从内存特征的角度进行恶意软件运行的检测。
[0010]本专利技术的目的可以通过以下技术方案实现:
[0011]第一方面,本申请实施例提供了一种基于内存特征的恶意软件检测系统,包括依次通信连接的内存采集模块、特征处理模块、样本生成模块、离线训练模块和实时预测告警模块;
[0012]所述内存采集模块,用于采集主机运行时的内存数据;
[0013]所述特征处理模块,用于对采集到的所述内存数据进行特征工程处理,获得相应的内存特征;
[0014]所述样本生成模块,用于获取多种恶意软件,在所述主机中运行所述恶意软件和正常软件,通过所述内存采集模块采集第一内存数据并通过所述特征处理模块获取第一内存特征;在所述主机中运行所述正常软件,通过所述内存采集模块采集第二内存数据并通过所述特征处理模块获取第二内存特征;
[0015]所述离线训练模块,用于划分样本数据集,采用f1得分作为评估指标,训练并生成二分类机器学习模型;
[0016]所述实时预测告警模块,用于将训练好的所述二分类机器学习模型应用于判断监控中的所述主机是否有所述恶意软件正在运行,根据所述二分类机器学习模型判断的概率值,划分不同的告警等级;
[0017]其中,所述系统采用有监督机器学习算法进行二分类学习任务,将所述在所述主机中运行所述恶意软件和正常软件作为第一类标签,将所述在所述主机中运行所述正常软件作为第二类标签;
[0018]其中,所述特征工程处理包括:提取基础特征和对部分所述基础特征进行统计处理;
[0019]其中,将所述第一内存特征和所述第二内存特征作为所述离线训练模块的内存样本数据。
[0020]优选的,所述二分类机器学习模型采用模型堆叠技术,使用两层模型堆叠方案,生成二层堆叠二分类机器学习模型;其中,单个模型包括:逻辑回归、朴素贝叶斯、支持向量机、随机森林、GBDT、XGBoost和Lightbm。
[0021]优选的,在所述二层堆叠二分类机器学习模型中,第一层模型选择多个所述单个模型进行组合,第二层模型选择一个所述单个模型;其中,将所述第一层模型输出的预测概率值作为所述第二层模型的输入特征。
[0022]优选的,所述二层堆叠二分类机器学习模型的第一层单模型组合采用:XGBoost、支持向量机、随机森林、Lightgbm和朴素贝叶斯;所述二层堆叠二分类机器学习模型的第二层单模型采用逻辑回归。
[0023]优选的,所述内存采集模块采用LiME软件对所述内存数据进行采集;所述特征处理模块对所述内存数据基于Volatility软件进行所述特征工程处理;所述统计处理包括:统计求和、统计求商以及统计求平均。
[0024]优选的,所述内存特征包括:恶意软件发现类特征、模块注入类特征、句柄类特征、进程类特征和接口挂钩类特征;所述恶意软件包括:木马软件、病毒软件和勒索软件。
[0025]优选的,所述离线训练模块包括依次通信连接的数据集划分单元、模型评估单元、模型选择单元和模型保存单元;
[0026]所述数据集划分单元,用于将所述内存样本数据划分为训练数据集和测试数据集;其中,训练数据集:测试数据集=4:1;
[0027]所述模型评估单元,用于采用所述F1得分作为二分类任务的评估指标;
[0028]所述模型选择单元,用于采用多个不同模型进行所述二分类机器学习任务,观察所述不同模型之间所述F1得分的高低差异,并根据测试数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于内存特征的恶意软件检测系统,其特征在于:包括依次通信连接的内存采集模块、特征处理模块、样本生成模块、离线训练模块和实时预测告警模块;所述内存采集模块,用于采集主机运行时的内存数据;所述特征处理模块,用于对采集到的所述内存数据进行特征工程处理,获得相应的内存特征;所述样本生成模块,用于获取多种恶意软件,在所述主机中运行所述恶意软件和正常软件,通过所述内存采集模块采集第一内存数据并通过所述特征处理模块获取第一内存特征;在所述主机中运行所述正常软件,通过所述内存采集模块采集第二内存数据并通过所述特征处理模块获取第二内存特征;所述离线训练模块,用于划分样本数据集,采用f1得分作为评估指标,训练并生成二分类机器学习模型;所述实时预测告警模块,用于将训练好的所述二分类机器学习模型应用于判断监控中的所述主机是否有所述恶意软件正在运行,根据所述二分类机器学习模型判断的概率值,划分不同的告警等级;其中,所述系统采用有监督机器学习算法进行二分类学习任务,将所述在所述主机中运行所述恶意软件和正常软件作为第一类标签,将所述在所述主机中运行所述正常软件作为第二类标签;其中,所述特征工程处理包括:提取基础特征和对部分所述基础特征进行统计处理;其中,将所述第一内存特征和所述第二内存特征作为所述离线训练模块的内存样本数据。2.根据权利要求1所述的一种基于内存特征的恶意软件检测系统,其特征在于:所述二分类机器学习模型采用模型堆叠技术,使用两层模型堆叠方案,生成二层堆叠二分类机器学习模型;其中,单个模型包括:逻辑回归、朴素贝叶斯、支持向量机、随机森林、GBDT、XGBoost和Lightbm。3.根据权利要求2所述的一种基于内存特征的恶意软件检测系统,其特征在于:在所述二层堆叠二分类机器学习模型中,第一层模型选择多个所述单个模型进行组合,第二层模型选择一个所述单个模型;其中,将所述第一层模型输出的预测概率值作为所述第二层模型的输入特征。4.根据权利要求3所述的一种基于内存特征的恶意软件检测系统,其特征在于:所述二层堆叠二分类机器学习模型的第一层单模型组合采用:XGBoost、支持向量机、随机森林、Lightgbm和朴素贝叶斯;所述二层堆叠二分类机器学习模型的第二层单模型采用逻辑回归。5.根据权利要求1所述的一种基于内存特征的恶意软件检测系统,其特征在于:所述内存采集模块采用LiME软件对所述内存数据进行采集;所述特征处理模块对所述内存数据基于Volatility软件进行所述特征工程处理;所述统计处理包括:统计求和、统计求商以及统计求平均。6.根据权利要求1所述的一种基于内存特征的恶意软件检测系统,其特征在于:所述内存特征包括:恶意软件发现类特征、模块注入类特征、句柄类特征、进程类特征和接口挂钩类特征;所述恶意软件包括:木马软件、病毒软件和勒索软件。
7.根据权利要求1所述的一种基于内存特征的恶意软件检测系统,其特征在于:所述离线训练模块包括依次通信连接的数据集划分单元、模型评估单元、模型选择单元和模型保存单元;所述数据集划分单元,用于将所述内存样本数据划分为训练数据集和测试数据集;其中,训练数据集:测试数据集=4:1;所述模型评估单元,用于采用所述F1得分作为二分类任务的评估指标;所述模型选择单元,用于采用多个不同模型进行所述二分类机器学习任务,观察所述不同模型之间所述F1得...

【专利技术属性】
技术研发人员:邹凯陈凯枫顾颂斐韩日富
申请(专利权)人:广州天懋信息系统股份有限公司
类型:发明
国别省市:

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

1