基于区块链的防攻击系统及方法与流程

文档序号:18106505发布日期:2019-07-06 11:41阅读:276来源:国知局
基于区块链的防攻击系统及方法与流程

本发明涉及区块链技术领域,具体涉及一种基于区块链的防攻击系统及方法。



背景技术:

伴随着互联网的产生和发展,互联网的安全问题也日益凸显,黑客可以轻易利用一些互联网智能设备的安全漏洞,使其成为传统网络攻击的新工具,如利用恶意代码感染智能设备并发动ddos(distributeddenialofservice分布式拒绝服务攻击)造成目标拒绝服务和相关服务下线等严重后果。针对这类ddos攻击,传统办法一般是在被攻击目标处检测防御,高速率的数据包以及连接上下文的缺失,使得目标处的防御方案只能做有限的统计分析和数据包处理,从而影响检测的时效性。同时,传统部署在目标处的防御方案在检测到ddos后,由于无法立即区分正常流量与恶意流量,需要将所有的流量引流到其他网段进行流量清洗,在引流的过程中,容易造成网络的堵塞。

区块链是一种新形式的具有普遍适应性的分布式架构,现已广泛应用于金融、经济、科技甚至政治等各个领域。区块链从技术上讲是一种比较特殊的分布式数据库,同时又是点对点传输、加密算法、共识机制等计算机技术汇合的新型应用模式。和传统分布式储存、计算系统相比,区块链利用点对点传输和共识机制实现了去中心化,链上的区块包含的信息对于链上的每个节点是公开透明的,这解决了分布式计算方式在通信中可能会出现的问题。

基于上述现有技术,本发明提出了一种利用区块链网络来构建网络防攻击系统以防护类似ddos攻击问题的技术方案。



技术实现要素:

本发明的目的是提供一种基于区块链的防攻击系统及方法,本发明的优点在于:利用区块链网络,在设置防攻击系统时,能够根据被攻击的区块节点中的应用程序以及被攻击的次数及强度,在区块链网络终端中设置被攻击应用程序的安装数量,从而进行分流处理,防止被攻击的应用程序资源耗尽。

为实现上述目标,本发明提供了如下技术方案:

基于区块链的防攻击系统,包括独立设置的区块链网络和附属总服务器,所述附属总服务器附属于前述区块链网络用于处理前述区块链网络的网内数据;

所述区块链网络包括多个构成区块链网络的区块节点,所述附属总服务器与区块节点中的一个或多个连接;

所述附属总服务器包括如下结构,

动态检测模块,用以检测所述区块链网络中运行的应用程序是否遭受异常访问事件;

应用程序判定模块,用以在应用程序遭受异常访问事件时,判定区块链网络中的其它区块节点中是否安装有前述应用程序;

应用程序安装模块,用以在没有安装前述应用程序的情况下,选取一个或多个区块节点安装前述应用程序;

数据分流模块,用以将前述异常访问事件的路径信息加载至安装了前述应用程序的区块节点中进行分流处理。

进一步,所述应用程序安装模块,还能够根据异常访问事件的攻击强度,调整安装前述应用程序的区块节点的数量,在攻击强度大时,选取更多的区块节点安装前述应用程序。

进一步,还包括应用程序管理模块,用以在未受到攻击时,将对应的应用程序删除或者选择一个或多个区块节点保持安装前述应用程序以提供对应的应用。

进一步,所述应用程序管理模块被配置为,

在前述异常访问事件处理完成后,在新安装了前述应用程序的区块节点中卸载前述应用程序;或者,在新安装了前述应用程序的区块节点中卸载前述应用程序并删除相关数据。

进一步,所述附属总服务器还包括应用程序获取模块,

其用以获取遭受异常访问事件的应用程序所在的区块节点中的应用程序安装包数据;或者,通过其它区块节点访问外部网络获取前述应用程序安装包数据。

进一步,所述附属总服务器中设置有ddos检测模块,所述ddos检测模块用以检测访问事件是否为ddos异常访问事件,并在访问事件属于ddos异常访问事件时,发送ddos异常访问信号。

