路由装置及相关的控制电路的制作方法

文档序号:7744263阅读:110来源:国知局
专利名称:路由装置及相关的控制电路的制作方法
技术领域
本发明有关网络通讯装置,尤指对网络地址解析攻击有较高防御能力的路由装置及相关的控制电路。
背景技术
网络地址解析协议(Address Resolution Protocol,ARP)资讯在以太网络的通讯上扮演重要角色,但习知区域网络内的终端装置或路由装置的网络地址解析资讯,却很容易被攻击者或恶意程序利用所谓的ARP欺骗(ARPSpoofing)手段加以破坏。由于路由装置是负责处理区域网络与其他网段间的数据往来的关键设备,一旦路由装置中的网络地址解析资讯因ARP攻击而受到破坏,将会造成区域网络内的终端装置无法与其他网段(例如网际网络)进行通讯的严重问题。要避免路由装置中的网络地址解析资讯受到ARP攻击的破坏,习知的一种解决方法是网络管理者亲自设定路由装置中的每一笔网络地址解析资讯。然而,这种方法对许多网络环境而言并不实用。例如,对于动态分配网络协议地址的网络环境、终端装置可经常移动位置的无线网络环境、或是终端装置数量庞大或架构复杂的网络环境而言,要求网络管理者逐一设定路由装置中数量庞大且可能随时变动的网络地址解析资讯,显然是不切实际的方式。

发明内容
有鉴于此,如何提升路由装置对ARP攻击的防御能力,实系有待解决的问题。本说明书提供了一种用于路由装置的控制电路的实施例,其包含有一输出/输入接口 ;以及一处理器,耦接于该输出/输入接口,当该处理器接收到一网络地址解析封包,且该网络地址解析封包所包含的一第一网段的一网络协议地址的网络地址解析资讯与该路由装置中的记录不同时,若该网络协议地址曾至少一次存取其他网段,且符合一预定条件,则该处理器不会更新该网络协议地址的网络地址解析资讯。本说明书提供了一种用于路由装置的控制电路的实施例,其包含有一输出/输入接口 ;以及一处理器,耦接于该输出/输入接口,当一第一网段的一网络协议地址曾多次存取其他网段,且符合一预定条件时,该处理器会将该网络协议地址的网络地址解析资讯设成不可改变。本说明书另提供了一种路由装置的实施例,其包含有一控制电路,当接收到一第一网络封包时,若该网络封包的来源网络协议地址位于一第一网段、目的网络协议地址指向一第二网段、目的物理地址与该路由装置的物理地址不同、且该来源网络协议地址符合一预定条件,则该处理器会产生目的网络协议地址与该第一网络封包的目的网络协议地址相同,且来源物理地址与该路由装置的物理地址相同的一第二网络封包;其中该预定条件选自于由下列情况所组成的一群组(a)离该来源网络协议地址先前存取其他网段的时间,小于一预定时间长度;(b)该来源网络协议地址存取其他网段的频率达到一预定频率;(C)该来源网络协议地址曾存取其他网段达一预定次数;及(d)该来源网络协议地址先前存取其他网段时使用的物理通讯埠,与收到该网络封包的物理通讯埠相同。本发明的优点之一在于,可有效改善路由装置对于伪造的网络地址解析封包的辨识能力,进而提升对于ARP攻击的防御力及/或警示能力。本发明的另一优点在于,路由装置可依据每一网络协议地址存取其他网段的情况,动态地决定是否允许变更个别网络协议地址的网络地址解析资讯,无需网络管理者的介入操作,故适用于各种网络环境中。本发明的另一优点在于,路由装置仅需分析一网络封包的来源网络协议地址存取其他网段的相关连线记录,而无需耗费额外运算能力去读取该网络封包的承载数据内容便能快速地自动判断该网络封包是否有效,并决定后续的处理动作,可有效提升网络的资讯安全。本发明的另一优点是,即便区域网络内的终端装置中的网络地址解析资讯受到 ARP攻击的破坏,路由装置仍可维持该终端装置与网际网络或其他网段的通讯,大幅降低了 ARP攻击对于网络通讯的威胁。


