路由装置及相关的封包处理电路的制作方法

文档序号:7744261阅读:191来源:国知局
专利名称:路由装置及相关的封包处理电路的制作方法
技术领域
本发明有关网络通讯装置,尤指能对网络地址解析数据被破坏的终端装置所发出的跨网段网络封包进行路由处理的路由装置及相关的封包处理电路。
背景技术
网际网络的应用已经深入渗透到许多人生活、工作和娱乐等各个层面中,使得网络资讯安全的重要性与日俱增。然而,网络病毒和入侵等各种网络安全威胁的型态和传播方式也在不断演进当中。对许多区域网络环境而言,除了要防范来自网络外部的安全威胁和攻击外,来自内部网络架构的威胁也是一大问题。举例而言,网络地址解析协议(Address Resolution Protocol,ARP)资讯(又称为ARP表或ARP快取)在以太网络的通讯上扮演重要角色,但由于通讯协定的不完善,使得攻击者或恶意程序很容易利用所谓的ARP欺骗(ARP Spoofing) 手段制造伪造的ARP封包,进而破坏区域网络内的终端装置的ARP资讯。常见的ARP攻击会破坏记录在终端装置的ARP资讯中的路由器地址资讯,导致终端装置会在要发送给路由器的网络封包标头中填入不是路由器真正物理地址的错误目的物理地址(physical address,例如MAC地址)。在习知的网络通讯协定下,当路由器收到该终端装置所发出的网络封包时,会因为这些网络封包的目的物理地址并不是指向路由器本身的物理地址而将这些网络封包丢弃,造成该终端装置无法连到其他网段或是无法上网的问题。当这种情况发生时,会造成使用者严重的不便,而且网络管理者也必须逐一检查并修正受影响的各终端装置的ARP资讯,才能恢复受影响的终端装置的网络连线功能,是一项非常耗时又烦人的工作。要降低区域网络受到ARP攻击的可能性,习知的一种作法是在区域网络内加装 VLAN交换器(VLAN Switch)。利用VLAN交换器把区域网络内所有终端装置间的连结在物理层做隔绝,使得伪造的ARP封包难以在终端装置间进行传送,藉此降低终端装置的ARP资讯遭受破坏的机会。然而,加装VLAN交换器必须增加额外的成本和增加整体区域网络架构的复杂性, 对小型网络环境或家用网络环境而言也不太符合经济效益,所以并非理想的解决方案。

发明内容
有鉴于此,如何以更经济便利的方式降低ARP攻击对区域网络内的终端装置的使用者所造成的威胁和不便,实系有待解决的问题。本说明书提供了一种用于路由装置的封包处理电路的实施例,其包含有一输出 /输入接口 ;以及一处理器,耦接于该输出/输入接口,当经由该输出/输入接口收到目的网络协定地址指向一外部网段,且目的物理地址与该路由装置的物理地址不同的一第一网络封包时,会产生目的网络协议地址与该第一网络封包的目的网络协议地址相同且来源物理地址与该路由装置的物理地址相同的一第二网络封包。本说明书另提供了一种路由装置的实施例,用来处理一第一网段中的终端装置的网络封包路由,其包含有一储存媒体,用来储存路由资讯(RoutingInformation)广第一网络接口,用来接收一终端装置所发出的网络封包;一处理器,耦接于该储存媒体与该第一网络接口,当经由该第一网络接口收到目的网络协议地址指向一第二网段的一第一网络封包时,不论该第一网络封包的目的物理地址是否与该路由装置的物理地址相同,都会依据该第一网络封包产生目的网络协议地址与该第一网络封包的目的网络协议地址相同,且来源物理地址与该路由装置的物理地址相同的一第二网络封包;以及一第二网络接口,耦接于该处理器,用来依据该路由资讯将该第二网络封包往一次传送点(next hop)传送。本发明的优点之一是,无需加装其他VLAN交换器,便可降低ARP攻击对区域网络内的终端装置的对外网络通讯所造成的威胁。本发明的另一项优点在于,路由装置仅需检查一网络封包标头栏位中的目的网络协议地址和来源地址,而无需耗费额外运算能力去读取该网络封包的承载数据内容,便能快速地判断出该网络封包的来源装置是否受到ARP攻击,并维持该来源装置与其它网段的通讯能力。本发明的另一优点是,即便区域网络内的终端装置受到了 ARP攻击,本发明所揭露的路由装置和相关的封包处理电路仍可维持该终端装置与网际网络或其他网段的通讯, 让系统管理者可以不必耗时费力的逐一检查和修复受攻击的各个终端装置的ARP资讯。


