首页 / 专利库 / 软件 / 虚拟层 / 一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法

一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法

阅读:100发布:2024-02-06

专利汇可以提供一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于相关性 剪枝 神经网络的Xen 虚拟机 恶意 进程 识别系统及方法。包括进程信息获取模 块 、进程模式训练模块、进程模式 数据库 模块、进程模式匹配模块、进程处理模块;通过获取虚拟机的 操作系统 类型,根据虚拟机的操作系统类型确定与操作系统类型对应的 内核 数据结构偏移数组,根据内核数据结构偏移数组获取虚拟机中各进程的进程信息,与利用基于相关性剪枝BP神经网络训练方法训练得到的进程行为模式数据库进行匹配,可以准确识别宿主机上不同操作系统的多个虚拟机进程是否有恶意进程,并及时将判断结果输出到处理模块。本发明具有高准确度和实时性的优点。,下面是一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法专利的具体信息内容。

1.一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统,其特征在于:包括进程信息获取模、进程模式训练模块、进程模式数据库模块、进程模式匹配模块、进程处理模块;
进程信息获取模块包括获取模块、查询模块和确定模块,获取模块首先获取Xen虚拟机内存的中断描述符表寄存器的base数值,根据base数值获取操作系统类型,并将操作系统类型输出到查询模块;
查询模块接收获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,数据结构偏移数组为一个二元组,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中进程信息的偏移量,根据得到的进程链表数据结构确定操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,将该虚拟地址和进程信息偏移量输出到确定模块;
确定模块接收虚拟地址和进程信息偏移量后,获取所述操作系统类型对应的虚拟机中各进程的进程信息,当本系统的工作状态为进程模式训练阶段时,将进程信息输出给进程模式训练模块,当本系统的工作状态为进程模式匹配阶段时,将进程信息输出到进程模式匹配模块;
进程模式训练模块,采用基于相关性剪枝BP神经网络的进程模式训练方法对进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块;
进程模式数据库模块,将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程行为模式数据库;
进程模式匹配模块对接收到的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;若匹配不成功,将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若匹配仍不成功,则输出“无法识别”到进程处理模块;
进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息;若是“无法识别”,则由用户手动处理该进程。
2.根据权利要求1所述的一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统,其特征在于:所述的基于相关性剪枝BP神经网络的输入层具有5个神经元,接收正常进程样本或恶意进程样本x1,x2,x3,x4,x5,中间层具有10个神经元,输出层具有2个神经元,输出层的输出表示进程行为模式;中间层输出hj,j=1,2,…,10,输入层与中间层神经元之间的连接权值wij,i=1,2,…,5,j=1,2,…,10,中间层与输出层神经元之间的连接权值vjk,j=1,2,…,10,k=1,2,中间层阈值a=[a1,a2,…,a10],输出层阈值b=[b1,b2]。
3.基于权利要求1所述的一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统的识别方法,其特征在于:包括以下步骤,
步骤一:初始化,设置本系统的工作状态为进程模式训练阶段,即stage=0;
步骤二:获取模块首先获取Xen虚拟机内存的中断描述符表寄存器的base数值,根据base数值获取操作系统类型,并将操作系统类型输出到查询模块;
步骤三:查询模块接收获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,数据结构偏移数组为一个二元组,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中进程信息的偏移量,根据得到的进程链表数据结构确定操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,将该虚拟地址和进程信息偏移量输出到确定模块;
步骤四:确定模块接收虚拟地址和进程信息偏移量后,获取所述操作系统类型对应的虚拟机中各进程的进程信息,当本系统的工作状态为进程模式训练阶段时,即stage=0,进入步骤五,当本系统的工作状态为进程模式匹配阶段时,即stage=1,进入步骤七;
步骤五:进程模式训练模块,采用基于相关性剪枝BP神经网络的进程模式训练方法对进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块,将本系统的工作状态置为进程模式匹配阶段,即stage=1;
步骤六:进程模式数据库模块,将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程行为模式数据库;
步骤七:进程模式匹配模块对接收到的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;
若匹配不成功,将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若匹配仍不成功,则输出“无法识别”到进程处理模块;
步骤八:进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息;若是“无法识别”,则由用户手动处理该进程。
4.根据权利要求3所述的一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别方法,其特征在于:所述的基于相关性剪枝BP神经网络的进程模式训练方法为:
(1)基于相关性剪枝BP神经网络的输入层接收正常进程或者恶意进程x1,x2,x3,x4,x5;
(2)计算中间层输出hj:
其中,f为中间层激励函数,wij,i=1,2,…,5,为输入层与中间层神经元之间的连接权值,a=[a1,a2,…,a10]为中间层阈值,
计算中间层两个隐节点的输出的相关性系数rij:
其中,p为样本数,hip和hjp为中间层节点i和j对所有样本的输出序列, 和 为其均值,如果rij>K,则进行相关性剪枝,即将这两个中间层节点合并成一个节点;
(3)计算输出层输出ok:
其中,vjk为中间层与输出层神经元之间的连接权值,b=[b1,b2]为输出层阈值;
(4)更新中间层神经元之间的连接权值wij和中间层与输出层神经元之间的连接权值vjk:
wij(t+1)=wij+η[(1-β)D(t)+βD(t-1)],i=1,2,…,5,j=1,2,…,10
vjk(t+1)=vjk(t)+η[(1-β)E(t)+βE(t-1)].j=1,2,…,10,k=1,2
其中,η为学习速率,β动量因子,
为在样本p作用时输出节点k的目标值, 为输出节点k在
样本p作用时的输出,N为训练样本个数;
(5)根据网络输出ok和期望输出yk之间的误差更新阈值aj,bk:
bk(t+1)=bk(t)+(yk-ok).k=1,2。

