首页> 中国专利> 防止多个主机的异步ARP高速缓存中毒的方法和系统

防止多个主机的异步ARP高速缓存中毒的方法和系统

摘要

一种用于在具有多个主机的网络系统中防止地址解析协议(ARP)高速缓存中毒的方法和系统。代表和/或位于单独的局域网(LAN)中的多个主机被指定成(通过共享的协议)为每个所代表的局域网使用可信赖ARP高速缓存。只要在一个网络中检测到新的ARP响应,验证请求就被发送给在不同网络中的单独的主机。所述单独的主机为所述ARP启动验证过程,其包括在所述ARP高速缓存的地址配对中,检查所述ARP响应的IP地址或MAC地址中的一个地址是否存在重复。如果所述ARP响应没有被验证,则不更新所述可信赖ARP高速缓存并且将所述失败的尝试通知系统管理员。

著录项

  • 公开/公告号CN1764129A

    专利类型发明专利

  • 公开/公告日2006-04-26

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200510114317.9

  • 申请日2005-10-20

  • 分类号H04L12/24(20060101);H04L29/06(20060101);H04L12/56(20060101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人于静;李峥

  • 地址 美国纽约

  • 入库时间 2023-12-17 17:12:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-12-16

    专利权的终止(未缴年费专利权终止)

    专利权的终止(未缴年费专利权终止)

  • 2008-04-23

    授权

    授权

  • 2006-06-14

    实质审查的生效

    实质审查的生效

  • 2006-04-26

    公开

    公开

说明书

技术领域

本发明一般地涉及局域网(LAN),具体地说,涉及局域网上的安全。更具体地说,本发明涉及用于防止局域网上的地址解析协议(ARP)高速缓存中毒的方法和系统。

背景技术

随着日益广泛地利用电子网络来支持个人/安全数据事务和数据通信,增强的网络安全是那些设计/配置、设置、管理以及使用电子网络的人所需的必需品。常规的局域网(LAN)例如现在包括服务器和客户机系统,其只有在用户已被访问设备(例如,客户机系统)认证之后才允许客户机系统的用户访问存储在网络上的信息并与之交互。

常规局域网内利用的一种更普遍的寻址协议是地址解析协议(ARP)。ARP以及与之相关的以上和其他功能是本领域公知的。ARP协议被用来将IP地址“映射”到MAC地址。当主机系统接收到ARP请求时,路由器将一个表项添加到其ARP高速缓存,所述ARP高速缓存将IP地址映射到设备的MAC地址。这在以后被用来将路由器接收的定址到所述IP地址的数据分组路由/转发到正确的设备(由MAC地址来标识)。ARP请求被广播到局域网上的所有节点并指示其ARP高速缓存包含此IP地址的节点将高速缓存中与此IP地址关联的MAC地址更改为所述设备的MAC地址。

接收到的ARP请求包括发起该ARP请求的设备的MAC和IP地址以及堆栈的IP地址。由接收系统生成ARP响应,其包括堆栈的MAC地址。

ARP利用广播并且不具有任何形式的认证过程。由于这些特性,ARP尤其容易受到未授权用户的攻击。通常利用ARP进行的一种类型的攻击包括使用伪造的ARP响应。借助伪造的ARP响应,攻击者能够取代局域网中的其他设备来发送和接收分组。此外,攻击者可以实施本领域中称为“中间人”攻击的攻击,其允许攻击者拦截来自源的所有分组并重放分组。

对于局域网内的安全,基于协议中的固有局限的上述攻击成为一个问题,其甚至使得安全局域网易受到来自内部的安全攻击。例如,ARP高速缓存中毒操作是一种公知的破坏网络安全的尝试。攻击者通过发送被自动地放入受害设备(或主机)的ARP高速缓存中的伪造的ARP响应来“毒害”未受保护的系统的ARP高速缓存。一旦攻击者成功地侵蚀了受害主机的ARP高速缓存,则攻击者然后能够执行“中间人”攻击来读取/检测专用网络业务(例如,密码等)。虽然此特定攻击必须由局域网上的人来执行,但其仍然被认为是一个安全缺口。

目前已存在多种不同的解决方案来阻止此中间人攻击。在这些解决方案中,第一个解决方案涉及硬编码ARP查找表中的永久性ARP表项。这些表项不能被传入ARP响应所改写。此解决方案的主要缺点是,由于ARP表项被管理员硬编码,所以只要局域网内的任何信息发生改变(例如,添加新的主机、主机名称变更、其他以太网卡等),就必须维护这些表项。此管理维护要求监视并且,出于这样和那样的原因,是低效率的。

第二个解决方案涉及编写一个程序,该程序记录所有传出ARP请求和所有传入ARP响应,然后验证每个响应都具有相应的请求。此解决方案在万维网(www)站点cs.sjsu.edu/faculty/stamp/students/Silky_report.pdf.进行了描述。根据此解决方案,每当新的响应进入时(例如来自攻击者),如果判定该响应没有被授权,则忽略该响应。此外,可以出于安全目的记录(检测)发送主机的IP地址。对于所有的ARP业务,此解决方案要求额外的开销。网络上的每个主机都必须运行此程序以便保护其自己的高速缓存。因此,需要大量重复的努力。

本发明认识到,需要实现一种能够在没有上述两种解决方案的局限性的情况下充分地消除通过ARP高速缓存中毒进行的上述网络攻击的解决方案。

发明内容

本发明公开了一种用于在具有多个主机的网络系统中防止地址解析协议(ARP)高速缓存中毒的方法和系统。代表和/或位于单独的局域网(LAN)中的多个主机被配置成(通过每个主机中编码的共享协议)为每个所代表的局域网使用可信赖ARP高速缓存。只要在第一局域网中检测到新的ARP响应,验证请求就被发送给第二局域网中的第二主机。所述第二主机为所述ARP响应内的IP和MAC地址启动验证过程。如果所述ARP响应内的所述地址被验证(是新的),则更新所述可信赖ARP高速缓存以反映从所述ARP响应获取的新地址信息。

但是,如果与所述ARP响应内的地址信息/数据有关的多个预定冲突中的任何一个冲突发生(例如,所述响应中只有一个MAC地址和IP地址重复),则不使用来自所述ARP响应的所述信息来更新所述可信赖ARP高速缓存。在一个实施例中,将冲突通知发送给网络管理员。因此,只有当需要时才会发生所述ARP响应的验证,并且单个主机就能够保护整个局域网,这极大地减小了维护和保护网络的重复努力。

在以下的详细书面说明中,本发明的上述以及其他目标、特征和优点将变得显而易见。

附图说明

当结合附图阅读时,通过参考以下对示例性实施例的详细说明,可以最佳地理解发明本身及其优选使用方式、进一步的目的和优点,这些附图是:

图1是示出了其中可以根据本发明的一个实施例实现本发明的各种特性的具有本地化主机和可信赖ARP表的两个连接的局域网(LAN)的网络的方块图;

图2是示出了根据本发明的一个实施例的作为图1的局域网内的主机使用的数据处理系统的基本组件的方块图;

图3是根据本发明的一个实施例的示例性可信赖ARP高速缓存的方块图;

图4A是示出了根据本发明的一个实施例的局域网注册和管理设置主机和可信赖ARP高速缓存以实现阻止毒害ARP高速缓存的尝试的流程图;以及

图4B是根据本发明的一个实施例的在标准的ARP响应处理期间监视毒害ARP高速缓存的尝试的过程的流程图。

具体实施方式

本发明提供了一种用于在具有多个主机的网络系统中防止地址解析协议(ARP)高速缓存中毒的方法和系统。可信赖ARP高速缓存由代表多个局域网(LAN)中的一个局域网的相应主机来提供和使用,所述多个局域网通过网关连接以便形成电子网络系统。只要在所述局域网中的第一局域网中检测到新的ARP响应,验证其中的IP和MAC地址的请求就被发送给第二局域网中的至少第二主机。接收所述请求的所述第二主机启动用于所述ARP响应(地址)的认证过程。如果所述ARP响应被认证,则所述多个局域网的(多个)可信赖ARP高速缓存被更新以反映从所述ARP响应获取的新地址信息。但是,如果与ARP响应内的地址有关的多个预定冲突中的任何一个冲突发生(例如,MAC地址和IP地址的不一致配对,其中在ARP高速缓存内的不同配对中发现单个地址),则不使用所述信息来更新ARP高速缓存并且将冲突通知发送给网络管理员。

现在参考附图,具体地说参考图1,其中示出了包括两个互联的局域网的示例性网络系统。值得注意地,虽然使用了两个局域网来描述示例性实施例,但是本发明可等同地应用于具有多个互联的局域网的更大的网络系统。此系统的关键组件是各个局域网都维护单独的主计算机(或网关),并且它们都被预先配置成参考它们各自的局域网内的单个安全/可信赖ARP高速缓存。

如图所示,每个示例性局域网105、115都包括多个通过网络结构/主干106、116(由相应的云表示)相互连接以进行通信的计算机110、111。可以使用包括例如以太网、1394或802.11b的多种已知结构中的一种结构来设计网络主干106、116。此外,网络主干106、116可以包括许多公知的组件(如路由器、网关、集线器等),并且可以允许计算机110、111通过有线和/或无线介质进行通信。

计算机110、111可以被实现为任何适合的计算设备,例如个人计算机、服务器、手持设备、打印机、交换机、路由器、网桥、中继器等。计算机110、111被示出为具有IP地址和关联的MAC地址(对于每个设备来说都是唯一的)。因此,局域网105的计算机110被示出为具有IP地址IP1…IPn和MAC地址MAC1…MACn,而局域网115的计算机111被示出为具有IP地址IPa…IPz和MAC地址MACa…MACz。对于每个局域网105、115,选择一个计算机作为主机(或主计算机或服务器)107、117来运行。主机107、117可以是执行管理网络任务和管理局域网上其他组件以及网络本身的网络服务器。在示例性实施例中,主机107、117还是局域网105、115之间的连接点/设备。

主机107、117是计算机系统,其可以被配置成与其他计算机110、111相类似,但是其配备有额外的硬件和功能软件以便实现用于管理网络的各种功能,包括由本发明所提供的那些功能。根据一个实施例,主机107、117用作它们各自的局域网105、115的网关。与每个主机107、117关联的是可信赖ARP高速缓存(以下称为首字母缩写词TARPC)131、132,其实现将被实施的本发明的ARP响应认证功能。下面将详细描述TARPC131、132的功能和使用。

在一个替代实施例中,在局域网105、115之间的互连120上提供了单独的网关125。在此替代配置中,单个可信赖高速缓存130被连接到网关125并用于互连的局域网106、116的整个网络。网关之间存在通信,其在新的ARP响应发生时维护可信赖ARP高速缓存。这些网关(而不是所述主机系统,在此实现中)通过将ARP响应与局域网107、117的可信赖ARP高速缓存进行比较来判定ARP响应的有效性。

图2提供了示例性主机(也是示例性计算机系统)的方块图,所述主机在此被可互换地称为主系统或主设备。在其最基本的配置中,主系统107、117是包括至少一个处理器205和存储器210以及输入/输出(I/O)设备控制器215的计算机系统。与I/O设备控制器215相连的是各种I/O设备,其中键盘216和鼠标217被示作输入设备,而显示装置218被示作输出设备。

主系统107、117还包括网络接口设备(NID)220,通过它将主系统107、117连接到网络100(如所配置的,具有内部局域网连接以及外部局域网连接)。因此,网络接口设备220使得主系统107、117能够与通用网络100上的其他系统进行通信。主系统107、117上的通信介质能够完成到网络的通信连接并因此完成到网络的其他系统的通信连接。通信介质包含计算机可读指令、数据结构、程序模块或调制后的数据信号(如载波或其他传输机制)中的其他数据并包括任何信息传送介质。通过实例的方式,并且并非进行限制,通信介质包括有线介质(如有线网络或直接导线连接)和无线介质(如声音、RF、红外和其他无线介质)。此处所用的术语计算机可读介质包括存储介质和通信介质两者。网络接口设备220提供了一个或多个网络接口,并可以由网络接口卡(NIC)来表示。

取决于主系统107、117的确切配置和类型,存储器210可以是易失性(如RAM)、非易失性(如ROM或闪存)或这两种存储器的某种组合。在示例性实施例中,主系统107、117维护此处被称为TARPC 131的数据库或存储设备。TARPC 131可以位于存储器内部或者是处理器205的其他高速缓存,或者可以是与主系统107、117相连的独立数据库。TARPC 131被设计成完全避免网络侵蚀并可以由局域网管理员来维护/监视。

虽然没有具体地示出,但是主系统107、117还可以包括其他硬件设备。例如,主计算机107、117还可以包括附加的存储介质(可移动的和/或不可移动的),所述存储介质包括但不限于磁盘或光盘或磁带。计算机存储介质可以是在任何用于存储信息(如计算机可读指令、数据结构、程序模块或其他数据)的方法或技术中实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者是任何其他可以用来存储所需信息并可以被主计算机107、117存取的介质。任何这样的计算机存储介质都可以是主系统107、117的一部分。

在主系统107、117内的是软件组件,其中示出了操作系统(OS)212和网络应用213。还示出了IP堆栈和NID 220(实现通过IP和ARP的网络通信)内的代码。与主系统107、117的硬件(和固件)组件结合执行的这些和其他软件组件的组合允许通过TARPC 131实现认证过程,所述认证过程用于由主系统107、117从通用网络100上的其他设备接收的ARP响应。

网络100通过ARP完成其设备寻址功能,当目的地设备的因特网协议(IP)地址已知时,这使得网络上的设备能够找到用于数据通信的媒体访问控制(MAC)地址。在每个主机107、117处,ARP通过广播目的地的IP地址来确定目的地主机(或网关)的MAC地址。收集的IP地址及其相应的MAC地址被以表的形式存储在每个主系统107、117的存储器(即,ARP高速缓存)中,并在分组传输过程中使用。根据本发明,当评估ARP响应时,传统ARP高速缓存的使用被网络层TARPC 131的使用所取代。

图3中示出了示例性的TARPC 131。如图所示,TARPC 131包括排成表格格式的IP地址305和相应的MAC地址310以及用于IP地址的关联输出端口315。此外,TARPC 131包括高层安全功能320,其通过主系统107、117和管理员325仅允许已认证的访问。在ARP响应处理期间,在主机上的TARPC 131的使用将参考图4B在以下进行详细描述。

利用以上网络配置,本发明通过引入网络层TARPC和关联的扩展ARP响应过程来扩展了易遭到(中间人和其他类似类型的)攻击的各个ARP高速缓存的功能,所述网络层TARPC和关联的扩展ARP响应过程充分地消除了对此类攻击的敏感度并因此作为一个整体为网络提供了更大的安全保护。本发明将TARPC置于网络层,其中每个主机都可以访问不同局域网上的其他主机的TARPC。如图4A所述,在网络设计/配置/设置期间,一组触发本发明的功能的协议被编码到相应的主机中。

图4A是在网络内设置ARP响应认证处理的过程的流程图。首先,在方块401,创建用于整个局域网的TARPC,然后在方块403,将使用了TARPC功能的所需ARP响应认证代码添加到局域网的主系统内的地址解析协议。所述局域网被通信地互连(通过主系统和/或网关)。如方块405所示,一旦主系统被配置成互连,将根据以下在图4B中描述的过程来处理所有ARP响应。

将新的局域网添加到网络受到监视(通过管理员或某些内置的监视组件),并且在方块405判定此类事件是否发生。只要新的局域网(具有关联的主系统)被添加到网络,该网络的管理员就设置所述主系统使用所述ARP响应认证过程,如方块409所示。以这种方式,就处理ARP响应而言,所有局域网(或主系统)都被类似地配置并且没有主系统易于受到侵蚀,因为这将依次侵蚀网络中的其他主系统。

现在转到图4B,其中示出了通过网络中的主系统来处理(即,认证/验证)接收到的ARP响应的过程。所述过程开始于方块421,其中在主系统处接收到ARP响应。如方块423所示,所述主系统访问安全TARPC并将该ARP响应中的IP和MAC地址与TARPC中的IP和MAC地址进行比较。此比较可以作为两个单独的比较来完成,借助此比较,IP地址首先被与TARPC中的所有IP地址进行比较,然后MAC地址被与TARPC中的所有MAC地址进行比较。当在此实施中出现某一地址匹配时,关联的地址然后被自动地比较以判定配对是否已经在TARPC中存在。

返回到过程流,在方块425,判定所述IP地址和MAC地址是否是新地址(即,当前不存在于TARPC内的地址)。如方块427所示,当两个地址都是新地址时,主机继续ARP处理并使用新的IP地址和MAC地址配对/组合来更新TARPC。由于没有冲突,使用该新的ARP表项来更新用于参与网络的可信赖ARP高速缓存。

当IP地址或MAC地址中的任意一个地址存在于可信赖ARP高速缓存中的不同配对内时(即,ARP响应包含现有IP地址或现有MAC地址的重复表项),则判定所述地址配对中的一个地址是否是重复表项(即,该地址已存在于TARPC内的不同配对中)。如果只有一个地址是重复表项,则在方块431,主机立即阻止对TARPC的更新,并且如方块433所示,将发送通知以警告局域网管理员可能毒害ARP高速缓存的尝试。

因此,通过将新的ARP响应与TARPC的内容进行比较,任何现有冲突都被标识并且标识所述冲突会触发将通知传输给系统管理员。通过实现本发明的方法,可以为每个参与网络(跨多个互连的局域网、广域网等)维护未中毒的ARP高速缓存并检测到来自网络内部的ARP高速缓存中毒尝试。

图1示出了特定的示例性网络,该网络具有处理来自攻击客户机的ARP响应的网关。示出了三个网关125,为了简单起见被标为网关1、网关2和网关3。每个网关125具有/维护关联的TARPC(或TARPC表)130。网关125通过网络互连150(为了简单起见,示为直线连接)来互连。多个客户机110被连接到每个网关(直接或经由路由器/主机(未示出))。这些客户机107中的一个客户机被示为攻击客户机107’(即,被想要侵蚀网络上的ARP高速缓存的用户所使用的客户机)。攻击客户机107’具有盗用另一个合法客户机107”的IP地址。

应用以上图4B的过程,网关1从攻击客户机107’接收ARP表项,并且当将其与本地TARPC中的配对进行比较时,注意到对于该ARP表项内的IP地址存在第二个不同的MAC表项或反之亦然(即,对于MAC地址,存在第二个不同的IP表项)。因此,网关1向网关2和/或网关3的TARPC发出查询。在一个实施例中,只查询一个其他TARPC,而替代实施例可以提供对跨网络的多个其他TARPC的查询。被查询的(多个)TARPC的(多个)网关使用来自所述TARPC的正确表项来响应,这暴露了在网关1处的冲突。然后,网关1通过标记所述ARP表项和/或警告其他网关和管理员网络上尝试的攻击来做出响应。

引入较新版本的因特网协议(IP)的发现功能(即,IPv6邻居发现)要求支持该协议(IPv6)。在所有现有网络中,这可能是不可用的,或者向其进行迁移可能并不是一个容易的任务。但是,本发明提供了一种新的方法来将安全度量添加到当前的ARP协议,该方法更容易地适合目前的IPv4网络并且不要求迁移到IPv6。本发明的新颖之处在于在不危害可信赖网络的情况下提供了自动地更新安全ARP高速缓存的方法/算法。已公布的ARP表项需要由管理员来手动更新。

与其他解决方案相比,本发明的实现导致了极高的效率,因为只有当需要时才发生ARP响应的验证,并且单个主机就可以保护整个局域网。同时,单个主机的使用极大地减小了维护和保护网络的重复努力。

最后,重要的是,尽管已经(并将继续)在具有已安装的管理软件的完整功能计算机系统的环境中描述本发明的示例性实施例,但是本领域的技术人员将理解,本发明的示例性实施例的软件方面能够被以各种形式作为程序产品来发布,并且本发明的示例性实施例均可等同地应用,而与实际用于执行所述发布的信号承载介质的特定类型无关。信号承载介质的实例包括诸如软盘、硬盘驱动器、CD ROM之类的可记录型介质和诸如数字和模拟通信链路之类的传输型介质。

虽然参考优选实施例具体示出和描述了本发明,但是本领域的技术人员将理解,在不偏离本发明的精神和范围的情况下,可以对本发明的形式和细节做出各种更改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号