一种基于IP地址安全信誉度的网络安全防护方法及系统与流程

文档序号:13969099阅读:399来源:国知局

本发明涉及网络安全技术领域,具体地,涉及一种基于ip地址安全信誉度的网络安全防护方法及系统。



背景技术:

随着互联网技术的飞速发展,互联网技术为用户提供了各种便利的应用,例如:即时聊天、社交平台、网络购物等,与此同时,黑客通过恶意攻击上述应用的网络服务器,使得合法用户无法正常访问网络服务器。以分布式拒绝服务(distributeddenialofservice,简称为ddos)为例,攻击者入侵或者间接利用的大量“僵尸主机”向攻击对象(即网络服务器)发送大量伪装后的网络包,目的是为了造成网络阻塞或服务器资源耗尽,从而导致网络服务器拒绝为合法用户提供服务,即合法用户发送给网络服务器的网络包被淹没,合法用户无法正常访问网络服务器的网络资源。常见的ddos攻击手段包括:synflood、ackflood、udpflood、icmpflood、tcpflood、connectionsflood、scriptflood、proxyflood等。

随着ddos恶意攻击在互联网上的肆虐泛滥,面对各种攻击威胁,如何对恶意攻击进行防护,维护网络安全已然成为互联网公民的首要任务。目前业界防护设备针对ddos攻击的防护,均采用针对不同的攻击类型使用不同攻击防护算法的方案,以达到对ddos攻击流量进行清洗的目的。

现有技术中已经存在多种基于对数据包的处理来防范针对服务器进行的流量攻击的防护措施,这些防护措施通常会先对数据包进行分析,并具体解析出数据包的来源地、目的地、协议、数据内容等由浅至深地封装在数据包中的多项信息中的一个或多个,进而根据解析出的信息来判断应当放行还是丢弃该数据包。然而在现有的方案中,这些防护措施通常是相对静态地设置在服务器的入口处,其具体执行的对数据包的分析和判断通常是预先设置好的,而无关于服务器的实际运行状况,这就造成了服务器在负荷出现预期之外的增涨时无法做出适应性的调整,进而导致服务器的瘫痪。针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

发明人在研究和实践过程中发现,如果防护部署方案为将防护设备接入至网关路由器,当防护设备的检测系统检测到攻击者的ddos攻击时,通知防护设备进行ddos攻击防护,其中,防护设备可以对不同的攻击类型采用相应的算法进行防护(如synflood、udpflood、dnsflood等攻击防护算法),现有的synflood防护策略主要采用预定时间(例如3秒)的重传机制以及源限速的方法;udpflood防护策略主要采用根据数据包大小,进行包特征过滤、限速等方法;dnsflood防护策略主要采用将数据包进行dns缓存、限速等方案。

例如,防护设备使用synflood防护策略,可以采用dcn防火墙来拦截,在dcn防火墙受到攻击的时候会提示有ip试图连接服务器的端口,或进行报警,此时可以将合法用户的合法数据包进行重传等。

总结上述防护方法,上述针对恶意攻击的防护方案,针对重放类攻击、以及模拟真实源的攻击难以防护;仅提供了针对不同攻击类型采用对应的防护算法,防护方法不具备通用性。安全设施收到网络访问请求后,对该单次请求的特征与规则库进行比对。但往往存在这样一种场景,针对一批连续的访问请求,其中每一个请求或大部分请求均为不含恶意特征的正常的请求特征,但整体来看,属于恶意的行为,如ddos攻击、cc攻击、盗版爬虫抓取内容、暴力破解等。

为解决上述技术问题,申请人在分析现有技术中的缺陷后,认为目前技术还存在如下安全防御漏洞:

(1)、缺少针对源ip的统计特征分析。

(2)、针对连续的恶意行为,只要每次访问符合正常的请求特征,就会放行。

针对上述漏洞,需要:

(1)、考虑对源ip的行为分析,以解决典型场景下的网络恶意行为的拦截问题。

