当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于软件定义网络的安全防御系统及防御方法技术方案

技术编号:10386755 阅读:134 留言:0更新日期:2014-09-05 12:42
本发明专利技术涉及一种计算机安全技术领域,特别涉及一种基于软件定义网络的安全防御系统及防御方法,包括:网络控制模块、攻击分析模块、进程检测模块以及网络流量检测模块。网络控制模块拦截虚拟机之间的网络数据包并将获取的流量信息转发至攻击分析模块,攻击分析模块接收来自网络控制模块的虚拟机间的流量信息,并调用进程检测模块检测进程是否可疑,必要时调用网络流量检测模块对可疑流量进行更深层的检测。本发明专利技术针对当前虚拟机服务器中用于各虚拟机之间流量转发的虚拟交换机进行扩展,提出一个能够拦截、检测、重定向流量的纵深防御系统,能够达到预防并制止网络集群内虚拟机之间攻击行为的目的。

【技术实现步骤摘要】
一种基于软件定义网络的安全防御系统及防御方法
本专利技术涉及的是一种计算机安全领域的防御系统,具体是一种基于软件定义网络的安全防御系统及防御方法。
技术介绍
现有很多着重于检测被感染虚拟机并保护云中其他虚拟机不受其攻击的技术,如防火墙和入侵检测系统(IntrusionDetectionSystem,IDS)。在网络层,传统的网络防火墙和基于网络的入侵检测系统(Network-basedIntrusionDetectionSystem,NIDS)建立在“被监控网络内——防火墙外”模式下。此种模式不适用于被感染虚拟机和攻击目标处于同一云主机内部的情况,因为网络防火墙和NIDS搜集的必须是进出被监控网络的信息。在主机层,个人防火墙,HIDS,防病毒和防间谍软件系统等,运行在它们所保护的虚拟机内,使得这些工具很容易被窃取到系统特权的攻击者破坏。故这些传统网络安全技术并不能很好的解决本文所着重解决的问题:及时检测有害虚拟机,并在其试图与其他虚拟机进行连接时予以阻止,防止攻击的发生。目前,部分研究在虚拟化技术的基础上,发展入侵检测技术来检测网络通讯过程中的恶意行为,保障虚拟机的安全。TalGarfinkel等人提出的Livewire系统是一个虚拟化环境下的入侵检测系统,它将系统放置在被监控虚拟机外。它构建出的入侵检测系统不仅保留了主机层技术具备的良好系统状态视图,也为IDS提供了强大的隔离性。然而,Livewire仅提供了对虚拟机硬件的访问控制,仍无法阻挡通过网络流量进行的攻击。W.Yassin等人提出的一种基于云计算的框架,称作“基于云的入侵检测服务”(Cloud-basedIntrusionDetectionService,CBIDS)。CBIDS能够克服传统入侵检测技术的不足,例如传统IDS一般部署在虚拟机内部,易受攻击;或是部署在被监控虚拟机的同一网络内,对其他虚拟机可见,也会增加风险。同时,该框架可以嗅探到网络内任意地方的网络流量,感兴趣的数据包会传递到CBIDS中进行深度检测,然后检测是否存在恶意行为并产生相应的警告。然而,CBIDS仅能检测网络流量并提出警告,却无法对攻击行为作出干预,本身不能阻止攻击发生。MarcosLaureano等人提出的一种入侵检测方案,从被监控虚拟机外部监控,检测并阻塞来自虚拟机内运行服务的攻击。方案包括了入侵检测机制和响应机制,保证既能检测出攻击行为,也能阻止其发生。此方案中,检测的是主机内虚拟机与外界(主机以外)进行网络通讯过程中的流量,这些网络通讯行为由安装在主机内的防火墙软件进行管理。因此,响应机制中是通过该防火墙软件阻塞虚拟机的端口并断开其与外界的通讯,而不能对同主机内虚拟机与虚拟机间的通讯进行控制。而FlavioLombardi等人提出了另一个安全框架——KvmSec,它是内核为Linux的虚拟机的拓展,旨在增加被监控虚拟机的安全性。KvmSec具有以下几个特征:1.对虚拟机透明,从虚拟机很难访问KvmSec;2.能收集虚拟机信息并分析,然后做出相应反应;3.能提供虚拟机与主机之间的安全通信。该框架是部署在Linux的主机上的,而且目前仅支持Linux虚拟机。同时,它所能提供的安全通信是Qemu与虚拟机间,即主机与虚拟机间的安全通信,而不提供主机与主机之间、主机内虚拟机与虚拟机之间的安全通信。虚拟机监控方面,如高性能轻量级虚拟机监控器Trochilidae可检测虚拟机运行状态,然而侧重点不在于对网络流量的监控上。VMI技术即虚拟机自省技术,是从虚拟机外部分析虚拟机内部状态的一种方法。基于VMI的虚拟机保护方案将安全保护工具和被监控虚拟机予以隔离,因此无需在被监控虚拟机中安装任何代理。这一特点使得该方案抵抗攻击的能力大大增强,不受虚拟机的影响。现有部分研究也采用了此种方法。VMwatcher是另一个利用了VMI技术的系统,可重建虚拟机内部的语义视图,从而检测虚拟机内隐藏的恶意软件。其缺点是,首先它仅能检测出恶意软件的存在,但无法做出反馈;再者,它不能检测使用直接内核对象操作(DirectKernelObjectManipulation,DKOM)方式的rootkit。Antfarm是一个基于虚拟机监视器实现的在虚拟机外部的监控系统,它通过监控客户机操作系统与其内存管理结构之间的低层次交互来追踪虚拟机内进程的活动。Lycosid是一个基于虚拟机监视器的隐藏进程检测识别的工具。它利用了Antfarm来获取虚拟机内进程的可信视图,然后利用交叉视图方式,与用户级程序列出的进程进行比较,得出隐藏进程。然而由于利用了用户级程序的结果,可能由于此结果被篡改而导致误判。
技术实现思路
本专利技术主要是解决现有技术所存在的技术问题;提供了一种通过对虚拟机网络集群内虚拟机之间的可疑流量进行拦截分析,能够达到预防并制止网络集群内虚拟机之间攻击行为的目的的一种基于软件定义网络的安全防御系统及防御方法。本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种基于软件定义网络的安全防御系统,包括若干台虚拟机、虚拟机交换机、虚拟机接口模块、以及一台openflow交换机;其特征在于,还包括设置在受保护虚拟机外部的:一网络控制模块:某台虚拟机经过虚拟机交换机发起的网络连接请求数据包,会以openflow交换机为介质到达网络控制模块,网络控制模块记录下流量的信息,且虚拟机交换机中没有该网络连接请求相应的流表项;如果数据包的协议高于网络层,则查看目标物理地址是否在虚拟机交换机上有端口,如果有则广播该包,无则生成流表项并转发到目的地;如果数据包协议不高于网络层,则网络控制模块将发送网络连接请求的datapathid、源地址、源端口信息发送出;一攻击分析模块:接受在数据包协议不高于网络层,由网络控制模块发送的网络连接请求数据包的datapathid、源地址、源端口;并调用进程检测模块和虚拟机接口模块获取发起请求的虚拟机的信息,并将判定结果返回给网络控制模块并由网络控制模块做出对策:判定一:若判定为恶意流量,则生成流表项并丢包;若判定不是恶意流量则生成流表项并送往原目的地;判定二:若无法判断是否恶意,则生成流表项并将数据包重定向到网络流量检测模块处;一进程检测模块:进行进程检测并将进程检测结果发送给攻击分析模块,具体是:首先利用虚拟机接口模块寻找虚拟机内的活动进程链,在此之前,需要找到Windows加载的内核模块链表表头,然后遍历内核模块链表找出ntoskrnl.exe;找到操作系统内核文件ntoskrnl.exe以及其加载到内存中的基地址后,通过分析ntoskrnl.exe的PE文件,在其中的.edata节的导出地址表中得到PsInitialSystemProcess的相对虚拟地址;PsInitialSystemProcess是指向系统进程的EPROCESS结构的指针,其在内存中的虚拟地址VA由VA=RVA+BaseAddress得出;在Windows中,活动进程的EPROCESS结构会相互连接成一个双向循环链表,故得到PsInitialSystemProcess地址并寻找到system的EPROCESS后,即可确定活动进程链,从而分析隐藏进程以及检测网络状态,提供进程相关信息给攻击分析模块;一网络本文档来自技高网
...
一种基于软件定义网络的安全防御系统及防御方法