进一步,所述区块节点为区块链网络中的手机、平板电脑、台式机、服务器或矿机。

本发明还提供了一种根据前述系统的防攻击方法,包括如下步骤:

检测所述区块链网络中运行的应用程序是否遭受异常访问事件;

在应用程序遭受异常访问事件时,判定区块链网络中的其它区块节点中是否安装有前述应用程序;

在没有安装前述应用程序的情况下,选取一个或多个区块节点安装前述应用程序;在安装了前述应用程序的情况下,直接执行以下步骤;

将前述异常访问事件的路径信息加载至安装了前述应用程序的区块节点中进行分流处理。

进一步,根据异常访问事件的攻击强度,调整安装前述应用程序的区块节点的数量:

在攻击强度大时,选取更多的区块节点安装前述应用程序;

在未受到攻击时,将对应的应用程序删除,或者选择一个或多个区块节点保持安装前述应用程序以提供对应的应用。

进一步,访问遭受异常访问事件的应用程序所在的区块节点,获取该应用程序的安装包数据;

或者,通过其它区块节点访问外部网络获取前述应用程序安装包数据。

本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:利用区块链网络,在设置防攻击系统时,能够根据被攻击的区块节点中的应用程序以及被攻击的次数及强度,在区块链网络终端中设置被攻击应用程序的安装数量,从而进行分流处理。进一步,还可以根据被攻击的次数及强度,安排在终端中安装以及卸载被攻击程序的数量,对应着区块链中的终端,在被攻击的强度大时,就安装更多的应用程序以分流处理,防止被攻击的应用程序资源耗尽。

附图说明

图1是本发明实施例提供的防攻击系统的结构示意图一。

图2是本发明实施例提供的防攻击系统的结构示意图二。

图3是本发明实施例提供的防攻击系统的结构示意图三。

图4是本发明实施例提供的附属总服务器的模块结构图。

图5是本发明实施例提供的基于区块链的防攻击方法的流程图。

附图标记说明:

区块链网络100,区块节点110;

附属总服务器200,动态检测模块210,应用程序判定模块220,应用程序安装模块230,数据分流模块240;

交换机300。

具体实施方式

以下结合附图和具体实施例对本发明公开的基于区块链的防攻击系统及方法作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

本发明中,所述区块链,是指实现了数据公开、透明、可追溯的产品的架构设计方法,算作广义的区块链。广义的区块链,包含点对点网络设计、加密技术应用、分布式算法的实现、数据存储技术的使用等4个方面,其他的可能涉及到分布式存储、机器学习、vr、物联网、大数据等。而狭义的区块链仅涉及到数据存储技术,数据库或文件操作等。本申请中的区块链,指的是广义的区块链。

实施例

参见图1所示,为本发明实施例提供的一种基于区块链的防攻击系统及方法,该系统通过区块链构造去中心化的防攻击网络。

所述的防攻击系统包括区块链网络100和附属总服务器200。所述附属总服务器200相对于区块链网络100独立设置,但能够连通数据链路。优选的,参见图2所示,可以通过交换机300设置在所述区块链网络100和附属总服务器200之间以隔离所述区块链网络100和附属总服务器200;同时,使得所述区块链网络100和附属总服务器200能够通过交换机300连通数据链路。所述交换机300与附属总服务器200,交换机300与和区块节点110之间的连接方式可以为有线连接,也可以为无线连接。

所述附属总服务器200,附属于前述区块链网络100用于处理前述区块链网络100的网内数据。所述附属总服务器200只在该区块链网络100中进行信息处理。所述附属总服务器200,可以包括有硬件服务器,所述硬件服务器的构成,通常可以包含以下结构:一个或多个处理器,进行计算处理;存储,具体为内存、外存和网络存储,用于保存计算所需要的数据,以及可运行程序;网络接口,用于连接网络;所述硬件单元通过,计算机总线(bus)或者信号线连接。

