发明名称 一种基于软件定义网络的安全防御系统及防御方法
摘要 本发明涉及一种计算机安全技术领域,特别涉及一种基于软件定义网络的安全防御系统及防御方法,包括:网络控制模块、攻击分析模块、进程检测模块以及网络流量检测模块。网络控制模块拦截虚拟机之间的网络数据包并将获取的流量信息转发至攻击分析模块,攻击分析模块接收来自网络控制模块的虚拟机间的流量信息,并调用进程检测模块检测进程是否可疑,必要时调用网络流量检测模块对可疑流量进行更深层的检测。本发明针对当前虚拟机服务器中用于各虚拟机之间流量转发的虚拟交换机进行扩展,提出一个能够拦截、检测、重定向流量的纵深防御系统,能够达到预防并制止网络集群内虚拟机之间攻击行为的目的。
申请公布号 CN104023034A 申请公布日期 2014.09.03
申请号 CN201410287800.6 申请日期 2014.06.25
申请人 武汉大学 发明人 崔竞松;郭迟;张萌;田昌友
分类号 H04L29/06(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人 鲁力
主权项 一种基于软件定义网络的安全防御系统,包括若干台虚拟机、虚拟机交换机、虚拟机接口模块、以及一台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模式下,实行数据包检测。
地址 430072 湖北省武汉市武昌区珞珈山武汉大学