恶意进程检测方法、装置、系统及计算机可读存储介质制造方法及图纸

技术编号:32127306 阅读:17 留言:0更新日期:2022-01-29 19:18
本发明专利技术实施例公开了一种恶意进程检测方法,获取注册表操作日志中的进程名称、目标对象、设置值与恶意进程标识字段,并将进程名称、目标对象、设置值与恶意进程标识字段以二维矩阵存储为第一二维矩阵,将目标对象中的注册表路径转化为节点列表,并将设置值合并入节点列表,在节点列表中,将列表项根据其内容进行编号,得到样本二维矩阵;将样本二维矩阵中的进程名称作为行索引、编号后的节点列表以及恶意进程标识字段作为列索引,输入至随机森林模型,得到恶意进程检测模型;将待检测进程输入至恶意进程检测模型,以判断待检测进程是否为恶意进程。本发明专利技术将注册表路径与恶意检测联系起来以建立恶意进程检测模型,实现对恶意进程的快速准确识别。的快速准确识别。的快速准确识别。

【技术实现步骤摘要】
恶意进程检测方法、装置、系统及计算机可读存储介质


[0001]本专利技术涉及机器学习领域,尤其涉及一种恶意进程检测方法、装置、系统及计算机可读存储介质。

技术介绍

[0002]注册表是Windows系统中的一个分层数据库,包含对系统中运行的应用程序和服务至关重要的数据。数据库以树格式构建,每个节点称为一个键,每个键可以包含子键和称值的数据条目。应用程序所需要的数据可能是键本身,也可能是与该键相关联的值。进程在运行过程为了实现其功能基本上都会存在对注册表的操作,而这些操作也反映了进程的行为,因此通过对注册表操作日志的分析可以实现对进程属性的判断。
[0003]Windows系统中存在日志记录功能,其中在安装了微软官方的一款软件Sysmon之后可以实现对进程的注册表操作行为的检测,这为我们提供了数据的来源。
[0004]注册表操作行为的日志量非常庞大,一个进程在短时间内就可以产生数百条日志,很难用人工进行分析,同时也难以使用固有的规则进行匹配,造成恶意进程的识别困难。
[0005]针对现有技术中难以识别恶意进程的问题,目前还没有一个有效的解决方案。

技术实现思路

[0006]为解决上述问题,本专利技术提供一种恶意进程检测方法、装置、系统及计算机可读存储介质,采集注册表操作日志中的进程名称、目标对象、设置值以及恶意进程标识字段,将目标对象中的注册表路径转换成节点列表,并将设置值合并入节点列表,对注册表路径进行编码得到样本二维矩阵,使用样本二维矩阵训练恶意进程检测模型,再使用该恶意进程检测模型对待检测进程进行恶意检测,得到进程的检测结果以解决恶意进程难以识别的问题。
[0007]为达到上述目的,本专利技术提供了一种恶意进程检测方法,包括:获取注册表操作日志,提取每个注册表操作日志中的进程名称、目标对象、设置值与恶意进程标识字段,并将进程名称、目标对象、设置值与恶意进程标识字段以二维矩阵形式进行存储,得到第一二维矩阵;在所述第一二维矩阵中,将所述目标对象中的注册表路径进行节点分割,将分割后的每个节点内容作为列表项以将所述注册表路径转化为节点列表,删除所述目标对象,并将所述设置值合并入所述节点列表;在所述节点列表中,将距离根节点项最近的预设数量个列表项按照键类型进行编号,并将相同进程名称的注册表操作日志进行数据归并,得到第二二维矩阵;在所述第二二维矩阵中,将所述节点列表中未编号的列表项根据列表项的文本内容进行编号,得到样本二维矩阵;将所述样本二维矩阵中的进程名称作为行索引、编号后的节点列表以及恶意进程标识字段作为列索引,输入至随机森林模型,得到恶意进程检测模型;将待检测进程输入至所述恶意进程检测模型,以判断所述待检测进程是否为恶意进程。
[0008]进一步可选的,所述在所述节点列表中,将距离根节点项最近的预设数量个列表项按照键类型进行编号,包括:当根节点项为HKLM时,将根节点项编号为1、将子键项按子键类型编号,按根节点项编号、0、子键项编号的顺序生成三位序列,以替换所述根节点项以及子键项;当根节点项为HKU时,将根节点项编号为2、将一级子键项按一级子键类型编号、将二级子键项按二级子键类型编号,按根节点项编号、一级子键项编号、二级子键项编号的顺序生成三位序列,以替换所述根节点项、一级子键项以及二级子键项;当根节点项为HKCU时,将根节点项编号为3、将子键项按子键类型编号,并按根节点项编号、0、子键项编号的顺序生成三位序列,以替换所述根节点项以及子键项;当根节点项为其它内容时,将根节点项编号为0。
[0009]进一步可选的,所述将所述节点列表中未编号的列表项根据列表项的文本内容进行编号,包括:将所述节点列表中的各列表项以空格为分隔符转换为字符串;采用随机分割的方式将所述第二二维矩阵分为训练集二维矩阵以及测试集二维矩阵;以所述训练集二维矩阵的字符数据作为词典,采用Tf