(2)、定期统计过去一个固定周期内的请求量和行为特征,重点关注访问量高于事先设定的阈值并且访问量高于标准差阈值的ip地址,为其画像并记入动态信誉库。

因此,本发明提供一种网络安全防护方法,所述方法包括如下:

复制互联网数据流,获得所述互联网数据流的镜像数据流;统计所述镜像数据流中预设周期内每个ip地址的请求数量;计算所述镜像数据流中预设周期内ip地址访问量的算数统计值;筛选所述请求数量同时满足高于第一阈值和第二阈值的ip地址,所述第一阈值与来自ip地址的正常访问量相关,所述第二阈值与所述ip地址访问量的算数统计值相关;将筛选得到的ip地址动态更新到ip地址信誉数据库的黑名单;清洗来自所述黑名单中ip地址的数据流。

优选地,所述将筛选得到的ip地址动态更新到ip地址信誉数据库的黑名单步骤前,还包括分析ip地址的访问的具体行为类型。

优选地,根据所述ip地址的具体行为类型,动态调整所述预设周期。

优选地,将所述筛选得到的ip地址动态更新到ip地址信誉数据库的黑名单步骤后还包括为所述黑名单中的ip地址设置有效期。

优选地,所述方法还包括:设置ip地址白名单,放行来自所述白名单内ip地址的访问。

本发明还提供一种网络安全防护系统,所述系统包括如下模块:

镜像模块,用于复制互联网数据流,获得所述互联网数据流的镜像数据流;流量统计模块,用于统计所述镜像数据流中预设周期内每个ip地址的请求数量;计算模块,用于计算所述镜像数据流中预设周期内ip地址访问量的算数统计值;异常ip筛选模块,筛选所述请求数量同时满足高于第一阈值和第二阈值的ip地址,所述第一阈值与来自ip地址的正常访问量相关,所述第二阈值与所述ip地址访问量的算数统计值相关;动态ip信誉库模块,将筛选得到的ip地址动态更新到ip地址信誉数据库的黑名单;清洗模块,清洗来自所述黑名单中ip地址的数据流。

优选地,所述装置还包括行为类型分析模块,用于分析筛选得到的ip地址的访问的具体行为类型。

优选地,所述装置还包括预设周期调整模块,用于根据所述ip地址的具体行为类型,动态调整所述预设周期。

优选地,所述动态ip信誉库模块,还包括有效期设置模块,用于为所述黑名单中的ip地址设置有效期。

优选地,所述动态ip信誉库模块还包括白名单设置模块,用于设置ip地址白名单;所述清洗模块放行来自所述白名单内ip地址的访问。

优选地,所述清洗模块包括清洗中心,所述清洗中心接收网络的全部数据流,清洗来自黑名单中ip地址的数据流,并将包含其他请求的数据流回注到网络。

优选地,所述清洗模块包括安全插件,所述安全插件在web前端接收业务数据流量,清洗来自黑名单中ip地址的数据流,将其它数据流放行。

本发明还提出一种,一种确定网络ip地址安全信誉度的方法,所述方法包括如下步骤:

获取互联网数据流;统计互联网数据流中预设周期内每个ip地址的请求数量;计算互联网数据流中预设周期内ip地址访问量的算数统计值;筛选所述请求数量同时满足高于第一阈值和第二阈值的ip地址,所述第一阈值与来自ip地址的正常访问量相关,所述第二阈值与所述ip地址访问量的算数统计值相关;将筛选得到的ip地址动态更新到ip地址信誉数据库的黑名单。

优选地,所述将筛选得到的ip地址动态更新到ip地址信誉数据库的黑名单步骤前,还包括分析ip地址的访问的具体行为类型。

优选地,根据所述ip地址的具体行为类型,动态调整所述预设周期。

优选地,将所述筛选得到的ip地址动态更新到ip地址信誉数据库的黑名单步骤后还包括为所述黑名单中的ip地址设置有效期。

优选地,所述方法还包括:设置ip地址白名单,放行来自所述白名单内ip地址的访问。

