本发明涉及通信
技术领域:
,尤其涉及一种ARP(AddressResolutionProtocol,地址解析协议)攻击报文的防御方法及装置。
背景技术:
:随着网络技术的发展和普及,ARP欺骗攻击也出现的越来越频繁。ARP欺骗可以使同一网段的大多数用户频繁断网,导致整个局域网无法正常运行,严重时,可以导致整个网络的大面积瘫痪。为了对ARP欺骗攻击进行防御,相关技术采用了手动配置静态ARP表项以及在相关设备上配置ARP报文限速策略的方法。虽然相关技术可以在一定程度上降低ARP欺骗攻击对当前网络造成的影响,但是,由于相关技术无法锁定ARP欺骗攻击的攻击端口,因此不能有效地防御ARP欺骗攻击。技术实现要素:有鉴于此,本发明提供一种ARP攻击报文的防御方法及装置,来解决相关技术因无法锁定ARP欺骗攻击的攻击端口,而导致的无法有效地防御ARP欺骗攻击的问题。具体地,本发明是通过如下技术方案实现的:根据本发明实施例的第一方面,提供了一种地址解析协议ARP攻击报文的防御方法,应用于交换设备,所述交换设备预设轮询时间,所述交换设备基于预设的轮询时间周期性采集本地介质访问控制MAC表以及ARP表,所述方法包括:判断当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表是否存在不完全相同的表项;若存在所述不完全相同的表项,基于所述不完全相同的表项从当前轮询时间周期采集到的MAC表中确定待检测端口;将从所述待检测端口接收到的ARP报文与当前轮询时间周期采集到的ARP表中的表项进行匹配;若匹配成功,确定所述ARP报文为攻击报文,并丢弃所述ARP报文。可选的,所述不完全相同的表项包括源IP地址相同且源MAC地址不相同的表项,以及源IP地址不相同且源MAC地址相同的表项。可选的,所述交换设备预设待检测表,所述方法还包括:若当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表存在不完全相同的表项,则将所述不完全相同的表项添加至所述预设的待检测表中;所述将从所述待检测端口接收到的ARP报文与当前轮询时间周期采集到的ARP表中的表项进行匹配,包括:将从所述待检测端口接收到的ARP报文与所述待检测表中的表项进行匹配。可选的,所述交换设备针对每一轮询时间周期采集到的指定信息完全相同的报文进行数值统计,其中,所述指定信息包括源IP地址以及源MAC地址,所述交换设备预设第一阈值和大于所述第一阈值的第二阈值,所述方法还包括:若针对某一轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果大于第一阈值且小于第二阈值,则将对应于所述ARP报文的ARP表项设置为静态ARP表项;若针对某一轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果大于第二阈值,则确定所述ARP报文为攻击报文,并丢弃所述ARP报文。根据本发明实施例的第二方面,提供一种地址解析协议ARP攻击报文的防御装置,应用于交换设备,所述交换设备预设轮询时间,所述交换设备基于预设的轮询时间周期性采集本地介质访问控制MAC表以及ARP表,所述装置包括:判断模块,用于判断当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表是否存在不完全相同的表项;确定模块,用于若存在所述不完全相同的表项,基于所述不完全相同的表项从当前轮询时间周期采集到的MAC表中确定待检测端口;匹配模块,用于将从所述待检测端口接收到的ARP报文与当前轮询时间周期采集到的ARP表中的表项进行匹配;丢弃模块,用于若匹配成功,确定所述ARP报文为攻击报文,并丢弃所述ARP报文。可选的,所述不完全相同的表项包括源IP地址相同且源MAC地址不相同的表项,以及源IP地址不相同且源MAC地址相同的表项。可选的,所述交换设备预设待检测表,所述装置还包括:添加模块,用于若当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表存在不完全相同的表项,则将所述不完全相同的表项添加至所述预设的待检测表中;所述匹配模块具体用于:将从所述待检测端口接收到的ARP报文与所述待检测表中的表项进行匹配。可选的,所述交换设备针对每一轮询时间周期采集到的指定信息完全相同的报文进行数值统计,其中,所述指定信息包括源IP地址以及源MAC地址,所述交换设备预设第一阈值和大于所述第一阈值的第二阈值,所述装置还包括:设置模块,用于若针对某一轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果大于第一阈值且小于第二阈值,则将对应于所述ARP报文的ARP表项设置为静态ARP表项;所述丢弃模块进一步用于:若针对某一轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果大于第二阈值,则确定所述ARP报文为攻击报文,并丢弃所述ARP报文。在本发明中,交换设备可以判断当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表是否存在不完全相同的表项,并在存在不完全相同的表项时,基于不完全相同的表项从当前轮询时间周期采集到的MAC表中确定待检测端口,然后,交换设备可以将从该待检测端口接收到的ARP报文与当前轮询时间周期采集到的ARP表中的表项进行匹配,若匹配成功,则可以确定该ARP报文为攻击报文,并丢弃该ARP报文。在本发明中,交换设备可以根据两个相邻轮询时间周期采集到的ARP表确定待检测表项,然后根据该待检测表项从MAC表中锁定攻击端口,并对该攻击端口接收到的报文进行进一步的防御,由于本发明可以有效锁定攻击端口,因此,可以解决相关技术因无法锁定ARP欺骗攻击的攻击端口,而导致的无法有效地防御ARP欺骗攻击的问题。附图说明图1是为本发明一实施例示出的一种ARP攻击报文的防御方法的流程图;图2是本发明ARP攻击报文的防御装置所在设备的一种硬件结构图;图3是本发明ARP攻击报文的防御装置的一个实施例框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。请参见图1,为本发明一实施例示出的一种ARP攻击报文的防御方法的流程图。该实施例应用于交换设备,包括以下步骤:步骤101:判断当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表是否存在不完全相同的表项。在本发明中,上述交换设备可以既工作在OSI(OpenSystemInterconnection,开放式系统互联)网络标准模型的第二层,即数据链路层,也可以工作在OSI网络标准模型的第三层,即网络层。在本发明中,上述交换设备可以预设轮询时间,其中,该预设的轮询时间可以为设备默认值,也可以由相关人员自定义设置,例如,可以为0.2S,本发明对此不做限制。在预设了轮询时间后,上述交换设备可以基于该轮询时间周期性采集本地MAC(MediaAccessControl,介质访问控制)表以及ARP表,具体地,上述交换设备可以从缓存中周期性采集switch_mac文件以及switch_arp文件。在本发明中,上述交换设备可以接收到ARP报文,并基于该ARP报文的报文属性信息在缓存的ARP表中生成对应的表项,其中,该报文属性信息可以包括源IP地址、源MAC地址、目的IP地址以及目的MAC地址等信息。在示出的一个实施例中,可以假设接收到的ARP报文的报文属性信息如表1所示:源MAC地址源IP地址目的MAC地址目的IP地址00-23-5A-15-99-4222.22.22.2205-31-13-25-19-3633.33.33.33表1则此时上述交换设备缓存的ARP表可以如表2所示:源MAC地址源IP地址目的MAC地址目的IP地址…………00-23-5A-15-99-4222.22.22.2205-31-13-25-19-3633.33.33.33…………表2在本发明中,上述交换设备在采集到当前轮询时间周期的ARP表以及对应于当前轮询时间周期的前一轮询时间周期的ARP表后,可以判断采集到的该两个ARP表中是否存在不完全相同的表项。其中,该不完全相同的表项可以为源IP地址相同且源MAC地址不相同的表项,或源IP地址不相同且源MAC地址相同的表项。在一个实施例中,可以假设当前轮询时间周期采集到的ARP表如表3所示:源MAC地址源IP地址目的MAC地址目的IP地址…………00-23-5A-15-99-4233.33.33.3305-31-13-25-19-3633.33.33.33…………表3可以假设对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表如表2所示,则可以确定该两个ARP表中存在源IP地址不相同且源MAC地址相同的表项,即该两个ARP表中存在不完全相同的表项。在一个实施例中,若当前轮询时间周期采集到的ARP表与对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表中不存在相同的源IP地址以及源MAC地址,则可以确定该两个ARP表中不存在不完全相同的表项。步骤102:若存在所述不完全相同的表项,基于所述不完全相同的表项从当前轮询时间周期采集到的MAC表中确定待检测端口。在本发明中,若当前轮询时间周期采集到的ARP表与对应于当前轮询时间周期采集到的ARP表中存在不完全相同的表项,则上述交换设备可以基于不完全相同的表项从当前轮询时间周期采集到的MAC表中确定待检测端口。在一个实施例中,可以假设两个相邻的轮询时间周期采集到的两个ARP表分别如表2和表3所示,则可以得知源MAC地址为00-23-5A-15-99-42的表项为上述不完全相同的表项,此时,上述交换设备可以基于该源MAC地址从当前轮询时间周期采集到的MAC表中确定待检测端口。可以假设上述交换设备在当前轮询时间周期采集到的MAC表如表4所示:源MAC地址端口……00-23-5A-15-99-4235……表4则由表4可知,可以将35端口确定为待检测端口。在本发明一个实施例中,上述交换设备可以预设待检测表,若当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表存在不完全相同的表项,则上述交换设备可以将该不完全相同的表项添加至预设的待检测表中,然后,上述交换设备可以针对待检测表中的表项从采集到的MAC表中确定待检测端口。在示出的一个实施例中,可以假设源MAC地址为00-23-5A-15-99-42的表项为上述采集到的两个ARP表的不完全相同的表项,此时,上述交换设备可以将该表项添加到预设的待检测表中,可以假设添加该表项后的待检测表如表5所示:表5然后,上述交换设备可以遍历表5中的源MAC地址,并基于每一源MAC地址从采集到的MAC表中确定对应的待检测端口。其中,根据源MAC地址从采集到的MAC表中确定对应的待检测端口的具体内容已在上述实施例中说明,故本发明在此不再赘述。步骤103:将从所述待检测端口接收到的ARP报文与当前轮询时间周期采集到的ARP表中的表项进行匹配。步骤104:若匹配成功,确定所述ARP报文为攻击报文,并丢弃所述ARP报文。在本发明中,在确定待检测端口后,可以将从待检测端口接收到的ARP报文与当前轮询时间周期采集到的ARP表中的表项进行匹配。在一个实施例中,可以假设确定35端口为待检测端口,从35端口接收到某一ARP报文的报文属性信息可以如表6所示:源MAC地址源IP地址目的MAC地址目的IP地址00-23-5A-15-99-4244.44.44.4405-31-13-25-19-3633.33.33.33表6可以假设当前轮询时间周期采集到的ARP表如表2所示,则可以确定该ARP报文未成功匹配当前轮询时间周期采集到的ARP表。在另一个实施例中,可以同样假设35端口为待检测端口,从35端口接收到的某一ARP报文的报文属性可以如表7所示:源MAC地址源IP地址目的MAC地址目的IP地址00-23-5A-15-99-4222.22.22.2205-31-13-25-19-3633.33.33.33表7可以同样假设当前轮询时间周期采集到的ARP表如表2所示,则可以确定该报文可以成功匹配当前轮询时间周期采集到的ARP表。在本发明示出的一个实施例中,若上述交换设备预设待检测表,则可以将从待检测端口接收到的报文与待检测表中的表项进行匹配。其中,该匹配过程与上述实施例中的匹配过程相同,故本发明在此不再赘述。在本发明中,若从待检测端口接收到的ARP报文可以成功匹配当前轮询时间周期采集到的ARP表中的表项,则可以确定该ARP报文为攻击报文,此时,上述交换设备可以丢弃该ARP报文。若从待检测端口接收到的ARP报文未成功匹配当前轮询时间周期采集到的ARP表中的表项,则可以确定该ARP报文为正常报文,此时,上述交换设备可以基于预设的处理策略对该ARP报文进行进一步的处理。在本发明示出的一个实施例中,上述交换设备可以针对每一轮询时间周期采集到的指定信息完全相同的报文进行数值统计,其中,该指定信息可以包括源IP地址以及源MAC地址,上述交换设备可以预设第一阈值和大于第一阈值的第二阈值,其中,第一阈值和第二阈值可以由相关人员自定义设置,例如,第一阈值可以为30,第二阈值可以为100等,本发明对此不做限制。当针对某一轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果大于第一阈值且小于第二阈值时,上述交换设备可以将对应于该ARP报文的ARP表项设置为静态ARP表项;当针对某一轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果大于第二阈值时,则上述交换设备可以确定该ARP报文为攻击报文,并丢弃该ARP报文。在示出的一个实施例中,可以假设上述交换设备对当前轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果为40,大于第一阈值30且小于第二阈值100,则可以将与该ARP报文对应的ARP表项设置为静态ARP表项,可以假设该ARP报文的报文属性信息如表1所示,则可以将表2中对应于该ARP报文的表项设置为静态ARP表项,即,可以将如表8所示的表项设置为静态ARP表项:源MAC地址源IP地址00-23-5A-15-99-4222.22.22.22表8在示出的另一个实施例中,可以假设上述交换设备对当前轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果为120,大于第二阈值100,则上述交换设备可以将该ARP报文确定为攻击报文,并丢弃该ARP报文。在本发明中,交换设备可以判断当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表是否存在不完全相同的表项,并在存在不完全相同的表项时,基于不完全相同的表项从当前轮询时间周期采集到的MAC表中确定待检测端口,然后,交换设备可以将从该待检测端口接收到的ARP报文与当前轮询时间周期采集到的ARP表中的表项进行匹配,若匹配成功,则可以确定该ARP报文为攻击报文,并丢弃该ARP报文。在本发明中,交换设备可以根据两个相邻轮询时间周期采集到的ARP表确定待检测表项,然后根据该待检测表项从MAC表中锁定攻击端口,并对该攻击端口接收到的报文进行进一步的防御,由于本发明可以有效锁定攻击端口,因此,可以解决相关技术因无法锁定ARP欺骗攻击的攻击端口,而导致的无法有效地防御ARP欺骗攻击的问题。与前述ARP攻击报文的防御方法的实施例相对应,本发明还提供了ARP攻击报文的防御装置的实施例。本发明ARP攻击报文的防御装置的实施例可以应用在交换设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本发明ARP攻击报文的防御装置所在设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。请参考图3,为本发明ARP攻击报文的防御装置的一个实施例框图:该装置可以包括:判断模块310、确定模块320、匹配模块330以及丢弃模块340。其中,判断模块310,用于判断当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表是否存在不完全相同的表项;确定模块320,用于若存在所述不完全相同的表项,基于所述不完全相同的表项从当前轮询时间周期采集到的MAC表中确定待检测端口;匹配模块330,用于将从所述待检测端口接收到的ARP报文与当前轮询时间周期采集到的ARP表中的表项进行匹配;丢弃模块340,用于若匹配成功,确定所述ARP报文为攻击报文,并丢弃所述ARP报文。在一个可选的实现方式中,所述不完全相同的表项可以包括源IP地址相同且源MAC地址不相同的表项,以及源IP地址不相同且源MAC地址相同的表项。在一个可选的实现方式中,所述交换设备可以预设待检测表,所述装置还可以包括(图3中未示出):添加模块,用于若当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表存在不完全相同的表项,则将所述不完全相同的表项添加至所述预设的待检测表中;所述匹配模块330具体用于:将从所述待检测端口接收到的ARP报文与所述待检测表中的表项进行匹配。在一个可选的实现方式中,所述交换设备针对每一轮询时间周期采集到的指定信息完全相同的报文进行数值统计,其中,所述指定信息包括源IP地址以及源MAC地址,所述交换设备预设第一阈值和大于所述第一阈值的第二阈值,所述装置还可以包括(图3中未示出):设置模块,用于若针对某一轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果大于第一阈值且小于第二阈值,则将对应于所述ARP报文的ARP表项设置为静态ARP表项;所述丢弃模块340进一步用于:若针对某一轮询时间周期采集到的指定信息完全相同的ARP报文的数值统计结果大于第二阈值,则确定所述ARP报文为攻击报文,并丢弃所述ARP报文。在本发明中,交换设备可以判断当前轮询时间周期采集到的ARP表和对应于当前轮询时间周期的前一轮询时间周期采集到的ARP表是否存在不完全相同的表项,并在存在不完全相同的表项时,基于不完全相同的表项从当前轮询时间周期采集到的MAC表中确定待检测端口,然后,交换设备可以将从该待检测端口接收到的ARP报文与当前轮询时间周期采集到的ARP表中的表项进行匹配,若匹配成功,则可以确定该ARP报文为攻击报文,并丢弃该ARP报文。在本发明中,交换设备可以根据两个相邻轮询时间周期采集到的ARP表确定待检测表项,然后根据该待检测表项从MAC表中锁定攻击端口,并对该攻击端口接收到的报文进行进一步的防御,由于本发明可以有效锁定攻击端口,因此,可以解决相关技术因无法锁定ARP欺骗攻击的攻击端口,而导致的无法有效地防御ARP欺骗攻击的问题。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页1 2 3