所述区块链网络100,包括多个构成区块链网络的区块节点110,所述区块链网络100的各区块节点110基于共识算法构成共识节点,区块链利用点对点通信和共识机制达到了去中心化目的,链上的区块包含的信息对于链上的每个区块节点110是公开透明的。

所述的区块节点110,指的是区块链网络中的计算机,包括但不限于手机、平板电脑、台式机、矿机和服务器等各种计算设备,参见图3所示。操作前述区块节点110的对象,可以是任意一个或多个用户。

所述附属总服务器200可以与所述区块节点110中的一个或多个连接。

所述附属总服务器包括如下结构,参见图4所示;

动态检测模块210,用以检测所述区块链网络中运行的应用程序是否遭受异常访问事件;

应用程序判定模块220,用以在应用程序遭受异常访问事件时,判定区块链网络中的其它区块节点中是否安装有前述应用程序;

应用程序安装模块230,用以在没有安装前述应用程序的情况下,选取一个或多个区块节点安装前述应用程序;

数据分流模块240,用以将前述异常访问事件的路径信息加载至安装了前述应用程序的区块节点中进行分流处理。

所述的应用程序,作为举例而非限制,比如可以是电子邮箱、网络视频客户端、购物平台、支付平台等。

作为举例而非限制,比如针对所述区块节点——比如手机m——上运行的应用程序a,当应用程序a遭受异常访问事件时,通过手机m所在的区块链网络100中设置的附属总服务器200,来检测该区块链网络100中的其它区块节点是否安装有前述应用程序a,若没有,则选取一个或多个区块节点安装前述应用程序,然后将前述异常访问事件的路径信息加载至安装了前述应用程序的区块节点中进行分流处理。若存在安装前述应用程序的区块节点下,可以直接将前述异常访问事件的路径信息加载至安装了前述应用程序的区块节点中进行分流处理。

如此,通过设置附属总服务器200,能够根据被攻击的应用程序以及被攻击的次数及强度,安排在区块链网络的区块节点中安装被攻击应用程序的安装数量,从而对对应的访问事件进行分流处理。利用区块链网络系统来构建网络安全系统以防护类似ddos攻击问题,将区块节点中应用程序的异常访问事件,通过与所述被攻击应用程序所在区块节点的区块链网络,将访问事件通过附属的服务器加载至区块链网络中的其它区块节点,从而进行分布式处理。

优选的,所述应用程序安装模块230,还能够根据异常访问事件的攻击强度,调整安装前述应用程序的区块节点的数量,在攻击强度大时,选取更多的区块节点安装前述应用程序。

考虑到区块节点(终端)的处理能力,所述附属总服务器200在选择安装应用程序的区块节点时,可以选择区块链网络中数据处理能力强的一些区块节点来安装应用程序,作为举例而非限制,比如选择硬盘可用空间较大的区块节点。

当然,根据用户的权限和/或许可,还可以对区块链网络中的区块节点设置优先级别,基于优选级别的等级来选择分流的区块节点。作为举例而非限制,比如设置为三个等级,第一等级、第二等级和第三等级,第一等级的区块节点在需要分流时首先被征用以进行应用程序安装,而第二等级的区块节点是在第一等级的区块节点无法使用时进行征用,依次类推。

优选的,还可以包括应用程序管理模块。所述应用程序管理模块,用以在未受到攻击时,将对应的应用程序删除或者选择一个或多个区块节点保持安装前述应用程序以提供对应的应用。

如此,对应着区块链网络中的区块节点(终端)中的应用程序,在攻击的强度大时,可以安装更多的应用程序进行分流处理;在攻击的强度小时,安装较少的应用程序;而在没有攻击的时候,可以把对应的程序删除或者维持一个最低的基本量以提供正常的应用。

进一步,所述应用程序管理模块还可以被配置为:

在前述异常访问事件处理完成后,在新安装了前述应用程序的区块节点中卸载前述应用程序;或者,在新安装了前述应用程序的区块节点中卸载前述应用程序并删除相关数据。

本实施例的另一实施方式中,所述附属总服务器200还包括应用程序获取模块。