本发明还提出一种确定网络ip地址安全信誉度的装置,所述装置包括如下模块:

流量获取模块,用于互联网数据流;流量统计模块,用于统计所述镜像数据流中预设周期内每个ip地址的请求数量;计算模块,用于计算所述镜像数据流中预设周期内ip地址访问量的算数统计值;异常ip筛选模块,筛选所述请求数量同时满足高于第一阈值和第二阈值的ip地址,所述第一阈值与来自ip地址的正常访问量相关,所述第二阈值与所述ip地址访问量的算数统计值相关;动态ip信誉库模块,将筛选得到的ip地址动态更新到ip地址信誉数据库的黑名单。

优选地,所述装置还包括行为类型分析模块,用于分析筛选得到的ip地址的访问的具体行为类型。

优选地,所述装置还包括预设周期调整模块,用于根据所述ip地址的具体行为类型,动态调整所述预设周期。

优选地,所述动态ip信誉库模块,还包括有效期设置模块,用于为所述黑名单中的ip地址设置有效期。

优选地,所述动态ip信誉库模块还包括白名单设置模块,用于设置ip地址白名单。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明;

图1是本发明实施例一提供的确定网络ip地址安全信誉度的方法流程图。

图2是本发明实施例二提供的网络安全防护方法流程图。

图3是本发明实施例二提供的互联网安全防御体系示意图。

图4是本发明实施例二提供的应用层安全防御体系示意图。

图5是本发明实施例四提供的网络安全防护系统构成框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

idc:即互联网数据中心(internetdatacenter),提供机房环境、互联网通信线路与带宽资源、服务器托管或租用以及相关增值服务。

idc地址:位于idc机房的ip地址。

ddos:分布式拒绝服务攻击(distributeddenialofservice),是攻击者利用多个受控的计算机联合对一个或少量几个目标发起攻击,旨在让目标服务器无法正常提供服务的攻击行为;ddos攻击可以简单分为两类:带宽资源耗尽型、服务器资源耗尽型。

高危服务:常用于运维管理、数据库、文件传输的服务及端口,如ssh/22、telnet/23、mysql/3306、mongodb/27017、memcached/11211、redis/6379、rsync/873、ftp/21等。

cc攻击:challengecollapsar,是指不断对网站发送请求,消耗服务器资源,以达到让目标服务器拒绝服务的目的。

ip信誉库:基于网络ip地址的安全大数据,包含是否idcip、行为类型(ddos/盗版爬虫/漏洞扫描/暴力破解等)、是否代理、是否黑名单、缓存有效期等。

标准差:即概率统计学中的标准差σ(standarddeviation),常用于异常样本(μ±3σ)的检测。假设一组n个样本值为x1...xn,第i个样本记为xi,算术平均值为μ=(x1+...+xn)/n,标准差为:

实施例一:

本实施例提出一种确定网络ip地址安全信誉度的方法,如图1所示,所述方法包括如下步骤:

步骤s101,统计预设周期内每个ip的请求数量。

步骤s102,计算预设周期内ip访问量的平均值和标准差。

步骤s103,筛选所述请求数量高于第一阈值并且所述请求数量高于第二阈值的ip,所述第二阈值与所述平均值和标准差相关。

步骤s104,将筛选得到的ip动态更新到数据库,并设置有效期。

在步骤s101和步骤s102中预设周期是对处理时序的分段,例如在具体的实施过程中,预设周期可以是1分钟,那么步骤s101即对1分钟内每个ip的请求数量进行统计,而步骤s102也是对1分钟内ip请求数量的标准差进行统计。常用的周期主要是分钟(60秒),针对不同的攻击类型,预设周期可以进行动态调整,例如针对ddos检测的周期可以短一点。

假设在预设周期内共有n个ip地址访问,访问数量分别为x1...xn,第i个访问地址的访问数记为xi,那么,n个ip访问量的算术平均值为μ=(x1+...+xn)/n,标准差为:

