一种基于软件定义网络的恶意网站防护方法及系统技术方案

技术编号:11423041 阅读:84 留言:0更新日期:2015-05-07 01:11
本发明专利技术提供一种基于软件定义网络的恶意网站防护方法及系统,所述方法首先检测DNS请求数据的域名信息是否存在于白名单和黑名单生成的布隆过滤器内,然后对于可疑的DNS请求数据提取主机名,判定该主机名是否可信,如果可信则对该DNS请求数据进行转发,否则进行报警并记录可疑域名。本发明专利技术方法仅需把第一次出现的DNS请求数据包送到中心控制器检测,不需要解析所有的数据包,且根据检测结果把过滤规则下发到各个OpenFlow交换机,实现恶意网站请求在最靠近源的交换机端进行过滤,在进入网络主干之前进行拦截,而且本发明专利技术无需安装任何防火墙和杀毒工具,使用更加有效、简便。本发明专利技术方法和系统结合实现了基于软件定义网络的恶意网站防护。

【技术实现步骤摘要】
一种基于软件定义网络的恶意网站防护方法及系统
本专利技术涉及网络安全
,更具体地,涉及一种基于软件定义网络的恶意网站防护方法及系统。
技术介绍
恶意网站一直都是木马、病毒传播和网民染毒的主要途经之一。恶意网站利用操作系统或软件的安全漏洞,在网页内嵌入恶意的病毒、蠕虫以及木马等,当用户访问这些网页时,内嵌的恶意程序会在用户不知情的情况下,强行修改用户操作系统和应用软件的配置信息,导致成为僵尸系统,严重影响互联网的可信性,制约互联网应用发展。传统的针对恶意网站的安全工具,如防火墙必须放在流量的必经之路上,对所有数据包进行解析,只适合于在网络边界使用。如漏洞扫描、杀毒软件等要求用户在PC客户端上安装杀毒软件或安全浏览器,为用户安装或使用造成不便。软件定义网络(softwaredefinednetwork,SDN)为一种新型的软件技术的网络架构,其最大的特点是控制平面与数据平面的松耦合性、网络状态控制的集中化支持和实现底层网络设施对上层应用的透明化,SDN具有灵活的软件编程能力,促使网络的自动化管理与控制能力得到空前的提升,因此给了在恶意网站防护系统的研究上又提供了新的方向。
技术实现思路
本专利技术的首要目的是克服现有技术使用不便的缺陷,提供一种有效、简便的基于软件定义网络的恶意网站防护方法。本专利技术的进一步目的是提供一种有效、简便的基于软件定义网络的恶意网站防护系统。为解决上述技术问题,本专利技术的技术方案如下:一种基于软件定义网络的恶意网站防护方法,所述方法包括以下步骤:S1:采集DNS(域名)请求数据;S2:解析DNS请求数据中的DNS报文头部,获取opcode字段信息,根据opcode字段的数值触发名单修改或者跳转到步骤S3;S3:判断DNS请求数据中的域名信息是否在白名单列表生成的布隆过滤器内,如果是则对该DNS请求数据进行转发,否则跳转到步骤S4;S4:判断DNS请求数据中的域名信息是否在黑名单列表生成的布隆过滤器内,如果是则丢弃该DNS请求数据,否则跳转到步骤S5;S5:提取DNS请求数据的域名信息中的主机名,判定该主机名是否可信,如果可信则对该DNS请求数据进行转发,否则进行报警并记录可疑域名。在一种优选的方案中,步骤S1中,采集DNS请求数据的具体方法为:OpenFlow交换机收到数据包时,如果在流表中没有匹配项,或者在流表中被认为是发送到控制器,则将该数据包封装为Packet_in数据包发送到中心控制器;在一种优选的方案中,步骤S2中,中心控制器对OpenFlow交换机发送来的Packet_in数据包进行解析,检查其是否为DNS请求数据,如果是,则解析DNS头部获取opcode字段信息,如果opcode字段的数值大于10,则触发名单修改,否则跳转到步骤S3。在一种优选的方案中,步骤S2中,所述名单修改的具体方法为:重新定义opcode字段的10~15的数值及其对应的操作,从而将DNS请求数据中的域名添加到白名单、黑名单或顶级域名名单列表生成的布隆过滤器中,或者将DNS请求数据中的域名从白名单、黑名单或顶级域名名单列表生成的布隆过滤器中删除。在一种优选的方案中,步骤S3中,首先,读取可信域名列表,逐条域名存放到白名单布隆过滤器,然后,中心控制器通过对DNS请求数据中的域名信息进行哈希运算,判断其是否在白名单列表生成的布隆过滤器内,如果是则对该DNS请求数据进行转发,否则跳转到步骤S4。在一种优选的方案中,步骤S4中,首先,读取恶意域名列表,逐条域名存放到黑名单布隆过滤器,然后,中心控制器通过对DNS请求数据中的域名信息进行哈希运算,判断其是否在黑名单列表生成的布隆过滤器内,如果是则丢弃该DNS请求数据,否则跳转到步骤S5。在一种优选的方案中,步骤S5中,对各级域名进行多次提取并对各级域名进行多个哈希运算,判断其是否在顶级域名以及二级域名名单列表生成的布隆过滤器内,根据得到的最后的主机名,判断其与合法主机名编辑距离minDist是否在满足α≤minDist≤β,其中α和β为预设的编辑距离的阈值,从而判定该主机名是否可信,如果可信则对该DNS请求数据进行转发,否则进行报警并记录可疑域名。在一种优选的方案中,所述方法还包括:对DNS请求数据进行转发的具体方法为:中心控制器下发过滤规则给各OpenFlow交换机,所述过滤规则通过源MAC地址与OpenFlow交换机端口的动态映射表生成对应流表项所实现,查询OpenFlow交换机的流表获取转发规则,从而实现DNS请求数据的转发。一种基于软件定义网络的恶意网站防护系统,所述系统包括:数据包解析模块:用于采集DNS请求数据,并解析DNS请求数据中的DNS报文头部,获取opcode字段信息;白名单检测模块:用于判断DNS请求数据中的域名信息是否在白名单列表生成的布隆过滤器内;黑名单检测模块:用于判断DNS请求数据中的域名信息是否在黑名单列表生成的布隆过滤器内;可疑域名智能检测模块:用于提取DNS请求数据的域名信息中的主机名,判定该主机名是否可信;名单修改模块:用于重新定义opcode字段的10~15的数值及其对应的操作,从而将DNS请求数据中的域名添加到白名单、黑名单或顶级域名名单列表生成的布隆过滤器中,或者将DNS请求数据中的域名从白名单、黑名单或顶级域名名单列表生成的布隆过滤器中删除;数据转发模块:用于对DNS请求数据进行转发。与现有技术相比,本专利技术技术方案的有益效果是:本专利技术基于软件定义网络的恶意网站防护方法,首先检测DNS请求数据的域名信息是否存在于白名单和黑名单生成的布隆过滤器内,然后对于可疑的DNS请求数据提取主机名,判定该主机名是否可信,如果可信则对该DNS请求数据进行转发,否则进行报警并记录可疑域名。本专利技术基于软件定义网络,仅需把第一次出现的DNS请求数据包送到中心控制器检测,不需要解析所有的数据包,且根据检测结果,中心控制器把过滤规则下发到各个OpenFlow交换机,实现恶意网站请求在最靠近源的交换机端进行过滤,在进入网络主干之前进行拦截,而且本专利技术无需安装任何防火墙和杀毒工具,使用更加有效、简便。本专利技术基于软件定义网络的恶意网站防护系统是上述方法实现的基础,所述方法和系统结合实现了基于软件定义网络的恶意网站防护。附图说明图1为本专利技术的总体框架示意图。图2为本专利技术的数据包采集示意图。图3为本专利技术的数据包解析示意图。图4为本专利技术的DNS报文首部标志位。图5为本专利技术的白名单检测示意图。图6为本专利技术的黑名单检测示意图。图7为本专利技术的可疑域名检测示意图。图8为本专利技术的完整域名示例图。图9为本专利技术的数据包转发示意图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本专利技术的技术方案做进一步的说明。实施例1一种基于软件定义网络的恶意网站防护方法,如图1所示,所述方法包括以下步骤:S1:采集DNS请求数据;采用OpenFlow协议,把OpenFlow交换机的各端口收到的DNS请求包发送给中心控制器,如图2所示。具体执行过程如下:采用OpenFlow协议把各OpenFlow交换机端口收到的DNS请求包发送给中心控制器,当OpenFlow交换机收到一个本文档来自技高网...