【技术保护点】
一种基于软件定义网络的安全防御系统,包括若干台虚拟机、虚拟机交换机、虚拟机接口模块、以及一台openflow交换机;其特征在于,还包括设置在受保护虚拟机外部的:一网络控制模块:某台虚拟机经过虚拟机交换机发起的网络连接请求数据包,会以openflow交换机为介质到达网络控制模块,网络控制模块记录下流量的信息,且虚拟机交换机中没有该网络连接请求相应的流表项;如果数据包的协议高于网络层,则查看目标物理地址是否在虚拟机交换机上有端口,如果有则广播该包,无则生成流表项并转发到目的地;如果数据包协议不高于网络层,则网络控制模块将发送网络连接请求的datapath id、源地址、源端口信息发送出;一攻击分析模块:接受在数据包协议不高于网络层,由网络控制模块发送的网络连接请求数据包的datapath id、源地址、源端口;并调用进程检测模块和虚拟机接口模块获取发起请求的虚拟机的信息,并将判定结果返回给网络控制模块并由网络控制模块做出对策:判定一:若判定为恶意流量,则生成流表项并丢包;若判定不是恶意流量则生成流表项并送往原目的地;判定二:若无法判断是否恶意,则生成流表项并将数据包重定向到网络流量检测模块处;一进程检测模块:进行进程检测并将进程检测结果发送给攻击分析模块,具体是:首先利用虚拟机接口模块寻找虚拟机内的活动进程链,在此之前,需要找到Windows加载的内核模块链表表头,然后遍历内核模块链表找出ntoskrnl.exe;找到操作系统内核文件ntoskrnl.exe以及其加载到内存中的基地址后,通过分析ntoskrnl.exe的PE文件,在其中的.edata节的导出地址表中得到PsInitialSystemProcess的相对虚拟地址;PsInitialSystemProcess是指向系统进程的EPROCESS结构的指针,其在内存中的虚拟地址VA由VA=RVA+BaseAddress得出;在Windows中,活动进程的EPROCESS结构会相互连接成一个双向循环链表,故得到PsInitialSystemProcess地址并寻找到system的EPROCESS后,即可确定活动进程链,从而分析隐藏进程以及检测网络状态,提供进程相关信息给攻击分析模块;一网络流量检测模块:接收攻击分析模块发送的数据包,并进行深层检查,若判断为正常流量,则直接正常转发到原目的地并生成对应的流表项,若判定为恶意流量则生成流表项并丢包;本框架的工作在于对网络流量的捕获以及路由控制,而不在于改良现有的流量检测算法,因此本模块直接利用了开源工具snort,将snort运行在in‑line模式下,实行数据包检测。...

