一种基于IP信誉度的应用层DDOS攻击的检测防护方法及系统与流程

    专利2022-07-07  139


    本申请涉及cdn网络安全领域,特别涉及一种基于ip信誉度的应用层ddos攻击的检测防护方法及系统。



    背景技术:

    随着移动互联网、云计算、5g、ai、物联网等技术和产业的迅猛发展,社会及企业数字化转型进入了关键阶段。越来越多的企业加快了向公有云的服务迁移,在技术升级的同时,针对敏感云工作负载和数据的攻击也随之而来。特别是游戏、直播、金融、政府网站,面临着大量黑产通过恶意流量挤占网络带宽,服务无法正常运营。近年来,随着ddos攻击检测的硬件设备、底层检测技术的不断发展和完善,越来越多的攻击转向了更难被检测的应用层,这给网络攻击行为的检测提出了更大的挑战。

    目前,基于用户行为特征的检测方法是目前应用层ddos攻击检测的主要研究方向,其中有下列三种比较典型的技术方案,第一种技术方案是基于用户行为特征的检测方法,主要包括根据访问请求的url顺序以及会话时间和响应大小之间的关系来检测攻击行为的检测方法。第二种技术方案是谢逸、余顺基于隐半马尔可夫模型(hsmm),该方案通过对用户行为数据进行建模,进一步计算用户行为与正常大多数用户行为的偏离度,最终实现对攻击行为的检测。第三种技术方案是ranjan等人提出,该方案的主要思路是根据请求的会话参数对应用层ddos攻击进行分类,在此基础上提出了一种会话可疑度模型,根据会话可疑度大小进行请求转发,实现对攻击的检测和防护。

    在上述检测方法的应用中,发现现有的技术方案至少存在以下缺陷:

    1)第一种技术方案无法对ddos、cc攻击行为进行有效检测,因为当攻击者足够多,特别当频繁地请求一个url时,可以轻松的绕过该检测方法;

    2)第二种技术方案局限性较大,不适合应用于cdn平台,因为cdn平台作为云服务的基础设施,可以接入各种各样的形式各异的业务,无法对大多数用户行为数据进行hsmm建模;

    3)第三种技术方案仅仅考虑了session参数,没有考虑其他的一些请求特征,例如请求的user-agent,特定的攻击软件的请求头,请求访问的频率等信息,特别的,没有与历史上发生的ddos攻击事件进行联动,缺乏分析准确性和有效性。



    技术实现要素:

    为解决现有技术方案存在的上述缺陷,本发明的目的是基于ip信誉度技术提出一种用于应用层ddos攻击的检测和防护方法。

    本发明第一方面公开一种基于ip信誉度的应用层ddos攻击的检测和防护方法,该方法通过结合ip访问日志以及ddos攻击事件记录计算获取ip信誉度,再根据ip信誉度对访问请求进行分流,将高危访问请求重定向到对应的高防服务器上,从而实现将不同安全威胁等级的请求分流隔离,进一步实现了应用层ddos攻击的检测和防护。

    所述方法具体包括以下实现步骤:步骤s1:根据历史记录数据计算获得所有访问请求ip的ip信誉度,存储所述ip信誉度形成ip信誉数据库;步骤s2:接收访问请求,根据所述访问请求的ip地址从所述ip信誉数据库中获取所述请求的ip信誉度;步骤s3:根据获取的ip信誉度,检测所述的访问ip是否属于高危ip,如果不是,则结束检测;步骤s4:将检测为高危ip的访问请求重定向到相应的高防服务器做进一步处理,所述高防服务器用于检测和预防超大流量的ddos攻击。

    进一步的,所述步骤s1具体包括以下实现步骤:根据历史记录数据,计算获取请求ip的ip信誉度;将所述ip信誉度存储到存储器中,形成ip信誉数据库;基于请求ip获取攻击记录,如果有记录,则修改ip信誉度并同步到ip信誉数据库中。

    进一步的,所述计算获取ip信誉度的计算方法如下:

    其中a为所有ip信誉度的影响因子组成的集合,a为a集合中的一个影响因子,f(a)表示影响因子a对ip信誉度的影响程度,w(a)表示影响因子a的权重。

    进一步的,所述ip信誉度的影响因子有5个,分别为历史访问时间、历史访问次数、历史访问的url数量、历史请求头的数量、历史访问的目标域名数量。

    进一步的,所述的存储器为分布式nosql集群。

    进一步的,所述的存储器为redis集群。

    基于相同的发明构思,本发明第二方面还公开一种基于ip信誉度的应用层ddos攻击的检测防护系统,该系统包括攻击检测模块、高防服务器、信誉度计算模块、存储单元,其中:攻击检测模块:用于根据所述访问请求的ip地址从所述ip信誉数据库中获取所述用户的ip信誉度,并进行检测,将高危请求重定向到高防服务器;高防服务器:用于检测和预防超大流量的ddos攻击;信誉度计算模块:根据历史记录数据,计算获取请求ip的ip信誉度,所述历史记录数据包括历史访问日志数据和历史ddos攻击记录;存储单元:用于存储所有ip信誉度数据,并提供ip信誉度查询服务。

    进一步的,所述的高防服务器拥有t级多线路的bgp带宽资源。

    本发明第三方面还公开的一种电子设备,包括处理器以及存储器,其中所述存储器用于存储可执行程序;所述处理器用于执行所述可执行程序以实现本发明第一方面公开的基于ip信誉度的应用层ddos攻击的检测防护方法。

    如上所述,该发明基于ip信誉度模型结合cdn访问日志以及ddos攻击事件进行综合分析,对cdn节点上的请求按照ip信誉度等级(即安全威胁等级)进行分流,将高危请求重定向到高防ip服务器上,实现了对ddos攻击的有效检测和防护。

    利用本发明所公开的方法、系统和电子设备,对应用层的ddos攻击行为的检测和防护过程中,具有以下有益效果:

    1、采用信誉度模型,结合cdn访问日志以及ddos攻击事件日志,在请求访问到达时首先进行攻击检测,能够有效区分异常流量,提高对ddos攻击的预防和检测的准确性。

    2、将低信誉等级(高危等级)的请求重定向高防服务器,以使可疑流量与良好流量在传输链路上分离,在服务遭受攻击时,可以有效保证正常用户的访问质量,提升了用户的体验。

    为了对本发明有更清楚全面的了解,下面结合附图,对本发明公开的方法、网络、系统和电子设备的具体实施方式进行详细描述。

    附图说明

    为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1为一种实施例中一种基于ip信誉度的应用层ddos攻击的检测防护方法的处理流程示意图。

    图2为一种实施例中ip信誉度的计算流程示意图。

    图3为一种实施例中根据ddos攻击事件调整ip信誉度的流程示意图。

    图4为一种实施例中一种基于ip信誉度的应用层ddos攻击的检测防护系统的结构组成示意图。

    具体实施方式

    以下参照附图,对本发明的实施方式和实施例进行详细说明。

    请参阅图1,图1示出了一种实施例中一种基于ip信誉度的应用层ddos攻击的检测防护方法的处理流程示意图,具体包括步骤s11~s14:

    步骤s11:根据历史记录数据计算获得所有访问请求ip的ip信誉度,存储所述ip信誉度形成ip信誉数据库。

    该步骤中,计算获得所有访问请求ip的ip信誉度的具体实现步骤请参阅图2所示的ip信誉度的计算流程示意图。

    获取的ip信誉度数据保存在存储器中形成ip信誉数据库,具体的,ip信誉度数据可保存在分布式nosql集群中,在一个实施例中,ip信誉度数据保存在redis集群中。

    步骤s12:接收访问请求,根据所述访问请求的ip地址从所述ip信誉数据库中获取所述请求的ip信誉度。

    在一个实施例中,当用户请求进入到cdn平台,根据用户请求获取到用户请求ip,根据请求ip从ip信誉数据库中获取请求ip的信誉度值。

    步骤s13:根据获取的ip信誉度,检测所述的访问ip是否属于高危ip,如果不是,则结束检测。

    根据信誉值,判断该请求ip是不是高危ip,如果不是,则结束检测,执行其他cdn业务逻辑。在一个实施例中,可以通过安全阈值来确定安全威胁等级,低于安全阈值的是安全(good)等级,超过安全阈值的是危险(suspicious)等级。判断是否是高危ip的方法是根据ip信誉度对应的安全威胁等级来判断。具体实施过程中,也可以将ip信誉度对应的安全威胁等级存储到ip信誉数据库中。

    步骤s14:将检测为高危ip的访问请求重定向到相应的高防服务器做进一步处理。

    在一个实施例中,如果该ip没有信誉值或者信誉等级为危险(suspicious)等级,则将请求重定向到同一机房的高防服务器,其中,高防服务器用于检测和预防超大流量的ddos攻击。

    请参阅图2,图2示出了一种实施例中ip信誉度的计算流程示意图,具体包括步骤s21~s213:

    步骤s21:根据历史记录数据,计算获取请求ip的ip信誉度。

    在一个实施例中,ip信誉度的计算公式为:

    score=∑a∈af(a)w(a)(1)

    其中a为表示所有影响信誉度的各个因子组成的集合,a为集合中的一个影响因子,f(a)表示影响因子a对ip信誉度影响程度的计算函数,w(a)表示影响因子a的权重。其中f(a)为:

    其中sa为影响因子a的最近一个月和的一个标准值,如果f(a)等于100,则说明仅就影响因子a而言,该ip是可信的,反之不可信。

    根据信誉值调整该ip的信誉等级,如果ip的信誉值大于设定的阈值,即

    score>∑a∈aw(a)*100(3)

    则该ip的信誉等级记为good,否则为suspicious。

    在一个具体的实施例中,ip信誉度的影响因子有5个,分别为最近一段时间内用户历史访问时间total_time,最近一段时间内用户的访问次数acc_count,最近一段时间内访问的不同url的数量diff_urls,最近一段时间用户不同请求头的个数hd_count,最近一段时间内访问的不同业务的域名个数diff_domains。以上各个影响因子在计算信誉度时,都有其相应的权重,如历史访问时间的权重为wtotal_time,不同url数量的权重为wdiff_urls。

    作为一种举例,在一个实施例中,假设统计最近一个月的信誉值,设定ip最近一个月访问cdn平台的总时间为ttotal_time;设定当天访问时间为ttoday_time,ttoday_time为每个请求的session时间之和;设定最近一个月该ip访问cdn平台的总次数为nacc_count;设定该ip当天的请求数为ntoday_acc_count;设定该ip最近一个月访问的不同url个数为ndiff_urls,当天访问的不同url个数为ntoday_diff_urls;设定最近一个月内该ip不同请求头部的个数为nhd_count,当天的不同请求头部的个数为ntoday_hd_count;设定最近一个月该ip访问的不同域名的个数为ndiff_domains,当天访问的不同域名个数为ntoday_diff_domains。

    定时启动一个sparkjob任务,拉取指定时间间隔的日志,读取保存的ip信誉度的历史数据,假设某个ip的信誉度为p,对ip信誉度的历史数据和拉取的数据取差值,得到历史数据中当天没有出现的数据,相应的各个指标设置为零值,即当天访问时间ttoday_time=0,当天的请求次数ntoday_acc_count=0,当天访问的不同url个数为ntoday_diff_urls=0,当天请求中携带的不同请求头个数为ntoday_diff_urls=0,当天访问的不同域名的个数ntoday_diff_domains为0。

    根据上述信誉度因子,可根据公式(1)计算ip信誉度。

    步骤s22:将所述ip信誉度存储到存储器中,形成ip信誉数据库。

    按前述公式(1)计算每个ip(用户)计入当天访问数据之后的信誉值,并将结果保存到ip信誉数据库中。

    步骤s23:基于请求ip获取攻击记录,如果有记录,则修改ip信誉度并同步到ip信誉数据库中。

    具体的实现步骤请参阅图3所示的流程示意图。

    请参阅图3,图3示出了一种实施例中根据ddos攻击事件调整ip信誉度的流程示意图,具体包括步骤s31~s33:

    步骤s31:拉取攻击事件发生前2小时的日志。

    从ddos攻击日志中拉取最近两小时内的日志,如果没有日志,则说明没有攻击发生,则直接结束。

    步骤s32:根据被攻击的服务器ip过滤出请求ip。

    根据被攻击的服务器ip,从拉取的日志中过滤出请求访问这些服务器的客户端的ip地址。

    步骤s33:调整上一步过滤出来的ip的信誉度,保存到ip信誉数据库中。

    从ip信誉数据库中查找该ip的信誉度,将对应的信誉度修改为suspicious,并保存到ip信誉数据库中。

    请参阅图4,图4示出了图4为一种实施例中一种基于ip信誉度的应用层ddos攻击的检测防护系统10的结构组成示意图,如图所示,该系统10包括攻击检测模块101、高防服务器102、信誉度计算模块103、存储单元104,其中:

    攻击检测模块101:用于根据所述访问请求的ip地址从所述ip信誉数据库中获取所述用户的ip信誉度,并进行检测,将高危请求重定向到高防服务器102;

    高防服务器102:用于检测和预防超大流量的ddos攻击;具体的实现中,高防服务器可配置有t级多线路的bgp带宽资源,用以解决超大流量的ddos攻击。

    信誉度计算模块103:根据历史记录数据,计算获取请求ip的ip信誉度;其中,历史记录数据包括历史访问日志数据和历史ddos攻击记录。

    存储单元104:用于存储所有ip信誉度数据,并提供ip信誉度查询服务。

    本申请实施例还公开一种电子设备,所述电子设备中包括处理器及存储器,所述存储器中存储有可执行程序,当所述可执行程序在计算机上运行时,所述计算机执行上述任一实施例所述的基于ip信誉度的应用层ddos攻击的检测防护方法。

    需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可以存储于计算机可读存储介质中,所述存储介质可以包括但不限于:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

    对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。


    技术特征:

    1.一种基于ip信誉度的应用层ddos攻击的检测防护方法,其特征在于,所述方法包括以下实现步骤:

    步骤s1:根据历史记录数据计算获得所有访问请求ip的ip信誉度,存储所述ip信誉度形成ip信誉数据库,其中,所述历史记录数据包括历史访问日志数据和历史ddos攻击记录;

    步骤s2:接收访问请求,根据所述访问请求的ip地址从所述ip信誉数据库中获取所述请求的ip信誉度;

    步骤s3:根据获取的ip信誉度,检测所述的访问ip是否属于高危ip,如果不是,则结束检测;

    步骤s4:将检测为高危ip的访问请求重定向到相应的高防服务器做进一步处理,所述高防服务器用于检测和预防超大流量的ddos攻击。

    2.如权利要求1所述的一种基于ip信誉度的应用层ddos攻击的检测防护方法,其特征在于,所述步骤s1具体包括以下实现步骤:

    根据历史记录数据,计算获取请求ip的ip信誉度;

    将所述ip信誉度存储到存储器中,形成ip信誉数据库;

    基于请求ip获取攻击记录,如果有记录,则修改ip信誉度并同步到ip信誉数据库中。

    3.如权利要求2所述的一种基于ip信誉度的应用层ddos攻击的检测防护方法,其特征在于,所述计算获取ip信誉度的计算方法如下:

    其中a为所有ip信誉度的影响因子组成的集合,a为a集合中的一个影响因子,f(a)表示影响因子a对ip信誉度的影响程度,w(a)表示影响因子a的权重。

    4.如权利要求3所述的一种基于ip信誉度的应用层ddos攻击的检测防护方法,其特征在于,所述ip信誉度的影响因子有5个,分别为历史访问时间、历史访问次数、历史访问的url数量、历史请求头的数量、历史访问的目标域名数量。

    5.如权利要求4所述的一种基于ip信誉度的应用层ddos攻击的检测防护方法,其特征在于,所述的存储器为分布式nosql集群。

    6.如权利要求5所述的一种基于ip信誉度的应用层ddos攻击的检测防护方法,其特征在于,所述的存储器为redis集群。

    7.一种基于ip信誉度的应用层ddos攻击的检测防护系统,其特征在于,包括攻击检测模块、高防服务器、信誉度计算模块、存储单元,其中:

    攻击检测模块:用于根据所述访问请求的ip地址从所述ip信誉数据库中获取所述用户的ip信誉度,并进行检测,将高危请求重定向到高防服务器;

    高防服务器:用于检测和预防超大流量的ddos攻击;

    信誉度计算模块:根据历史记录数据,计算获取请求ip的ip信誉度,所述历史记录数据包括历史访问日志数据和历史ddos攻击记录;

    存储单元:用于存储所有ip信誉度数据,并提供ip信誉度查询服务。

    8.如权利要求7所述的一种基于ip信誉度的应用层ddos攻击的检测防护系统,其特征在于,所述的高防服务器拥有t级多线路的bgp带宽资源。

    9.一种电子设备,其特征在于,所述系统包括处理器以及存储器,其中:

    所述存储器用于存储可执行程序;

    所述处理器用于执行所述可执行程序以实现权利要求1-6所述的一种基于ip信誉度的应用层ddos攻击的检测防护方法。

    技术总结
    本申请实施例提供一种基于IP信誉度的应用层DDOS攻击的检测防护方法、系统及电子设备,所述方法通过结合IP访问日志以及DDOS攻击事件记录计算获取IP信誉度,再根据IP信誉度对访问请求进行分流,将高危访问请求重定向到对应的高防服务器上,从而实现将不同安全威胁等级的请求分流隔离,进一步实现了应用层DDoS攻击的检测和防护。利用本发明所公开的方法,能够有效区分异常流量,提高对DDoS攻击的预防和检测的准确性,同时,在服务遭受攻击时,利用本发明公开的方法还可以有效保证正常用户的访问质量,提升了用户的体验,因此具有明显的有益效果。

    技术研发人员:谢辉;姜智;吴信谊
    受保护的技术使用者:上海七牛信息技术有限公司
    技术研发日:2020.11.25
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-7874.html

    最新回复(0)