在步骤s103中,对异常的访问ip进行筛选,筛选条件包括:

条件一:来自某个ip的请求数量高于第一阈值。

条件二:来自某个ip的请求数量高于第二阈值,第二阈值与前一周期的所述平均值和标准差相关。

当某ip同时满足条件一和条件二时,则表明该ip有近期频繁访问的行为,且其访问数量较近期访问具有较高的离散度,很显然,该类ip的访问行为异常,通过条件一和条件二可以将这类ip筛选出来。在具体的实施过程中,将访问量高于事先设定的第一阈值并且高于上一周期平均值加上三倍标准差(μ+3σ)的ip地址写入ip信誉库。

第一阈值是是可配置的,假设一个周期是10秒,某个ip在10秒内的访问超过了100次,则触发第一阈值。设置第一阈值的一个主要目的是为了避免拦截非攻击状态下的正常访问。

在步骤s102和s103中,使用了ip访问量的标准差和平均值作为确定第二阈值的条件,在实际应用场景中,除使用标准差和平均值外还可以使用诸如加权平均、方差等能够表征ip恶意访问行为的算数统计值来作为确定第二阈值的条件。

在筛选获得异常ip之后,分析异常ip的行为,给异常ip“画像”,将这些ip更新到数据库,并设置有效期。设置有效期是由于某些ip被认定为恶意攻击是有一个时限的,在超过固定时限后,需要将重新验证,因此需要设定时限,在超过时限后,在数据库中将ip抹除。

在本实施例中,所处理的互联网数据流可以是互联网数据流的镜像数据、互联网数据流数据、或者互联网数据流数据的分流数据。

实施例二:

本实施例提出一种基于网络ip地址安全信誉度的网络安全防护方法,如图2所示,所述方法包括如下步骤:

步骤s201,复制互联网数据流。

步骤s202,统计所述互联网数据流中预设周期内每个ip的请求数量。

步骤s203,计算预设周期内ip访问量的平均值和标准差。

步骤s204,筛选所述请求数量高于第一阈值并且所述请求数量高于第二阈值的ip,所述第二阈值由所述平均值和标准差确定。

步骤s205,将筛选得到的ip动态更新到ip信誉数据库,并设置有效期。

步骤s206,基于所述ip信誉数据库,清洗或拦截所述ip信誉数据库中ip数据流。

为实现客户端与服务器之间进行业务数据的交互,连接服务器的多个客户端可以向服务器发送大量业务数据,这些业务数据的总和可以描述为业务数据流。在步骤s201中,可以先在外网核心链路侧对业务数据流进行流量分光,复制的业务流量或者说镜像流量进入流跟踪和会话学习模块,实际业务流量进行串联的各验证、检测模块和处理模块。由于镜像流量为实际流量的复制,因此对镜像流量的分析处理并不会影响实际流量的传输和处理,因而也可以视为是在实际流量的旁路对业务数据流进行分析。

在所复制的互联网数据流中,包含合法请求和恶意请求,为了分辨这些请求,并且考虑到目前的安全验证中缺少针对源ip的统计特征分析,针对连续的恶意行为,只要每次访问符合正常的请求特征,就会放行。

在步骤202和步骤203中,对周期内每个ip的请求数量进行统计,并计算预设周期内ip访问量的平均值和标准差。

假设在预设周期内共有n个ip地址访问,访问数量分别为x1...xn,第i个访问地址的访问数记为xi,那么,n个ip访问量的算术平均值为μ=(x1+...+xn)/n,标准差为:

在步骤s204中,对异常的访问ip进行筛选,筛选条件包括:

条件一:来自某个ip的请求数量高于第一阈值。

条件二:来自某个ip的请求数量高于第二阈值,第二阈值与前一周期的所述平均值和标准差相关。

当某ip同时满足条件一和条件二时,则表明该ip有近期频繁访问的行为,且其访问数量较近期访问具有较高的离散度,很显然,该类ip的访问行为异常,通过条件一和条件二可以将这类ip筛选出来。在具体的实施过程中,将访问量高于事先设定的第一阈值并且高于上一周期平均值加上三倍标准差(μ+3σ)的ip地址写入ip信誉库。

