首页> 中国专利> 一种免代理云平台虚拟流量入侵检测方法及装置

一种免代理云平台虚拟流量入侵检测方法及装置

摘要

本发明公开了一种免代理云平台虚拟流量入侵检测方法及装置,包括:宿主机初始化DPDK,并启动OpenvSwitch,使用vhost‑user后端驱动启动qemu虚拟机;采集网卡流量及虚拟流量,其中网卡流量通过DPDK到达用户空间,网卡流量及虚拟流量通过vhost‑user后端驱动旁路至共享内存无锁环形缓冲区中;对网卡流量及虚拟流量的数据包进行解码;通过解析若干样本流程生成一规则库,并依据所述规则库对解码数据进行检测,获取入侵检测结果。本发明使用DPDK从网卡高性能采集数据包,提高数据收发及处理效率;通过将入侵检测系统采用代理方式部署在云计算节点内部,及在转发数据包到入侵检测代理前对隧道头的处理,实现“看见”且“认识”虚拟流量。

著录项

说明书

技术领域

该发明涉及虚拟流量入侵检测,尤其涉及一种免代理云平台虚拟流量入侵检测方法及装置。

技术背景

近半个世纪以来,计算机和网络技术迅猛发展,带动信息和资源高效地共享和传播,人们得以便捷地保存、处理和传送数据信息。高速发展的网络给人们带来了极大的便利,但由于其开放互联性、网络协议自身的缺陷,以及操作系统和应用程序漏洞等原因,网络和计算机系统面临着越来越多的安全威胁,安全问题层出不穷。近年来,“上云是常态”达成共识,众多行业纷纷上云,这使云安全备受关注。

目前,网络入侵检测系统(NIDS,Network Intrusion Detection Systems)是实现传统网络安全防护的重要手段。NIDS依照一定的安全策略,对流经的每一个数据包或可疑数据包进行特征分析,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性。传统NIDS通常由硬件构成,由专业的设备商制造生产,需要依赖多种设备和软件协同操作,具有可靠性好、性能强大等优点,但也存在成本高、部署不灵活、可扩展性差等缺点。而随着云计算技术的兴起和普及,对安全设备的部署成本、灵活性和可扩展性都提出了越来越高的要求,而由软件实现、成本低、部署灵活和可扩展性好的NIDS,符合云计算时代防护设备虚拟化和轻量化的趋势。

在传统网络中,安全防护任务主要由网络边界的安全组件负责,如防火墙、入侵检测系统等,这类防护设备通过对流量进行检测和过滤的手段来保障网络安全。在云网络中,传统网络流量可以通过网络边界的安全组件来检测,而对于虚拟流量,传统NIDS软件存在“看不见”问题和“不认识”问题。“看不见”问题是指同一物理主机上的虚拟主机,它们之间的通信流量根本就不会出宿主机,那么恶意的流量自然也就无法被外部的安全设备所识别到。“不认识”问题是指在云网络中,通常是通过vlan+vxlan/gre这种方式实现租户隔离的,那么当同一子网的虚拟主机在不同的物理主机内,虽然两者之间的通信会经过外部的防火墙,但由于物理主机之间通过隧道相连,防火墙只能看到数据包,而不能去掉隧道的头部,解析数据包流量。

其次,由于传统NIDS软件性能与传统硬件设备仍然相差较远,难以满足高吞吐率入侵检测的要求。制约性能的主要因素包括系统开销、内存访问和TCP/IP协议栈的处理三个方面,系统开销是其中影响最大的因素。另外,传统NIDS软件多采用libpcap机制获取报文,需要频繁的网络中断、系统调用和多次内存拷贝,造成网络数据包捕获过程中大量丢包。

另一方面,动态性是虚拟机的特性之一,在一个云计算节点上,各个虚拟机的状态可以动态发生变化。这种动态性赋予虚拟机更大的灵活性,却也带来了许多问题,虚拟机的状态是变化的,面向虚拟机的网络入侵检测系统必须能够适应这种动态性。

发明内容

针对上述问题,本发明提供了一种免代理云平台虚拟流量入侵检测方法及装置。该方法实现对虚拟机透明无感,并且可以高性能的采集每个云计算节点上的虚拟流量,进行实时检测,适应云计算节点上虚拟机的动态变化。

为了实现上述目的,本发明提供了如下的技术方案:

一种免代理云平台虚拟流量入侵检测方法,其步骤包括:

1)宿主机初始化DPDK,并启动Open vSwitch,使用vhost-user后端驱动启动qemu虚拟机;

2)采集网卡流量及虚拟流量,其中网卡流量通过DPDK到达用户空间,网卡流量及虚拟流量通过vhost-user后端驱动旁路至共享内存无锁环形缓冲区中;

3)对网卡流量及虚拟流量的数据包进行解码;

4)通过解析若干样本流程生成一规则库,并依据所述规则库对解码数据进行检测,获取入侵检测结果。

进一步地,解码方法包括:将数据包按照网络协议栈从下至上进行解码。

进一步地,对网卡流量及虚拟流量的数据包进行解码之前,ovs-vswitchd通过现有openflow流表解码vxlan包头,以处理隧道头。