【技术保护点】
一种基于软件定义网络的恶意网站防护方法,其特征在于,所述方法包括以下步骤:S1:采集DNS请求数据;S2:解析DNS请求数据中的DNS报文头部,获取opcode字段信息,根据opcode字段的数值触发名单修改或者跳转到步骤S3;S3:判断DNS请求数据中的域名信息是否在白名单列表生成的布隆过滤器内,如果是则对该DNS请求数据进行转发,否则跳转到步骤S4;S4:判断DNS请求数据中的域名信息是否在黑名单列表生成的布隆过滤器内,如果是则丢弃该DNS请求数据,否则跳转到步骤S5;S5:提取DNS请求数据的域名信息中的主机名,判定该主机名是否可信,如果可信则对该DNS请求数据进行转发,否则进行报警并记录可疑域名。

【技术特征摘要】
1.一种基于软件定义网络的恶意网站防护方法,其特征在于,所述方法包括以下步骤:S1:采集DNS请求数据;S2:解析DNS请求数据中的DNS报文头部,获取opcode字段信息,根据opcode字段的数值触发名单修改或者跳转到步骤S3;名单修改的具体方法为:重新定义opcode字段的10~15的数值及其对应的操作,从而将DNS请求数据中的域名添加到白名单、黑名单或顶级域名名单列表生成的布隆过滤器中,或者将DNS请求数据中的域名从白名单、黑名单或顶级域名名单列表生成的布隆过滤器中删除;S3:判断DNS请求数据中的域名信息是否在白名单列表生成的布隆过滤器内,如果是则对该DNS请求数据进行转发,否则跳转到步骤S4;具体为:首先,读取可信域名列表,逐条域名存放到白名单布隆过滤器,然后,中心控制器通过对DNS请求数据中的域名信息进行哈希运算,判断其是否在白名单列表生成的布隆过滤器内,如果是则对该DNS请求数据进行转发,否则跳转到步骤S4;S4:判断DNS请求数据中的域名信息是否在黑名单列表生成的布隆过滤器内,如果是则丢弃该DNS请求数据,否则跳转到步骤S5;具体为:首先,读取恶意域名列表,逐条域名存放到黑名单布隆过滤器,然后,中心控制器通过对DNS请求数据中的域名信息进行哈希运算,判断其是否在黑名单列表生成的布隆过滤器内,如果是则丢弃该DNS请求数据,否则跳转到步骤S5;S5:提取DNS请求数据的域名信息中的主机名,判定该主机名是否可信,如果可信则对该DNS请求数据进行转发,否则进...

【专利技术属性】
技术研发人员:黎志勇陈晓帆吴广锐余顺争
申请(专利权)人:广东顺德中山大学卡内基梅隆大学国际联合研究院
类型:发明
国别省市:广东;44

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

1