idf向量化算法将所述训练集二维矩阵以及测试集二维矩阵中的字符数据转化为稀疏矩阵,以得到样本二维矩阵。
[0010]进一步可选的,所述获取注册表操作日志,提取每个注册表操作日志中的进程名称、目标对象、设置值与恶意进程标识字段,并将进程名称、目标对象、设置值与恶意进程标识字段以二维矩阵形式进行存储,得到第一二维矩阵,包括:获取所述注册表操作日志,并对恶意进程与正常进程生成的注册表操作日志分别进行标注,得到恶意进程标识字段;将采集到的每个注册表操作日志中的进程名称、目标对象、设置值与相应的恶意进程标识字段进行数据连接,并以二维矩阵的形式存储,删除完全重复的注册表操作日志,得到所述第一二维矩阵。
[0011]另一方面,本专利技术还提供了一种恶意进程检测装置,包括:第一二维矩阵生成模块,用于获取注册表操作日志,提取每个注册表操作日志中的进程名称、目标对象、设置值与恶意进程标识字段,并将进程名称、目标对象、设置值与恶意进程标识字段以二维矩阵形式进行存储,得到第一二维矩阵;节点列表生成模块,用于在所述第一二维矩阵中,将所述目标对象中的注册表路径进行节点分割,将分割后的每个节点内容作为列表项以将所述注册表路径转化为节点列表,删除所述目标对象,并将所述设置值合并入所述节点列表;第二二维矩阵生成模块,用于在所述节点列表中,将距离根节点项最近的预设数量个列表项按照键类型进行编号,并将相同进程名称的注册表操作日志进行数据归并,得到第二二维矩阵;样本二维矩阵生成模块,用于在所述第二二维矩阵中,将所述节点列表中未编号的列表项根据列表项的文本内容进行编号,得到样本二维矩阵;恶意进程检测模型生成模块,用于将所述样本二维矩阵中的进程名称作为行索引、编号后的节点列表以及恶意进程标识字段作为列索引,输入至随机森林模型,得到恶意进程检测模型;恶意进程检测模块,用于将待检测进程输入至所述恶意进程检测模型,以判断所述待检测进程是否为恶意进程。
[0012]进一步可选的,所述第二二维矩阵生成模块包括:第一编号子模块,用于当根节点项为HKLM时,将根节点项编号为1、将子键项按子键类型编号,按根节点项编号、0、子键项编号的顺序生成三位序列,以替换所述根节点项以及子键项;第二编号子模块,用于当根节点项为HKU时,将根节点项编号为2、将一级子键项按一级子键类型编号、将二级子键项按二级子键类型编号,按根节点项编号、一级子键项编号、二级子键项编号的顺序生成三位序列,
以替换所述根节点项、一级子键项以及二级子键项;第三编号子模块,用于当根节点项为HKCU时,将根节点项编号为3、将子键项按子键类型编号,并按根节点项编号、0、子键项编号的顺序生成三位序列,以替换所述根节点项以及子键项;第四编号子模块,用于当根节点项为其它内容时,将根节点项编号为0。
[0013]进一步可选的,所述样本二维矩阵生成模块包括:字符串转化子模块,用于将所述节点列表中的各列表项以空格为分隔符转换为字符串;样本分割子模块,用于采用随机分割的方式将所述第二二维矩阵分为训练集二维矩阵以及测试集二维矩阵;字符转化子模块,用于以所述训练集二维矩阵的字符数据作为词典,采用Tf
...

