一种能防御DDoS的数据采集方法和系统与流程

文档序号:12730590阅读:385来源:国知局
一种能防御DDoS的数据采集方法和系统与流程

本发明涉及通讯领域,特别是一种能防御DDoS的数据采集方法。本发明还涉及一种数据采集系统,特别是一种基于通配符的防御DDoS的数据采集系统。



背景技术:

拒绝服务(DoS)攻击是一个或多个攻击者阻止或损害主计算机、路由器、服务器和网络等的合法使用的明显企图。虽然这种攻击可以从目标网络本身内发起,但绝大多数攻击是从与通过因特网与目标连接的外部系统和网络发起的。今天,因特网连接设备、系统和网络正面临着迅速扩张和来自DoS攻击的真正威胁。这种攻击不仅伤害既定目标,而且威胁着因特网本身的稳定性。

早期DoS攻击技术涉及到生成分组和将分组从单个源头发送到单个目的地的简单工具。这些攻击往往人工配置,这限制了它们的频率和有效性,并且,可以容易地通过例如源地址分组过滤来防御。但是,近年来,演变出对一个或多个目标自动进行多源攻击,即所谓分布式拒绝服务(DDoS)攻击的工具包。通过从黑客网站下载这些工具包可容易地获得它们,并且,使用简单,连初学因特网用户也可以设置DDoS攻击。

广告监测服务的方法是在广告页中加入HTTP请求代码,由此段代码收集、处理、存储访客信息,并将这些信息发送回广告监测服务器。

作为广告监测服务商,每天在互联网上采集TB级的数据流量,涉及成百上千个项目的监测。需要一种简单快速的方法,抵御DDoS的攻击活动。即便个别业务遭遇DDoS的攻击,也不能影响整个业务系统的服务。

因此,如何改善多业务系统抗DDoS攻击的能力,以降低受攻击 业务对其他业务的访问请求的影响,成为目前亟须解决的技术问题之一。



技术实现要素:

为满足这一需求,发明人提供一种基于通配符的防御DDoS的数据采集方法。通过给HTTP请求代码发放随机子级域名,分散各个项目的子级域名,从而降低DDoS攻击对数据采集系统的影响。

根据本发明的第一方面,本发明提供一种能防御DDoS的数据采集方法,其包括:

对HTTP请求代码随机分配子级域名;

接收因触发所述HTTP请求代码而引起的对数据采集服务器的HTTP请求;和

监控来自所述HTTP请求代码被分配的子级域名的网络访问流量,当所述子级域名的网络访问流量超过预警值时,修改DNS中该子级域名的解析规则,使其不指向数据采集服务器的IP地址。

优选地,每个HTTP请求代码分配到一个子级域名。

优选地,每个子级域名均不相同。

优选地,修改后的子级域名的解析规则被存储于DNS的本地域名数据库中。

在本发明的一些实施方式中,所述HTTP请求代码为监测代码。

在本发明的一些实施方式中,所述子级域名的分配是在HTTP请求代码生成时自动进行的。

在本发明的一些实施方式中,每个HTTP请求代码被分配的子级域名均不相同。

在本发明的一些实施方式中,流量监控是在数据采集服务器进行的。

在本发明的又一些实施方式中,流量监控是在DNS服务器进行的。

根据本发明的第二方面,本发明提供一种能防御DDoS的数据 采集系统,其包括:

HTTP请求代码生成单元,生成HTTP请求代码,每个HTTP请求代码被随机分配一个子级域名;

数据采集单元,采集因触发HTTP请求代码而引起的对数据采集服务器的HTTP请求中携带的数据信息;

流量监控单元,监控来自每个子级域名的网络访问流量,当网络访问流量超过预警值时,修改DNS中该子级域名的解析规则,使其不指向数据采集系统。

优选地,其中每个HTTP请求代码被分配的子级域名均不相同。

优选地,所述系统还包括本地域名数据库单元,存储被修改解析规则的子级域名。

在本发明的一些实施方式中,所述流量监控单元监控数据采集服务器的网络访问流量。

在本发明的又一些实施方式中,所述流量监控单元监控DNS服务器的网络访问流量。

