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

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

Info

Publication number
CN105160248A
CN105160248A CN201510381899.0A CN201510381899A CN105160248A CN 105160248 A CN105160248 A CN 105160248A CN 201510381899 A CN201510381899 A CN 201510381899A CN 105160248 A CN105160248 A CN 105160248A
Authority
CN
China
Prior art keywords
module
virtual machine
progress information
malicious
process mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510381899.0A
Other languages
English (en)
Other versions
CN105160248B (zh
Inventor
郭方方
胡义兵
王慧强
吕宏武
林俊宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN201510381899.0A priority Critical patent/CN105160248B/zh
Publication of CN105160248A publication Critical patent/CN105160248A/zh
Application granted granted Critical
Publication of CN105160248B publication Critical patent/CN105160248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Image Analysis (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法
技术领域
本发明属于恶意程序识别领域,尤其涉及一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法。
背景技术
目前,云计算因其具有资源利用率高、可扩展性好、管理灵活等优点得到了高速发展,作为云计算的支撑技术之一的虚拟化技术具有重要作用。在VMware、Denali、Xen、KVM等主要虚拟化技术中,Xen虚拟化技术因其性能稳定、占用资源少且开源而应用最为广泛。
通常,Xen虚拟机上运行着若干个客户操作系统,每个操作系统上又运行着若干个进程,进程作为系统资源分配和调度的基本单位,是操作系统动态执行的基本单元。如果操作系统中存在恶意进程,将会对虚拟机造成严重影响,如资源过度消耗,数据丢失或隐蔽通道等。因此,识别Xen虚拟机中的恶意进程非常重要。
目前,针对Xen虚拟机的恶意进程识别的相关研究还未见报道,但是已有部分关于Xen虚拟机的进程信息获取相关成果,主要有:专利201310485094.1公开的一种虚拟机进程监控方法和装置,通过解析每台虚拟机内核中的task_struct结构来获取进程信息,但没有给出具体的识别正常进程和恶意进程的方法;专利201310290430.7公布的一种IaaS云环境下轻量级虚拟机进程追踪系统和方法,通过监视虚拟机内部事件构建进程高级语义视图,得到虚拟机内进程以及进程之间的关联关系,但没有给出得到进程信息后的处理方法。
以上对虚拟机安全研究主要集中在虚拟机上运行进程的实时检测方向,但都只能针对不同操作系统解析虚拟机内核的task_struct结构来获取进程信息,并没有给出具体的识别所监控的进程是否是恶意进程的方法,也没有给出对恶意进程的控制方法。
发明内容
本发明的目的是提供一种能够对恶意进程进行识别,并及时做出相应处理的基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统。本发明的目的还包括提供一种计算速度快、实用性强的基于相关性剪枝神经网络的Xen虚拟机恶意进程识别方法。
一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统,包括进程信息获取模块、进程模式训练模块、进程模式数据库模块、进程模式匹配模块、进程处理模块;
进程信息获取模块包括获取模块、查询模块和确定模块,获取模块首先获取Xen虚拟机内存的中断描述符表寄存器的base数值,根据base数值获取操作系统类型,并将操作系统类型输出到查询模块;
查询模块接收获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,数据结构偏移数组为一个二元组,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中进程信息的偏移量,根据得到的进程链表数据结构确定操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,将该虚拟地址和进程信息偏移量输出到确定模块;
确定模块接收虚拟地址和进程信息偏移量后,获取所述操作系统类型对应的虚拟机中各进程的进程信息,当本系统的工作状态为进程模式训练阶段时,将进程信息输出给进程模式训练模块,当本系统的工作状态为进程模式匹配阶段时,将进程信息输出到进程模式匹配模块;
进程模式训练模块,采用基于相关性剪枝BP神经网络的进程模式训练方法对进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块;
进程模式数据库模块,将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程行为模式数据库;
进程模式匹配模块对接收到的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;若匹配不成功,将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若匹配仍不成功,则输出“无法识别”到进程处理模块;
进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息;若是“无法识别”,则由用户手动处理该进程。
本发明一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统,还可以包括:
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]。
一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别方法,包括以下步骤,
步骤一:初始化,设置本系统的工作状态为进程模式训练阶段,即stage=0;
步骤二:获取模块首先获取Xen虚拟机内存的中断描述符表寄存器的base数值,根据base数值获取操作系统类型,并将操作系统类型输出到查询模块;
步骤三:查询模块接收获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,数据结构偏移数组为一个二元组,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中进程信息的偏移量,根据得到的进程链表数据结构确定操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,将该虚拟地址和进程信息偏移量输出到确定模块;
步骤四:确定模块接收虚拟地址和进程信息偏移量后,获取所述操作系统类型对应的虚拟机中各进程的进程信息,当本系统的工作状态为进程模式训练阶段时,即stage=0,进入步骤五,当本系统的工作状态为进程模式匹配阶段时,即stage=1,进入步骤七;
步骤五:进程模式训练模块,采用基于相关性剪枝BP神经网络的进程模式训练方法对进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块,将本系统的工作状态置为进程模式匹配阶段,即stage=1;
步骤六:进程模式数据库模块,将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程行为模式数据库;
步骤七:进程模式匹配模块对接收到的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;若匹配不成功,将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配,若匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若匹配仍不成功,则输出“无法识别”到进程处理模块;
步骤八:进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息;若是“无法识别”,则由用户手动处理该进程。
本发明一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别方法还可以包括:
1、基于相关性剪枝BP神经网络的进程模式训练方法为:
(1)基于相关性剪枝BP神经网络的输入层接收正常进程或者恶意进程x1,x2,x3,x4,x5
(2)计算中间层输出hj
h j = f ( Σ i = 1 5 w i j x i - a j ) , j = 1 , 2 , ... , 10
其中,f为中间层激励函数,wij,i=1,2,…,5,为输入层与中间层神经元之间的连接权值,a=[a1,a2,…,a10]为中间层阈值,
计算中间层两个隐节点的输出的相关性系数rij
r i j = Σ p h i p h j p - n h i ‾ h j ‾ ( Σ p ( h i p - h i ‾ ) 2 ) 1 2 ( Σ p ( h j p - h j ‾ ) 2 ) 1 2
其中,p为样本数,hip和hjp为中间层节点i和j对所有样本的输出序列,为其均值,如果rij>K,则进行相关性剪枝,即将这两个中间层节点合并成一个节点;
(3)计算输出层输出ok
o k = Σ j = 1 2 h j v j k - b k , k = 1 , 2
其中,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
其中,η为学习速率,β动量因子, D ( t ) = - ∂ J / ∂ w i j ( t ) , E ( t ) = - ∂ J / ∂ v j k ( t ) , 为在样本p作用时输出节点k的目标值,为输出节点k在样本p作用时的输出,N为训练样本个数;
(5)根据网络输出ok和期望输出yk之间的误差更新阈值aj,bk
a j ( t + 1 ) = a j ( t ) + ηh j ( 1 - h j ) Σ k = 1 2 w j k ( y k - o k ) . j = 1 , 2 , ... ... 10 , k = 1 , 2
bk(t+1)=bk(t)+(yk-ok).k=1,2。
有益效果:
本发明提出了一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别装置,不仅能获取Xen虚拟机中进程信息,而且能识别所监控进程是否恶意进程。本发明采用相关性剪枝思想解决了神经网络学习速度慢的问题,提升了本发明的实用性和适用性。
本发明针对恶意进程对Xen虚拟机有巨大危害的问题,提出一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别装置,用于监控Xen虚拟机下不同客户操作系统中运行的各种进程,对恶意进程进行识别,并及时做出相应处理。
(1)本发明将获取的进程信息采用基于相关性剪枝的BP神经网络算法进行训练,可将相关性较大的中间层节点合并,提高训练速度。
(2)本发明将训练结果存入数据库,再实时获取虚拟机中进程信息直接与数据库里信息进行模式匹配,使恶意进程识别具有较高的时效性。
(3)本发明不仅提出了恶意进程识别方法,而且提出了对恶意进程的处理方法,可以及时处理恶意进程。
附图说明
图1为一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别装置的部署图。
具体实施方式
下面将结合附图对本发明做进一步详细说明。
本发明的一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别装置部署于Xen虚拟机的特权域VM0中,它能通过Xen虚拟机监视器XenHypervisor获取客户操作系统VM1、VM2、……VMn中的进程信息。该装置具体包括进程信息获取模块、进程模式训练模块、进程模式数据库模块、进程模式匹配模块、进程处理模块五个部分。
当装置首次运行时,将表示装置工作阶段的stage变量设置为0。当stage=0时,表示进程模式训练阶段;当stage=1时,表示进程模式匹配阶段。
(1)进程信息获取模块。进程信息获取模块分为三个子模块:获取模块、查询模块和确定模块。
①获取模块首先获取Xen虚拟机内存的中断描述符表寄存器(IDTR)的base数值,根据base数值再获取操作系统类型,并将操作系统类型输出到查询模块。
②查询模块接收获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,该数组是一个二元组:(进程链表数据结构,进程信息偏移量)。具体为,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中各进程信息在结构体中的偏移量。查询模块根据所述进程链表数据结构确定所述操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,并将该虚拟地址和前述的进程信息偏移量输出到确定模块。
③确定模块接收查询模块输入的虚拟地址和进程信息偏移量,获取所述操作系统类型对应的虚拟机中各进程的进程信息。当stage=0时,将所述获取的进程信息输出到进程模式训练模块;当stage=1时,将所述获取的进程信息输出到进程模式匹配模块。
(2)进程模式训练模块。当stage=0时,进程模式训练模块采用基于相关性剪枝BP神经网络的进程模式训练方法对进程信息获取模块输入的进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块。当进程模式训练完成时,设置stage=1。
(3)进程模式数据库模块。进程模式数据库模块将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程模块数据库。
(4)进程模式匹配模块。当stage=1时,进程模式匹配模块采用基于Wu-Manber多模式匹配算法,对进程信息获取模块输入的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配。若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;若匹配不成功,将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配。若此时匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若此时匹配仍不成功,则输出“无法识别”到进程处理模块。
(5)进程处理模块。进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息,由用户决定杀死进程、挂起进程;若是“无法识别”,则由用户手动处理该进程。
前述的步骤(2)中的基于相关性剪枝BP神经网络的进程模式训练方法还具体包括:
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]。
2)前述的基于相关性剪枝BP神经网络的中间层输出hj(j=1,2,…,10)的计算方法还包括:
h j = f ( Σ i = 1 5 w i j x i - a j ) , j = 1 , 2 , ... , 10 - - - ( 1 )
式中,f为中间层激励函数,xi(i=1,2,…,5)为第i个输入神经元变量。
设同一中间层内两个隐节点i和j的输出的相关性系数为rij,如果rij>0.8,则进行相关性剪枝,即将这两个中间层节点合并成一个节点。其中
r i j = Σ p h i p h j p - n h i ‾ h j ‾ ( Σ p ( h i p - h i ‾ ) 2 ) 1 2 ( Σ p ( h j p - h j ‾ ) 2 ) 1 2 - - - ( 2 )
式中,p为样本数,hip和hjp为中间层节点i和j对所有样本的输出序列,为其均值。
3)前述的基于相关性剪枝BP神经网络的输出层输出ok(k=1,2)的计算方法还包括:
o k = Σ j = 1 2 h j v j k - b k , k = 1 , 2 - - - ( 3 )
根据学习速率η、动量因子β和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)。最终得到正常进程行为模式和恶意进程行为模式。
下面结合附图1对本发明实施例一进行详细描述:
具体包括进程信息获取模块、进程模式训练模块、进程模式数据库模块、进程模式匹配模块、进程处理模块五个部分。
当装置首次运行时,将表示装置工作阶段的stage变量设置为0。当stage=0时,表示进程模式训练阶段;当stage=1时,表示进程模式匹配阶段。
(1)进程信息获取模块。进程信息获取模块分为三个子模块:获取模块、查询模块和确定模块。
①获取模块获取虚拟机的操作系统类型。对于本宿主机上正在运行的虚拟机或者刚从其他宿主机迁移到本宿主机的虚拟机,获取模块判断Xen虚拟机内存的中断描述表寄存器(IDTR)的limit数值是否为“0xFF”,若limit=“0xFF”,则表示IDT寄存器已初始化完成,获取模块获取中断描述表(IDT)寄存器的base数值,然后根据base数值判断虚拟机的操作系统类型。
②查询模块根据获取模块输入的操作系统类型,查询预设的内核数据结构偏移集合,确定与操作系统类型对应的内核数据结构偏移数组,该数组是一个二元组:(进程链表数据结构,进程信息偏移量)。具体为,第一个元素是操作系统类型对应的虚拟机的进程链表数据结构,第二个元素是操作系统类型对应的虚拟机中各进程信息在结构体中的偏移量。查询模块根据所述进程链表数据结构确定所述操作系统类型对应的虚拟机中各进程对应的结构体的虚拟地址,并将该虚拟地址和前述的进程信息偏移量输出到确定模块。
③确定模块根据查询模块输入的虚拟地址和进程信息偏移量获取所述操作系统类型对应的虚拟机中各进程的进程信息。当stage=0时,将所述获取的进程信息输出到进程模式训练模块;当stage=1时,将所述获取的进程信息输出到进程模式匹配模块。
(2)进程模式训练模块。当stage=0时,进程模式训练模块采用基于相关性剪枝BP神经网络的训练算法对进程信息获取模块输入的进程信息进行训练,得到正常进程行为模式和恶意进程行为模式,并将正常进程行为模式和恶意进程行为模式输出到进程模式数据库模块。当进程模式训练完成时,设置stage=1。
(3)进程模式数据库模块。进程模式数据库模块将进程模式训练模块输入的正常进程行为模式存储到正常进程行为模式数据库,将进程模式训练模块输入恶意进程行为模式存储到恶意进程模块数据库。
(4)进程模式匹配模块。当stage=1时,进程模式匹配模块对进程信息进行匹配。具体为:
步骤一:进程模式匹配模块采用基于Wu-Manber多模式匹配算法,对进程信息获取模块输入的进程信息与恶意进程行为模式数据库中数据模式进行模式匹配。若匹配成功,则该进程是恶意进程,并将匹配结果输出到进程处理模块;若匹配不成功,进入步骤二。
步骤二:将该进程信息与正常进程行为模式数据库中数据模式进行模式匹配。若此时匹配成功,则认为是正常进程,并将匹配结果输出到进程处理模块;若此时匹配仍不成功,进入步骤三。
步骤三:输出“无法识别”到进程处理模块。
(5)进程处理模块。进程处理模块对进程模式匹配模块的输入结果进行处理,若输入是正常进程,则不做处理;若是恶意进程,则发出警报信息,由用户决定杀死进程、挂起进程;若是“无法识别”,则由用户手动处理该进程。
基于相关性剪枝BP神经网络的进程模式训练方法还具体包括:
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]。
2)前述的基于相关性剪枝BP神经网络的中间层输出hj(j=1,2,…,10)的计算方法还包括:
h j = f ( Σ i = 1 5 w i j x i - a j ) , j = 1 , 2 , ... , 10 - - - ( 4 )
式中,f为中间层激励函数,xi(i=1,2,…,5)为第i个输入神经元变量。
设同一中间层内两个隐节点i和j的输出的相关性系数为rij,如果rij>0.8,则进行相关性剪枝,即将这两个中间层节点合并成一个节点。其中
r i j = Σ p h i p h j p - n h i ‾ h j ‾ ( Σ p ( h i p - h i ‾ ) 2 ) 1 2 ( Σ p ( h j p - h j ‾ ) 2 ) 1 2 - - - ( 5 )
式中,p为样本数,hip和hjp为中间层节点i和j对所有样本的输出序列,为其均值。
3)前述的基于相关性剪枝BP神经网络的输出层输出ok(k=1,2)的计算方法还包括:
o k = Σ j = 1 2 h j v j k - b k , k = 1 , 2 - - - ( 6 )
4)前述的基于相关性剪枝BP神经网络的wij(i=1,2,…,5,j=1,2,…,10)权值更新计算方法还包括:
wij(t+1)=wij+η[(1-β)D(t)+βD(t-1)],i=1,2,…,5,j=1,2,…,10(7)
vjk(t+1)=vjk(t)+η[(1-β)E(t)+βE(t-1)].j=1,2,…,10,k=1,2(8)
式中,η为学习速率,β为动量因子, D ( t ) = - ∂ J / ∂ w i j ( t ) , E ( t ) = - ∂ J / ∂ v j k ( t ) , 为在样本p作用时输出节点k的目标值,为输出节点k在样本p作用时的输出,N为训练样本个数。
5)前述的基于相关性剪枝BP神经网络的阈值aj(j=1,2,…,10),bk(k=1,2)更新计算方法还包括:
a j ( t + 1 ) = a j ( t ) + ηh j ( 1 - h j ) Σ k = 1 2 w j k ( y k - o k ) . j = 1 , 2 , ... ... 10 , k = 1 , 2 - - - ( 9 )
bk(t+1)=bk(t)+(yk-ok).k=1,2(10)
式中,η为学习速率。
最终得到正常进程行为模式和恶意进程行为模式。
本实施例中,通过获取虚拟机的操作系统类型,根据虚拟机的操作系统类型确定与操作系统类型对应的内核数据结构偏移数组,根据内核数据结构偏移数组获取虚拟机中各进程的进程信息,与利用基于相关性剪枝BP神经网络训练方法训练得到的进程行为模式数据库进行匹配,可以准确识别宿主机上不同操作系统的多个虚拟机进程是否有恶意进程,并及时将判断结果输出到处理模块,具有高准确度和实时性的优点。