【技术保护点】

【技术特征摘要】
1.一种恶意进程检测方法,其特征在于,包括:获取注册表操作日志,提取每个注册表操作日志中的进程名称、目标对象、设置值与恶意进程标识字段,并将进程名称、目标对象、设置值与恶意进程标识字段以二维矩阵形式进行存储,得到第一二维矩阵;在所述第一二维矩阵中,将所述目标对象中的注册表路径进行节点分割,将分割后的每个节点内容作为列表项以将所述注册表路径转化为节点列表,删除所述目标对象,并将所述设置值合并入所述节点列表;在所述节点列表中,将距离根节点项最近的预设数量个列表项按照键类型进行编号,并将相同进程名称的注册表操作日志进行数据归并,得到第二二维矩阵;在所述第二二维矩阵中,将所述节点列表中未编号的列表项根据列表项的文本内容进行编号,得到样本二维矩阵;将所述样本二维矩阵中的进程名称作为行索引、编号后的节点列表以及恶意进程标识字段作为列索引,输入至随机森林模型,得到恶意进程检测模型;将待检测进程输入至所述恶意进程检测模型,以判断所述待检测进程是否为恶意进程。2.根据权利要求1所述的恶意进程检测方法,其特征在于,所述在所述节点列表中,将距离根节点项最近的预设数量个列表项按照键类型进行编号,包括:当根节点项为HKLM时,将根节点项编号为1、将子键项按子键类型编号,按根节点项编号、0、子键项编号的顺序生成三位序列,以替换所述根节点项以及子键项;当根节点项为HKU时,将根节点项编号为2、将一级子键项按一级子键类型编号、将二级子键项按二级子键类型编号,按根节点项编号、一级子键项编号、二级子键项编号的顺序生成三位序列,以替换所述根节点项、一级子键项以及二级子键项;当根节点项为HKCU时,将根节点项编号为3、将子键项按子键类型编号,并按根节点项编号、0、子键项编号的顺序生成三位序列,以替换所述根节点项以及子键项;当根节点项为其它内容时,将根节点项编号为0。3.根据权利要求1所述的恶意进程检测方法,其特征在于,所述将所述节点列表中未编号的列表项根据列表项的文本内容进行编号,包括:将所述节点列表中的各列表项以空格为分隔符转换为字符串;采用随机分割的方式将所述第二二维矩阵分为训练集二维矩阵以及测试集二维矩阵;以所述训练集二维矩阵的字符数据作为词典,采用Tf

idf向量化算法将所述训练集二维矩阵以及测试集二维矩阵中的字符数据转化为稀疏矩阵,以得到样本二维矩阵。4.根据权利要求1所述的恶意进程检测方法,其特征在于,所述获取注册表操作日志,提取每个注册表操作日志中的进程名称、目标对象、设置值与恶意进程标识字段,并将进程名称、目标对象、设置值与恶意进程标识字段以二维矩阵形式进行存储,得到第一二维矩阵,包括:获取所述注册表操作日志,并对恶意进程与正常进程生成的注册表操作日志分别进行标注,得到恶意进程标识字段;将采集到的每个注册表操作日志中的进程名称、目标对象、设置值与相应的恶意进程标识字段进行数据连接,并以二维矩阵的形式存储,删除完全重复的注册表操作日志,得到
所述第一二维矩阵。5.一种恶意进程检测装置,其特征在于,包括:第一二维矩阵生成模块,用于获取注册表操作日志,提取每个注册表操作日志中的进程名称、目标对象、设置值与恶意进程标识字段,并将进程名称、目标对象、...

【专利技术属性】
技术研发人员:唐宇博蔡时光陈宇耀胡绍勇
申请(专利权)人:上海观安信息技术股份有限公司
类型:发明
国别省市:

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

1