通过本发明,在利用HTTP请求代码进行数据采集时,由于每个HTTP请求代码分配了不同的子级域名,分散了HTTP请求代码提出HTTP请求时的子级域名路径。在受到DDoS攻击时,只需要阻断来自该子级域名的数据采集即可,不会影响其他正在进行的监测项目。由于各HTTP请求代码所分配的子级域名不同,只需要取消问题代码,分配对应新的子级域名的新代码即可继续工作,所损失的流量对整体监测而言可以忽略不计。如此,对于需要夜以继日不间断采集网络数据的大数据公司而言,本发明的方法可以极大地提高系统安全性和稳定性。

附图说明

本发明的下列附图在此作为本发明的一部分用于理解本发明。附图中示出了本发明的实施例及其描述,用来解释本发明的原理。在附图中,

图1是根据本发明方法的一些实施方式的流程图。

图2是根据本发明系统的一些实施方式的示意图。

具体实施方式

在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员来说显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。

在本发明中,术语“DNS”(Domain Name System)是指域名系统。是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

在解析域名时,可以首先采用本地域名数据库进行查询的方法,如果在本地域名数据库中没有查到,再采用缓存查询,可以查询最近被解析的域名。如果还没有查到,则采用迭代查询,如果在缓存中没有该网站域名相关的解析记录,本地DNS服务器最后执行迭代查询,通过迭代查询获取。以查询网站域名“www.abc.com.cn”为例,假设本地DNS服务器在本地域名数据库和缓存中未查到www.abc.com.cn对应的IP地址,则先去自身的根域DNS服务器发起该域名解析请求;如果该根域DNS服务器无法解析,则本地DNS服务器向管理cn域的DNS服务器发起该域名解析请求;如果该管理cn域的DNS服务器无法解析,则本地DNS服务器向管理com.cn域的DNS服务器发起该域名解析请求;以此类推。

在本发明中,术语“HTTP请求代码”包括但不限于监测代码。监测代码是广告监测领域常用的术语,用于在用户打开网页、点击或其他设定的条件满足时,向服务器发起HTTP请求。本发明的技术方案可以用在广告监测这样高要求的情景中,也同样可以满足其他要求不那么严苛的情景。

在本发明中,术语“子级域名”包括但不限于二级域名。网站子级域名就是网站主域名的所有下级。例如像www.intersk.com、bbs.intersk.com、sz.bbs.intersk.com统称为intersk.com的子级域名。简而言之就是intersk.com(也就是顶级域名)下面的所有扩展域名,都是父域名下的子级域名。而二级域名的实例,例如在登录百度的时候,当点击了百度知道,域名就会从www.baidu.com变为zhidao.baidu.com,而变化的这个域名,就是一个二级域名,它相对于主域名来说,也是一个独立的域名。

图2示出了根据本发明的系统的一些实施方式的示意图,主要是在广告监测领域的实施方式。广告监测单元201一般是在广告投放网页加入监测代码,当用户打开网页时,脚本执行,向数据采集服务器发送HTTP请求,其中包含用户的行为信息等诸多广告监测用的参数。除了广告投放的网页以外,网络视频、媒体等也是广告主进行广告投放的渠道,也可以通过加码的方式进行监测,在此不再赘述。

一般而言,在确认进行一个监测项目之后,由监测代码生成单元202生成项目所用的监测代码。在本发明中,所生成的监测代码随机分配一个子级域名。例如,如果数据采集服务器的域名为www.bigdata.com,监测代码A被分配的子集域名可以为abc.bigdata.com,监测代码B被分配的子集域名可以为bcd.bigdata.com。

监测代码A和监测代码B被加入到不同的广告投放网页,当用户打开网页时,触发监测代码A或B,监测代码A或B收集用户的行为信息(例如通过cookie)并向数据采集服务器发送HTTP请求。

在通过DNS 204进行域名解析时,监测代码A发回的HTTP请求来自abc.bigdata.com,监测代码B发回的HTTP请求来自bcd.bigdata.com。通过解析,都指向数据采集服务器的IP地址。

