买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】云平台VMM层行为监控方法_哈尔滨工业大学_201510096203.X 

申请/专利权人:哈尔滨工业大学

申请日:2015-03-04

公开(公告)日:2018-03-30

公开(公告)号:CN104615936B

主分类号:G06F21/56(2013.01)I

分类号:G06F21/56(2013.01)I;G06F9/455(2006.01)I

优先权:

专利状态码:有效-授权

法律状态:2018.03.30#授权;2018.02.23#著录事项变更;2015.06.10#实质审查的生效;2015.05.13#公开

摘要:云平台VMM层行为监控方法,本发明涉及云平台VMM层行为监控方法。本发明是要解决现有技术的问题主要在于:运行环境不安全,可能被攻破、算法安全监控程序占用的系统资源大、识别异常率不高的问题。云平台VMM层行为监控方法,它包括:用于VMM层劫持系统调用并获得系统调用序列的System Call Interpcepter步骤;用于分析系统调用序列并判断进程异常与否的System Call Analyze步骤;用于接收System Call Analyzer模块的分析结果并发出警报提醒操作系统的System Call Handler步骤。本发明应用于云平台领域。

主权项:云平台VMM层行为监控方法,其特征在于它包括:用于VMM层劫持系统调用并获得系统调用序列的System Call Interpcepter步骤;用于分析系统调用序列并判断进程异常与否的System Call Analyze步骤;用于接收System Call Analyzer模块的分析结果并发出警报提醒操作系统的System Call Handler步骤;所述System Call Interpcepter步骤具体为:在Linux内核中,利用内核的strace功能来劫持系统调用;其中,所述strace的核心是ptrace函数,ptrace函数本身并不具备输出产生系统调用程序的pid和系统调用号的功能,因此,要在内核syscall_trace_enterstruct pt_regs*regs函数的尾部,添加向文件输出pid和系统调用号的代码,从而实现系统调用的劫持;所述System Call Analyzer步骤包括NMF算法与滑动窗口算法两部分:一、利用NMF算法,分析系统调用序列的频率矩阵,得出进程异常与否的比率:1.读入基准系统调用序列A;2.统计每个系统调用序列出现的频率,得到频率矩阵B,化简频率矩阵B,将和为零的列删除,得到最简频率矩阵C;3.利用NMF算法,将最简频率矩阵C,分解为基矩阵D和系数矩阵E,并保存起来;4.读入测试系统调用序列A’;5.重复步骤2,得到最简频率矩阵C’;6.利用NMF算法,以基矩阵D为最简频率矩阵C’的基矩阵,得到系数矩阵E';7.运用余弦夹角法,计算两个系数矩阵E和E’的相似度S1,得出最终结果F;8.所得最终结果F如果小于等于61.8%,则属于正常进程,否则属于异常进程;二、利用滑动窗口算法,分析系统调用序列的顺序,得出进程异常与否的比率;1.把正常进程的系统调用序列先用滑动窗口分成长度为3的短序列,作为标准库;其中,所述标准库中,系统调用短序列采用树型结构进行存储,树的高度为4,树的顶点是用一个空节点来标识;2.当判断一个进程时,把该进程的系统调用序列首先按照滑动窗口算法分为多个短序列;3.然后把这些短序列和标准库中的短序列进行比较,得出成功的比率:当判断进程的短序列时,把短序列与树进行匹配,短序列匹配成功率S2,若与其中的一支相同,则匹配成功,否则,不成功;所述匹配具体是从树的顶点出发,如果存在树的一支与短序列相同则匹配成功;所述System Call Handler步骤具体为:System Call Analyzer模块所得到测试进程的频率矩阵和标准库中正常矩阵的相似度S1和用滑动窗口算法得到的短序列匹配成功率S2,两个指标各占的比重为r1和r2,最终可得到所测进程的与标准进程的总的相似度S=S1r1+S2r2;若总相似度S=61.8%则判定为异常进程,若为判断为异常进程,则向主机发出警报;若判断为正常进程,则不采取任何操作;所述NMF算法是以参考数据得到的基矩阵为基矩阵,得出系数矩阵,与参考数据的系数矩阵相比较,运用余弦夹角法,计算两个系数矩阵的相似度,所得最终结果如果小于等于某一个定值,则属于正常进程,否则属于异常进程,若是异常进程通知系统调用处理程序对程序或进程进行处理。

