一种基于SDN的反病毒系统技术方案

技术编号:13605566 阅读:57 留言:0更新日期:2016-08-28 04:20
本发明专利技术涉及一种基于SDN的反病毒系统,包含以下几个部分:基础设施层、安全控制器、流表转发规则模块、日志生成器、接口抽象模块、南向接口、北向接口、用户APP。上述一种基于SDN的反病毒系统,其实施流程包含以下步骤:(1)动态注入代码识别与封装;(2)安全控制器策略初始化;(3)匹配算法模块进行检测;(4)虚拟机检测模块分析;(5)日志生成器模块生成日志数据;(6)接口抽象模块与应用层通信;(7)日志报告模块生成可视化表格给用户。采用本反病毒系统,通过对嵌入式设备所执行的动态注入进程的代码进行二级检测,可以在既保证效率的同时又能够准确检测出一些蠕虫病毒的攻击行为。

【技术实现步骤摘要】

本专利技术涉及一种基于SDN的反病毒系统,属于通信与网络安全领域。
技术介绍
软件定义网络(Sof tware Defined Network,SDN),是Emulex网络一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。本专利技术所述SDN使用ONF组织给出的定义,其基本理念为:将网络控制功能与转发功能分离,实现控制可编程。基于以上理念,ONF将SDN划分为三个部分,即:应用层、控制层、基础设施层。其中,应用层通过北向接口与控制层通信,控制层通过南向接口与基础设施层通信。Hassidim A,Raz D等人已经指出,流检测与分析是软件定义网络架构下一种有效的攻击检测手段。相比于TCP/IP网络基于数据包进行的检测,基于流的检测拥有更好的细粒度和可控性。反病毒虚拟机的工作原理是对模拟执行一段代码的过程予以记录,交由检测系统或用户判断后表明该段代码是否为恶意。其实现方法有两种,一种是人工对代码进行单步或断点调试,观察执行过程中的异常变化;第二种是通过软件模拟一颗真实CPU,记录执行过程后交由软件所支撑的一套检测系统进行判断后得出结论。本专利技术所述反病毒虚拟机采用后一种技术。目前在软件定义网络的视阈下对网络设备易遭受的攻击进行防范的成果不多,且大多成果不是无法与基础设施层的网络设备进行直接的交互,就是将基础设施层与控制层相混合,偏离了SDN的设计初衷,也无法对网络设备及时采取进一步的防范措施。
技术实现思路
本专利技术的目的在于提供一种基于SDN的反病毒系统,以便解决TCP\\IP网络下无法实现对网络设备进行反病毒防护的问题,同时也实现SDN网络下,用户APP与基础设施层的网络安全设备的交互。本专利技术将匹配算法模块与反病毒虚拟机模块进行整合,改进了传统的安全控制器,实现了对病毒行为的二级检测与反制。为了实现上述目的,本专利技术的技术方案如下。一种基于SDN的反病毒系统,包含以下几个部分:基础设施层、安全控制器、流表转发规则模块、日志生成器、接口抽象模块、南向接口、北向接口、用户APP,其中:所述基础设施层包含网络设备以及可池化的网络安全设备,网络设备负责接受流表转发规则模块的控制进行数据包的转发、可池化的网络安全设备包括但不限于入侵检测系统、访问控制系统等传统安全设备;可池化之后将统一向上提供API接口供用户APP调用并实施特定的行为;所述安全控制器包含匹配算法模块与反病毒虚拟机模块,网络设备将动态注入进程的代码封装后输入安全控制器,首先由匹配算法模块进行检测,若发现异常,则要求流表转 发规则对网络设备下不予执行的命令,否则继续向上输入给反病毒虚拟机模块;反病毒虚拟机模块予以测试后若发现异常,同样要求流表转发规则对网络设备下不予执行的命令,否则要求网络设备予以执行;所述匹配算法模块通过算法返回值判断注入代码是否为恶意。以蠕虫中较常利用的缓冲区溢出为例,匹配算法的检测思路为:正常注入进程的代码应当只具有“读”与“执行”的属性,而恶意代码会额外具有“写”属性;除此之外,正常注入进程的代码一般能找到其在可执行文件上的映射,而恶意代码则不会有这样的特性;事实上,匹配算法模块可以对SQL注入等其他web攻击手段予以检测,从而形成检测队列。这也是该系统具有一定的可拓展性的原因;所述反病毒虚拟机模块,通过软件模拟一个真实的CPU并支撑一个检测系统;模拟CPU所虚拟的包括但不限于真实环境下CPU的物理端口、内存空间以及寄存器等要素,其将作为输入数据的注入代码模拟执行后,将执行结果予以记录并实时传递给检测系统,检测系统负责判断执行过程中是否存在代码的自我复制、异常调用系统函数、异常跳转、异常中断等情形,如果有,认定为恶意代码;所述流表转发规则模块接受安全控制器的控制,若安全控制器认定注入进程的该段代码为恶意,则命令基础设施层的网络设备不予执行,否则放行;所述日志生成器在安全控制器判断存在恶意注入的代码后,接受安全控制器的输入数据,包括但不限于动态注入的代码段、注入时间、认定时间、认定模块代号、认定的恶意类型、注入主机IP与MAC信息;接受数据后,日志生成器将数据以一定规范进行封装,输出给接口抽象模块,并最终传输给用户APP;所述接口抽象模块,负责将日志生成器封装的数据进行解封装,并重新根据客户端的操作系统类型进行二次封装,以传输给不同操作系统下的用户APP;所述南向接口根据OpenFlow协议,将动态注入网络设备的代码进行封装,传递给安全控制器中的匹配算法模块;OpenFlow不是唯一选择,能根据需要修改;所述北向接口根据XML协议,将接口抽象模块的输出数据传递给用户APP的日志报告模块;XML不是唯一选择,能根据情况修改;所述用户APP包含一个日志报告模块,负责将接口抽象模块的数据进行解释,并重新组织为用户可读的数据;数据包括但不限于:是否发现动态注入的恶意代码,注入时间,攻击类型,注入主机,具体代码;用户APP能通过一键防护对注入代码的主机进行访问控制;所述一键防护,由用户APP调用可池化的基础实施层的网络安全设备API,如IDS,ACL,从而及时防护可能正在遭受攻击的网络设备。上述一种基于SDN的反病毒系统,其实施流程包含以下步骤:(1)动态注入代码识别与封装:基础设施层的网络设备首先需要对内部执行代码与动态注入进程的代码进行识别,区分之后,根据OpenFlow规范予以封装,传输给控制层的匹配算法模块进行判别;当基础设施层与控制层之间的通信较为繁忙,优先保障动态注入代码的传输;为了避免这一步骤本身遭到攻击,一方面,对所有区分出来的动态注入代码进行暂不执行操作,保存于设备的缓存中,除非明确收到经过流表转发规则模块加密后的命令;(2)安全控制器策略初始化:初始化之后的策略为:T={I,M,P,A=[a1,a2]本文档来自技高网...

【技术保护点】
一种基于SDN的反病毒系统,其特征在于:包含以下几个部分:基础设施层、安全控制器、流表转发规则模块、日志生成器、接口抽象模块、南向接口、北向接口、用户APP,其中:所述基础设施层包含网络设备以及可池化的网络安全设备,网络设备负责接受流表转发规则模块的控制进行数据包的转发、可池化的网络安全设备包括但不限于入侵检测系统、访问控制系统等传统安全设备;可池化之后将统一向上提供API接口供用户APP调用并实施特定的行为;所述安全控制器包含匹配算法模块与反病毒虚拟机模块,网络设备将动态注入进程的代码封装后输入安全控制器,首先由匹配算法模块进行检测,若发现异常,则要求流表转发规则对网络设备下不予执行的命令,否则继续向上输入给反病毒虚拟机模块;反病毒虚拟机模块予以测试后若发现异常,同样要求流表转发规则对网络设备下不予执行的命令,否则要求网络设备予以执行;所述匹配算法模块通过算法返回值判断注入代码是否为恶意;以蠕虫中较常利用的缓冲区溢出为例,匹配算法的检测思路为:正常注入进程的代码应当只具有“读”与“执行”的属性,而恶意代码会额外具有“写”属性;除此之外,正常注入进程的代码一般能找到其在可执行文件上的映射,而恶意代码则不会有这样的特性;事实上,匹配算法模块可以对SQL注入等其他web攻击手段予以检测,从而形成检测队列;这也是该系统具有一定的可拓展性的原因;所述反病毒虚拟机模块,通过软件模拟一个真实的CPU并支撑一个检测系统;模拟CPU所虚拟的包括但不限于真实环境下CPU的物理端口、内存空间以及寄存器等要素,其将作为输入数据的注入代码模拟执行后,将执行结果予以记录并实时传递给检测系统,检测系统负责判断执行过程中是否存在代码的自我复制、异常调用系统函数、异常跳转、异常中断等情形,如果有,认定为恶意代码;所述流表转发规则模块接受安全控制器的控制,若安全控制器认定注入进程的该段代码为恶意,则命令基础设施层的网络设备不予执行,否则放行;所述日志生成器在安全控制器判断存在恶意注入的代码后,接受安全控制器的输入数据,包括但不限于动态注入的代码段、注入时间、认定时间、认定模块代号、认定的恶意类型、注入主机IP与MAC信息;接受数据后,日志生成器将数据以一定规范进行封装,输出给接口抽象模块,并最终传输给用户APP;所述接口抽象模块,负责将日志生成器封装的数据进行解封装,并重新根据客户端的操作系统类型进行二次封装,以传输给不同操作系统下的用户APP;所述南向接口根据OpenFlow协议,将动态注入网络设备的代码进行封装,传递给安全控制器中的匹配算法模块;OpenFlow不是唯一选择,能根据需要修改;所述北向接口根据XML协议,将接口抽象模块的输出数据传递给用户APP的日志报告模块;XML不是唯一选择,能根据情况修改;所述用户APP包含一个日志报告模块,负责将接口抽象模块的数据进行解释,并重新组织为用户可读的数据;数据包括但不限于:是否发现动态注入的恶意代码,注入时间,攻击类型,注入主机,具体代码;用户APP能通过一键防护对注入代码的主机进行访问控制;所述一键防护,由用户APP调用可池化的基础实施层的网络安全设备API,如IDS,ACL,从而及时防护可能正在遭受攻击的网络设备。...

【技术特征摘要】
1.一种基于SDN的反病毒系统,其特征在于:包含以下几个部分:基础设施层、安全控制器、流表转发规则模块、日志生成器、接口抽象模块、南向接口、北向接口、用户APP,其中:所述基础设施层包含网络设备以及可池化的网络安全设备,网络设备负责接受流表转发规则模块的控制进行数据包的转发、可池化的网络安全设备包括但不限于入侵检测系统、访问控制系统等传统安全设备;可池化之后将统一向上提供API接口供用户APP调用并实施特定的行为;所述安全控制器包含匹配算法模块与反病毒虚拟机模块,网络设备将动态注入进程的代码封装后输入安全控制器,首先由匹配算法模块进行检测,若发现异常,则要求流表转发规则对网络设备下不予执行的命令,否则继续向上输入给反病毒虚拟机模块;反病毒虚拟机模块予以测试后若发现异常,同样要求流表转发规则对网络设备下不予执行的命令,否则要求网络设备予以执行;所述匹配算法模块通过算法返回值判断注入代码是否为恶意;以蠕虫中较常利用的缓冲区溢出为例,匹配算法的检测思路为:正常注入进程的代码应当只具有“读”与“执行”的属性,而恶意代码会额外具有“写”属性;除此之外,正常注入进程的代码一般能找到其在可执行文件上的映射,而恶意代码则不会有这样的特性;事实上,匹配算法模块可以对SQL注入等其他web攻击手段予以检测,从而形成检测队列;这也是该系统具有一定的可拓展性的原因;所述反病毒虚拟机模块,通过软件模拟一个真实的CPU并支撑一个检测系统;模拟CPU所虚拟的包括但不限于真实环境下CPU的物理端口、内存空间以及寄存器等要素,其将作为输入数据的注入代码模拟执行后,将执行结果予以记录并实时传递给检测系统,检测系统负责判断执行过程中是否存在代码的自我复制、异常调用系统函数、异常跳转、异常中断等情形,如果有,认定为恶意代码;所述流表转发规则模块接受安全控制器的控制,若安全控制器认定注入进程的该段代码为恶意,则命令基础设施层的网络设备不予执行,否则...

【专利技术属性】
技术研发人员:倪健寒韩啸
申请(专利权)人:江苏警官学院
类型:发明
国别省市:江苏;32

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

1