Claims (4)

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
h j = f ( Σ i = 1 5 w i j x i - a j ) , j = 1 , 2 , ... , 10
其中,f为中间层激励函数,wij,i=1,2,…,5,为输入层与中间层神经元之间的连接权值,a=[a1,a2,…,a10]为中间层阈值,
计算中间层两个隐节点的输出的相关性系数rij
r i j = Σ p h i p h j p - n h i ‾ h j ‾ ( Σ p ( h i p - h i ‾ ) 2 ) 1 2 ( Σ p ( h j p - h j ‾ ) 2 ) 1 2
其中,p为样本数,hip和hjp为中间层节点i和j对所有样本的输出序列,为其均值,如果rij>K,则进行相关性剪枝,即将这两个中间层节点合并成一个节点;
(3)计算输出层输出ok
o k = Σ j = 1 2 h j v j k - b k , k = 1 , 2
其中,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
其中,η为学习速率,β动量因子, D ( t ) = - ∂ J / ∂ w i j ( t ) , E ( t ) = - ∂ J / ∂ v j k ( t ) , 为在样本p作用时输出节点k的目标值,为输出节点k在样本p作用时的输出,N为训练样本个数;
(5)根据网络输出ok和期望输出yk之间的误差更新阈值aj,bk
a j ( t + 1 ) = a j ( t ) + ηh j ( 1 - h j ) Σ k = 1 2 w j k ( y k - o k ) . j = 1 , 2 , ... ... 10 , k = 1 , 2
bk(t+1)=bk(t)+(yk-ok).k=1,2。
CN201510381899.0A 2015-07-02 2015-07-02 一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法 Active CN105160248B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510381899.0A CN105160248B (zh) 2015-07-02 2015-07-02 一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510381899.0A CN105160248B (zh) 2015-07-02 2015-07-02 一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法