全文数据:云平台VMM层行为监控方法技术领域[0001]本发明涉及云平台VMM层行为监控方法。背景技术[0002]HostKeeper:该入侵检测系统是一种基于主机上操作行为分析的系统,该系统从系统内核中的获取操作的行为信息,不断的监测主机运行的详细活动,它首先获取每一个应用程序运行的系统调用,得到该应用程序的系统调用号、发生的时间、该系统调用所属的进程以及该系统调用所调用的相关参数等等关键数据,然后分析系统。但是它并没有给出具体的如何进行系统调用行为的分析。基于系统调用参数的入侵检测方法:该方法根据每一个系统调用来实施的,该方法通过分析一段系统调用流,为每个系统调用和该系统调用的参数进行建模,但是不考虑系统调用序列之间的顺序关系。该方法为每个应用的每个系统调用,创建出模型。但是由于系统调用产生的速度快而且数目巨大,对所有的系统调用进行跟踪,而且还要利用模型分析,会造成效率不高,显然这种方法的消耗太高。基于系统调用短序列的入侵检测,该检测方法是利用系统调用的短序列,建立起一个正常行为的标准数据库,每当检测序列来到时,与标准数据库中的特征行为进行比较,从而发现行为中没有出现在标准数据库中的异常行为。但是这种方法只是考虑了系统调用序列之间的关系,而忽略了其他有价值的信息。如:某些系统调用的次数和频率、系统调用参数和返回值等等。而且还存在一些攻击通过修改某些关键系统调用的调用参数把自己伪装成正常的行为,从而绕过该方法的检测。[0003]当前云计算因其具有投入低,易于维护,部署快速灵活等特点逐渐受到国内外学者和企业的重视,同时也因为其具有降低成本、改善运营效率等优点,许多企业和组织在云计算上加大投入,进行研究,建设和实施。由于云计算技术的不断发展,面临的安全挑战也更为严峻,安全问题已成为妨碍云计算发展的重要因素。现在人们最关心的是云服务提供商(CSP能否可以为终端用户提供出安全可信的云服务,但因为云计算环境下的终端用户可直接访问云服务提供商的软硬件资源,这样与常规的网络服务相比,用户的行为给云服务提供商CSP带来的安全风险就大大增加,单独的用户身份的可信已不能满足云计算环境下的需求,因此,如何保障用户行为的安全,并对其进行有效进行风险控制就成为云计算走向成熟的关键研究课题。[0004]现有技术的问题主要在于:运行环境不安全,可能被攻破、算法开销大、识别异常率不高等。发明内容[0005]本发明是要解决现有技术的问题主要在于:运行环境不安全,可能被攻破、算法安全监控程序占用的系统资源大、识别异常率不高的问题,而提供了云平台VMM层行为监控方法。[0006]云平台VMM层行为监控方法,它包括:[0007]用于VMM层劫持系统调用并获得系统调用序列的SystemCallInterpcepter步骤;[0008]用于分析系统调用序列并判断进程异常与否的SystemCallAnalyze步骤;[0009]用于接收SystemCallAnalyzer模块的分析结果并发出警报提醒操作系统的SystemCallHandler步骤。附图说明[0010]图1为本发明流程图;[0011]图2为具体具体实施方式二中的劫持说明图;[0012]图3为具体实施方式三中的NMF算法处理数据图;[0013]图4具体实施方式四中的SCH流程图;[0014]图5为具体具体实施方式二中的得到的系统调用号序列图;[0015]图6为具体实施方式三中的正常进程图;[0016]图7为具体实施方式三中的异常进程图;[0017]图8为具体实施方式三中的更改后的异常进程图;[0018]图9为具体实施方式三中的用树来表不标准库图;[0019]图10为具体实施方式三中的检测序列时滑动窗口示意图[0020]图11为具体实施方式三中的匹配成功时滑动窗口位置图;[0021]图12为仿真实验中正常进程的误报率图;[0022]图13为仿真实验中异常进程判断成功率图;[0023]图14为仿真实验中异常进程判断成功率图;[0024]图15为仿真实验中正常进程误报率图。具体实施方式[0025]具体实施方式一:本实施方式的云平台VMM层行为监控方法,它包括:[0026]用于VMM层劫持系统调用并获得系统调用序列的SystemCallInterpcepter步骤;[0027]用于分析系统调用序列并判断进程异常与否的SystemCallAnalyze步骤;[0028]用于接收SystemCallAnalyzer模块的分析结果并发出警报提醒操作系统的SystemCallHandler步骤。[0029]为实现云平台VMM层系统调用的劫持与分析系统,首先要实现云平台的搭建,在此计划利用计算机上搭建虚拟机,在虚拟机上运行操作系统,在其上面运行程序等从而达到模拟云平台的目的。搭建出平台后,在虚拟机VMM层进行系统调用的劫持,实现系统调用劫持和分析系统,完成对程序和进程的分析判断。用户程序或者进程在用户操作系统层面执行运作,然后在VMM层,利用SystemCallInterpcepterSCI劫持获得系统调用,然后传递给SystemCallAnalyzerSCA,SCA利用正常的参考数据得到的类型标准基矩阵和系数矩阵),得出运行程序系统调用序列的异常与否,然后将分析结果的日志Log输出结果到主机上,同时通知客户操作系统对用户程序进行相应的处理SystemHandlerSCH。该系统的概要设计图1所示:[0030]通过上图所示的结构,模拟实现云平台上基于VMM系统调用的劫持与分析系统,该系统主要包含三个部分:主机操作系统、VMM层和客户操作系统,工作原理如下:[0031]首先,客户在用户模式运行程序,执行相应操作,调用系统调用,通过客户操作系统的内核模式,在VMM层,我们利用SCI对系统调用进行捕获,获得该程序的对应进程的系统调用号序列。其次,SCI把该系统调用序列数据传递给SCA,SCA利用NMF算法,对原始数据进行处理,利用以前获得的参考数据对新得到的数据进行分析,得出程序异常与否的结果。[0032]最后,根据SCA分析的结果用户操作系统的内核模式采取相应的措施对程序进行限制,在主机上生成日志。[0033]具体实施方式二:本实施方式与具体实施方式一不同的是:利用Linux系统中自带的strace功能,模仿其应用,在Linux内核中增添代码,当追踪到相应的进程后,跟踪其所有的系统调用,输出其系统调用号。当在kvm的虚拟机上进行相应程序的执行时,在VMM层中的Iinux内核层就可以获得相应的进程号,从而获得该进程所有调用的系统调用。[0034]所述SystemCallInterpcepter步骤具体为:[0035]在Linux内核中,修改并利用内核的strace功能来劫持系统调用;[0036]其中,所述Strace的核心是ptrace函数,Ptrace函数本身并不具备输出产生系统调用程序的pid和系统调用号的功能,因此,要在内核syscall_trace_enterstructpt_regs*regs函数的尾部,添加输出对应信息的代码,从而实现系统调用的劫持。[0037]系统调用的劫持说明图如图2:[0038]在Linux系统中,进程不能直接的对设备硬件进行访问或者操作,当一个进程想要对硬件进行操作时,就必须要由用户态模式切换到内核态的模式,而且这个两个模式的“接口”就是系统调用。在Linux中系统中,strace是Linux自带的命令,可以跟踪任何进程的状态,当然,也能跟踪进程所调用的所有系统调用。strace依靠的内核功能ptrace,能够实现对系统调用的所有信息进行跟踪,包括调用名、调用号、调用参数、运行时间。[0039]截获系统调用所使用的关键的技术是更改Linux内核,然后重新编译Linux内核,而且对Linux系统中strace的学习最终才能完成该模块,其中编译Linux内核也是比较花费时间,这个期间花费了很长时间。最终在劫持那块的关键代码不是很多,只有大概50行左右,但是在寻找各文件之间的关系以及更改错误等花费较多时间。[0040]在劫持时,运行strace命令,如:strace-f-p进程号或者strace-f·aa为所运行的程序名称)。[0041]得到的系统调用号序列如下图5所示:[0042]其它步骤及参数与具体实施方式一相同。[0043]具体实施方式三:本实施方式与具体实施方式一或二不同的是:[0044]所述SystemCallAnalyzer步骤包括NMF算法与滑动窗口算法两部分:[0045]如图3所示:[0046]—、利用NMF算法,分析系统调用序列的频率矩阵,得出进程异常与否的比率:[0047]1.读入基准系统调用序列A;[0048]2.统计每个系统调用序列出现的频率,得到频率矩阵B,化简频率矩阵B,将和为零的列删除,得到最简频率矩阵C;[0049]3.利用NMF算法,将最简频率矩阵C,分解为基矩阵D和系数矩阵E,并保存起来;[0050]⑷.读入测试系统调用序列A’;[0051]5.重复步骤⑵,得到最简频率矩阵C’;[0052]⑶.利用NMF算法,以基矩阵D为最简频率矩阵C’的基矩阵,得到系数矩阵E’;[0053]⑵.运用余弦夹角法,计算两个系数矩阵的相似度,得出最终结果F;[0054]⑶.所得最终结果F如果小于等于61.8%,则属于正常进程,否则属于异常进程;[0055]首先将系统调用号序列数据读入结构体中,然后进行初步处理,将没有用到的系统调用号删除(即频率为〇,然后运行NMF算法进行处理系统调用号的频率矩阵,对于单进程的序列,将该序列重复复制成与正常进程序列相同的数目;对于多进程的序列,将这些进程的序列进行重复复制成与正常进程序列相同的数目。例如图6表示正常进程,共有8个进程,其系统调用号频率矩阵如图;图7表示异常进程,共1个进程,要更改为图8,使得频率矩阵的行列一样。[0056]二、利用滑动窗口算法,分析系统调用序列的顺序,得出进程异常与否的比率;[0057]进程对系统调用的调用,其顺序是有很重要的作用的,例如:read系统调用必须发生在open系统调用后,close系统调用也必须发生在open系统调用后。但是对于某一个具体的系统调用,与其直接相关的系统调用主要在其前后的2-3个,而很少跟其相对较远的系统调用有关联。这样,就可以采用滑动窗口的算法思想,我们可以考虑宽度为3的滑动窗口,这样每一个系统调用序列(除去最后两个)中的每一个系统调用都可以与其后的2个系统调用放在一起考虑,也可以这样认为,每一个系统调用序列(除去前两个都与其前面的两个系统调用放在一起考虑,这样就相当于考虑到系统调用序列的顺序。[0058]1.把正常进程的系统调用序列先用滑动窗口分成长度为3的短序列,作为标准库;其中,所述标准库中,系统调用短序列采用树型结构进行存储,树的高度为4,树的顶点是用一个空节点来标识;[0059]2.当判断一个进程时,把该进程的系统调用序列首先按照滑动窗口算法分为多个短序列;[0060]3.然后把这些短序列和标准库中的短序列进行比较,得出成功的比率:[0061]当判断进程的短序列时,把短序列与树进行匹配,短序列匹配成功率,若与其中的一支相同,则匹配成功,否则,不成功;[0062]所述匹配具体是从树的顶点根结点)出发,如果存在树的一支一条路径与短序列相同则匹配成功;[0063]滑动窗口的思想可以很好的实现考虑系统调用序列的问题,若把所有的系统调用序列用完全匹配的方法,那样不仅工程量巨大,而且每一个的进程的执行方式和执行结果不一定完全相同,也可能千差万别,因此采用完全匹配的方法不仅效率低下,而且对进程异常与否的判断的准确率也不会很高,而且分析系统调用序列可知,大部分的系统调用只跟该系统调用的前一两个有较大关系,而跟再前的则关系不大,这样正好符合滑动窗口的思想,以每一个系统调用为中心,考虑其前面两个系统调用,或者考虑其后面两个系统调用,还可以看做是考虑该系统调用的前一个和后一个,这样不仅考虑到了系统调用序列的顺序问题,还简化的匹配的数据量,使处理效率提高,而且结果的准确率也很高。例如:对于系统调用序列{4,4,66,2,66,23},按照滑动窗口的思想,取窗口宽度为3,则将上述序列转化为4个长度3的短序列:[0064]{4,4,66},{4,66,2},{66,2,66},{2,66,23}[0065]对于这样的短序列采用树结构进行存储,如图9所示:[0066]其中,空节点表示开始节点,一直到最后的叶子节点,从第二层开始匹配,每层匹配成功,则继续匹配下一层,否则,该树的另一支。举例说明:例如异常进程的系统调用序列为:[0067]{4,2,66,2,66,23,8,18}[0068]在进行检测匹配时,首先利用滑动窗口的思想,将该序列分为窗口大小为3的短序列,如图10所示,此时窗口内包含的短序列是{4,2,66};[0069]开始检测匹配时,首先把当前窗口的短序列和标准库进行匹配,例如在当前窗口,首先匹配4,成功;然后匹配2,不成功。此时,窗口向后滑动一位,则窗口包含的短序列变为{2,66,2},还是首先匹配2,成功;匹配66,成功;匹配2,不成功。此时窗口在向后移动一位,当滑动窗口到达图11所示时,此时滑动窗口内包含的序列,则与标准库匹配成功。每次匹配完成,滑动窗口都后移一位,直到被检测序列结束;[0070]当匹配成功时,则将成功的标识加一,当被检测序列结束时,则计算此序列中成功匹配的短序列个数与所有的匹配序列的个数之商,得出比例。对于上图所给的检测序列,可得其成功匹配的短序列个数是2,只有短序列{66,2,66}和短序列{2,66,23}匹配成功。该检测序列的所有短序列个数是6,则该序列的匹配成功率为40%。[0071]其它步骤及参数与具体实施方式一或二相同。[0072]具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述SystemCallHandIer步骤具体为:[0073]SystemCallAnalyzer模块所得到测试进程的频率矩阵和标准库中正常矩阵的相似度和用滑动窗口算法得到的短序列匹配成功率,两个指标各占的比重为^和^,最终可得到所测进程的与标准进程的总的相似度S=Sm+S2r2;若总相似度S〈=61.8%则判定为异常进程,若为判断为异常进程,则向主机发出警报;若判断为正常进程,则不采取任何操作。[0074]该模块流程图如图4所示:[0075]SystemCallAnalyzer模块所得到测试进程的频率矩阵和标准库中正常矩阵的相似度和用滑动窗口算法得到的短序列匹配成功率,两个指标各占的比重为^和^,最终可得到所测进程的与标准进程的总的相似度S=Siri+S2r2;若总相似度S〈=61.8%则判定为异常进程,若为判断为异常进程,则向主机发出警报;若判断为正常进程,则不采取任何操作。[0076]1在kvm虚拟机的VMM层劫持系统调用,获得系统调用号序列;然后进行原始数据前期处理得出系统调用号频率矩阵;[0077]2利用NMF算法,对于得到的频率矩阵进行处理,得出用于后期数据分析的基矩阵数据和系数矩阵数据;[0078]3利用余弦夹角法的思想,计算样本数据得出的样本系数矩阵和测试数据得出的测试系数矩阵的夹角的余弦值,对得出的结果与定值比较,得出为异常进程的比率。[0079]4考虑系统调用的序列的顺序性,利用滑动窗口的思想,考虑宽度为3的窗口,将一个进程的系统调用序列分为若干个长度为3的序列,计算这些序列在样本序列中的比率。[0080]5按照⑶和⑷中得到的比例,采用实验方法得出两指标比重,得出综合比率,最后采用实验方法确定正常与异常进程分界线,即确定为异常进程。[0081]其它步骤及参数与具体实施方式一至三之一相同。[0082]具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述NMF算法是以参考数据得到的基矩阵为基矩阵,得出系数矩阵,与参考数据的系数矩阵相比较,运用余弦夹角法,计算两个系数矩阵的相似度,所得最终结果如果小于等于某一个定值,则属于正常进程,否则属于异常进程,若是异常进程通知系统调用处理程序对程序或进程进行处理。在我所测验的数据中,对于专项的功能有比较好的检测率,但对于复杂功能的检测,则无法确定,具体的定值,来分界出正常进程和异常进程。[0083]其它步骤及参数与具体实施方式一至四之一相同。[0084]仿真实验:[0085]SystemCallHandler模块实现[0086]此模块是对SCA模块中得到的分析结果,进行综合处理的过程,对于SCA输出的分析结果一一用NMF算法处理的系统调用的频率模块所得到测试进程的频率矩阵和标准库中正常矩阵的相似度和用滑动窗口算法得到的短序列匹配成功率,进行进一步分析,来确定所测试进程的异常与否。[0087]一两指标比重的确定[0088]因为系统调用序列中相应系统调用的出现频率和系统调用序列之间的先后顺序都是很重要的指标,为了能够确定两个指标的比重,通过实验方法得出比重的结论。所以在对[0089]两个指标所占的比重进行了大量的测试和实验,实验数据如下表1所示:[0090]表1实验数据[0092]暂时取正常进程与异常进程的分界线为总相似度等于黄金分割比例0.61861.8%,即若计算出的总相似度为61.8%以上则说明与标准库越接近,则为正常进程;否则为异常进程。得出100个正常进程的误报率和100个异常进程的判断成功率如图12和图13:[0093]由图12可得出结论,第六组数据中两个指标比重最合适,使得正常进程的误报率最低;由图12课得出同样的结论,第六组数据中两个指标的比重最合适,SPS1所占比重为55%,所占比重为45%时,使得异常进程的判断成功率最高。[0094]二正常进程与异常进程分界线的确定[0095]对于如何确定所测试的进程是正常进程还是异常进程,采用实验的方法,对大量的数据进行分析,分别以正常进程的误报率和异常进程的判断成功率为纵坐标,实验数据为横坐标,实验组如下表:[0096]表2正常进程与异常进程分界线确定实验组[0098]得出如下结果如图14和图15所示:[0099]综合以上两图,可以发现当分界线取黄金分割比例时,所得到的正常进程的误报率和异常进程的判断成功率最适合,因此取分界线为61.8%。

权利要求:I.云平台VMM层行为监控方法,其特征在于它包括:用于VMM层劫持系统调用并获得系统调用序列的SystemCallInterpcepter步骤;用于分析系统调用序列并判断进程异常与否的SystemCallAnalyze步骤;用于接收SystemCallAnalyzer模块的分析结果并发出警报提醒操作系统的SystemCallHandIer步骤;所述SystemCallInterpcepter步骤具体为:在Linux内核中,利用内核的strace功能来劫持系统调用;其中,所述strace的核心是ptrace函数,ptrace函数本身并不具备输出产生系统调用程序的pid和系统调用号的功能,因此,要在内核syscall_trace_enterstructpt_regs*regs函数的尾部,添加向文件输出pid和系统调用号的代码,从而实现系统调用的劫持;所述SystemCallAnalyzer步骤包括NMF算法与滑动窗口算法两部分:一、利用NMF算法,分析系统调用序列的频率矩阵,得出进程异常与否的比率:1.读入基准系统调用序列A;2.统计每个系统调用序列出现的频率,得到频率矩阵B,化简频率矩阵B,将和为零的列删除,得到最简频率矩阵C;3.利用NMF算法,将最简频率矩阵C,分解为基矩阵D和系数矩阵E,并保存起来;⑷.读入测试系统调用序列A’;5.重复步骤2,得到最简频率矩阵C’;6.利用NMF算法,以基矩阵D为最简频率矩阵C’的基矩阵,得到系数矩阵E’;7.运用余弦夹角法,计算两个系数矩阵E和E’的相似度,得出最终结果F;⑻.所得最终结果F如果小于等于61.8%,则属于正常进程,否则属于异常进程;二、利用滑动窗口算法,分析系统调用序列的顺序,得出进程异常与否的比率;1.把正常进程的系统调用序列先用滑动窗口分成长度为3的短序列,作为标准库;其中,所述标准库中,系统调用短序列采用树型结构进行存储,树的高度为4,树的顶点是用一个空节点来标识;2.当判断一个进程时,把该进程的系统调用序列首先按照滑动窗口算法分为多个短序列;3.然后把这些短序列和标准库中的短序列进行比较,得出成功的比率:当判断进程的短序列时,把短序列与树进行匹配,短序列匹配成功率S2,若与其中的一支相同,则匹配成功,否则,不成功;所述匹配具体是从树的顶点出发,如果存在树的一支与短序列相同则匹配成功;所述SystemCallHandler步骤具体为:SystemCallAnalyzer模块所得到测试进程的频率矩阵和标准库中正常矩阵的相似度和用滑动窗口算法得到的短序列匹配成功率,两个指标各占的比重为rdPr2,最终可得到所测进程的与标准进程的总的相似度S=Siri+S2r2;若总相似度S〈=61.8%则判定为异常进程,若为判断为异常进程,则向主机发出警报;若判断为正常进程,则不采取任何操作;所述NMF算法是以参考数据得到的基矩阵为基矩阵,得出系数矩阵,与参考数据的系数矩阵相比较,运用余弦夹角法,计算两个系数矩阵的相似度,所得最终结果如果小于等于某一个定值,则属于正常进程,否则属于异常进程,若是异常进程通知系统调用处理程序对程序或进程进行处理。

百度查询: 哈尔滨工业大学 云平台VMM层行为监控方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。