利用“新型nat”实现路由网关设备防范arp病毒攻击的方法

文档序号:7753748阅读:355来源:国知局
专利名称:利用“新型nat”实现路由网关设备防范arp病毒攻击的方法
技术领域
本发明属于网络安全领域,具体涉及一种利用“新型NAT”实现路由器等网关设备 自动防范ARP病毒攻击、从而实现对ARP病毒攻击先天免疫的方法。
背景技术
ARP是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中, 网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一台主机要和 另一台主机进行直接通信,必须要知道目标主机的MAC地址。目标MAC地址正是通过地址 解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地 址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以 保证通信的顺利进行。MAC地址是网卡的物理地址,它由48位二进制数表示,前24位表示网络厂商的标 示符,后24位表示序号。每个不同的网络厂商会有不同的厂商标识符,而每个厂商所生产 出来的24位序号也是不一样的,这样每一个网络设备接口的MAC地址都是唯一的。MAC地 址工作于局域网,用于局域网的数据传输,局域网之间的互连一般经由路由器等网关设备 通过现有的公用网络实现。以太网中的传输,目标地址是通过MAC进行确定的,所以必须确定子网中IP的MAC 地址,仅知道目的IP是不行的。路由器等网关设备会时时维护一张ARP表,这张表里记录 了局域网设备的IP和MAC地址的对应,这样路由器就可以通过查这张ARP表确定某个IP 的MAC地址。正常情况下,路由器的ARP表的对应关系是正确的,如附图1所示的ARP表的 涵义为 IP 为 192. 168. 1. 1 的设备的 MAC 为 00-0f-7a-00-00-01 ;IP 为 192. 168. 1. 2 的设备 的 MAC 为 00-0f-7a-00-00-02 ;以此类推。例如192. 168. 1. 1的PC发起对因特网的访问,经路由器NAT转换后,发送到外 网,路由器收到外网的响应数据后,进行NAT转换,通过查找NAT表路由器便可确定数 据是192. 168. 1. 1的返回数据,要将返回数据发送给192. 168. 1. 1。但是,数据要发送 到192. 168. 1. 1的MAC,这时路由器开始查找图1的ARP表,发现192. 168. 1. 1的MAC为 00-0f-7a-00-00-01,这样返回数据就被正确的送到发送方的PC上了。由于ARP表示动态维护的,所以当网络中出现新的IP或是已有IP的MAC地址发 生改变,路由器都会收到这些设备的ARP数据包,路由器会跟据数据包提供的IP和MAC的 对应修改自己的ARP表,保证ARP表的实时更新。正是因为ARP表的实时更新,导致ARP病毒对网络正常工作带来巨大威胁,ARP 病毒攻击是通过对网关发起错误的ARP信息修改ARP表,达到攻击网关的目标。同样是 192. 168. 1. 1的PC发起网络访问,经路由器NAT转换后,发送到外网,路由器收到返回数 据后,进行NAT转换,NAT转化后路由器知道该数据是192. 168. 1. 1的返回数据。如果在 路由器收到192. 168. 1. 1的请求数据后,将返回数据发送给192. 168. 1. 1之前,路由器收168. 1. 1的ARP攻击,攻击的内容为192. 168. 1. 1的MAC是 00-0f-7a-00-00-02,路由器收到这样的数据后就会修改自己的ARP表,为如附图2所示。当 192. 168. 1. 1的数据返回后,路由器还要查自己的ARP表找出192. 168. 1. 1的MAC。这样路 由器再查 192. 168. 1. 1 的 MAC 时,查到 192. 168. 1. 1 的 MAC 就是 00-0f-7a-00-00-02,于是 就会把192. 168. 1. 1的返回数据发给了 00-0f-7a-00-00-02,也就是发给了 192. 168. 1. 2, 这样192. 168. 1. 1的网络访问没有得到响应。整个数据转发的过程如附图3 ①终端设备发起请求一②路由器NAT转换一③转 发访问请求一④数据返回一⑤路由器NAT转换一⑥路由器查ARP表一⑦返回数据给请求终 端。ARP攻击正是在这个过程中通过发送错误的ARP信息攻击路由器,使路由器不能将返回 数据正确的送达。路由器进行数据共享的方式是通过NAT转换,NAT是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF (Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。是一种把内部私有网络地址(IP地址)翻译成合法网 络IP地址的技术。为了保证NAT转换后返回数据能准确送达请求方,标准的NAT转换会在NAT设 备中记录下NAT转换表,如附图4所示,这样当有数据返回到路由器WAN 口时,路由器可 以根据后三个字段Port2、Remote Address、Port3找到这个数据要返回给哪一个Local Address,这样便进行了一次完整的NAT转发了。NAT表用于存储每一个网络访问的数据要素,以便面对无数源IP发出的数量众多 的访问请求做到准确识别,一一对应,实现多IP准确、稳定共享上网的目的。传统的NAT表 主要具有如图4所示的字段内容Local Address 指的是内网发起访问请求的终端设备的IP地址。Portl 为内网发起访问请求的数据包的源端口。Global Address 为路由器等网关设备的WAN 口 IP地址,一般为可以在外网进行 数据传输的公网IP。Port2 为路由器等网关设备进行NAT转换后,从WAN 口发出的NAT转换后数据的 源端口。Remote Address 为内网发起网络访问的目的IP,是内网访问相关外网服务的服 务器IP地址。Port3 为内网发起网络访问的目的端口,是内网访问相关外网服务的端口。这样每一个NAT网络访问连接都会对应一条NAT记录,当相应访问请求回应到路 由器WAN 口时,路由器NAT会依据回应数据的源IP(也就是请求数据的目的IP)、源端口(也 就是请求数据的目的端口)、目的IP (也就是路由器WAN 口的IP)、目的端口(也就是请求 数据的发起源端口)查找到相应的NAT记录,确定该数据应当回应给哪一 IP的哪一端口, 进行NAT转换。传统的NAT转换过程在封装回应数据包时,返回数据回应到的IP可以通过NAT记 录中的Local Address获取,但是这个IP的MAC地址为多少,NAT记录里是没有的,需要从 图1或2中的ARP表中获取。
在以上的数据转换处理过程中,一旦有发送到路由器的ARP攻击,就会出现路由 器等网关设备不能将数据准确的返回给请求方,导致网络中断。

发明内容
为了解决上述现有技术实现上的缺点,本发明的目的是通过对路由器共享上网的 NAT技术进行改进,实现一种能够使路由器等网关设备对ARP病毒攻击免疫,即ARP攻击不 会对路由器等网关设备正常转发上网数据、处理返回数据造成影响,使网络正常工作,不受 破坏。所述技术方案如下一种解决ARP攻击路由器等网关设备导致网络掉线的“新型NAT”方法,其特征在 于通过NAT转换记录进行IP、MAC对应关系的保存,而不采用传统ARP缓存表,所述“新型 NAT”方法包含以下步骤步骤A 终端设备发起网络访问请求;步骤B 路由器NAT转换,在 现有NAT协议基础上,调整路由器等网关设备的NAT记录项,在NAT记录中加入新的字段, 该字段用于存放48位二进制数的MAC地址;步骤C 转发访问请求;步骤D 访问数据返回; 步骤E 当路由器收到请求的回应数据后,要将该数据返回给发起方时,查询已建的NAT表, 直接在NAT表中对应记录上取出该发起方的MAC地址,而不再利用ARP表进行IP和MAC的 转换;步骤F 返回数据给请求方。相应的,步骤B中有关共享访问数据NAT处理过程中,MAC地址是从收到的数据包 中获取,而不是通过ARP协议从ARP缓存表中获取。相应的,所述MAC地址从接收到数据包以太网首部中的“Source”记录中得到。本发明的技术方案带来的有益效果是在内网有对路由器等网关设备的数据攻击时,路由器等网关设备能够通过特殊的 NAT处理机制,起到对该种攻击先天免疫,使整个内网不受该种攻击影响,具有广泛的适用 性,而且这种方法无需添加任何附加设备,实施成本相对较低。


图1是本发明所述不受ARP攻击时路由器的ARP表示意图;图2是本发明所述受到ARP攻击后路由器的ARP表示意图;图3是本发明所述路由器传统NAT正常处理一次内网PC发起的访问的处理过程 流程图;图4是本发明所述路由器传统NAT记录示意图;图5是本发明所述路由器新型NAT记录示意图;图6是本发明所述路由器新型NAT正常处理一次内网PC发起的访问的处理过程 流程图;图7是本发明所述以太网协议帧结构,是新型NAT采用非ARP协议方式获取MAC 的依据。
具体实施例方式下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。本发明采用以下技术方案在路由器NAT转换记录中加入数据来源IP的MAC地址,这样发送方的IP和MAC都被记录到了 NAT表中,当路由器WAN 口收到返回数据时,就可 以通过查看NAT记录,由于NAT记录中已经有了数据来源IP的MAC地址,路由器就可以直 接把数据发送到该MAC上,而不需要查ARP表了。这是处理主要是因为ARP协议仅是用来 获取网络访问发起方MAC地址的,而其本身并不承担数据访问和传输,以一个没有实际网 络访问实质的协议决定网络数据传输源和目的双方MAC身份的方式存在巨大隐患,这就是 为什么ARP攻击对网络影响巨大的原因。采用新的NAT处理方式获取MAC信息后,即使路 由器受到了 ARP攻击,由于MAC信息是从发起方的请求数据中获取并存储到了 NAT记录中, 这样,ARP表中的IP和MAC对应信息不会成为路由器处理上网数据的返回MAC,路由器等网 关设备就会把数据准确的返回给对应的发起方。本技术方案的根本出发点为通过每一个网络访问协议、数据包上确认其真实的发 起方,而不再使用ARP协议和ARP缓存表;这样本技术方案的核心要点为第一,不使用ARP 协议作为NAT过程中IP和MAC对应关系的获取。第二,不使用ARP缓存表作为NAT过程中 IP和MAC对应关系的依据。本发明主要是改进如附图3所述的网络共享数据处理的第②、⑤步,取消第⑥步, 这样内网ARP攻击对路由器转发上网数据的影响就没有了。具体步骤为1.终端设备发起请求,本发明不涉及对终端设备的访问控制,终端设备依旧自主 发起网络访问;2.路由器NAT转换,本发明是要在每条NAT记录中不仅包含该条NAT的源IP,并 记录该源IP的MAC地址。相应NAT记录中IP的MAC地址的获取方法为从路由器接收的 网络访问请求的数据包中读取该IP的MAC地址,以这样的方式就可以保证读到的MAC地址 就是发起网络访问请求的MAC ;3.转发访问请求,本发明不涉及对该部数据处理的改变。转发的数据报依旧按照 NAT协议进行;4.数据返回,该过程指路由器收到的目的地址的回应;5.路由器NAT转换,路由器收到返回数据后,在NAT记录中取出源IP的MAC地址 作为数据回应的MAC,这样就不需要再次查找ARP表重新定位源IP的MAC地址了。6.将数据返回给数据请求发起方。对比传统的网络NAT处理过程(如图3)中通过ARP表获取相应IP的MAC地址的 方式,以上过程主要体现在对传统NAT处理过程的改变,实现了并不再使用ARP表获取MAC 地址。下面针对以上步骤以如图6所示的“新型NAT”处理过程进行进一步的详细说明 内网共享上网的终端设备发起网络访问请求即图中的“①终端设备发起请求”,路由器收到 后进行NAT转换,进行NAT转换创建NAT记录时,需要在原有基础上增加Local MAC项(新 型NAT记录示意图如图5所示),所谓Local MAC,指的是从内网发起的访问请求的数据包 中读取的原MAC地址,是在NAT过程中取得的,用以存储请求方的MAC地址,该MAC的获取 是从“①终端设备发起请求”的数据包的源MAC地址位读取的(图7为以太网IP包协议封 装结构其中以太网首部长度为14字节也就是112位,IP首部和TCP首部为20字节,也就 是160位。数据请求方的源MAC就是从以太网首都中的“Source”中读取的,Destination 填充的是目的MAC,Source填充的就是源MAC,Type为协议类型,0x0080表明的是IP协议,NAT记录中的MAC地址就是按照以太网IP协议中的以太网首部中的Source记录),这样就 确保了该MAC —定是数据请求发起方的MAC地址。然后进行NAT转换将请求发向公网,“④ 数据返回”后,路由器查找该返回对应的NAT记录,并进行“⑤路由器NAT转换”,转换过程 填充的返回的目的MAC直接从对应的NAT记录中的Local MAC字段读出,无需按照传统的 方式再去ARP表中获取,取消了传统过程的第6步。完整的NAT返回数据封装完成,可以将 返回数据给请求终端了。以上便是“新型NAT”技术方案处理流程,对于本方案的关键部分,获取NAT记录 中的MAC地址过程十分重要,是本发明的核心所在我们以数据包的源IP、源Port、目的 IP、、目的Port来标识一个网络访问连接。内网一个访问请求为源IP192. 168. 1. 1,源Port 为2627,目的IP为218. 57. 82. 125,目的Port为3077。路由器NAT转换后,便生成了如 图5 “新型NAT”第一条的记录,第一条记录中的Local MAC是从如图7所示的以太网首部 中读取得。当请求的公网返回数据达到路由器后,返回数据的源IP为218. 57. 82. 125,源 Port为3077,目的IP为202. 106. 100. 11,目的Port为2627,这样,根据这四个信息便唯一 查找到图7中NAT记录中的第一条,直接从第一条中获取NAT转换需要的请求发起方的IP 192. 168. 1. 1,Local MAC :00-0f-7a-00-00_01,端口 2627,无需查询 ARP 表,即获得了 NAT 相应IP的MAC地址。由于整个NAT处理过程中,没有涉及到ARP协议和ARP缓存,所以“新 型NAT”使路由器等网关设备在进行共享上网数据处理的过程中不受ARP攻击影响,实现了 路由器等网关设备对ARP攻击的先天免疫。“新型NAT”处理过程完整流程为图6 ①终端设备发起请求一②路由器NAT转换 —③转发访问请求一④数据返回一⑤路由器新型NAT转换、同时获取MAC信息一⑥返回数 据给请求终端。由于以上过程不涉及通过ARP协议获取对应IP的MAC信息,所以本发明实 现了对ARP攻击的先天免疫,使得ARP攻击不对路由器等网关设备造成影响。按照以上的处理方式,由于路由器在进行NAT转换时就记录下了数据发起方的 MAC地址,并将最终的返回数据转发到该MAC地址上,这样,哪一个MAC地址发起的访问,返 回数据就被准确的送回到那个MAC上,数据转发及回应处理准确,不会出现受到ARP攻击的 影响而导致返回数据不能送到原始发送方的问题。这样,ARP病毒对路由器的攻击使路由器受到攻击后不能将响应数据准确的返回 给发起方,造成内部PC不能正常使用网络的问题得到了彻底解决。“新型NAT”就是实现了 在NAT处理过程中解决ARP病毒攻击对路由器的影响目标。本发明的优点是1.路由器自动记录发送方的IP的MAC地址,保证返回数据准确送达发送方。2.内网设备的IP或MAC变化不会影响到路由器数据的处理,变化后的IP及MAC 的上网不会收到路由器特殊NAT处理方式的影响。3. ARP数据包中包含的ARP信息不参与路由器处理共享访问,实现了路由器等网 关设备对ARP病毒攻击的免疫。以上所述的实施例,只是本发明较优选的具体实施方式
,本领域的技术人员在本 发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
一种解决在以太网中利用ARP协议攻击路由器等网关设备导致网络掉线的“新型NAT”方法,其特征在于通过NAT转换记录进行IP、MAC对应关系的保存,而不采用传统ARP缓存表,所述“新型NAT”方法包含以下步骤步骤A终端设备发起网络访问请求;步骤B路由器NAT转换,在现有NAT协议基础上,调整路由器等网关设备的NAT记录项,在NAT记录中加入新的字段,该字段用于存放48位二进制数的MAC地址;步骤C转发访问请求;步骤D访问数据返回;步骤E当路由器收到请求的回应数据后,要将该数据返回给发起方时,查询已建的NAT表,直接在NAT表中对应记录上取出该发起方的MAC地址,而不再利用ARP表进行IP和MAC的转换;步骤F返回数据给请求方。
2.如权利要求1所述的“新型NAT”的方法,其特征在于步骤B中有关共享访问数据 NAT处理过程中,MAC地址是从收到的数据包中获取,而不是通过ARP协议从ARP缓存表中获取。
3.如权利要求2所述的“新型NAT”的方法,其特征在于所述MAC地址从接收到数据 包以太网首部中的“Source”记录中得到。
全文摘要
本发明涉及一种优化的NAT处理方式——“新型NAT”,该种处理方式通过在每一条NAT记录中加入数据请求发起方的MAC地址,实现路由器等网关设备通过查找NAT记录就可以直接获取数据发起方的MAC地址。避免了传统方式下通过在NAT记录中获取数据发起方的IP地址,然后再到ARP缓存表中查找该IP的MAC地址,似的传统方式在收到ARP病毒攻击后会造成MAC地址查询错误,导致网络中断。而通过路由器“新型NAT”处理机制的优化,使得路由器等网关设备对ARP病毒攻击先天免疫,增加了路由器等网关设备所在网络的稳定性,保证了数据处理的准确无误。
文档编号H04L12/28GK101883119SQ201010221998
公开日2010年11月10日 申请日期2010年7月9日 优先权日2010年7月9日
发明者潘薇 申请人:潘薇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1