说明书全文

一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别

系统及方法

技术领域

背景技术

[0002] 目前,计算因其具有资源利用率高、可扩展性好、管理灵活等优点得到了高速发展,作为云计算的支撑技术之一的虚拟化技术具有重要作用。在VMware、Denali、Xen、KVM等主要虚拟化技术中,Xen虚拟化技术因其性能稳定、占用资源少且开源而应用最为广泛。
[0003] 通常,Xen虚拟机上运行着若干个客户操作系统,每个操作系统上又运行着若干个进程,进程作为系统资源分配和调度的基本单位,是操作系统动态执行的基本单元。如果操作系统中存在恶意进程,将会对虚拟机造成严重影响,如资源过度消耗,数据丢失或隐蔽通道等。因此,识别Xen虚拟机中的恶意进程非常重要。
[0004] 目前,针对Xen虚拟机的恶意进程识别的相关研究还未见报道,但是已有部分关于Xen虚拟机的进程信息获取相关成果,主要有:专利201310485094.1公开的一种虚拟机进程监控方法和装置,通过解析每台虚拟机内核中的task_struct结构来获取进程信息,但没有给出具体的识别正常进程和恶意进程的方法;专利201310290430.7公布的一种IaaS云环境下轻量级虚拟机进程追踪系统和方法,通过监视虚拟机内部事件构建进程高级语义视图,得到虚拟机内进程以及进程之间的关联关系,但没有给出得到进程信息后的处理方法。
[0005] 以上对虚拟机安全研究主要集中在虚拟机上运行进程的实时检测方向,但都只能针对不同操作系统解析虚拟机内核的task_struct结构来获取进程信息,并没有给出具体的识别所监控的进程是否是恶意进程的方法,也没有给出对恶意进程的控制方法。

发明内容