【技术特征摘要】
1.一种基于软件定义网络的安全防御系统,包括若干台虚拟机、虚拟交换机、虚拟机接口模块、以及一台openflow交换机;其特征在于,还包括设置在受保护虚拟机外部的:一网络控制模块:某台虚拟机经过虚拟交换机发起的网络连接请求数据包,会以openflow交换机为介质到达网络控制模块,网络控制模块记录下流量的信息,且虚拟交换机中没有该网络连接请求相应的流表项;如果数据包的协议高于网络层,则查看目标物理地址是否在虚拟交换机上有端口,如果有则广播该包,无则生成流表项并转发到目的地;如果数据包协议不高于网络层,则网络控制模块将发送网络连接请求的datapathid、源地址、源端口信息发送出;一攻击分析模块:接受在数据包协议不高于网络层时,由网络控制模块发送的网络连接请求数据包的datapathid、源地址、源端口;并调用进程检测模块和虚拟机接口模块获取发起请求的虚拟机的信息,并将判定结果返回给网络控制模块并由网络控制模块做出对策:判定一:若判定为恶意流量,则生成流表项并丢包;若判定不是恶意流量则生成流表项并送往原目的地;判定二:若无法判断是否恶意,则生成流表项并将数据包重定向到网络流量检测模块处;一进程检测模块:进行进程检测并将进程检测结果发送给攻击分析模块,具体是:首先利用虚拟机接口模块寻找虚拟机内的活动进程链,在此之前,需要找到Windows加载的内核模块链表表头,然后遍历内核模块链表找出ntoskrnl.exe;找到操作系统内核文件ntoskrnl.exe以及其加载到内存中的基地址后,通过分析ntoskrnl.exe的PE文件,在其中的.edata节的导出地址表中得到PsInitialSystemProcess的相对虚拟地址;PsInitialSystemProcess是指向系统进程的EPROCESS结构的指针,其在内存中的虚拟地址VA由VA=RVA+BaseAddress得出;在Windows中,活动进程的EPROCESS结构会相互连接成一个双向循环链表,故得到PsInitialSystemProcess地址并寻找到system的EPROCESS后,即可确定活动进程链,从而分析隐藏进程以及检测网络状态,提供进程相关信息给攻击分析模块;一网络流量检测模块:接收攻击分析模块发送的数据包,并进行深层检查,若判断为正常流量,则直接正常转发到原目的地并生成对应的流表项,若判定为恶意流量则生成流表项并丢包;本框架的工作在于对网络流量的捕获以及路由控制,而不在于改良现有的流量检测算法,因此本模块直接利用了开源工具snort,将snort运行在in-line模式下,实行数据包检测。2.一种基于软件定义网络的安全防御方法,其特征在于,包括以下步骤:步骤1,在主机外接网络控制模块,使攻击分析模块控制网络控制模块;步骤2,某台虚拟机发起网络连接请求经过虚拟交换机时,若有相应的流表项则按照流表项转发,若虚拟交换机中没有相应的流表项,则虚拟交换机会将流量发送给网络控制模块;步骤3,网络控制模块记录下流量的信息并转发给攻击分析模块,攻击分析模块调用进程检测模块来获取发起请求的虚拟机的信息,进程检测模块可以判断发起者虚拟机内所有进程的安全状态;网络控制模块基于开源网络控制器增加了一个自循环避免环节,防止广播包在网络流量检测模块和虚拟交换机之间循环;步骤4,若攻击分析模块的决策断定发起网络请求的进程是可疑的,则攻击分析模块将会向网络控制模块发起命令,对于该进程或该进程所属的虚拟机所发出的所有流量,都将在网络控制模块的控制下被虚拟交换机送至网络流量检测模块进行判断;若判断结果为安全,则转向原目的地;若攻击分析模块的...

【专利技术属性】
技术研发人员:崔竞松郭迟张萌田昌友
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1