Publications (2)

Publication Number Publication Date
CN105160248A true CN105160248A (zh) 2015-12-16
CN105160248B CN105160248B (zh) 2018-04-24

Family

ID=54801101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510381899.0A Active CN105160248B (zh) 2015-07-02 2015-07-02 一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法

Country Status (1)

Country Link
CN (1) CN105160248B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106384050A (zh) * 2016-09-13 2017-02-08 哈尔滨工程大学 一种基于最大频繁子图挖掘的动态污点分析方法
CN107154258A (zh) * 2017-04-10 2017-09-12 哈尔滨工程大学 基于负相关增量学习的声纹识别方法
CN107292166A (zh) * 2017-05-18 2017-10-24 广东工业大学 一种基于cfa算法和bp神经网络的入侵检测方法
CN114692514A (zh) * 2022-05-27 2022-07-01 西南交通大学 一种抗滑桩的设计方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960369A (zh) * 2005-11-02 2007-05-09 董孝峰 模拟生物神经网络保护互联网安全的方法及系统
US20100162400A1 (en) * 2008-12-11 2010-06-24 Scansafe Limited Malware detection
CN102346829A (zh) * 2011-09-22 2012-02-08 重庆大学 基于集成分类的病毒检测方法
CN102651088A (zh) * 2012-04-09 2012-08-29 南京邮电大学 基于A_Kohonen神经网络的恶意代码分类方法
CN103500307A (zh) * 2013-09-26 2014-01-08 北京邮电大学 一种基于行为模型的移动互联网恶意应用软件检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960369A (zh) * 2005-11-02 2007-05-09 董孝峰 模拟生物神经网络保护互联网安全的方法及系统
US20100162400A1 (en) * 2008-12-11 2010-06-24 Scansafe Limited Malware detection
CN102346829A (zh) * 2011-09-22 2012-02-08 重庆大学 基于集成分类的病毒检测方法
CN102651088A (zh) * 2012-04-09 2012-08-29 南京邮电大学 基于A_Kohonen神经网络的恶意代码分类方法
CN103500307A (zh) * 2013-09-26 2014-01-08 北京邮电大学 一种基于行为模型的移动互联网恶意应用软件检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑吉飞: "Android恶意代码的静态检测研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106384050A (zh) * 2016-09-13 2017-02-08 哈尔滨工程大学 一种基于最大频繁子图挖掘的动态污点分析方法
CN106384050B (zh) * 2016-09-13 2019-01-15 哈尔滨工程大学 一种基于最大频繁子图挖掘的动态污点分析方法
CN107154258A (zh) * 2017-04-10 2017-09-12 哈尔滨工程大学 基于负相关增量学习的声纹识别方法
CN107292166A (zh) * 2017-05-18 2017-10-24 广东工业大学 一种基于cfa算法和bp神经网络的入侵检测方法
CN107292166B (zh) * 2017-05-18 2020-07-28 广东工业大学 一种基于cfa算法和bp神经网络的入侵检测方法
CN114692514A (zh) * 2022-05-27 2022-07-01 西南交通大学 一种抗滑桩的设计方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN105160248B (zh) 2018-04-24