在步骤205,筛选获得异常ip之后,还可以选择分析异常ip的行为类型,为这些ip“画像”,将这些ip更新到数据库,并设置有效期。设置异常ip设置有效期是因为ip可能是动态的,运营商也可能会分配给其它用户使用,根据具体的ip访问行为类型,有效期通常可选择设置在1-24小时之间。在超过时限后,在数据库中将ip抹除。

所述将筛选得到的ip地址动态更新到ip地址信誉数据库的黑名单步骤前,还包括分析ip地址的访问的具体行为类型,可以根据不同的攻击类型来设置诸如预设周期,例如,通常预设周期为分钟(60秒),如果筛选得到的ip访问具体行为是ddos攻击,那么将预设周期调整为略短于60秒。

建立ip信誉数据库之后,步骤s206涉及不同应用场景中将对该数据库加以利用。

例如,在如图3所示的互联网安全防御体系中,在确定ip信誉数据库之后,核心路由器(适用于城域网的出入口)或核心交换机(适用于某个机房)收到请求后,先发给清洗中心;清洗中心从ip信誉库动态获取最新的ip信誉规则(含ip白名单、ip黑名单等),将命中黑名单的请求清洗掉,将来自白名单的请求以及其它合法请求回注到网络中去,发送给业务服务器。

在上述过程中,清洗中心会接收到网络的全部流量,基于动态获取的ip规则信誉库,直接将白名单放行,将黑名单清洗掉,将其它未命中规则的合法请求放行(回注到网络设备,由网络设备发给业务服务器),基于清洗过程可以有效地防御ddos、cc攻击、暴力破解、扫描器等。

例如,在如图4所示的应用层的安全防御体系中,在web服务器(apache、nginx等)上部署安全插件,接收ip信誉库规则,并用于恶意ip的拦截,适用于没有流量清洗设备的场景。

在上述过程中,安全插件在web前端接收本业务的流量,基于动态获取的适用于本业务场景的ip规则信誉库,直接将白名单放行,将黑名单清洗掉,将其它未命中规则的合法请求放行(发送给应用服务器处理),能够有效防御cc攻击、撞库攻击、盗版爬虫、扫描器等。

实施例三:

本实施例提出一种确定网络ip地址安全信誉度的系统,所述系统包括如下模块:

流量统计模块,用于统计预设周期内每个ip的请求数量。

计算模块,用于计算预设周期内ip访问量的平均值和标准差。

异常ip筛选模块,筛选所述请求数量高于第一阈值并且所述请求数量高于第二阈值的ip,所述第二阈值与所述平均值和标准差相关。

动态ip信誉库模块,将筛选得到的ip动态更新到数据库,并设置有效期。

在具体的实施过程中,流量统计模块,提取ip协议包头,按设定的周期(如1分钟),统计该周期内每个ip的请求数量。

假设在预设周期内共有n个ip地址访问,访问数量分别为x1...xn,第i个访问地址的访问数记为xi,那么,n个ip访问量的算术平均值为μ=(x1+...+xn)/n,标准差为:

标准差计算模块,一个计算周期结束时,计算该周期内的访问量的标准差。

异常ip筛选模块,提取同时满足:

条件一:访问量>第一阈值。

条件二:访问量>μ+3σ(第二阈值)。

对于满足条件一和条件二的ip地址,并分析该ip请求样本行为类型,例如ddos、cc、盗版爬虫、漏洞扫描、暴力破解等。

ip信誉规则模块,将上述异常ip及行为类型写入ip信誉规则库。

在筛选获得异常ip之后,将这些ip更新到数据库,并设置有效期。设置有效期是由于某些ip被认定为恶意攻击是有一个时限的,在超过固定时限后,需要将重新验证,因此需要设定时限,在超过时限后,在数据库中将ip抹除。

实施例四:

