缓解DDoS攻击的方法技术

技术编号:23938217 阅读:64 留言:0更新日期:2020-04-25 03:59
本发明专利技术提供缓解DDoS攻击的方法,包括如下步骤:步骤1:客户端(1)向服务端(2)发送建立连接请求(S101),步骤2:服务端(2)响应连接请求,生成target,作为客户端(1)计算工作量时的目标值。步骤3:客户端(1)基于target按照规定的数据格式生成工作量证明消息(m),作为工作量证明发送给服务端(2)。步骤4:服务端2通过单向散列函数计算工作量证明消息(m)的散列值(h),通过验证h中包含target值,判断工作量证明的真实性。步骤5:对通过验证的连接请求提供服务。本发明专利技术不需要增加硬件资源即可有效的缓解DDoS攻击。

Methods to mitigate DDoS Attacks

【技术实现步骤摘要】
缓解DDoS攻击的方法
本专利技术涉及互联网
,尤其涉及一种缓解DDoS攻击的方法。
技术介绍
服务程序通过响应客户端的连接请求来提供服务功能。服务程序部署在服务器、云服务器等网络设施上,能同时响应的最大连接数、数据吞吐量、业务并发量等性能指标受多种因素限制,容易受到DDoS攻击。DDoS攻击(DistributedDenialofServiceAttack)意为“分布式拒绝服务攻击”,即,利用大量分布式节点对目标服务发送海量请求,耗尽服务器的性能资源,导致正常合法用户无法获得服务。现有技术中,应对DDoS攻击的防护手段包括如下方案:1)资源隔离:通过部署高性能的数据和流量处理设备,分析、识别、过滤异常的流量和请求;2)用户规则:通过限制用户的流量类型、请求频率、数据包特征、业务间隔时间等规则,在满足正常服务的前提下,减少服务资源开销,更好的对抗DDoS攻击;3)大数据智能分析:利用大数据技术,基于对海量数据的分析建模,进而对合法用户进行模型化,并利用这些模型的特征进行过滤,实现对DDoS流量的精确清洗;4)资源对抗:通过硬件资源和带宽资源的堆砌应对DDoS流量。上述现有技术手段通常要求服务提供方支出高昂的硬件成本、部署成本、计算成本、运维成本,对网络基础设施和云平台的技术实力高度依赖。
技术实现思路
本专利技术针对上述现有技术的问题,提供一种不需要硬件资源,通过降低或缓解DDoS攻击频次的方法。本专利技术的第一技术方案为缓解DDoS攻击的方法,其特征在于,包括如下步骤:步骤1:客户端(1)向服务端(2)发送建立连接请求(S101),步骤2:服务端(2)响应连接请求,生成target,作为客户端(1)计算工作量时的目标值,步骤3:客户端(1)基于target按照规定的数据格式生成工作量消息(m),将工作量消息(m)作为工作量证明发送给服务端(2),步骤4:服务端2通过单向散列函数计算工作量消息(m)的散列值(h),通过验证h中包含target判断工作量证明的真实性,步骤5:对通过验证的连接请求提供服务。第二技术方案基于第一技术方案,所述数据格式中,包括请求的业务数据、target、patch,其中patch为用于达成计算目标的随机数据,由客户端(1)指定patch的初始值。第三技术方案基于第二技术方案,步骤3中,所述客户端1还向服务端2发送target在散列值(h)中的位置信息(f),步骤4中:服务端2验证target在散列值(h)中的位置,判断工作量证明的真实性。第四技术方案基于第三技术方案,所述单向散列函数包括但不限于MD5、SHA-1、SHA-2系列算法。第五技术方案基于第一至第四中的任一技术方案,所述target使用不重复的数据,包括使用累加器的累加值、随机数、当前时间。由于客户端(1)在生成工作量证明时,需要进行适量的耗时计算,对恶意客户端(1)来说,可在基本不消耗服务端计算资源的前提下,提高客户端(1)的计算消耗,增加了连接成本,有效防御和缓解服务端被DDoS攻击的问题。附图说明图1为第一实施方式中,客户端与服务端建立连接的时序图;图2为客户端发起连接请求时的流程图;图3为服务端接收连接请求时的流程图;图4为第二实施方式中,客户端与服务端建立连接的时序图。具体实施方式下面结合附图对本专利技术的较佳实施例进行详细阐述,参考标号是指本专利技术中的组件、技术,以便本专利技术的优点和特征在适合的环境下实现能更易于被理解。下面的描述是对本专利技术权利要求的具体化,并且与权利要求相关的其它没有明确说明的具体实现也属于权利要求的范围。本专利技术通过工作量证明技术,通过增加连接发起方的计算成本,缓解DDoS攻击。工作量证明技术是指,要求客户端1(连接的发起者)在发起连接请求时,需要进行适量的耗时计算,计算结果发送给服务端2。服务端2通过快速计算,验证客户端1提供的工作量的真实性。通过消耗客户端1(连接的发起者)的计算资源,缓解其对服务端2的DDoS攻击的频次。以下对本专利技术的第一实施方式进行说明。图1为客户端与服务端建立连接的时序图。客户端1向服务端2发送建立连接请求(S101)。服务端2响应连接请求,生成target(S102)。target是客户端1计算工作量时的目标值。服务端2将生成的target值发送至客户端1(S103)。客户端1基于target通过耗时计算,生成工作量证明消息m(S104)。工作量证明消息中包含需要服务端响应的业务数据data。客户端1将工作量证明的相关信息(m,f)发送至服务端2(S105)。m为工作量证明消息,f为用于验证工作量证明真实性的数据。关于m,f以下结合实施例详细说明。服务端2验证工作量证明(S106)。通过验证的,提供相应的服务;未通过验证的,判断为恶意攻击行为拒绝提供服务。服务端2将验证结果发送至客户端1(S107)。以下对客户端生成工作量证明进行说明。在本实施方式中,工作量证明的生成采用单向散列函数(Hash函数)。单向散列函数(Hash函数)的特殊性质:给定m可快速计算得到h=H(m);但知道h,无法通过逆向计算m=H-1(h)得到m;给定m,想找到另一消息m’,并满足H(m)=h(m’)在计算上也是不可行的。表1为工作量消息m的数据格式;表2为各字段的说明。客户端1生成的工作量证明消息m中包含data(数据载荷)、target(目标值)、patch(补丁值)。表1表2客户端1计算工作量证明消息(以下简称消息)m的过程如下:1)生成需要服务端2响应的业务请求数据data。2)生成消息m,m中包含data(数据载荷)、target(目标值)、patch(补丁值),初始时,客户端1指定patch的初始值;消息m的数据格式如表1所示。3)计算消息m的散列值h=Hash(m),此处使用的单向散列函数包括但不限于MD5、SHA-1、SHA-2系列算法等;4)在散列值h中查找m.target内容;如果h中不包含m.target,改变m.patch的值(变化方法包括但不限于:增加、减小、随机值),返回步骤3)重新计算计算消息m的散列值h,直至h中出现m.target内容;5)确定m.target内容在散列值h中的位置f。对于长度为L的散列值,出现m.target内容的位置f为0≤f≤L-m.len2。表3为出现m.target内容位置说明。表36)将m、f发送给服务端,完成工作量证明消息的发送。服务端2只要对其进行验证即可判断工作量证明的真实性。服务端2验证工作量证明的过程如下:1)服务端2已知m.target的长度与期望值t(t由服务端指定,或由服务端指定生成本文档来自技高网...

【技术保护点】
1.缓解DDoS攻击的方法,其特征在于,包括如下步骤:/n步骤1:客户端(1)向服务端(2)发送建立连接请求(S101),/n步骤2:服务端(2)响应连接请求,生成target,作为客户端(1)计算工作量证明时的目标值,/n步骤3:客户端(1)基于target按照规定的数据格式生成工作量证明消息(m),作为工作量证明发送给服务端(2),/n步骤4:服务端(2)通过单向散列函数计算工作量证明消息(m)的散列值(h),通过验证h中包含target值,判断工作量证明的真实性,/n步骤5:对通过验证的连接请求提供服务。/n

【技术特征摘要】
1.缓解DDoS攻击的方法,其特征在于,包括如下步骤:
步骤1:客户端(1)向服务端(2)发送建立连接请求(S101),
步骤2:服务端(2)响应连接请求,生成target,作为客户端(1)计算工作量证明时的目标值,
步骤3:客户端(1)基于target按照规定的数据格式生成工作量证明消息(m),作为工作量证明发送给服务端(2),
步骤4:服务端(2)通过单向散列函数计算工作量证明消息(m)的散列值(h),通过验证h中包含target值,判断工作量证明的真实性,
步骤5:对通过验证的连接请求提供服务。


2.根据权利要求1所述的缓解DDoS攻击的方法,其特征在于,所述数据格式中,包括请求的业务数据、target、pat...

【专利技术属性】
技术研发人员:李勃
申请(专利权)人:北京握奇智能科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1