图1是本发明的网络系统的一实施例简化后的示意图。图2是本发明的封包处理电路的一实施例功能方块图。图3是本发明的封包路由方法的一实施例流程图。主要元件符号说明100 网络系统110 路由装置112 封包处理电路114、116 网络接口118 储存媒体120 区域网络122、124、126 终端装置128 集线器130 其他网段210 处理器220 输出/输入接口
具体实施例方式以下将配合相关图式来说明本发明的实施例。在这些图式中,相同的标号表示相同或类似的元件。
在说明书及后续的权利要求当中使用了某些词汇来指称特定的元件。本领域技术人员应可理解,制造商可能会用不同的名词来称呼同样的元件。本说明书及后续的权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的基准。在通篇说明书及后续的请求项当中所提及的「包含」为一开放式的用语,故应解释成 「包含但不限定于...」。另外,「耦接」一词在此包含任何直接及间接的连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接(包含通过电性连接或无线传输、光学传输等讯号连接方式)连接于该第二装置,或通过其他装置或连接手段间接地电性或讯号连接至该第二装置。图1所绘示为本发明一实施例的网络系统100简化后的示意图。在网络系统100 中,路由装置(又称为通讯闸道)Iio是区域网络120与其他网段(例如网际网络)130之间的通讯桥梁。本实施例中的路由装置110包含一封包处理电路112、用来与区域网络120 进行通讯的一网络接口 114、用来与其他网段130进行通讯的一网络接口 116、以及一储存媒体118。实作上,路由装置110可以是专用的网络设备,也可以将具有封包转递能力的软件或作业程序架设在一般电脑上来实现。路由装置110和区域网络120间,以及路由装置110和其他网段130间的通讯,都可利用有线传输或无线传输方式来达成。因此,网络接口 114和网络接口 116可以是传统的有线网络接口,也可以是无线通讯接口。储存媒体118则是用来储存路由装置110运作时所需的路由资讯及ARP资讯。储存媒体118可以是内建于路由装置110中的储存装置、 外接的储存装置、也可以是以上两者的组合。如图1所示,区域网络120中包含有多个终端装置(图中以终端装置122、124和 126为例)。这些终端装置可以是手机、电脑、PDA、机上盒、游戏机或任何其他具有网络存取功能的设备。实作上,区域网络120内的多个终端装置可以通过一个或多个集线器(或交换器)128以有线或无线方式互联,建构成较复杂或较大型的区域网络环境,并耦接于路由装置110的网络接口 114。在区域网络120中,各个终端装置122、124、126会利用ARP封包来取得路由装置 110与其他终端装置的物理地址(例如MAC地址)和网络协议地址(例如IPv4地址或IPv6 地址)的配对数据,并据以更新自己的ARP资讯。为方便说明起见,在此假设路由装置110 的物理地址是MAC_110、网络协议地址是IP_110 ;终端装置122的物理地址是MAC_122、网络协议地址是IP_122 ;终端装置124的物理地址是MAC_124、网络协议地址是IP_124。终端装置126的物理地址是MAC_126、网络协议地址是IP_126。在正常情况下,终端装置122的ARP资讯中会记录有MAC_110与IP_110的配对数据、MAC_124与IP_124的配对数据、以及MAC_U6与IP_126的配对数据。终端装置124的 ARP资讯中会记录有MAC_110与IP_110的配对数据、MAC_122与IP_122的配对数据、以及 MAC_126与IP_126的配对数据。终端装置126的ARP资讯中会记录有MAC_110与IP_110 的配对数据、MAC_122与IP_122的配对数据、以及MAC_1M与IP_124的配对数据。因此,当终端装置122要传送一网络封包A至一目的网络装置时,终端装置122会在网络封包A中的来源物理地址栏位和来源网络协议地址栏位,分别填入终端装置122自己的物理地址MAC_122和网络协议地址IP_122。若该目的网络装置是同样位在同一网段内的其他终端装置,例如终端装置124,则终端装置122会在网络封包A的目的物理地址栏位和目的网络协议地址栏位,分别填入终端装置124的物理地址MAC_1M和网络协议地址 IP_124。倘若该目的网络装置是位于其他网段130中,例如该目的网络装置是网际网络上的某一网页服务器(假设其网络协议地址为IP_Web),则终端装置122会在网络封包A的目的物理地址栏位中填入路由装置110的物理地址MAC_110,并在网络封包A的目的网络协议地址栏位中,填入该网页服务器的网络协议地址IP_Web。藉由以上方式,区域网络120中的各个终端装置122、124、126便能与同一网段内的其他终端装置进行通讯,亦能通过路由装置Iio与其他网段130中的网络装置进行通讯。然而,当区域网络120发生ARP攻击时,各个终端装置可能会收到伪造的ARP封包,而使自己原先记录的ARP资讯遭到破坏。例如,假设终端装置IM受到恶意人士操控或是病毒感染,利用ARP欺骗(ARP Spoofing)手段将通讯闸道(亦即路由装置110)的网络协议地址IP_110与一编造的物理地址MAC_X进行配对,并放在伪造的ARP广播封包中发送给区域网络120内的其他终端装置122、126。当终端装置122和1 收到该伪造的ARP广播封包后,便会将原先记录在ARP 资讯中与路由装置110相对应的MAC_110与IP_110的配对资料,更改成MAC_X与IP_110 的错误配对。当终端装置122之后要传送一网络封包B给位于其他网段130中的目的网络装置时,会在网络封包B的目的物理地址栏位中填入错误的物理地址MAC_X,并在网络封包B的目的网络协议地址栏位中,填入该目的网络装置的网络协议地址。当路由装置110收到网络封包B时,若按照习知的路由方法来处理网络封包B,便会因为网络封包B的目的物理地址栏位中所填的地址MAC_X与路由装置110的物理地址 MAC_110不同,而直接将网络封包B舍弃不予处理。如此一来,将会导致终端装置122无法连线至其他网段130中的目的网络装置的问题(例如无法连线至网际网络)。为避免这种情况,本发明的路由装置110会采用不同于习知方式的路由方法,来处理接收到的网络封包,以维持区域网络120内的终端装置的对外连线能力。以下将搭配图2与图3来进一步说明本发明的路由装置110的运作方式。图2为本发明的封包处理电路112的一实施例功能方块图。在本实施例中,封包处理电路112包含一处理器210与一输出/输入接口 220。输出/输入接口 220耦接于路由装置110的网络接口 114、网络接口 116、以及储存媒体118,用来进行处理器210与网络接口 114、116、以及储存媒体118间的资料传输。图3为本发明的封包路由方法的一实施例流程图300。当路由装置110的网络接口 114收到终端装置122所发出的一网络封包C时,封包处理电路112的处理器210会进行步骤310,检查网络封包C的目的物理地址栏位内容是否与路由装置110的物理地址 MAC_110相同。如果网络封包C的目的物理地址栏位所填的地址是路由装置110的物理地址MAC_110,则处理器210会进行步骤370。倘若网络封包C的目的物理地址栏位所填的地址与路由装置110的物理地址 MAC_110不同,则处理器210会进行步骤320。以前述终端装置122的ARP资讯受到伪造的 ARP封包破坏的情况为例,终端装置122会在网络封包C的目的物理地址栏位中填入与路由装置110的物理地址MAC_110不同的物理地址MAC_X。当本发明的封包处理电路112遇到这种情况时,不会按照习知的以太网络通讯方式直接舍弃该网络封包C,而是会进行步骤320。在步骤320中,处理器210会判断网络封包C是否为一有效(Valid)封包。实作上,处理器210可依据网络封包C的来源地址资讯判断网络封包C是否为有效封包。「来源地址」一词在此及后续说明中所指称者,可能是网络封包的来源网络协议地址或来源物理地址、也可能是前述两者的组合。例如,在一实施例中,处理器210会于网络封包C的来源网络协议地址、来源物理地址或两者同时都在路由装置110负责处理的网段范围内时,将网络封包C的来源地址认定为有效地址,进而将该网络封包C判断为有效封包。在另一实施例中,处理器210会检查储存媒体118所储存的ARP资讯,若其中记录有网络封包C的来源网络协议地址、来源物理地址或两者的配对数据时,则会将网络封包C 的来源地址判断为有效地址,进而将该网络封包C判断为有效封包。在另一实施例中,不仅储存媒体118的ARP资讯中要记录有网络封包C的来源网络协议地址和来源物理地址两者的配对数据,且该笔配对数据还必须是由一网络管理者所设定的,处理器210才会将网络封包C的来源地址判断为有效地址,并将该网络封包C判断为有效封包。例如,若储存媒体118的ARP资讯中有记录网络封包C的来源网络协议地址和来源物理地址的配对数据,且该笔配对数据的类型是设定成静态(Static),处理器210 便可将该笔配对数据认定是由网络管理者所设定的数据,并将网络封包C的来源地址判断成有效地址。另外,处理器210也可依据其他与网络封包C的来源地址资讯相关的数据,来判断网络封包C是否为有效封包。例如,处理器210可记录负责处理的网段内每一终端装置的地址与其他网段(例如网际网络)连线的相关数据(例如连线频率、次数、及/或最后连线时间等)。当处理器210发现网络封包C的来源网络协议地址或来源物理地址与其他网段连线的相关数据符合一预定条件时(例如连线频率高过一临界频率以及/或连线次数高过一临界次数等),便可推断该来源网络协议地址或来源物理地址是在路由装置110负责处理的网段内,进而将网络封包C的来源地址判断成有效地址,并将该网络封包C判断为有效封包。前述预定条件中的临界频率和临界次数可以是固定的,也可以由网络管理者依网络架构的环境或特性而调整。实作上,亦可将处理器210的演算法设计成当网络封包C的来源地址或相关的数据符合以上所述的两个或两个以上的条件时,处理器210才会将网络封包C的来源地址判断成有效地址,并将网络封包C判断成有效封包。或者,亦可利用其他的封包验证机制、来源地址验证机制、或安全验证机制来作为判断网络封包C的来源地址是否有效,或判断该网络封包C是否为有效封包的依据。倘若处理器210于步骤320中的判断结果认为该网络封包C的来源地址不是有效地址,或是网络封包C并非有效封包,则会进行步骤330,将该网络封包C舍弃,不予处理。 倘若处理器210判断该网络封包C的来源地址是有效地址,或是判断网络封包C是有效封包,则会进行步骤;340。在步骤340中,处理器210会读取网络封包C的目的网络协议地址栏位中的值,并据以判断网络封包C的目的地是在路由装置110负责处理的网段范围内,还是属于其他网段 130。若网络封包C的目的网络协议地址是指向区域网络120内同一网段中的其他终端装置(假设是终端装置126),则处理器210会进行步骤350。在步骤350中,封包处理电路112会通过网络接口 114将该网络封包C送往物理地址MAC_U6所对应的目的装置,亦即区域网络120中的终端装置126。在某些实施例中, 处理器210还可于步骤350的流程之前,对网络封包C中的承载数据进行预定的处理,例如扫毒、拦截恶意程序、封包过滤、或其他应用层的处理等等。若处理器210在步骤340中发现网络封包C的目的网络协议地址是指向属于其他网段130的目的装置(假设其网络协议地址是IP_WAN),则处理器210会推断网络封包C的来源装置(亦即终端装置12 受到了 ARP攻击。因此,为了避免终端装置122的对外连线功能中断会对其使用者造成不便,一实施例中之处理器122会进行步骤360,并可依封包处理电路112的预设规则决定是否要发出警讯通知网络管理者。在步骤360中,处理器会将该网络封包C的目的物理地址栏位所填的地址更改成路由装置110的物理地址MAC_110,以产生一中间网络封包C’。在步骤370中,处理器210会在储存媒体118所记录的路由资讯中查找出与网络协议地址IP_WAN相对应的路由规则,以及该路由规则所对应的次传送点(next hop)。在步骤380中,处理器210会依据该中间网络封包C’产生一待传送网络封包D。 实作上,处理器210可直接以中间网络封包C’的承载数据(在本实施例中与网络封包C的承载数据相同)作为待传送网络封包D的承载数据,亦可对中间网络封包C’中的承载数据进行预定的处理,例如扫毒、拦截恶意程序、封包过滤、或其他应用层的处理等等,并以处理后得到的数据作为网络封包D的承载数据。此外,处理器210还会将网络封包D的目的网络协议地址设成与中间网络封包C’之目的网络协议地址IP_WAN(亦即网络封包C的目的网络协议地址)相同,并在网络封包D的来源物理地址栏位填入路由装置110之物理地址 MAC_110。换言之,处理器210在步骤380中会产生目的网络协议地址与网络封包C的目的网络协议地址IP_WAN相同,且来源物理地址与路由装置110的物理地址MAC_110相同的网络封包D。接着,封包处理电路112会进行步骤390,通过网络接口 116将该网络封包D往步骤370中得到的该次传送点传送。请注意,流程图300中各步骤的实施顺序仅为一实施例,而非局限本发明的实作方式。例如,步骤310、步骤320、和步骤330的顺序可以是任意排列。此外,在区域网络120 架构较单纯(例如区域网络120内只有一个网段)、区域网络120内的终端装置组成很少变动、新终端装置的加入都会经过网络管理者确认、或是路由装置110的ARP资讯是由网络管理者设定和控制的环境中,可将步骤310及/或步骤320省略。实作上,亦可将步骤360省略。由以上说明可知,当区域网络120内的终端装置122受到伪造的ARP封包攻击,造成其ARP资讯中关于路由装置110的物理地址数据发生错误,因而在要传送到其他网段130 的网络封包C中填入了错误的目的物理地址,本发明的封包处理电路112的处理器210并不会直接舍弃该网络封包C,而是会进行其他的检验程序,以评估发出该网络封包C的终端装置122是否受到了 ARP攻击。在前面的例子中,处理器210发现网络封包C的目的网络协议地址指向其他网段130,但目的物理地址却与路由装置110的物理地址MAC_110有所不同,处理器210会因此推断终端装置122的ARP资讯已受到ARP攻击的破坏。此时,本发明的封包处理电路112会继续为网络封包C执行路由处理,将其转换成网络封包D,并往正确的路由路径发送出去,以使终端装置122与其他网段(例如网际网络)的通讯不会因终端装置122的ARP资讯发生错误而中断。从前述说明亦可发现,使用本发明的路由装置110的网络架构无需加装VLAN交换器,便可降低ARP攻击对区域网络内的终端装置的对外网络通讯所造成的威胁,可节省网络建置的成本。路由装置110的另一项优点在于,其仅需检查一网络封包标头栏位中的目的网络协议地址和来源地址,而无需耗费额外运算能力去读取该网络封包的承载数据内容,便能快速地判断出该网络封包的来源装置是否受到ARP攻击,并维持该来源装置与其它网段的通讯能力,可有效降低ARP攻击对区域网络的威胁。另外,由于本发明的路由装置110和相关的封包处理电路112在一终端装置的ARP 资讯受到破坏后,仍可维持该终端装置与网际网络或其他网段的通讯,系统管理者就不必逐一检查和修复受攻击的各个终端装置的ARP资讯。以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种用于路由装置的封包处理电路,该路由装置用来处理一第一网段中的终端装置的网络封包路由,该封包处理电路包含有一输出/输入接口 ;以及一处理器,耦接于该输出/输入接口,当经由该输出/输入接口收到目的网络协议地址指向一第二网段,且目的物理地址与该路由装置的物理地址不同的一第一网络封包时,会产生目的网络协议地址与该第一网络封包的目的网络协议地址相同且来源物理地址与该路由装置的物理地址相同的一第二网络封包。
2.如权利要求1所述的封包处理电路,其中若该第一网络封包是一有效封包或该第一网络封包的来源地址包含一有效地址,该处理器才会产生该第二网络封包。
3.如权利要求1所述的封包处理电路,其中该处理器依据该第一网络封包产生目的网络协议地址与该第一网络封包的目的网络协议地址相同,且目的物理地址与该路由装置的物理地址相同的一中间封包,再依据该中间封包产生该第二网络封包。
4.如权利要求1所述的封包处理电路,其中若该第一网络封包符合以下条件的至少其中之一,该处理器才会产生该第二网络封包(a)该第一网络封包的来源地址在该第一网段的范围内;(b)该第一网络封包的来源地址记录在该路由装置的一网络地址解析协议资讯中;(c)该第一网络封包的来源地址是由一网络管理者所设定;或(d)该第一网络封包的来源地址与该第一网段外的其他网段的连线频率高于一临界值。
5.如权利要求1所述的封包处理电路,其中该处理器会以该第一网络封包的承载数据经过一预定处理后所得到的数据,作为该第二网络封包的承载数据。
6.一种路由装置,用来处理一第一网段中的终端装置的网络封包路由,其包含有一储存媒体,用来储存路由资讯;一第一网络接口,用来接收网络封包;一处理器,耦接于该储存媒体与该第一网络接口,当经由该第一网络接口收到目的网络协议地址指向一第二网段的一第一网络封包时,不论该第一网络封包的目的物理地址是否与该路由装置的物理地址相同,都会依据该第一网络封包产生目的网络协议地址与该第一网络封包的目的网络协议地址相同,且目的物理地址与该路由装置的物理地址相同的一第二网络封包;以及一第二网络接口,耦接于该处理器,用来依据该路由资讯将该第二网络封包往一次传送点传送。
7.如权利要求6所述的路由装置,其中若该第一网络封包是一有效封包或该第一网络封包的来源地址包含一有效地址,该处理器才会产生该第二网络封包。
8.如权利要求6所述的路由装置,其中该处理器依据该第一网络封包产生目的网络协议地址与该第一网络封包的目的网络协议地址相同,且目的物理地址与该路由装置的物理地址相同的一中间封包,再依据该中间封包产生该第二网络封包。
9.如权利要求6所述的路由装置,其中若该第一网络封包符合以下条件的至少其中之一,该处理器才会产生该第二网络封包(a)该第一网络封包的来源地址在该第一网段的范围内;(b)该第一网络封包的来源地址记录在该路由装置的一网络地址解析协议资讯中;(C)该第一网络封包的来源地址是由一网络管理者所设定;或(d)该第一网络封包的来源地址与该第一网段外的其他网段的连线频率高于一临界值。
10.如权利要求6所述的路由装置,其中该处理器会以该第一网络封包的承载数据经过一预定处理后所得到的数据,作为该第二网络封包的承载数据。
全文摘要
本发明所提出用于路由装置的封包处理电路之一,包含有一输出/输入接口;以及一处理器,耦接于该输出/输入接口,当经由该输出/输入接口收到目的网络协议地址指向一外部网段,且目的物理地址与该路由装置的物理地址不同的一第一网络封包时,会产生目的网络协议地址与该第一网络封包的目的网络协议地址相同且来源物理地址与该路由装置的物理地址相同的一第二网络封包。即便发出该第一网络封包的终端装置的ARP资讯因ARP攻击而受到破坏,本发明的封包处理电路仍可维持该终端装置与其他网段(例如网际网络)的通讯。
文档编号H04L12/56GK102195862SQ201010130530
公开日2011年9月21日 申请日期2010年3月11日 优先权日2010年3月11日
发明者邬培麟 申请人:正文科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1