Similar Documents

Publication Publication Date Title
US11481492B2 (en) Method and system for static behavior-predictive malware detection
Wang et al. CAVBench: A benchmark suite for connected and autonomous vehicles
CN106611052B (zh) 文本标签的确定方法及装置
CN110033026B (zh) 一种连续小样本图像的目标检测方法、装置及设备
CN107632995B (zh) 随机森林模型训练的方法及模型训练控制系统
US20200265119A1 (en) Site-specific anomaly detection
CN106980623B (zh) 一种数据模型的确定方法及装置
CN107045503A (zh) 一种特征集确定的方法及装置
CN105160248A (zh) 一种基于相关性剪枝神经网络的Xen虚拟机恶意进程识别系统及方法
CN110505114B (zh) 一种云计算环境下节点异常判断方法
CN106570197B (zh) 基于迁移学习的搜索排序方法和装置
CN104317681A (zh) 针对计算机系统的行为异常自动检测方法及检测系统
CN104063631B (zh) 一种面向大数据的代谢组特征数据分析方法及其系统
EP2962204A1 (en) Workload identification
CN101799875B (zh) 一种目标检测方法
CN105659262A (zh) 在尖峰神经网络中使用重放来实现突触学习
CN105630458B (zh) 一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法
CN106156805A (zh) 一种样本标签缺失数据的分类器训练方法
CN109636212B (zh) 作业实际运行时间的预测方法
CN109063478A (zh) 可移植的可执行文件的病毒检测方法、装置、设备及介质
CN112307860A (zh) 图像识别模型训练方法和装置、图像识别方法和装置
USH2215H1 (en) Odor discrimination using binary spiking neural network
CN105303163A (zh) 一种目标检测的方法及检测装置
CN113447759A (zh) 一种多分类的rvm电网故障判别方法和系统
CN105224577A (zh) 一种多标签文本分类方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant