云平台vmm层行为监控方法

文档序号:8299362阅读:336来源:国知局
云平台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层,利用SystemCallInterpc印ter(SCI)劫持获得系统调用,然后 传递给SystemCallAnalyZer(SCA),SCA利用正常的参考数据得到的类型标准(基矩阵和 系数矩阵),得出运行程序系统调用序列的异常与否,然后将分析结果的日志(Log)输出结 果到主机上,同时通知客户操作系统对用户程序进行相应的处理SystemHandler(SCH)。该 系统的概要设计图1所示:
[0030] 通过上图所示的结构,模拟实现云平台上基于VMM系统调用的劫持与分析系统, 该系统主要包含三个部分:主机操作系统、VMM层和客户操作系统,工作原理如下:
[0031] 首先,客户在用户模式运行程序,执行相应操作,调用系统调用,通过客户操作系 统的内核模式,在VMM层,我们利用SCI对系统调用进行捕获,获得该程序的对应进程的 系统调用号序列。其次,SCI把该系统调用序列数据传递给SCA,SCA利用NMF算法,对原始 数据进行处理,利用以前获得的参考数据对新得到的数据进行分析,得出程序异常与否的 结果。
[0032] 最后,根据SCA分析的结果用户操作系统的内核模式采取相应的措施对程序进行 限制,在主机上生成日志。
【具体实施方式】 [0033] 二:本实施方式与一不同的是:利用Linux系统中自 带的strace功能,模仿其应用,在Linux内核中增添代码,当追踪到相应的进程后,跟踪其 所有的系统调用,输出其系统调用号。当在kvm的虚拟机上进行相应程序的执行时,在VMM 层中的linux内核层就可以获得相应的进程号,从而获得该进程所有调用的系统调用。
[0034] 所述SystemCallInterpcepter步骤具体为:
[0035] 在Linux内核中,修改并利用内核的strace功能来劫持系统调用;
[0036] 其中,所述Strace的核心是ptrace函数,Ptrace函数本身并不具备输出产生系统 调用程序的pid和系统调用号的功能,因此,要在内核syscall_trace_enter(structpt_ regs*regs)函数的尾部,添加输出对应信息的代码,从而实现系统调用的劫持。
[0037] 系统调用的劫持说明图如图2 :
[0038] 在Linux系统中,进程不能直接
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1