背景技术
随着互联网技术的不断演进以及其规模的***性发展,互联网应用已经从起初的科研领域逐渐延伸到当代社会生活的方方面面。越来越多的基于网络的关键业务蓬勃兴起,网络成为了人类提高生产力和提升生活质量的新的推动力。
然而,互联网的技术基础,即IP网络技术,却在天然上存在着诸如安全、服务质量、运营模式等问题。其中,IP网络的安全技术是非常重要的一方面,由于IP网络的开放性,又使得它的安全问题变得十分复杂。IP网络的简单和开放在促成互联网迅猛发展的同时,也造成了IP网络容易引入安全漏洞的弱点。另一方面,网络安全的威胁也促成了网络安全技术的进一步发展,单播反向路径转发(URPF,Unicast Reverse Path Forwarding)检查就是一种防止IP欺骗攻击的网络安全技术。
URPF检查的主要功能是防止基于源地址欺骗的网络攻击行为。源地址欺骗攻击行为是入侵者构造并发送一系列带有伪造源地址的报文,对于使用基于IP地址验证的应用来说,此攻击方法可以导致未授权用户以他人身份获得访问***的权限,甚至以管理员权限来访问。
图1是对现有的URPF检查技术进行说明的一个组网示意图。参见图1,在IP地址为1.1.1.8/8的路由器A上伪造源IP地址为2.2.2.1/8的报文,并向作为服务器的路由器B发起请求,路由器B响应请求时,将响应报文发送到IP地址真正为2.2.2.1/8的路由器C。因此,路由器A伪造的非法报文对路由器B和路由器C都造成了攻击。
URPF检查技术可以应用在图1所示的环境中,即在路由器B上根据接收报文的源IP地址查找该IP地址的出接口,判断该IP地址的出接口是否与接收报文的入接口一致,如果一致则URPF检查通过,如果不一致则认为URPF检查不通过,并且对所接收的报文采取相应的处理,如丢弃报文等。
由上述说明可见,现有的URPF检查技术是基于IP层的检查,而当前的网络攻击已经渗透各方面,仅基于IP层的检查显得有些单薄,不能很好地保证网络安全。
发明内容
本发明提供了一种报文安全检查方法,该方法能够更好地保证网络安全。
本发明还提供了一种报文安全检查装置,该装置能够更好地保证网络安全。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明公开了一种报文安全检查方法,该方法包括:
网络设备接收报文;
网络设备根据所述接收报文的源IP地址查找路由表,获取目的地址与所述接收报文的源IP地址相同的路由表项中的下一跳IP地址;
网络设备根据所获取的下一跳IP地址查找地址解析协议ARP表,获取与所述下一跳IP地址对应的媒体接入控制MAC地址;
网络设备判断所获取的MAC地址与所述接收报文的源MAC地址是否相同,是则确定所述接收报文为合法报文,否则确定所述接收报文为非法报文。
本发明还公开了一种报文安全检查装置,该装置包括:报文处理模块和安全检查模块,其中,
报文处理模块,用于接收报文,并将所述接收报文的源IP地址和源MAC地址发送给安全检查模块;
所述安全检查模块,用于在接收到来自报文处理模块的源IP地址和源MAC地址后,通过查找路由表获取目的地址与所述来自报文处理模块的源IP地址相同的路由表项中的下一跳IP地址;根据所获取的下一跳IP地址查找地址解析协议ARP表,获取与所述下一跳IP地址对应的MAC地址;判断所获取的MAC地址与所接收的源MAC地址是否相同,是则向报文处理模块返回合法报文确认消息,否则向报文处理模块返回非法报文确认消息。
由上述技术方案可见,本发明这种网络设备接收到报文后,根据所述接收报文的源IP地址查找路由表,获取目的地址与所述接收报文的源IP地址相同的路由表项中的下一跳IP地址,然后根据所获取的下一跳IP地址查找地址解析协议ARP表,获取与所述下一跳IP地址对应的媒体接入控制MAC地址,判断所获取的MAC地址与所述接收报文的源MAC地址是否相同,是则确定所述接收报文为合法报文,否则确定所述接收报文为非法报文的技术方案,可以通过检查IP报文的源MAC地址,过滤源MAC地址非法的报文,从而防止非法报文对网络的攻击,更好地保证网络的安全。
具体实施方式
本发明的核心思想是:利用IP报文转发过程中每转发一跳会更改报文源MAC地址的特点,根据报文的源IP地址获取该地址的下一跳地址,然后根据下一跳地址得到相应的ARP表项,在根据ARP表项中的MAC地址与报文的源MAC地址进行比较,确认报文的合法性。
图2是本发明实施例一种报文安全检查方法的流程图。如图2所示,包括以下步骤:
步骤201,网络设备接收报文。
步骤202,网络设备根据所述接收报文的源IP地址查找路由表,获取目的地址与所述接收报文的源IP地址相同的路由表项中的下一跳IP地址。
步骤203,网络设备根据所获取的下一跳IP地址查找地址解析协议ARP表,获取与所述下一跳IP地址对应的媒体接入控制MAC地址。
步骤204,网络设备判断所获取的MAC地址与所述接收报文的源MAC地址是否相同,是则确定所述接收报文为合法报文,否则确定所述接收报文为非法报文。
本步骤中,网络设备在确定接收报文为非法报文之后可以采取相应的措施,如丢弃所述接收报文等。
本发明如图2所示的报文安全检查方法通过检查IP报文的源MAC地址,过滤源MAC地址非法的报文,从而防止非法报文对网络的攻击,更好地保证网络的安全。此外,本发明如图2所示的方法可以与现有的基于IP地址检查的URPF检查技术相结合,即可以先基于报文的源IP地址进行检查,再基于报文源MAC地址进行检查,确保IP报文的链路层数据安全可靠。因此在上述的步骤202之前还可以执行以下步骤:网络设备根据所述接收报文的源IP地址查找路由表,获取目的地址与所述接收报文的源IP地址相同的路由表项中的出接口,判断所获取的出接口与接收报文的入接收是否为同一接口,是则确定所述接收报文为合法报文,否则确定所述接收报文为非法报文,继续执行步骤202至步骤204。
在本发明如图2所示的报文安全检查方法中,所述网络设备为路由器或三层交换机。
为使本发明的目的、技术方案及优点更加清楚明白,以下列举一个具体的实施例,对本发明进一步详细说明。
图3是对本发明的报文安全检查方法进行说明的一个组网示意图。如图3所示,路由器R2作为接入层设备,下挂二层交换机A;二层交换机A接入三个用户主机;且R2与路由器R1相连,R1与服务器B相连。用户主机依次通过二层交换机A、R2和R1访问服务器B。本实施例的过程包括:
1)IP地址为192.168.1.5的用户主机中病毒后,发出大量的源IP地址为192.168.1.5、源MAC地址随机变化的扫描报文,报文的目的IP地址为与R1连接的服务器B。这会导致服务器B接收到大量的源IP地址为192.168.1.5,源MAC地址随机变化的垃圾报文,而对这些垃圾报文的处理会消耗服务器B的大量资源,从而对服务器B造成攻击。
2)R2收到源IP地址为192.168.1.5的报文后,根据192.168.1.5查找自身的路由表,获取以192.168.1.5为目的地址的路由表项中的下一跳地址,然后根据所获取的下一跳地址查找自身的ARP表,获取与所述下一跳地址对应的MAC地址。
根据图3所示的组网以及现有的路由技术可知,R2的路由表中的目的地址为192.168.1.5的路由表项如表1所示:
目的IP地址 |
下一跳IP地址 |
出接口 |
192.168.1.5/32 |
192.168.1.5 |
VLAN 10 |
表1
R2的APR表中的与192.168.1.5对应的ARP表项如表2所示:
IP地址 |
MAC地址 |
VLAN |
192.168.1.5 |
0-0-5 |
VLAN 10 |
表2
根据表1可知,与以192.168.1.5为目的地址的路由表项中的下一跳IP地址为192.168.1.5;根据表2可知,与192.168.1.5对应的MAC地址为0-0-5(IP地址为192.168.1.5的用户主机的实际MAC地址)。
3)R2将所获取的MAC地址0-0-5与所接收的源IP地址为192.168.1.5的报文的源MAC地址进行比较,如果二者相同,则将报文正常转发给R1,反之,如果不相同,则直接丢弃报文。
因此,IP地址为192.168.1.5的用户主机发出的大量源MAC地址随机变化的扫描报文,会被R2所丢弃。
在图3所示的实施例中,接入层设备R2,过滤了用户主机对网络侧的服务器B的攻击,从而防止非法报文的攻击对核心网络的影响,增加了网络的安全性。
此外,如果图3中的IP地址为192.168.1.5的用户主机中病毒后,发出大量的源IP地址随机变化,但MAC地址可以不随机变化的扫描报文时,应用本发明的技术方案路由器R2也能够检测到这些攻击报文,并进行丢弃处理。具体为:R2收到该用户主机发出的上述扫描报文后,根据报文的源IP地址查找自身的路由表,获取以该源IP地址为目的地址的路由表项中的下一跳地址,然后根据所获取的下一跳地址查找自身的ARP表,获取与所述下一跳地址对应的MAC地址;R2将所获取的MAC地址与所接收的扫描报文的源MAC地址进行比较时,二者不相同,R2直接丢弃扫描报文。另外,R2根据用户主机发出的上述扫描报文的源IP地址为目的IP地址查找自身的路由表时,也可能查不到相应的表项,这个时候R2直接丢弃扫描报文。
基于上述实施例,接下来给出本发明一种报文安全检查装置的组成结构。
图4是本发明实施例一种报文安全检查装置的组成结构框图。如图4所示,该装置包括:报文处理模块401和安全检查模块402,其中:
报文处理模块401,用于接收报文,并将所述接收报文的源IP地址和源MAC地址发送给安全检查模块402;
安全检查模块402,用于在接收到来自报文处理模块401的源IP地址和源MAC地址后,通过查找路由表获取目的地址与所述接收的源IP地址相同的路由表项中的下一跳IP地址;据所获取的下一跳IP地址查找地址解析协议ARP表,获取与所述下一跳IP地址对应的MAC地址;判断所获取的MAC地址与所接收的源MAC地址是否相同,是则向报文处理模块401返回合法报文确认消息,否则向报文处理模块401返回非法报文确认消息。
在图4中,报文处理模块401,在接收到安全检查模块402返回的非法报文确认消息时,丢弃所述接收报文。
在图4中,报文处理模块401,进一步用于将所述接收报文的入接口标识发送给安全检查模块402;安全检查模块402,进一步用于通过查找路由表获取目的地址与所述接收的源IP地址相同的路由表项中的出接口标识,判断所获取的出接口标识与所接收的入接口标识是否一致,是则向报文处理模块返回合法报文确认消息,否则向报文处理模块返回非法报文确认消息。
在图4中,安全检查模块402,进一步用于在接收到来自报文处理模块401的源IP地址和源MAC地址后,通过查找路由表没有查找到与所述接收的源IP地址相同的路由表项时,向报文处理模块401返回非法报文确认消息;报文处理模块401,在接收到安全检查模块402返回的该非法报文确认消息时,丢弃所述接收报文。
如图4所示的装置可以为路由器,或者可以为三层交换机。
综上所述,本发明这种网络设备接收到报文后,根据所述接收报文的源IP地址查找路由表,获取目的地址与所述接收报文的源IP地址相同的路由表项中的下一跳IP地址,然后根据所获取的下一跳IP地址查找地址解析协议ARP表,获取与所述下一跳IP地址对应的媒体接入控制MAC地址,判断所获取的MAC地址与所述接收报文的源MAC地址是否相同,是则确定所述接收报文为合法报文,否则确定所述接收报文为非法报文的技术方案,对现有的URPF技术进行了补充,增强了URPF检查的功能,并且在接入层网络中,可以通过检查IP报文的源MAC地址,过滤源MAC地址非法的报文,从而防止非法报文对核心网络的攻击,增强网络的安全性。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。