所述应用程序获取模块,用以获取遭受异常访问事件的应用程序所在的区块节点中的应用程序安装包数据。或者,通过其它区块节点访问外部网络获取前述应用程序安装包数据。

本实施例的另一实施方式中,所述附属总服务器200中设置有ddos检测模块,所述ddos检测模块用以检测访问事件是否为ddos异常访问事件,并在访问事件属于ddos异常访问事件时,发送ddos异常访问信号。

优选的,判定为ddos异常访问事件的情况可以为如下情况之一:

所述应用程序接受的访问请求频次高于预设频次。

或者,所述应用程序中充斥着大量的无用的数据包。

参见图5所示,本发明还提供了一种根据前述系统的防攻击方法,包括如下步骤:

s100,检测所述区块链网络中运行的应用程序是否遭受异常访问事件。

s200,在应用程序遭受异常访问事件时,判定区块链网络中的其它区块节点中是否安装有前述应用程序。

s310,在没有安装前述应用程序的情况下,选取一个或多个区块节点安装前述应用程序。以及,s320,在安装了前述应用程序的情况下,直接执行以下步骤。

s400,将前述异常访问事件的路径信息加载至安装了前述应用程序的区块节点中进行分流处理。

所述附属总服务器,可以包括有硬件服务器,所述硬件服务器的构成,通常可以包含以下结构:一个或多个处理器,进行计算处理;存储,具体为内存、外存和网络存储,用于保存计算所需要的数据,以及可运行程序;网络接口,用于连接网络;所述硬件单元通过,计算机总线(bus)或者信号线连接。

所述区块链网络,包括多个构成区块链网络的区块节点。所述的区块节点,指的是区块链网络中的计算机,包括但不限于手机、平板电脑、台式机、矿机和服务器等各种计算设备。操作前述区块节点的对象,可以是任意一个或多个用户。

所述附属总服务器可以与所述区块节点中的一个或多个连接。

所述的应用程序,作为举例而非限制,比如可以是电子邮箱、网络视频客户端、购物平台、支付平台等。

作为举例而非限制,比如针对所述区块节点——比如手机m——上运行的应用程序a,当应用程序a遭受异常访问事件时,通过手机m所在的区块链网络中设置的附属总服务器,来检测该区块链网络中的其它区块节点是否安装有前述应用程序a,若没有,则选取一个或多个区块节点安装前述应用程序,然后将前述异常访问事件的路径信息加载至安装了前述应用程序的区块节点中进行分流处理。若存在安装前述应用程序的区块节点下,可以直接将前述异常访问事件的路径信息加载至安装了前述应用程序的区块节点中进行分流处理。

如此,通过设置附属总服务器,能够根据被攻击的应用程序以及被攻击的次数及强度,安排在区块链网络的区块节点中安装被攻击应用程序的安装数量,从而对对应的访问事件进行分流处理。利用区块链网络系统来构建网络安全系统以防护类似ddos攻击问题,将区块节点中应用程序的异常访问事件,通过与所述被攻击应用程序所在区块节点的区块链网络,将访问事件通过附属的服务器加载至区块链网络中的其它区块节点,从而进行分布式处理。

优选的,还可以根据异常访问事件的攻击强度,调整安装前述应用程序的区块节点的数量:

在攻击强度大时,选取更多的区块节点安装前述应用程序;

在未受到攻击时,将对应的应用程序删除,或者选择一个或多个区块节点保持安装前述应用程序以提供对应的应用。

考虑到区块节点(终端)的处理能力,所述附属总服务器在选择安装应用程序的区块节点时,可以选择区块链网络中数据处理能力强的一些区块节点来安装应用程序,作为举例而非限制,比如选择硬盘可用空间较大的区块节点。

获取应用程序安装包的方式,可以是基于被攻击的应用程序所在的区块节点来获取。具体的,可以通过访问遭受异常访问事件的应用程序所在的区块节点,获取该应用程序的安装包数据。

也可以是,基于网络相关搜索来获取。具体的,可以通过其它区块节点访问外部网络获取前述应用程序安装包数据。

其它技术特征参考在前实施例,在此不再赘述。

在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

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