[0006] 本发明的目的是提供一种能够对恶意进程进行识别,并及时做出相应处理的基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统。本发明的目的还包括提供一种计算速度快、实用性强的基于相关性剪枝神经网络的Xen虚拟机恶意进程识别方法。
[0007] 一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统,包括进程信息获取模、进程模式训练模块、进程模式数据库模块、进程模式匹配模块、进程处理模块;
[0008] 进程信息获取模块包括获取模块、查询模块和确定模块,获取模块首先获取Xen虚拟机内存的中断描述符表寄存器的base数值,根据base数值获取操作系统类型,并将操作系统类型输出到查询模块;
[0009] 查询模块接收获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,数据结构偏移数组为一个二元组,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中进程信息的偏移量,根据得到的进程链表数据结构确定操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,将该虚拟地址和进程信息偏移量输出到确定模块;
[0010] 确定模块接收虚拟地址和进程信息偏移量后,获取所述操作系统类型对应的虚拟机中各进程的进程信息,当本系统的工作状态为进程模式训练阶段时,将进程信息输出给进程模式训练模块,当本系统的工作状态为进程模式匹配阶段时,将进程信息输出到进程模式匹配模块;
[0011] 进程模式训练模块,采用基于相关性剪枝BP神经网络的进程模式训练方法对进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块;
[0012] 进程模式数据库模块,将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程行为模式数据库;
[0013] 进程模式匹配模块对接收到的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;若匹配不成功,将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若匹配仍不成功,则输出“无法识别”到进程处理模块;
[0014] 进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息;若是“无法识别”,则由用户手动处理该进程。
[0015] 本发明一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统,还可以包括:
[0016] 1、基于相关性剪枝BP神经网络的输入层具有5个神经元,接收正常进程样本或恶意进程样本x1,x2,x3,x4,x5,中间层具有10个神经元,输出层具有2个神经元,输出层的输出表示进程行为模式;中间层输出hj,j=1,2,…,10,输入层与中间层神经元之间的连接权值wij,i=1,2,…,5,j=1,2,…,10,中间层与输出层神经元之间的连接权值vjk,j=1,2,…,10,k=1,2,中间层阈值a=[a1,a2,…,a10],输出层阈值b=[b1,b2]。
[0017] 一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别方法,包括以下步骤,[0018] 步骤一:初始化,设置本系统的工作状态为进程模式训练阶段,即stage=0;
[0019] 步骤二:获取模块首先获取Xen虚拟机内存的中断描述符表寄存器的base数值,根据base数值获取操作系统类型,并将操作系统类型输出到查询模块;
[0020] 步骤三:查询模块接收获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,数据结构偏移数组为一个二元组,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中进程信息的偏移量,根据得到的进程链表数据结构确定操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,将该虚拟地址和进程信息偏移量输出到确定模块;
[0021] 步骤四:确定模块接收虚拟地址和进程信息偏移量后,获取所述操作系统类型对应的虚拟机中各进程的进程信息,当本系统的工作状态为进程模式训练阶段时,即stage=0,进入步骤五,当本系统的工作状态为进程模式匹配阶段时,即stage=1,进入步骤七;
[0022] 步骤五:进程模式训练模块,采用基于相关性剪枝BP神经网络的进程模式训练方法对进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块,将本系统的工作状态置为进程模式匹配阶段,即stage=1;
[0023] 步骤六:进程模式数据库模块,将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程行为模式数据库;
[0024] 步骤七:进程模式匹配模块对接收到的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;若匹配不成功,将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若匹配仍不成功,则输出“无法识别”到进程处理模块;
[0025] 步骤八:进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息;若是“无法识别”,则由用户手动处理该进程。
[0026] 本发明一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别方法还可以包括:
[0027] 1、基于相关性剪枝BP神经网络的进程模式训练方法为:
[0028] (1)基于相关性剪枝BP神经网络的输入层接收正常进程或者恶意进程x1,x2,x3,x4,x5;
[0029] (2)计算中间层输出hj:
[0030]
[0031] 其中,f为中间层激励函数,wij,i=1,2,…,5,为输入层与中间层神经元之间的连接权值,a=[a1,a2,…,a10]为中间层阈值,
[0032] 计算中间层两个隐节点的输出的相关性系数rij:
[0033]
[0034] 其中,p为样本数,hip和hjp为中间层节点i和j对所有样本的输出序列, 和为其均值,如果rij>K,则进行相关性剪枝,即将这两个中间层节点合并成一个节点;
[0035] (3)计算输出层输出ok:
[0036]
[0037] 其中,vjk为中间层与输出层神经元之间的连接权值,b=[b1,b2]为输出层阈值;
[0038] (4)更新中间层神经元之间的连接权值wij和中间层与输出层神经元之间的连接权值vjk:
[0039] wij(t+1)=wij+η[(1-β)D(t)+βD(t-1)],i=1,2,…,5,j=1,2,…,10[0040] vjk(t+1)=vjk(t)+η[(1-β)E(t)+βE(t-1)].j=1,2,…,10,k=1,2[0041] 其中,η为学习速率,β动量因子,为在样本p作用时输出节点k的目标值, 为输出节点k在
样本p作用时的输出,N为训练样本个数;
[0042] (5)根据网络输出ok和期望输出yk之间的误差更新阈值aj,bk:
[0043]
[0044] bk(t+1)=bk(t)+(yk-ok).k=1,2。
[0045] 有益效果:
[0046] 本发明提出了一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别装置,不仅能获取Xen虚拟机中进程信息,而且能识别所监控进程是否恶意进程。本发明采用相关性剪枝思想解决了神经网络学习速度慢的问题,提升了本发明的实用性和适用性。
[0047] 本发明针对恶意进程对Xen虚拟机有巨大危害的问题,提出一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别装置,用于监控Xen虚拟机下不同客户操作系统中运行的各种进程,对恶意进程进行识别,并及时做出相应处理。
[0048] (1)本发明将获取的进程信息采用基于相关性剪枝的BP神经网络算法进行训练,可将相关性较大的中间层节点合并,提高训练速度。
[0049] (2)本发明将训练结果存入数据库,再实时获取虚拟机中进程信息直接与数据库里信息进行模式匹配,使恶意进程识别具有较高的时效性。
[0050] (3)本发明不仅提出了恶意进程识别方法,而且提出了对恶意进程的处理方法,可以及时处理恶意进程。附图说明
[0051] 图1为一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别装置的部署图。

