一种路由器及其防arp攻击的方法

文档序号:9508559阅读:389来源:国知局
一种路由器及其防arp攻击的方法【
技术领域
】[0001]本发明涉及网络安全领域,尤指一种路由器及其防ARP攻击的方法。【
背景技术
】[0002]随着互联网技术的高速发展,网络安全已经变得越来越重要,有很多敏感信息,难免会吸引某些人的攻击,像网吧这种场所,总有一些不法分子常常窃取正常上网用户的个人信息,如网上银行密码、论坛账号密码等。局域网ARP攻击就是常见的一种方式,为了保证用户的合法利益,需要首先从局域网就阻止这些非法操作。[0003]ARP攻击就是局域网攻击者通过伪造IP地址和MAC地址(物理地址)实现ARP欺骗,攻击主机只要持续不断的发出伪造的ARP响应包就能使目标主机更改自己ARP缓存中的MAC-1P条目,造成目标主机误认为攻击者的MAC地址和IP地址就是信任的网络地址,从而将数据发往攻击者伪造的地址,这样攻击主机就能窃取目标主机的机密信息(通过第三方工具解析)。ARP攻击通常发生在大型局域网内,比如校园网、网吧等场所。[0004]当前预防ARP攻击的方案主要是在路由模式下进行的。一种方式是利用路由器在路由模式下DHCPserver分配给接入路由器的终端设备IP地址,另一种方式是路由器管理人员静态配置MAC地址和IP地址,这种方式需要终端用户在计算机上静态配置IP地址及其网关等信息,然后利用linux自带的arp命令或是arptables命令实施终端设备的MAC地址和IP地址绑定。但是,arp命令、arptables命令及其附属命令只能在linux用户空间使用。尤其是当路由器工作在桥模式下的时候,路由器本身没有设置DHCPserver来分配IP地址,而是需要从上一级路由器或是第三方DHCPserver分配IP地址,不能由路由器直接获得IP地址,进而也就无法通过路由器有效防止ARP的攻击。【
发明内容】[0005]本发明的目的是提供一种路由器及其防ARP攻击的方法,能够有效防止ARP的攻击。[0006]本发明提供的技术方案如下:[0007]本发明提供了一种路由器防ARP攻击的方法,其包括步骤:[0008]接收ARP报文;[0009]解析接收的所述ARP报文中的MAC地址和IP地址;[0010]将所述解析得到的MAC地址和IP地址同预先存储的名单链表比对,并判断所述解析得到的MAC地址和IP地址是否为攻击地址;如果为攻击地址,则丢弃所述ARP报文;如果不是攻击地址,则放行所述ARP报文。[0011]优选地,所述预先存储的名单链表为白名单链表;[0012]所述判断所述解析得到的MAC地址和IP地址是否为攻击地址进一步包括:[0013]判断所述解析得到的MAC地址和IP地址是否与所述白名单链表中的一对MAC地址和IP地址一致,当一致时,判断所述解析得到的MAC地址和IP地址不是攻击地址,并放行所述ARP报文;当不一致时,判断所述解析得到的MAC地址和IP地址是攻击地址,并丢弃所述ARP报文。[0014]优选地,所述预先存储的名单链表为黑名单链表;[0015]所述判断所述解析得到的MAC地址和IP地址是否为攻击地址进一步包括:[0016]判断所述解析得到的MAC地址和IP地址是否与所述黑名单链表中的一对MAC地址和IP地址一致,当一致时,判断所述解析得到的MAC地址和IP地址是攻击地址,并丢弃所述ARP报文;当不一致时,判断所述解析得到的MAC地址和IP地址不是攻击地址,并放行所述ARP报文。[0017]优选地,当监测到任一终端在预设时间内并未作出响应后,从所述预先存储的名单链表中删除该终端所对应的MAC地址和IP地址。[0018]优选地,在所述接收ARP报文的步骤之前,还包括步骤:[0019]创建并存储所述名单链表。[0020]优选地,在所述创建并存储所述名单链表的步骤之后,还包括步骤:[0021]接收DHCP报文;[0022]解析所述DHCP报文中的MAC地址和IP地址;[0023]将所述解析得到的DHCP报文中的MAC地址和IP地址同预先存储的所述名单链表比对,并判断所述解析得到的DHCP报文中的MAC地址和IP地址是否为攻击地址;如果为攻击地址,则丢弃所述DHCP报文;如果不是攻击地址,则放行所述DHCP报文。[0024]优选地,在所述创建并存储所述名单链表的步骤之后,还包括步骤:[0025]接收DHCP报文;[0026]人工配置DHCP报文中的MAC地址和IP地址;[0027]将所述DHCP报文中的MAC地址和IP地址同预先存储的所述名单链表比对,并判断所述DHCP报文中的MAC地址和IP地址是否为攻击地址;如果为攻击地址,则丢弃所述DHCP报文;如果不是攻击地址,则放行所述DHCP报文。[0028]进一步优选地,创建的所述名单链表为白名单链表;[0029]所述判断所述DHCP报文中的MAC地址和IP地址是否为攻击地址进一步包括:[0030]判断所述DHCP报文中的MAC地址和IP地址是否与所述白名单链表中的一对MAC地址和IP地址一致,当一致时,判断所述DHCP报文中的MAC地址和IP地址是攻击地址,并丢弃所述DHCP报文;当不一致时,判断所述DHCP报文中的MAC地址和IP地址不是攻击地址,将该MAC地址和IP地址存入所述白名单链表中,并放行所述DHCP报文。[0031]进一步优选地,所述路由器防ARP攻击的方法应用于路由器桥模式下的内核netfilter。[0032]进一步优选地,在所述创建并存储所述名单链表步骤之前,还包括步骤:[0033]注册内核钩子函数。[0034]本发明还提供了一种路由器,其应用如前述的路由器防ARP攻击的方法,所述路由器包括:[0035]第一获取模块,其用于接收ARP报文;[0036]第一解析模块,其用于解析ARP报文中的MAC地址和IP地址;[0037]存储模块,其用于预先存储名单链表;[0038]第一比对模块,其用于将所述解析得到的MAC地址和IP地址同预先存储的所述名单链表比对;[0039]控制模块,其用于判断所述解析得到的MAC地址和IP地址是否为攻击地址;如果为攻击地址,则控制丢弃所述ARP报文;如果不是攻击地址,则控制放行所述ARP报文。[0040]优选地,所述的路由器还包括:[0041]创建模块,其用于创建所述名单链表。[0042]进一步优选地,所述的路由器还包括:[0043]第二获取模块,其用于接收DHCP报文;[0044]第二解析模块,其用于解析DHCP报文中的MAC地址和IP地址;[0045]第二比对模块,其用于将所述解析得到的DHCP报文中的MAC地址和IP地址同预先存储的所述名单链表比对;[0046]所述控制模块进一步用于判断所述解析得到的DHCP报文中的MAC地址和IP地址是否为攻击地址;如果为攻击地址,则控制丢弃所述DHCP报文;如果不是攻击地址,则控制放行所述DHCP报文。[0047]进一步优选地,所述的路由器还包括:[0048]第三获取模块,其用于接收DHCP报文;[0049]第三比对模块,其用于将人工配置的DHCP报文中的MAC地址和IP地址同预先存储的所述名单链表比对;[0050]所述控制模块进一步用于判断所述人工配置的DHCP报文中的MAC地址和IP地址是否为攻击地址;如果为攻击地址,则控制丢弃所述DHCP报文;如果不是攻击地址,则控制放行所述DHCP报文。[0051]进一步优选地,所述的路由器还包括:[0052]注册模块,其用于注册内核钩子函数。[0053]通过本发明提供的路由器及其防ARP攻击的方法,能够带来以下至少一种有益效果:[0054]1、本发明能够对接收的ARP报文解析其所包含的MAC地址和IP地址,并同预先存储的名单链表(地址名单链表)比对,以判断所述的MAC地址和IP地址是否为攻击地址。当为攻击地址时,丢弃所述ARP报文;如果不是攻击地址,则放行所述ARP报文。这样,就通过对地址的判断实现对ARP报文是否为欺骗报文的判断。[0055]2、前述的预先存储的名单链表是通过对DHCP报文的不断处理所创建的名单链表。可以在判断DHCP报文中的MAC地址和IP地址为新地址时,将该地址添加至所述的名单链表。随着对更多DHCP报文的处理,名单链表中的地址也在不断的更新。通过这样的方法,可以持续且动态的创建名单链表,进而也能够对ARP报文中的MAC地址和IP地址做出更实时和准确的判断。[0056]3、本发明可以主要应用于无法通过路由器直接分配IP地址的路由器桥模式。在路由器桥模式下,通过在内核netfiIter下注册内核钩子函数,以实现对DHCP报文的抓取,并解析和判断DHCP报文中的MAC地址和IP地址。将安全的DHCP报文中的MAC地址和IP地址持续的添加至一名单链表,并将该名单链表作为判断ARP报文是否为欺骗报文的依据。通过这种方法,有效解决了在路由器桥模式下防止ARP攻击的问题。当前第1页1 2 3 4 5 
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1