数据采集单元205接收监测代码A和监测代码B发回的HTTP请求,并采集其携带的信息,进行数据处理,存储于数据仓库。同 时,流量监控单元206监控来自监测代码A(abc.bigdata.com)和监测代码B(bcd.bigdata.com)的网络访问流量。当监测到来自某子集域名(例如,abc.bigdata.com)的访问流量超过预警值时,向DNS 204发出请求,阻隔异常子级域名,即,修改abc.bigdata.com的解析规则,使其不指向数据采集服务器(例如,修改为指向192.168.1.1)。从而避免数据采集服务器因过载而瘫痪。同时,由于监测代码B仍旧在工作,因此该项目的监测并未因此中断。

所述被阻隔的子级域的解析规则被保存在DNS的本地域名数据库单元203中备案。

在本发明的一些实施方式中,一旦一个子级域名被阻隔,该监测代码失效。监测代码生成单元202生成新的监测代码C,并被分配新的子集域名(例如cde.bigdata.com),代替之前的监测代码A。由此,对于整个项目而言,损失的仅仅是由监测代码A失效到监测代码C代替监测代码A之间的很小一部分流量,在设置的监测代码数量足够多或替代间隔足够短的情况下,几乎可以忽略。

在本发明的另一些实施方式中,被阻隔的子级域名所对应的监测代码并不立刻被替代。因为广告监测维度的多样性,每个监测代码监测的职责不尽相同。因此在一些情况下,当发现一个监测代码被分配的子集域名访问流量超过预警值时,可以仅仅阻隔该子级域名。

图1示出了本发明的数据采集方法的一些实施方式的流程图。

步骤S100对HTTP请求代码随机分配子级域名。分配了子级域名的HTTP请求代码被加载在项目网页中,可以是SDK、API、或其他可行的方式加载。

步骤S110接收所述HTTP请求代码向数据采集服务器发送的HTTP请求。

步骤S120监控来自所述HTTP请求代码被分配的子级域名的网络访问流量,判断所述子级域名的网络访问流量是否超过预警值。流量监控单元可以设在DNS服务器上,也可以设在数据采集服务器上,可以根据使用的便捷性而自由设定。例如租用第三方的 DNS服务,一般是设在数据采集服务器上。

步骤S130修改DNS中该子级域名的解析规则,使其不指向数据采集服务器的IP地址。

需要说明的是,虽然本发明的初衷是用于进行广告监测。但本发明的技术方案并不限于此,可以推广到所有具有数据采集功能、会面临DDoS攻击风险的系统中。只要能够通过分配子级域名,分散HTTP请求访问路径即可。由于广告监测对数据反馈的时效性、准确性要求较其他服务更加严格,因而本发明的防御DDoS的技术方案在满足广告监测服务的同时,也能够用在其他领域。

虽然本说明书包含许多具体的实施方式细节,但是不应当将这些细节解释为对任何发明或可以主张的内容的范围的限制,而应当解释为对可以特定于特定发明的特定实施例的特征的描述。还可以将在本说明书中在分离的实施例的情境中描述的某些特征组合在单个实施例中实现。相反地,也可以将在单个实施例的情境中描述的各个特征分离地在多个实施例中实现或在任何适当的子组合中实现。此外,尽管可能在上面将特征描述为在某些组合中起作用,甚至最初主张如此,但是可以在一些情况下将来自所主张的组合的一个或多个特征从组合中删去,以及可以将所主张的组合指向子组合或者子组合的变体。

类似地,虽然在附图中以特定顺序描绘了操作,但是不应当将这理解为需要以所示的特定顺序或者以连续顺序执行这样的操作、或者需要执行所有图示的操作才能达到期望的结果。在某些情况下,多任务以及并行处理可以是有利的。此外,不应当将在上述实施例中的各种系统组件的分离理解为在所有实施例中均需要这样的分离,而应当理解的是,通常可以将所描述的程序组件和系统集成到一起成为单个软件产品或封装为多个软件产品。

本发明已经通过上述实施例进行了说明,但应当理解的是,上述实施例只是用于举例和说明的目的,而非意在将本发明限制于所描述的实施例范围内。此外本领域技术人员可以理解的是,本发明并不局限于上述实施例,根据本发明的教导还可以做出更多种的变 型和修改,这些变型和修改均落在本发明所要求保护的范围以内。本发明的保护范围由附属的权利要求书及其等效范围所界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1