进一步地,对解码数据进行检测之前,对解码结果进行预处理。

进一步地,所述预处理包括:对可疑行为检查、修改数据包和对数据包进行标准化。

进一步地,对解码数据进行的检测包括:基于数据包头的检测和基于数据包负载的检测。

进一步地,根据虚拟机动态变化及通过入侵检测结果得到的攻击事件,生成Openflow流表,并将入侵检测结果中的攻击行为记录日志。

进一步地,虚拟机动态变化包括:虚拟机添加、虚拟机删除/停止和虚拟机迁移。

一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述所述的方法。

一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机以执行上述所述的方法。

与现有技术相比,本发明具有以下优势:

使用DPDK从网卡高性能采集数据包,绕过内核层,且虚拟机、宿主机、网卡之间的所有流量交互都在用户态完成,实现零拷贝,大大提高数据收发及处理效率。通过线程池将数据包放入共享内存环形无锁缓冲队列,入侵检测代理采集模块从缓冲队列中轮询采集数据包并发送至检测模块进行检测,轻量且高效的采集所有流量。

入侵检测系统采用代理方式部署在云计算节点内部,实现“看见”虚拟流量;转发平面在转发数据包到入侵检测代理前,vxlan等隧道头已经被处理,实现“认识”虚拟流量。

入侵检测系统通过检测模块检测攻击事件,可以适应虚拟机的动态变化。

附图说明

图1是本发明一种虚拟流量入侵检测系统的示意图

图2是本发明系统的执行流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图和事例对本发明中技术核心作进一步详细的说明。

一、本发明的免代理云平台虚拟流量入侵检测方法,其创新点包括:

1.使用数据平面开发套件(Data Plane Development Kit,DPDK)绕过了Linux内核的网络驱动模块,直接从网络硬件到达用户空间,不需要进行频繁的内存拷贝和系统调用。

2.使用Open vSwitch代替传统linux bridge,在用户态使用vhost-user驱动作为虚拟机后端驱动进行数据包的转发,vhost-user使用共享内存方式实现零拷贝。

3.对于虚拟机的动态变化,系统可以检测出虚拟流量的攻击事件,。

二、本发明的免代理云平台虚拟流量入侵检测系统,包括:

S101:采集模块

系统启动时,依次启动DPDK、Open vSwitch、vhost-user、qemu虚拟机。采集模块将网卡流量高效采集到用户层并转发至相应虚拟机。同时,虚拟机之间也存在通信,流量都在用户层进行转发。所有流量都会通过vhost-user后端驱动旁路至共享内存无锁环形缓冲区中,采集模块轮询取数据包发送至检测模块。其中,在转发平面(ovs-vswitchd)转发数据包到入侵检测代理前,转发平面通过openflow流表解码vxlan包头,从而处理vxlan等隧道头。

S102:检测模块

检测模块主要是为系统虚拟流量提供入侵检测,并将检测到的攻击事件发送至防御模块,以便防御模块生成流表。检测分为基于数据包头的检测和基于数据包负载的检测。基于数据包头的检测是检测数据包头内容,用于检测DDOS、扫描、欺骗等攻击;基于数据包负载的检测是检测数据包的负载内容,用于检测漏洞利用的攻击,如应用类、浏览器类、恶意软件类、黑名单类、文件类、系统类、协议类、服务器类等攻击。

检测模块分为三个插件:包解码、预处理、规则检测引擎。对于检测模块的各个插件功能描述如下:

(1)包解码:将数据包按照网络协议栈从下至上进行解码,并将解码数据保存到各个对应的数据结构当中,最后交由预处理模块进行处理。

(2)预处理:针对可疑行为检查或修改包,以便规则检测引擎能对其正确解释;并且对数据包标准化,以便规则检测引擎能精确匹配特征。

对可疑行为检查包括:通过在配置文件中建立一个MAP-IP对照表,若数据包中信息与之不一致,则判断发生了ARP攻击。

修改包是指若遇到数据包分片,则将分片重组,再执行包解码过程;这样可以抵御一些DOS攻击,标准化也就是这个意思。

(3)规则检测引擎:利用规则库中的规则对流量进行检测,判断是否有入侵行为,并生成相应日志,并将攻击事件发送至防御模块。

三、本发明的系统执行流程,包括:

S201:初始化DPDK,完成系统相关配置;

S202:启动Open vSwitch,使用vhost-user后端驱动启动qemu虚拟机;

S203:启动虚拟流量入侵检测代理,完成代理相关配置;

S204:采集网卡流量以及虚拟流量;

S205:匹配入侵检测规则,判断是否存在入侵,继续204的步骤;

S206:生成日志。

本发明满足高性能采集、入侵检测、安全隔离的功能需求,采集和检测报文比Snort单核提升约1.71倍,双核提升约2.84倍。因此,与Snort相比在具有相同入侵检测能力的条件下具有更高的性能和更好的安全防护能力,并且随着核数的增加,性能增幅更大。因此,本文的研究成果对入侵检测系统在大规模数据中心的应用具有重要的作用。

提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号