图1是本发明的网络系统的一实施例简化后的示意图。 图2是本发明的控制电路的一实施例功能方块图。 图3是本发明的网络地址解析资讯管理方法的第一实施例流程图。 图4是本发明的特定网络协议地址的相关连线记录的一实施例示意图, 图5是特定网络协议地址以TCP传输方式存取其他网段的示意图。 图6是特定网络协议地址以UDP传输方式存取其他网段的示意图。 图7是本发明的网络地址解析资讯管理方法的第二实施例流程图。 图8是本发明的网络封包处理方法的一实施例流程图。主要元件符号说明
100 网络系统 110 路由装置 112 控制电路 114,116 网络接口 118 储存媒体 120 区域网络 122、124、126终端装置 128 集线器 130 其他网段 210 处理器 220 输出/输入接口 400 连线记录表 410、420、430、440、450、460 栏 402,404,406 列
具体实施例方式以下将配合相关图式来说明本发明的实施例。在这些图式中,相同的标号表示相同或类似的元件或流程步骤。在说明书及后续的权利要求当中使用了某些词汇来指称特定的元件。本领域技术人员应可理解,制造商可能会用不同的名词来称呼同样的元件。本说明书及后续的权利要求书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的基准。在通篇说明书及后续的权项当中所提及的「包含」为一开放式的用语,故应解释成 「包含但不限定于...」。另外,「耦接」一词在此包含任何直接及间接的连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接(包含通过电性连接或无线传输、光学传输等讯号连接方式)连接于该第二装置,或通过其他装置或连接手段间接地电性或讯号连接至该第二装置。图1所绘示为本发明一实施例的网络系统100简化后的示意图。在网络系统100 中,路由装置(又称为通讯闸道)Iio是区域网络120与其他网段(例如网际网络)130之间的通讯桥梁。本实施例中的路由装置110包含一控制电路112、用来与区域网络120进行通讯的一网络接口 114、用来与其他网段130进行通讯的一网络接口 116、以及一储存媒体 118。实作上,路由装置110可以是专用的网络设备,也可以将具有封包转递能力的软件或作业程序架设在一般电脑上来实现。路由装置110和区域网络120间,以及路由装置110和其他网段130间的通讯,都可利用有线传输或无线传输方式来达成。因此,网络接口 114和网络接口 116可以是传统的有线网络接口,也可以是无线通讯接口。储存媒体118则是用来储存路由装置110运作时所需的路由资讯及网络地址解析资讯(Address Resolution Information) 0储存媒体118 可以是内建于路由装置110中的储存装置、外接的储存装置、也可以是以上两者的组合。如第1图所示,区域网络120中包含有多个终端装置(图中绘示终端装置122、124 和1 为例)。这些终端装置可以是手机、电脑、PDA、机上盒、游戏机或任何其他具有网络存取功能的设备。实作上,区域网络120内的多个终端装置可以通过一个或多个集线器(或交换器)128以有线或无线方式互联,建构成较复杂或较大型的区域网络环境,并耦接于路由装置110的网络接口 114。以下将搭配图2与图3来进一步说明本发明的路由装置110的运作方式。图2为本发明的控制电路112的一实施例功能方块图。在本实施例中,控制电路 112包含一处理器210与一输出/输入接口 220。输出/输入接口 220耦接于路由装置110 的网络接口 114、网络接口 116、以及储存媒体118,用来进行处理器210与网络接口 114、 116、以及储存媒体118间的数据传输。图3为本发明路由装置110的网络地址解析资讯管理方法的一实施例流程图300。在步骤310中,当路由装置110刚开始与区域网络120建立连线关系时,控制电路 112的处理器210会通过区域网络120内个别终端装置所发出的网络地址解析封包(例如 ARP询问封包或ARP答复封包),取得个别终端装置的物理地址(例如MAC地址)和网络协议地址(例如IPv4地址或IPv6地址)的配对数据。以下假设路由装置110的物理地址是 MAC_110、网络协议地址是IP_110 ;终端装置122的物理地址是MAC_122、网络协议地址是IP.122 ;终端装置124的物理地址是MAC_124、网络协议地址是IP_124。终端装置126的物理地址是MAC_126、网络协议地址是IP_126。一般而言,IP_122、IP_124以及属于同一网段。为方便说明起见,以下假设网络管理者亲自为路由装置110设定终端装置122的网络地址解析资讯为IP_122与MAC_122的配对,而处理器210于步骤310中收到终端装置 124所传来包含MAC_1M与配对的一网络地址解析封包ARP_124以及终端装置1 所传来包含MAC_U6与IP_126配对的一网络地址解析封包ARP_126。接着,处理器210会进行步骤320,将网络地址解析封包ARP_1M与ARP_U6个别包含的网络协议地址与物理地址的配对数据记录于储存媒体118中,以建立路由装置110 的初步网络地址解析资讯。如前所述,攻击者、入侵者或恶意程序很容易假造网络地址解析封包来攻击路由装置所储存的网络地址解析资讯。习知的路由装置由于难以判定网络地址解析封包的真伪,所以不能有效地抵挡ARP攻击。为了提升路由装置110对ARP攻击的防御能力,在路由装置110的初步网络地址解析资讯建立之后,控制电路112的处理器210会进行步骤330,监视区域网络120内的个别网络协议地址存取其他网段(例如网际网络)的情况。每当处理器210发现区域网络120内的一网络协议地址存取其他网段(例如与其他网段130成功建立网络连线)时,便会进行步骤340,将该网络协议地址的相关连线记录储存于储存媒体118中,以作为判断后续收到的网络地址解析封包有效性的依据。例如,图4所绘示的连线记录表400是储存于储存媒体118中的相关连线记录的一实施例。在本实施例中,处理器210会将在步骤310中所收到的网络协议地址与物理地址的配对数据(例如与MAC_124的配对),分别记录在连线记录表400的栏410与栏420中。如图4所示,连线记录表400每一列所储存的数据为特定网络协议地址的相关连线记录。举例而言,列402是用来储存网络协议地址IP_122(正常情况下应该是终端装置122的网络协议地址)与其他网段间的相关连线记录,而列404是用来储存网络协议地址IP_124(正常情况下应该是终端装置IM的网络协议地址)与其他网段间的相关连线记录。对连线记录表400的每一列而言,栏430用来记录特定网络协议地址存取其他网段(如果有的话)时,所使用的网络接口 114上的物理通讯埠号码。栏440用来该特定网络协议地址存取其他网段(如果有的话)的时间点。栏450用来记录该特定网络协议地址与其他网段(但并不限定要同一网段)建立连线(Session/Socket)的次数,例如与其他网段130成功建立网络连线的累计次数。实作上,处理器210在判断特定网络协议地址存取其他网段130的时间点时,可以有多种选择,以下将以图5及图6为例来进一步说明。图5是特定网络协议地址以TCP传输方式存取其他网段130的示意图500。如图 5所示,当特定网络协议地址要以TCP传输方式存取其他网段130中的某一目的装置时,会先通过三方交握(Three-Way Handshaking)程序与该目的装置建立连线(Session),接着才会进入数据传输阶段。在一实施例中,处理器210会记录接收到特定网络协议地址于三方交握程序中所发出的连线确认封包的时间点510,并以的作为特定网络协议地址存取其他网段130的时间点。在另一实施例中,处理器210会记录该特定网络协议地址与该目的装置于数据传输阶段中进行第N次数据传输的时间点(例如接收到特定网络协议地址所发出的第N个数据封包的时间点520,或是接收到该目的装置所发出的第N个数据确认封包的时间点530), 并以之作为特定网络协议地址存取其他网段130的时间点,其中N的数值可依设计的需要而调整。除此之外,处理器210也可改用该特定网络协议地址与该目的装置确认结束数据传输的时间点,来作为特定网络协议地址存取其他网段130的时间点。图6是特定网络协议地址以UDP传输方式存取其他网段130的示意图600。由于 UDP传输方式不是一种连线导向的传输机制,故特定网络协议地址要与其他网段130中的某一目的装置建立连线(Socket)时,并不会先进行三方交握的程序,且数据的接收端收到数据封包后也不会回复确认讯息。在此情况下,处理器210可记录在特定网络协议地址发出数据封包后,第一次收到该目的装置回传的相对应数据封包的时间点610,并以之作为特定网络协议地址存取其他网段130的时间点。实作上,处理器210可于该目的装置发出的数据封包中的来源埠(Source Port)与目的埠(Destination Port)的内容与特定网络协议地址发出的数据封包相同时,将该目的装置发出的数据封包判断成是与特定网络协议地址发出的数据封包相对应。在其他实施例中,处理器210亦可用收到该特定网络协议地址所发出的第M个数据封包的时间点620,或是收到该目的装置所发出的第P个相对应数据封包的时间点630, 来作为特定网络协议地址存取其他网段130的时间点。每次处理器210侦测到特定网络协议地址与其他网段成功建立连线(kssion/ Socket)时,便会将连线记录表400中与该特定网络协议地址相对应的栏450的数值加一, 以记录特定网络协议地址与其他网段(并不限定要同一网段)成功建立连线的累计次数。在某些时候或应用中,网络管理者可能会亲自为路由装置110设定某些网络协议地址(例如IP_122)的网络地址解析资讯。因此,处理器210还会于连线记录表400的栏 460中设定一指示数据(Indicator),例如一旗标,以表示该特定网络协议地址的网络地址解析资讯是否为网络管理者所设定。在一实施例中,处理器210会将网络协议地址IP_122 所对应的栏460中的值设为1,代表路由装置110中关于网络协议地址IP_122的网络地址解析资讯是网络管理者亲自设定的。另外,处理器210则会将网络协议地址IP_124与 IP.126所对应的栏460中的值设为0,代表他们的网络地址解析资讯,是经由路由装置110 所收到的网络地址解析封包所获得,不是网络管理者亲自设定的。实作上,处理器210可持续性地进行步骤330与步骤340的流程,以更新连线记录表400的内容。另一方面,路由装置110在后续运作的过程中,可能会收到其他的网络地址解析封包,但所包含的特定网络协议地址的网络地址解析资讯与储存媒体118中的记录不同的情况(步骤350)。例如,假设路由装置110在步骤350中收到网络地址解析封包ARP_N,其传送端网络协议地址为IP_124,而传送端物理地址为MAC_N,亦即,网络地址解析封包ARP_ N所包含的网络协议地址IP_124的网络地址解析资讯(IP_124与MAC_N的配对)与路由装置110所记录的与MAC_1M的配对不同。遇到这种情况,处理器210会进行步骤 360。
发明人发现在许多网络环境中的大多数使用者都有一种共通的网络使用行为态样,那就是会因为工作、学习、娱乐、从事社交活动或单纯打发时间等各种原因,而频繁地连线到网际网络或其他网段进行网页或数据存取动作的倾向。因此,在步骤360中,处理器 210会分析连线记录表400中所储存的网络协议地址的相关连线记录是否符合与正常使用者的网络使用行为态样相对应的预定条件。在一实施例中,与正常使用者的网络使用行为态样相对应的条件,是网络协议地址IP_124与其他网段130(例如网际网络)的连线频率会达到一预定频率,例如10分钟1 次、1个小时3次、或是3个小时2次之类的。预定频率的高低亦可由网络管理者依据实际的网络应用环境来加以调整。因此,处理器210在步骤360中会分析网络协议地址IP_124 与其他网段130(例如网际网络)的连线频率是否达到该预定频率。实作上,处理器210可于步骤340中为连线记录表400增加一个记录连线频率计算结果的栏位,并于步骤360中直接判断该连线频率栏位的值是否达到或大于该预定频率值。若是,处理器210会判定网络协议地址IP_124的使用者的网络使用行为态样符合正常使用者的行为态样,因此,会将所包含的网络地址解析资讯与储存媒体118中的记录不一致的网络地址解析封包ARP_N判断成无效封包。或者,处理器210亦可将接收到网络地址解析封包ARP_N当时的系统时间,减去连线记录表400中对应于网络协议地址IP_122的栏440所记录的存取时间点Ta,以求得收到网络地址解析封包ARP_N的时间,离网络协议地址IP_122前一次存取其他网段130的时间点Ta有多久。计算所得的时间长度,其倒数便可以看成一种连线频率的表达方式。例如, 假设计算的结果是10分钟,表示收到网络地址解析封包ARP_N的时间,距离网络协议地址 IP.122上次存取其他网段的时间点Ta已经有10分钟,处理器210也可以将其解读成是网络协议地址IP_122最近的连线频率是10分钟1次。因此,处理器210亦可于步骤360中依据对应于网络协议地址IP_122的栏440所记录的存取时间点Ta,判断收到网络地址解析封包ARP_N的时间,离网络协议地址IP_122先前存取其他网段的时间是否小于一预定时间长度。若是,则代表网络协议地址的使用者的网络使用行为态样符合正常使用者的行为态样,因此,则处理器210会将网络地址解析封包ARP_N判断成无效封包。另外,在某些网络环境中,终端装置与路由装置110间的连接是通过固定的网络线来实现的,且个别终端装置与路由装置110的网络接口 114上的物理通讯埠的连接关系是固定不变的。在此情况下,与正常使用者的网络使用行为态样相对应的条件,是网络协议地址先前与其他网段建立连线、传输数据时使用的物理通讯埠,会与路由装置110 收到网络协议地址所发出的正常网络地址解析封包的物理通讯埠相同。因此,处理器210可于步骤360中判断收到网络地址解析封包ARP_N的通讯埠,是否与网络协议地址 IP.122先前存取其他网段时使用的物理通讯埠Port_l相同。若不相同,则代表网络地址解析封包ARP_N可能是伪造的网络地址解析封包,因此,处理器210会将网络地址解析封包 ARP_N判断成无效封包。在另一实施例中,与正常使用者的网络使用行为态样相对应的条件,是网络协议地址与其他网段130(例如网际网络)建立连线次数会达一预定次数,例如5次、10 次等。预定次数的多寡可由网络管理者依据实际的网络应用环境来加以调整。因此,处理器210于步骤360中会判断对应于网络协议地址IP_122的栏450所记录的建立连线次数Count_122是否达该预定次数。若Coimt_122的值未达该预定次数,则代表网络协议地址 IP.124的使用者的网络使用行为态样不符合正常使用者的行为态样,故处理器210会将网络地址解析封包ARP_N判断成无效封包。另外,在网络管理者亲自为路由装置110设定某些特定网络协议地址的网络地址解析资讯的网络应用中,该特定网络协议地址的网络地址解析资讯不应该会自行变动才对。因此,处理器210亦可于步骤360中依据连线记录表400的栏460的内容,来判断所收到的一网络地址解析封包是否有效。假设路由装置110在步骤350中收到网络地址解析封包ARP_Y,其传送端网络协议地址为IP_122,而传送端物理地址为MAC_Y,亦即,网络地址解析封包ARP_Y所包含的网络协议地址IP_122的网络地址解析资讯(IP_122与MAC_Y的配对)与路由装置110所记录的IP_122与MAC_122的配对不同。在步骤360中,处理器210 会依据网络协议地址为IP_122所对应的栏460中的值(本实施例中为1),得知路由装置 110中关于网络协议地址IP_122的网络地址解析资讯是网络管理者亲自设定的。由于网络地址解析封包ARP_YK包含的网络协议地址IP_122的网络地址解析资讯,与路由装置110 中由网络管理者所设定的既有记录产生冲突,故处理器210会将网络地址解析封包ARP_Y 判断成无效封包。实作上,亦可将处理器210设计成于步骤360进行以上所述的两项或两项以上的分析比对,以提升对网络地址解析封包有效性判断的准确度。前述实施例中的连线记录表400,用来储存路由装置110所知悉的每一网络协议地址与其他网段间的相关连线记录,与路由装置110运作所需的网络地址解析资讯(例如 ARP表)功能并不相同,因此两者可以分别记录于储存媒体118的不同区段中。实作上,处理器210可依据连线记录表400的内容来产生路由装置110运作所需的ARP表。若处理器210于步骤360的分析结果是将所收到的网络地址解析封包判断成无效封包,则处理器210不会更新储存媒体118中所记录的网络地址解析资讯(步骤370)。在一实施例中,处理器210此时还会进行步骤380,主动发出警示讯息通知网络管理者区域网络120内可能有ARP攻击发生,让网络管理者能尽早采取因应措施,以避免危害扩大。反之,若处理器210于步骤360的分析结果是将所收到的网络地址解析封包判断成有效封包,则会进行步骤390,依据所收到的网络地址解析封包更新储存媒体118中所记录的网络地址解析资讯,并一并更新连线记录表400中的栏410与栏420的内容。请参考图7,其所绘示为本发明路由装置110的网络地址解析资讯管理方法的另一实施例流程图700。流程图700中的步骤310 340与前述流程图300中的步骤310 340相同,故在此不再赘述。在步骤710中,控制电路112的处理器210会分析连线记录表400中所储存的各网络协议地址的相关连线记录是否符合与正常使用者的网络使用行为态样相对应的预定条件。步骤710的内容与前述的步骤360很类似,但差异点在于两者执行的时间点有所不同。在前述的流程图300中,处理器210是于接收到的网络地址解析封包所包含的网络地址解析资讯与路由装置110中的既有记录不一致时,才进行步骤360。但在流程图700中, 处理器210则是会周期性地进行步骤710,而不论当时是否有收到任何网络地址解析封包。 如前所述,处理器210可持续性地进行步骤330与340,以更新连线记录表400的内容,所以本实施例中的处理器210会定期对连线记录表400中的每一笔数据进行分析和检视,以判断各网络协议地址的相关连线记录是否符合与正常使用者的网络使用行为态样相对应的预定条件。若处理器210于步骤710的分析中发现,某一特定网络协议地址的相关连线记录符合与正常使用者的网络使用行为态样相对应的预定条件,则处理器210会进行步骤720。在步骤720中,处理器210会将储存媒体118中所记录的该特定网络协议地址的网络地址解析资讯设成不可改变(unchangeable)以避免受到ARP攻击的破坏。例如,在某些作业系统中,处理器210可将该特定网络协议地址的网络地址解析资讯的类型设成静态 (Static),以使得该笔网络地址解析资讯不会被路由装置110的其它程序修改。换言之,在特定网络协议地址的相关连线记录能通过步骤710的有效性检验的期间内,任何ARP攻击都无法破坏路由装置110中关于该特定网络协议地址的网络地址解析资讯的既有记录。在一实施例中,若处理器210于步骤710的分析中发现某一特定网络协议地址的相关连线记录,不符合与正常使用者的网络使用行为态样相对应的预定条件,且该特定网络协议地址的网络地址解析资讯是设成不可改变的状况,则处理器210会进行步骤720, 将路由装置110中关于该特定网络协议地址的网络地址解析资讯设成可改变。例如,在某些作业系统中,处理器210可将该特定网络协议地址的网络地址解析资讯的类型设成动态 (Dynamic),以使得处理器210可依据后续收到的相关网络地址解析封包,来更新储存媒体 118中关于该特定网络协议地址的网络地址解析资讯的既有记录。实作上,流程图300与流程图700所揭示的两种网络地址解析资讯管理方法可以并行运用。例如,处理器210可以于接收到网络地址解析封包时进行步骤360,以判断所收到的网络地址解析封包的有效性,另一方面又周期性地进行步骤710,以不断更新储存媒体 118中的ARP表的设定。由上述说明可知,本发明的优点之一在于,可有效改善路由装置110对于伪造的网络地址解析封包的辨识能力,进而提升对于ARP攻击的防御力及警示能力。本发明的另一优点在于,路由装置可依据每一网络协议地址存取其他网段的情况,动态地决定是否允许变更个别网络协议地址的网络地址解析资讯,无需网络管理者的介入操作,故可适用于各种网络环境中。请参考图8,其所绘示为本发明的网络封包处理方法的一实施例流程图800。当路由装置110的网络接口 114收到一网络封包(步骤810),控制电路112的处理器210会进行步骤820。步骤820的内容与前述的步骤360很类似,但差异点在于两者执行的时间点有所不同。在前述的流程图300中,处理器210是于接收到的网络地址解析封包所包含的网络地址解析资讯与路由装置110中的既有记录不一致时,才进行步骤360。但在流程图800中, 处理器210则是于接收到一网络封包时进行步骤820。假设路由装置110于步骤810中收到的网络封包,是来源网络协议地址为IP_126 的网络封包A,则处理器210在步骤820中会分析连线记录表400中所储存的网络协议地址 IP.126的相关连线记录是否符合与正常使用者的网络使用行为态样相对应的预定条件,以作为判断网络封包A是否为有效网络封包的依据。若处理器210于步骤820的分析中发现,网络封包A的来源网络协议地址IP_126 的相关连线记录不符合与正常使用者的网络使用行为态样相对应的预定条件,则处理器210会进行步骤830,将网络封包A判断成无效网络封包,并加以丢弃。若网络封包A的来源网络协议地址IP_126的相关连线记录符合与正常使用者的网络使用行为态样相对应的预定条件,则处理器210会对网络封包A作进一步的处理。例如,在一实施例中,处理器210会对网络封包A进行步骤840及后续的流程。在步骤840中,处理器210会读取网络封包A的目的网络协议地址栏位中的值, 以判断网络封包A的目的地是在路由装置110负责处理的网段范围内,还是属于其他网段 130。若网络封包A的目的网络协议地址是指向区域网络120内同一网段中的其他网络协议地址(假设是网络协议地址IP_12》,则处理器210会进行步骤850。在步骤850中,控制电路112会通过网络接口 114将网络封包A送往物理地址 MAC_122所对应的目的装置,亦即区域网络120中的终端装置122。在某些实施例中,处理器210还可于进行步骤850之前,对网络封包A中的承载数据进行预定的处理,例如扫毒、 拦截恶意程式、封包过滤、或其他应用层的处理等等。在一实施例中,若处理器210在步骤840中发现网络封包A的目的网络协议地址是指向属于其他网段130的目的装置(假设其网络协议地址是IP_WAN),则不论网络封包A 的目的物理地址栏位的值,是否为路由装置110的物理地址MAC_110,处理器122都会进行步骤860。若处理器210发现网络封包A的目的物理地址栏位的值不是指向路由装置110 的物理地址MAC_110,则处理器210会推断网络封包A的来源装置(正常情况下应该是终端装置126)受到了 ARP攻击,并可依控制电路112的预设规则决定是否要发出警讯通知网络管理者。在步骤860中,处理器会将该网络封包A的目的物理地址栏位所填的地址更改成路由装置110的物理地址MAC_110,以产生一中间网络封包A,。在步骤870中,处理器210会在储存媒体118所记录的路由资讯中查找出与网络协议地址IP_WAN相对应的路由规则,以及该路由规则所对应的次传送点(next hop)。在步骤880中,处理器210会依据中间网络封包Α’产生一待传送网络封包B。实作上,处理器210可直接以中间网络封包A’的承载数据(在本实施例中与网络封包A的承载数据相同)作为待传送网络封包B的承载数据,亦可对中间网络封包A’中的承载数据进行预定的处理,例如扫毒、拦截恶意程序、封包过滤、或其他应用层的处理等等,并以处理后得到的数据做为网络封包B的承载数据。此外,处理器210还会将网络封包B的目的网络协议地址设成与中间网络封包A’的目的网络协议地址IP_WAN (亦即网络封包A的目的网络协议地址)相同,并在网络封包B的来源物理地址栏位填入路由装置110的物理地址 MAC_110。换言之,处理器210在步骤880中会产生目的网络协议地址与网络封包A的目的网络协议地址IP_WAN相同,且来源物理地址与路由装置110的物理地址MAC_110相同的网络封包B。接着,处理器210会进行步骤890,通过网络接口 116将该网络封包B往次传送点传送。请注意,流程图800中各步骤的实施顺序仅为一实施例,而非局限本发明的实作方式。例如,步骤820和步骤840的顺序可以对调或同时进行。另外,亦可将步骤860的流程省略。
由以上说明可知,当路由装置110发现网络封包A的目的网络协议地址指向其他网段(例如网际网络)时,只要网络封包A的来源网络协议地址IP_126的相关连线记录符合与正常使用者的网络使用行为态样相对应的预定条件,即使网络封包A的目的物理地址栏位因终端装置1 受到ARP攻击而填错,本发明的路由装置110的处理器210就不会舍弃该网络封包A,而是会继续对其进行路由处理,将网络封包A转换成网络封包B,并往正确的路由路径发送出去,以使终端装置126与其他网段(例如网际网络)的通讯不会因受到 ARP攻击而中断。路由装置110的另一项优点在于,其仅需分析一网络封包的来源网络协议地址存取其他网段的相关连线记录,而无需耗费额外运算能力去读取该网络封包的承载数据内容,便能快速地自动判断该网络封包是否有效,并决定后续的处理动作,可有效提升网络的资讯安全。路由装置110的又一优点是,即便区域网络内的终端装置中的网络地址解析资讯受到ARP攻击的破坏,路由装置110仍可维持该终端装置与网际网络或其他网段的通讯,大幅降低了 ARP攻击对于网络通讯的威胁。以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种用于路由装置的控制电路,其包含有 一输出/输入接口 ;以及一处理器,耦接于该输出/输入接口,当该处理器接收到一网络地址解析封包,且该网络地址解析封包所包含的一第一网段的一网络协议地址的网络地址解析资讯与该路由装置中的记录不同时,若该网络协议地址曾至少一次存取其他网段,且符合一预定条件,则该处理器不会更新该网络协议地址的网络地址解析资讯。
2.如权利要求1所述的控制电路,其中若该网络协议地址符合该预定条件,则该处理器还会发出一通知讯息,以指示有网络地址解析攻击的情况发生。
3.如权利要求1所述的控制电路,其中该预定条件选自于由下列情况所组成的一群组(a)离该网络协议地址先前存取其他网段的时间,小于一预定时间长度;(b)该网络协议地址存取其他网段的频率达到一预定频率;及(c)该网络协议地址先前存取其他网段时使用的物理通讯埠,与收到该网络地址解析封包的物理通讯埠相同。
4.如权利要求1所述的控制电路,其中该其他网段指网际网络。
5.如权利要求1所述的控制电路,其中当该网络协议地址符合该预定条件时,该处理器会将该网络协议地址的网络地址解析资讯设成不可改变。
6.一种用于路由装置的控制电路,其包含有 一输出/输入接口 ;以及一处理器,耦接于该输出/输入接口,当一第一网段的一网络协议地址曾多次存取其他网段,且符合一预定条件时,该处理器会将该网络协议地址的网络地址解析资讯设成不 bJ 1 ^ (unchangeable)。
7.如权利要求6所述的控制电路,其中若该网络协议地址不符合该预定条件,该处理器会将该网络协议地址的网络地址解析资讯设成可改变。
8.如权利要求6所述的控制电路,其中该预定条件选自于由下列情况所组成的一群组(a)离该网络协议地址先前存取其他网段时间,小于一预定时间长度;(b)该网络协议地址存取其他网段的频率达到一预定频率;(c)该来源网络协议地址存取其他网段的次数达一预定次数;及(d)该网络协议地址先前存取其他网段时使用的物理通讯埠,与收到该网络地址解析封包的物理通讯埠相同。
9.如权利要求6所述的控制电路,其中当该处理器接收到一第一网络封包时,若该第一网络封包的来源网络协议地址为该网络协议地址、目的网络协议地址指向一第二网段、 且该网络协议地址符合该预定条件,则该处理器会产生目的网络协议地址与该第一网络封包的目的网络协议地址相同,且来源物理地址与该路由装置的物理地址相同的一第二网络封包。
10.一种路由装置,其包含有一控制电路,当接收到一第一网络封包时,若该网络封包的来源网络协议地址位于一第一网段、目的网络协议地址指向一第二网段、目的物理地址与该路由装置的物理地址不同、且该来源网络协议地址符合一预定条件,则该处理器会产生目的网络协议地址与该第一网络封包的目的网络协议地址相同,且来源物理地址与该路由装置之物理地址相同的一第二网络封包;其中该预定条件选自于由下列情况所组成的一群组(a)离该来源网络协议地址先前存取其他网段的时间,小于一预定时间长度;(b)该来源网络协议地址存取其他网段的频率达到一预定频率;(c)该来源网络协议地址曾存取其他网段达一预定次数;及(d)该来源网络协议地址先前存取其他网段时使用的物理通讯埠,与收到该网络封包的物理通讯埠相同。
全文摘要
本发明所提出用于路由装置的控制电路之一,包含有一输出/输入接口;以及一处理器,耦接于该输出/输入接口,当一第一网段的一网络协议地址曾多次存取其他网段,且符合一预定条件时,该处理器会将该网络协议地址的网络地址解析资讯设成不可改变。前述的控制电路可有效改善路由装置对于伪造的网络地址解析封包的辨识能力,进而提升对于ARP攻击的防御力及警示能力。
文档编号H04L12/56GK102196054SQ20101013054
公开日2011年9月21日 申请日期2010年3月11日 优先权日2010年3月11日
发明者邬培麟 申请人:正文科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1