具体实施方式

[0052] 下面将结合附图对本发明做进一步详细说明。
[0053] 本发明的一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别装置部署于Xen虚拟机的特权域VM0中,它能通过Xen虚拟机监视器Xen Hypervisor获取客户操作系统VM1、VM2、……VMn中的进程信息。该装置具体包括进程信息获取模块、进程模式训练模块、进程模式数据库模块、进程模式匹配模块、进程处理模块五个部分。
[0054] 当装置首次运行时,将表示装置工作阶段的stage变量设置为0。当stage=0时,表示进程模式训练阶段;当stage=1时,表示进程模式匹配阶段。
[0055] (1)进程信息获取模块。进程信息获取模块分为三个子模块:获取模块、查询模块和确定模块。
[0056] ①获取模块首先获取Xen虚拟机内存的中断描述符表寄存器(IDTR)的base数值,根据base数值再获取操作系统类型,并将操作系统类型输出到查询模块。
[0057] ②查询模块接收获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,该数组是一个二元组:(进程链表数据结构,进程信息偏移量)。具体为,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中各进程信息在结构体中的偏移量。查询模块根据所述进程链表数据结构确定所述操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,并将该虚拟地址和前述的进程信息偏移量输出到确定模块。
[0058] ③确定模块接收查询模块输入的虚拟地址和进程信息偏移量,获取所述操作系统类型对应的虚拟机中各进程的进程信息。当stage=0时,将所述获取的进程信息输出到进程模式训练模块;当stage=1时,将所述获取的进程信息输出到进程模式匹配模块。
[0059] (2)进程模式训练模块。当stage=0时,进程模式训练模块采用基于相关性剪枝BP神经网络的进程模式训练方法对进程信息获取模块输入的进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块。当进程模式训练完成时,设置stage=1。
[0060] (3)进程模式数据库模块。进程模式数据库模块将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程模块数据库。
[0061] (4)进程模式匹配模块。当stage=1时,进程模式匹配模块采用基于Wu-Manber多模式匹配算法,对进程信息获取模块输入的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配。若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;若匹配不成功,将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配。若此时匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若此时匹配仍不成功,则输出“无法识别”到进程处理模块。
[0062] (5)进程处理模块。进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息,由用户决定杀死进程、挂起进程;若是“无法识别”,则由用户手动处理该进程。
[0063] 前述的步骤(2)中的基于相关性剪枝BP神经网络的进程模式训练方法还具体包括:
[0064] 1)其中基于相关性剪枝BP神经网络的输入层具有5个神经元,接收正常进程样本或恶意进程样本x1,x2,x3,x4,x5,中间层具有10个神经元,输出层具有2个神经元,输出层的输出表示进程行为模式。中间层输出hj(j=1,2,…,10),输入层与中间层神经元之间的连接权值wij(i=1,2,…,5,j=1,2,…,10),中间层与输出层神经元之间的连接权值vjk(j=1,2,…,10,k=1,2),中间层阈值a=[a1,a2,…,a10],输出层阈值b=[b1,b2]。
[0065] 2)前述的基于相关性剪枝BP神经网络的中间层输出hj(j=1,2,…,10)的计算方法还包括:
[0066]
[0067] 式中,f为中间层激励函数,xi(i=1,2,…,5)为第i个输入神经元变量。
[0068] 设同一中间层内两个隐节点i和j的输出的相关性系数为rij,如果rij>0.8,则进行相关性剪枝,即将这两个中间层节点合并成一个节点。其中
[0069]
[0070] 式中,p为样本数,hip和hjp为中间层节点i和j对所有样本的输出序列, 和为其均值。
[0071] 3)前述的基于相关性剪枝BP神经网络的输出层输出ok(k=1,2)的计算方法还包括:
[0072]
[0073] 根据学习速率η、动量因子β和wij(i=1,2,…,5,j=1,2,…,10)更新权值,根据网络输出ok(k=1,2)和期望输出yk(k=1,2)之间的误差更新阈值aj(j=1,2,…,10),bk(k=1,2)。最终得到正常进程行为模式和恶意进程行为模式。
[0074] 下面结合附图1对本发明实施例一进行详细描述:
[0075] 具体包括进程信息获取模块、进程模式训练模块、进程模式数据库模块、进程模式匹配模块、进程处理模块五个部分。
[0076] 当装置首次运行时,将表示装置工作阶段的stage变量设置为0。当stage=0时,表示进程模式训练阶段;当stage=1时,表示进程模式匹配阶段。
[0077] (1)进程信息获取模块。进程信息获取模块分为三个子模块:获取模块、查询模块和确定模块。
[0078] ①获取模块获取虚拟机的操作系统类型。对于本宿主机上正在运行的虚拟机或者刚从其他宿主机迁移到本宿主机的虚拟机,获取模块判断Xen虚拟机内存的中断描述表寄存器(IDTR)的limit数值是否为“0xFF”,若limit=“0xFF”,则表示IDT寄存器已初始化完成,获取模块获取中断描述表(IDT)寄存器的base数值,然后根据base数值判断虚拟机的操作系统类型。
[0079] ②查询模块根据获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,该数组是一个二元组:(进程链表数据结构,进程信息偏移量)。具体为,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中各进程信息在结构体中的偏移量。查询模块根据所述进程链表数据结构确定所述操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,并将该虚拟地址和前述的进程信息偏移量输出到确定模块。
[0080] ③确定模块根据查询模块输入的虚拟地址和进程信息偏移量获取所述操作系统类型对应的虚拟机中各进程的进程信息。当stage=0时,将所述获取的进程信息输出到进程模式训练模块;当stage=1时,将所述获取的进程信息输出到进程模式匹配模块。
[0081] (2)进程模式训练模块。当stage=0时,进程模式训练模块采用基于相关性剪枝BP神经网络的训练算法对进程信息获取模块输入的进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块。当进程模式训练完成时,设置stage=1。
[0082] (3)进程模式数据库模块。进程模式数据库模块将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程模块数据库。
[0083] (4)进程模式匹配模块。当stage=1时,进程模式匹配模块对进程信息进行匹配。具体为:
[0084] 步骤一:进程模式匹配模块采用基于Wu-Manber多模式匹配算法,对进程信息获取模块输入的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配。若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;若匹配不成功,进入步骤二。
[0085] 步骤二:将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配。若此时匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若此时匹配仍不成功,进入步骤三。
[0086] 步骤三:输出“无法识别”到进程处理模块。
[0087] (5)进程处理模块。进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息,由用户决定杀死进程、挂起进程;若是“无法识别”,则由用户手动处理该进程。
[0088] 基于相关性剪枝BP神经网络的进程模式训练方法还具体包括:
[0089] 1)其中基于相关性剪枝BP神经网络的输入层具有5个神经元,接收正常进程样本或恶意进程样本x1,x2,x3,x4,x5,中间层具有10个神经元,输出层具有2个神经元,输出层的输出表示进程行为模式。中间层输出hj(j=1,2,…,10),输入层与中间层神经元之间的连接权值wij(i=1,2,…,5,j=1,2,…,10),中间层与输出层神经元之间的连接权值vjk(j=1,2,…,10,k=1,2),中间层阈值a=[a1,a2,…,a10],输出层阈值b=[b1,b2]。
[0090] 2)前述的基于相关性剪枝BP神经网络的中间层输出hj(j=1,2,…,10)的计算方法还包括:
[0091]
[0092] 式中,f为中间层激励函数,xi(i=1,2,…,5)为第i个输入神经元变量。
[0093] 设同一中间层内两个隐节点i和j的输出的相关性系数为rij,如果rij>0.8,则进行相关性剪枝,即将这两个中间层节点合并成一个节点。其中
[0094]
[0095] 式中,p为样本数,hip和hjp为中间层节点i和j对所有样本的输出序列, 和为其均值。
[0096] 3)前述的基于相关性剪枝BP神经网络的输出层输出ok(k=1,2)的计算方法还包括:
[0097]
[0098] 4)前述的基于相关性剪枝BP神经网络的wij(i=1,2,…,5,j=1,2,…,10)权值更新计算方法还包括:
[0099] wij(t+1)=wij+η[(1-β)D(t)+βD(t-1)],i=1,2,…,5,j=1,2,…,10 (7)[0100] vjk(t+1)=vjk(t)+η[(1-β)E(t)+βE(t-1)].j=1,2,…,10,k=1,2 (8)[0101] 式中,η为学习速率,β为动量因子,为在样本p作用时输出节点k的目标值, 为输出节点k在样
本p作用时的输出,N为训练样本个数。
[0102] 5)前述的基于相关性剪枝BP神经网络的阈值aj(j=1,2,…,10),bk(k=1,2)更新计算方法还包括:
[0103]
[0104] bk(t+1)=bk(t)+(yk-ok).k=1,2 (10)
[0105] 式中,η为学习速率。
[0106] 最终得到正常进程行为模式和恶意进程行为模式。
[0107] 本实施例中,通过获取虚拟机的操作系统类型,根据虚拟机的操作系统类型确定与操作系统类型对应的内核数据结构偏移数组,根据内核数据结构偏移数组获取虚拟机中各进程的进程信息,与利用基于相关性剪枝BP神经网络训练方法训练得到的进程行为模式数据库进行匹配,可以准确识别宿主机上不同操作系统的多个虚拟机进程是否有恶意进程,并及时将判断结果输出到处理模块,具有高准确度和实时性的优点。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