本申请涉及通信
技术领域:
,尤其涉及一种防仿冒下线攻击的方法和装置。
背景技术:
:网络中存在一种仿冒下线报文,该报文会仿冒在线终端向网络接入服务器发起下线请求,导致该在线终端被强制下线,而被强制下线的终端可能又会重新向网络接入服务器发起上线请求。因此,当网络中存在仿冒下线报文攻击时,终端会反复上下线而无法正常使用网络,并且会导致网络接入服务器和验证、授权和记账(Authentication、Authorization、Accounting,AAA)服务器一直处于高负荷下运行。而针对仿冒下线报文带来的问题,目前尚未提出有效的解决方案。技术实现要素:有鉴于此,本申请提供一种防仿冒下线攻击的方法和装置,用以保障终端在受到仿冒下线报文攻击时能够正常使用网络,以及减轻仿冒下线报文给网络接入服务器和AAA服务器带来的负荷。具体地,本申请是通过如下技术方案实现的:本申请第一方面,提供了一种防仿冒下线攻击的方法,所述方法应用于网络接入服务器,包括:在终端登录上线后,判断所述终端对应的登录历史表项中的登陆次数是否超过设定值,登录历史表项用于记录所述终端在设定时间段内的累计登陆次数;如果是,则控制所述终端在登陆上线后的设定时长内保持一直在线。本申请第二方面,提供了一种防仿冒下线攻击的装置,所述装置可以应用于网络接入服务器中,具有实现上述方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。一种可能的实现方式中,所述装置包括:表项处理单元,用于在终端登录上线后,判断所述终端对应的登录历史表项中的登陆次数是否超过设定值,登录历史表项用于记录所述终端在设定时间段内的累计登陆次数;终端控制单元,用于在所述判断单元确定所述登陆次数超过设定值时,控制所述终端在登陆上线后的设定时长内保持一直在线。另一种可能的实现方式中,所述装置包括处理器和用于存储所述处理器可执行指令的存储器,所述存储器和所述处理器之间通过总线系统相互连接;所述处理器用于执行以下操作:在终端登录上线后,判断所述终端对应的登录历史表项中的登陆次数是否超过设定值,登录历史表项用于记录所述终端在设定时间段内的累计登陆次数;如果是,则控制所述终端在登陆上线后的设定时长内保持一直在线。本申请的以上技术方案,对合法上线终端在过去一段时间内的登陆次数做了统计,这一统计数据可以作为判断终端是否收到仿冒下线报文攻击的依据,并在判断终端收到仿冒下线报文攻击时优先保障终端正常使用网络,这样可以减轻仿冒下线报文给网络接入服务器和AAA服务器带来的负荷。并且这一统计数据有利于运维人员排查分析网络健康状况。附图说明图1是本申请实施例提供的一种系统架构的示意图;图2是本申请实施例提供的一种防仿冒下线攻击的方法的流程图;图3是本申请实施例提供的一种保持PPPoE终端拨号时执行的方法流程图;图4是本申请实施例提供的一种防仿冒下线攻击的装置的功能模块框图;图5是本申请实施例提供的一种防仿冒下线攻击的装置的硬件架构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。下面结合说明书附图和各实施例对本申请技术方案进行说明。本申请提供的方法能够在终端收到仿冒下线报文攻击时保障终端可以正常使用网络,以及减轻仿冒下线报文给网络接入服务器和AAA服务器带来的负荷。下面通过图1对本申请提供的方法所应用的系统架构进行描述:参见图1,图1为本申请提供的一种系统架构图,该系统架构可包括终端、二层转发设备、网络接入服务器和AAA服务器。以下分别对本系统架构所涉及的各网元的功能进行说明。终端,也可称之为用户设备(UserEquipment,简称UE),终端可以是移动电话、计算机或者车载移动装置等。终端可以向网络接入服务器发送上线请求,在其上线请求被通过认证之后即可正常访问外部网络。本申请并不限制终端接入网络的认证方式,如可以采用以太网的点对点协议(PointtoPointProtocoloverEthernet,PPPoE)认证方式、以太网IP拨号(InternetProtocoloverEthernet,IPoE)认证方式、门户(Portal)认证方式或其它认证方式等。二层转发设备,用于在终端和网络接入服务器之间转发报文。二层转发设备可以识别报文中的媒体接入控制(MediaAccessControl,MAC)地址,根据MAC地址进行报文转发。网络接入服务器,可以是宽带远程接入服务器(BroadbandRemoteAccessServer,BRAS)、业务路由器(ServiceRouter,SR)等。用于接收终端的上线请求,将上线请求中包含的认证信息发送给AAA服务器进行终端身份认证,在认证通过后确认终端登陆上线,从而为终端分配地址以使终端能够访问外部网络,并为终端创建一上线记录。其中,网络接入服务器可以采用以下方式管理终端的“上线记录”:在本地维护一张在线用户表,当终端登陆上线后,为该终端在预存的在线用户表中创建一条上线记录,其中,上线记录记载了终端的身份标识、上线时刻、网际协议(InternetProtocol,IP)地址等信息;当终端下线后,网络接入服务器则将该终端对应的上线记录从在线用户表中删除。本申请实施例中,网络接入服务器还可以用于统计终端在过去一个时间段内的登陆次数,并基于这一统计数据判断出终端在受到仿冒下线报文攻击时,有限保障终端能够正常使用网络。AAA服务器,存有所有终端的信息,用于终端身份认证,当认证通过后,开始终端的上网计费,并通知网络接入服务器该终端成功登陆上线;以及,还用于在接收到网络接入服务器转发的来自终端的下线请求时,停止上网计费,并通知网络接入服务器该终端成功下线。AAA服务器有多种类型,常用的AAA服务器有活动目录(ActiveDirectory,AD)服务器、轻量级目录访问协议(LightweightDirectoryAccessProtocol,LDAP)服务器、远端用户拨入验证服务(RemoteAuthenticationDialinUserService,RADIUS)服务器等。至此,完成对图1的系统架构的描述。下面通过图2对本申请提供的方法进行描述:参见图2,图2为本申请提供的方法流程图。如图2所述,该流程可包括以下步骤:步骤201:网络接入服务器在终端登陆上线后,判断所述终端对应的登陆历史表项中的登陆次数是否超过设定值。其中,所述登录历史表项用于记录所述终端在设定时间段内的累计登陆次数,例如,该设定时间段可以是从创建所述登陆历史表项起到本次登陆上线为止这一时间段。又例如,该设定时间段可以从创建所述登陆历史表项起到上一次登陆上线为止这一时间段。步骤202:如果登陆历史表项中的登陆次数超过设定值,则网络接入服务器控制所述终端在登陆上线后的设定时长内保持一直在线。其中,终端从请求上线到登陆上线大致需要经历以下过程:终端向网络接入服务器发送上线请求,该上线请求中包括该终端的认证信息,如该终端的账号和密码等。之后,网络接入服务器将该终端的认证信息转发给AAA服务器进行认证,针对不同类型的AAA服务器,网络接入服务器可以采用不同的协议发送该认证信息,例如,如果AAA服务器是RADIUS服务器,则采用RADIUS协议。之后,AAA服务器如果在本地预存的终端信息中查询到与该认证信息匹配的记录,则确认该终端通过认证,从而开始该终端的上网计费,并将认证结果通知给网络接入服务器。网络接入服务器根据AAA服务器发送的认证结果确认终端成功上线。这里所说的登陆历史表项,为本申请实施例针对合法上线终端所记录的信息,主要用于统计终端在过去一段时间内的累计登陆次数,从而作为判断终端是否收到仿冒下线报文攻击的依据。具体的,网络接入服务器可以选择在终端登陆上线时更新终端的登陆历史表项,也可以选择在终端下线时更新终端的登陆历史表项,二者仅是操作时机不同,操作流程是相同的。例如,如果选择在终端登陆上线时更新终端的登陆历史表项,实现过程可以如下:第一步,在确认某个终端下线后,网络接入服务器查询本地是否存在该终端对应的登陆历史表项。第二步,根据第一步的查询结果,如果已存在该终端的登陆历史表项,则将查询到的登陆历史表项中记载的该终端的历史登陆次数加1。而如果不存在该终端的登陆历史表项,则为该终端新建一个登陆历史表项,将新建的登陆历史表项中的历史登陆次数置为1;并为新建的登陆历史表项设置一个有效时间,在该有效时间到期时,删除该新建的登陆历史表项。这一过程可以通过定时器实现。本申请实施例之所以为登陆历史表项设置一个有效时间,定期清除终端的历史登陆数据,其中一个原因在于,仿冒下线报文攻击会造成终端在某个时间段内频繁上下线,因此只关注终端在最近一段时间内的登陆数据更加符合仿冒下线报文攻击的特性,有利于更准确地判断终端是否受到仿冒下线报文攻击。可选的,网络接入服务器也可以在判断出某个终端对应的登陆历史表项中的登陆次数超过设定值时,无论该登陆历史表项的有效时间是否到期,都立即将该登陆历史表项删除。在另一种可能的实现方式中,如果选择在终端登陆上线时更新终端的登陆历史表项,实现过程可以如下:第一步,在确认某个终端登陆上线后,网络接入服务器查询本地是否存在该终端对应的登陆历史表项。第二步,根据第一步的查询结果,如果存在,则将查询到的登陆历史表项中记载的该终端的登陆次数加1。如果不存在,则为该终端新建一个登陆历史表项,将新建的登陆历史表项中的登陆次数置为1,并为该新建的登陆历史表项设置有效时间,在该有效时间到期时,再删除该新建的登陆历史表项。需要说明的是,如果选择在终端登陆上线时更新终端的登陆历史表项,本申请实施例并不限制更新终端的登陆历史表项与步骤201和步骤202的执行顺序。即,可以先查询终端的登陆历史表项并根据查询结果更新终端的登陆历史表项,然后再查询终端的登陆历史表项并根据查询结果确定是否控制终端保持一直在线。或者,也可以先查询终端的登陆历史表项并根据查询结果确定是否控制终端保持一直在线,然后再查询终端的登陆历史表项并根据查询结果更新终端的登陆历史表项。例如,一种可能的实现方式是:在某个终端登陆上线后,网络接入服务器查询该终端对应的登陆历史表项是否存在,如果存在,则继续判断该终端对应的登陆历史表项中的登陆次数是否超过设定值。如果超过设定值,则控制该终端在登陆上线后的设定时长内保持一直在线。如果没有超过设定值,则再次查询该终端对应的登陆历史表项是否仍然存在,如果存在,则更新该终端的历史登陆表项,如果不存在,则为该终端新建一个登陆历史表项。需要注意的是,考虑到终端的登陆历史表项在经过一定时长后被会删除,因此在更新终端的登陆历史表项之前和在确定是否控制终端保持一直在线之前,都需要分别查询是否还存在终端的登陆历史表项,以确认终端登陆历史表项的实时状态。终端的登陆历史表项中除了会记载终端的历史登陆次数之外,还可以记载以下信息中的至少之一,如终端的MAC地址,终端在网络接入服务器上的接入接口,终端接入的虚拟局域网(VirtualLocalAreaNetwork,VLAN)。运维人员可以根据这些信息统计出仿冒下线报文攻击即中分布的接口或VLAN信息,以便于做出进一步的分析处理,如登陆下一级接入设备排查网络情况。基于此,网络接入服务器在查询是否存在某个终端对应的登陆历史表项时,可以将终端的用户名、MAC地址、终端在本网络接入服务器上的接入接口、终端接入的VLAN中的一个或多个作为查询条件,查找与查询条件匹配的登陆历史表项。当然,登陆历史表项包括的信息是可扩展的,并不限于上述提到的内容。如下表1所示,为一在终端下线时记录的登陆历史表项示例。表1中的下线时刻,可以是AAA服务器停止上网计费的时刻。表1用户名User1MAC地址0016-ecb7-a879接入接口GigabitEthernet1/0/1VLANIDN/A下线时刻2013-05-2118:04:10历史登陆次数2有效时长5本申请实施例中,在查询终端的登陆历史表项发现终端在过去一段时间内的登陆次数超过设定值时,可以认为终端受到了仿冒下线报文攻击,从而优先保障终端能够正常使用网络,即在接下来的一个设定时长内让终端保持一直在线。由于网络接入服务器本地一般维护有一张在线用户表,当终端登陆上线时,网络接入服务器会为该终端在在线用户表中创建一个上线记录,当终端下线后,会把该终端对应的上线记录从在线用户表中删除。因此,一种令终端在上线后的设定时长内一直保持在线的实现方式是,利用已有的在线用户表,为该表增加一个固化属性,当根据某个终端的下线请求查询到对应的上线记录,发现该上线记录标记有固化属性标记时,则网络接入服务器可以决定禁止响应该下线请求。具体实现过程如下:如果某个终端成功上线后,网络接入服务器查询发现该终端对应的登陆历史表项中的登陆次数超过设定值,则在为该终端创建上线记录时,同时为创建的上线记录添加固化属性标记,所述固化属性标记在经过一个设定时长后将被删除。相应的,当接收到某个终端的下线请求时,查询该终端的上线记录,并判断该终端的上线记录是否标记有固化属性标记。如果是,则禁止响应该终端的下线请求,以使该终端在其上线记录标记有固化属性标记的设定时长内保持一直在线;如果否,则响应该终端的下线请求,对该终端作下线处理。当然,在某终端的上线记录标记有固化属性标记的期间有可能会收到该终端的正常下线请求,对于这种情况,终端侧可以先断开网络连接,当该终端的上线记录的固化属性标记因超时被删除后,网络接入服务器可以通过定期探测机制发现该终端不在线,届时再把该终端的上线记录从在线用户表中删除,并断开与该终端的网络连接。实际应用中,上述固化属性标记还可以结合其它下线机制一起使用。例如,可以将固化属性标记与闲置时长结合使用,比如,如果在某个终端的上线记录标记有固化属性标记的期间,发现该终端的流量使用情况小于预设的最低水平,则可以删除该终端的固化属性标记,或是缩短该终端的固化属性标记的存活时长。至此,完成对图2所示流程的描述。通过图2所示流程可以看出,在本申请中,对合法上线终端在过去一段时间内的登陆次数做了统计,这一统计数据可以作为判断终端是否收到仿冒下线报文攻击的依据,并在判断终端收到仿冒下线报文攻击时优先保障终端正常使用网络,这样可以减轻仿冒下线报文给网络接入服务器和AAA服务器带来的负荷。并且这一统计数据有利于运维人员排查分析网络健康状况。为了更清楚地说明本申请的技术方案,下面通过一个实施例对上述技术方案做进一步的说明,需要说明的是,此实施例仅仅是本申请的一种实现方式,不构成对本申请的限定。参见图3,图3为PPPoE终端拨号时执行的流程,包括以下步骤:步骤301:PPPoE终端拨号。拨号即相当于PPPoE终端向网络接入服务器发送上线请求,拨号成功即相当于PPPoE终端成功登陆上线。步骤302:网络接入服务器查询该PPPoE终端对应的登陆历史表项是否存在,如果是则执行步骤303,如果否则执行步骤311。步骤303:如果存在该PPPoE终端的登陆历史表项,则网络接入服务器继续判断该登陆历史表项中的登陆次数是否超过设定值。如果是则执行步骤304,如果否则执行步骤305。步骤304:如果该登陆历史表项中的登陆次数超过设定值,则网络接入服务器控制该PPPoE终端在拨号成功后的设定时长内保持一直在线。即,在该PPPoE终端拨号成功后的设定时长内,网络接入服务器禁止响应该终端的下线请求,直至所述设定时长超期后再正常响应该终端的下线请求。步骤305:如果该登陆历史表项中的登陆次数未超过设定值,则网络接入服务器执行后续拨号流程。后续拨号流程包括,网络接入服务器将PPPoE终端拨号带来的账号和密码发送给AAA服务器进行认证,以及AAA服务器将认证结果通知给网络接入服务器等过程。步骤306:网络接入服务器判断该PPPoE终端是否拨号成功,如果是则执行步骤308,如果否则执行步骤307。步骤307:如果拨号不成功,则网络接入服务器不刷新该PPPoE终端对应的登陆历史表项。步骤308:如果拨号成功,则网络接入服务器再次查询该PPPoE终端对应的登陆历史表项是否存在,如果是则执行步骤309,如果否则执行步骤310。此处再次查询是否存在登陆历史表项的目的,是考虑到登陆历史表项在执行步骤302之后有可能因设置的有效时长到期被删除,故再次查询以确认登陆历史表项的实时状态。步骤309:如果该PPPoE终端的登陆历史表项仍存在,则网络接入服务器刷新该PPPoE终端对应的登陆历史表项,即将登陆历史表项中记载的历史登陆次数加1。步骤310:如果再次查询之后发现该PPPoE终端对应的登陆历史表项变为不存在,则网络接入服务器不作任何处理。步骤311:如果步骤302的判断结果为不存在该PPPoE终端对应的登陆历史表项,则网络接入服务器执行后续拨号流程。步骤312:网络接入服务器判断该PPPoE终端是否拨号成功,如果是则执行步骤313,如果否则执行步骤314。步骤313:如果拨号成功,则网络接入服务器为该PPPoE终端新建一登陆历史表项,将该登陆历史表项中的历史登陆次数置为1,并启动该登陆历史表项的老化定时器。当该老化定时器超时后,登陆历史表项将被删除。步骤314:如果拨号不成功,则网络接入服务器不为该PPPoE终端新建登陆历史表项。以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述。参见图4,该图为本申请实施例提供的一种防仿冒下线攻击的装置的功能模块框图,该装置可以应用于网络接入服务器中。所述装置包括表项处理单元401和终端控制单元402。所述表项处理单元401,用于在终端登录上线后,判断所述终端对应的登录历史表项中的登陆次数是否超过设定值,登录历史表项用于记录所述终端在设定时间段内的累计登陆次数。所述终端控制单元402,用于在所述表项单元401确定所述登陆次数超过设定值时,控制所述终端在登陆上线后的设定时长内保持一直在线。可选的,所述装置还可以包括接收单元;所述接收单元,用于接收所述终端的下线请求。相应的,所述终端控制单元402具体用于:为所述终端创建上线记录,并为创建的上线记录添加固化属性标记;所述固化属性标记在经过所述设定时长后将被删除;当所述接收单元接收到所述终端的下线请求时,判断所述终端的上线记录是否标记有所述固化属性标记;如果是,则禁止响应所述终端的下线请求,以使所述终端在所述上线记录标记有固化属性标记的设定时长内保持一直在线。可选的,所述终端控制单元402还可以用于:如果所述接收单元接收到所述终端的下线请求时,所述终端的上线记录未标记有所述固化属性标记,则响应所述终端的下线请求,以使所述终端下线。可选的,所述表项处理单元401还可以用于:在所述终端下线后,查询所述终端对应的登陆历史表项是否存在;如果存在,则将所述登陆历史表项中的登陆次数加1;如果不存在,则为所述终端新建登陆历史表项,将新建的登陆历史表项中的登陆次数置为1,并为新建的登陆历史表项设置有效时间,在所述有效时间到期时,删除新建的登陆历史表项。可选的,所述表项处理单元401还可以用于:如果所述终端对应的登录历史表项中的登陆次数超过设定值,则删除所述登陆历史表项。可选的,在判断所述终端对应的登录历史表项中的登陆次数是否超过设定值之前,所述表项处理单元401还可以用于:查询所述终端对应的登陆历史表项是否存在;根据查询结果确定所述终端对应的登陆历史表项存在。在判断所述终端对应的登录历史表项中的登陆次数是否超过设定值之后,所述表项处理单元401还可以用于:如果所述终端对应的登录历史表项中的登陆次数没有超过设定值,则再次查询所述终端对应的登陆历史表项是否存在;如果存在,则将登陆历史表项中的登陆次数加1;如果不存在,则为所述终端新建登陆历史表项,将新建的登陆历史表项中的登陆次数置为1,并为新建的登陆历史表项设置有效时间,在所述有效时间到期时,删除新建的登陆历史表项。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络接入服务器的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请提供的防仿冒下线攻击的装置所在网络接入服务器的一种硬件结构图。其中,存储器中可以存储有防仿冒下线攻击的逻辑指令,该存储器例如可以是非易失性存储器(non-volatilememory)。处理器可以调用执行存储器中的防仿冒下线攻击的逻辑指令,以执行上述防仿冒下线攻击的方法中网络接入服务器的功能。如图5所示,本申请实施例还提供一种防仿冒下线攻击的装置,所述装置包括处理器501和存储器502,例如,所述处理器501和所述存储器502可以通过内部总线503相互连接。所述存储器502用于存储所述处理器501的可执行指令。所述处理器501用于执行以下操作:在终端登录上线后,判断所述终端对应的登录历史表项中的登陆次数是否超过设定值,登录历史表项用于记录所述终端在设定时间段内的累计登陆次数;如果是,则控制所述终端在登陆上线后的设定时长内保持一直在线。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页1 2 3