本实施例提出一种基于网络ip地址安全信誉度的网络安全防护系统,如图5所示,所述系统包括如下模块:

复制模块,复制互联网数据流。

流量统计模块,统计所述互联网数据流中预设周期内每个ip的请求数量。

计算模块,计算预设周期内ip访问量的平均值和标准差。

异常ip筛选模块,筛选所述请求数量高于第一阈值并且所述请求数量高于第二阈值的ip,所述第二阈值由所述平均值和标准差确定。

动态ip信誉库模块,将筛选得到的ip动态更新到ip信誉数据库,并设置有效期。

清洗拦截模块,基于所述ip信誉数据库,清洗或拦截所述ip信誉数据库中ip数据流。

复制模块用于复制互联网数据流,其可以是分光器或可以执行流量复制的网络设备,复制的业务流量或者说镜像流量进入流跟踪和会话学习模块,实际业务流量进行串联的各验证、检测模块和处理模块。由于镜像流量为实际流量的复制,因此对镜像流量的分析处理并不会影响实际流量的传输和处理,因而也可以视为是在实际流量的旁路对业务数据流进行分析。

在所复制的互联网数据流中,包含合法请求和恶意请求,为了分辨这些请求,并且考虑到目前的安全验证中缺少针对源ip的统计特征分析,针对连续的恶意行为,只要每次访问符合正常的请求特征,就会放行。

在流量统计模块和计算模块中,对周期内每个ip的请求数量进行统计,并计算预设周期内ip访问量的平均值和标准差。

假设在预设周期内共有n个ip地址访问,访问数量分别为x1...xn,第i个访问地址的访问数记为xi,那么,n个ip访问量的算术平均值为μ=(x1+...+xn)/n,标准差为:

在异常ip筛选模块中,对异常的访问ip进行筛选,筛选条件包括:

条件一:来自某个ip的请求数量高于第一阈值。

条件二:来自某个ip的请求数量高于第二阈值,第二阈值与前一周期的所述平均值和标准差相关。

当某ip同时满足条件一和条件二时,则表明该ip有近期频繁访问的行为,且其访问数量较近期访问具有较高的离散度,很显然,该类ip的访问行为异常,通过条件一和条件二可以将这类ip筛选出来。在具体的实施过程中,将访问量高于事先设定的第一阈值并且高于上一周期平均值加上三倍标准差(μ+3σ)的ip地址写入ip信誉库。

在步骤205,筛选获得异常ip之后,将这些ip更新到数据库,并设置有效期。设置有效期是由于某些ip被认定为恶意攻击是有一个时限的,在超过固定时限后,需要将重新验证,因此需要设定时限,在超过时限后,在数据库中将ip抹除。

建立ip信誉数据库之后,涉及不同应用场景中将对该数据库加以利用。

例如,在互联网安全防御体系中,在确定ip信誉数据库之后,核心路由器(适用于城域网的出入口)或核心交换机(适用于某个机房)收到请求后,先发给清洗中心;清洗中心从ip信誉库动态获取最新的ip信誉规则(含ip白名单、ip黑名单等),将命中黑名单的请求清洗掉,将来自白名单的请求以及其它合法请求回注到网络中去,发送给业务服务器,基于清洗过程可以有效地防御ddos、cc攻击、暴力破解、扫描器等。

例如,在应用层的安全防御体系中,在web服务器(apache、nginx等)上部署安全插件,接收ip信誉库规则,并用于恶意ip的拦截,适用于没有流量清洗设备的场景,能够有效防御cc攻击、撞库攻击、盗版爬虫、扫描器等。

该过程涉及清洗拦截模块,基于所述ip信誉数据库,清洗或拦截所述ip信誉数据库中ip数据流。

在通过筛选ip访问行为获得黑名的同时,还可以为服务器信任的用户,设置白名单,设置在白名单内的用户ip地址将直接予以放行,用户白名单也是动态更新的,与黑名单略有不同的是,用户白名单可以是长期白名单和临时白名单,以满足不同的应用场景

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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