一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

运营商关键基础设施被控识别方法及系统

2022-06-11 17:08:32 来源:中国专利 TAG:
1.本发明涉及通信
技术领域
:,尤其涉及一种运营商关键基础设施被控识别方法及系统。
背景技术
::2.运营商关键基础设施的安全非常重要,运营商关键基础设施如被控制,则可能造成严重影响。目前,识别关键基础设施被控的方法主要包括基于特征的方法和基于统计的方法。3.采用基于特征的方法和/或基于统计的方法,可以建立关键基础设施被控识别系统。现有关键基础设施被控识别系统中的各节点采用的识别方法包括:基于统计分析对比的方法、基于机器学习的方法和基于区块链技术的方法。4.并且,对于传统的单节点系统,当系统遭受攻击或者记录失败时,节点的失效意味着整个系统的失效;对于集群系统,虽然可能有很多节点记录、备份了数据,甚至多重备份,但是这些节点之间是互相信任的,当某些节点被黑客控制或攻击出现叛徒节点时,该集群系统也无法分辨出叛徒节点,导致系统的失效。5.综上,现有运营商关键基础设施被控识别方法,识别结果的准确性、有效性和可靠性都较低。技术实现要素:6.本发明实施例提供一种运营商关键基础设施被控识别方法及系统,用以解决现有技术中识别结果的准确性较低的缺陷,实现高准确率、高有效性和高可靠性的识别。7.本发明实施例提供一种运营商关键基础设施被控识别方法,包括:8.对于每一共识节点集群接收的公共流量消息,所述共识节点集群中的每一共识节点选择一种异常流量检测方法,获取所述共识节点的检测结果并向所述共识节点集群中的其他共识节点广播;9.所述共识节点集群基于共识机制和各共识节点的检测结果,识别发送所述公共流量消息的数据采集节点是否被控;10.其中,所述共识节点集群包括(3f 1)个不重复的共识节点,f为正整数;所述公共流量消息,携带有目标区域网络的多种流量特征。11.根据本发明一个实施例的运营商关键基础设施被控识别方法,所述获取所述共识节点的投票结果并向所述共识节点集群中的其他共识节点广播之后,还包括:12.获取各所述共识节点的投票结果的评分;13.若判断获知任一共识节点的投票结果的评分满足预设的条件,则识别所述任一共识节点被控。14.根据本发明一个实施例的运营商关键基础设施被控识别方法,所述对于每一共识节点集群接收的公共流量消息,所述共识节点集群中的每一共识节点选择一种异常流量检测方法,获取所述共识节点的检测结果并向所述共识节点集群中的其他共识节点广播之前,还包括:15.根据预设的选举算法,从共识节点池中随机选择若干组共识节点集群;16.其中,任一组共识节点集群中的任一共识节点,不在其他共识节点集群中。17.根据本发明一个实施例的运营商关键基础设施被控识别方法,所述共识节点集群基于共识机制和各共识节点的检测结果,识别发送所述公共流量消息的数据采集节点是否被控的具体步骤包括:18.所述共识节点接收所述其他共识节点广播的检测结果,根据所述共识节点的检测结果和所述其他共识节点广播的检测结果进行投票,获取所述共识节点的投票结果并向所述共识节点集群中的其他共识节点广播;19.所述共识节点接收所述其他共识节点广播的投票结果,根据所述共识节点的投票结果和所述其他共识节点广播的投票结果,识别发送所述公共流量消息的数据采集节点是否被控。20.根据本发明一个实施例的运营商关键基础设施被控识别方法,所述若判断获知任一共识节点的投票结果的评分满足预设的条件,则识别所述任一共识节点被控之后,还包括:21.将所述任一共识节点作为失效节点,并从共识节点池中删除所述任一共识节点。22.根据本发明一个实施例的运营商关键基础设施被控识别方法,所述共识节点接收所述其他共识节点广播的投票结果,根据所述共识节点的投票结果和所述其他共识节点广播的投票结果,识别发送所述公共流量消息的数据采集节点是否被控之后,还包括:23.若建块节点判断获知接收到的共识节点广播的投票结果的数量不少于(2f 1),则根据识别发送所述公共流量消息的数据采集节点是否被控的结果生成待上链的区块,将所述待上链的区块接入区块队列;24.上链节点集群对所述区块队列中的每一待上链的区块进行共识并成功之后,将所述每一待上链的区块添加至区块链中;25.其中,所述建块节点为根据预设的选取算法,从所述每一共识节点集群中选取的一个共识节点;所述上链节点集群,包括从共识节点池未被选入任一共识节点集群的各共识节点中选取的(3f 1)个不重复的共识节点。26.根据本发明一个实施例的运营商关键基础设施被控识别方法,所述共识节点集群中的每一共识节点选择一种异常流量检测方法的具体步骤包括:27.根据所述区块链的高度、所述每一共识节点的编号和异常流量检测方法的个数,选择一种异常流量检测方法。28.根据本发明一个实施例的运营商关键基础设施被控识别方法,所述根据预设的选举算法,从共识节点池中随机选择多组共识节点集群,与所述对于每一共识节点集群接收的公共流量消息,所述共识节点集群中的每一共识节点选择一种异常流量检测方法,获取所述共识节点的检测结果并向所述共识节点集群中的其他共识节点广播之间,还包括:29.所述共识节点集群中的任一共识节点,基于过滤机制,接收预设范围内的数据采集节点发送的流量消息,并向所述共识节点集群中的其他共识节点广播;30.若所述共识节点集群中的全部共识节点接收到所述流量消息,则将所述流量消息确定为公共流量消息。31.本发明实施例还提供一种运营商关键基础设施被控识别系统,包括:32.多个共识节点和多个数据采集节点;33.所述数据采集节点,用于根据目标区域网络的流量信息,获取所述目标区域网络的多种流量特征,并向共识节点发送携带有所述目标区域网络的多种流量特征的流量消息;34.所述共识节点,用于基于共识机制和所述流量消息,识别数据采集节点是否被控以及其他共识节点是否被控。35.根据本发明一个实施例的运营商关键基础设施被控识别系统,至少包括两层所述数据采集节点;36.第一层中的每一数据采集节点,用于所述根据对应的第一区域网络的流量信息,获取所述第一区域网络的多种流量特征;37.第二层包括至少一个所述数据采集节点;所述第二层中的每一数据采集节点,用于根据预设的轮换算法,分别根据每一第二区域网络的流量信息,获取所述第二区域网络的多种流量特征;38.其中,所述第二区域为所述第一区域的子区域。39.本发明实施例提供的运营商关键基础设施被控识别方法及系统,通过随机选择异常检测方法产生检测结果并广播,在整个共识节点集群中基于实用拜占庭协议算法进行共识,识别该数据采集节点是否被控,能提高识别效率和准确性,能保证识别的高有效性和高可靠性以及系统的可扩展性。附图说明40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。41.图1是本发明实施例提供的一种运营商关键基础设施被控识别方法的流程示意图;42.图2是本发明实施例提供的一种运营商关键基础设施被控识别系统的结构示意图。具体实施方式43.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。44.在本发明实施例的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的系统或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明实施例的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。45.在本发明实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明实施例中的具体含义。46.为了克服现有技术的上述问题,本发明实施例提供一种运营商关键基础设施被控识别方法及系统,其发明构思是,基于运营商的网络结构,部署两种节点——数据采集节点和共识节点,这两种节点可以将全网流量信息的采集与检测功能解耦合,从而提高系统的灵活性和可拓展性;网络中的数据采集节点按照特定的部署策略进行部署,采集网络流量数据的特征信息,并将流量消息发送给共识节点;共识节点接收到采集节点发送的流量特征信息后,随机选择异常检测方法产生检测结果,之后检测结果会被广播,并在整个区块链网络中基于pbft(实用拜占庭协议)算法进行共识,识别该数据采集节点是否被控;提高了识别效率和准确性,保证了识别的有效性和可靠性以及系统的可扩展性。47.图1是本发明实施例提供的一种运营商关键基础设施被控识别方法的流程示意图。下面结合图1描述本发明实施例的运营商关键基础设施被控识别方法。如图1所示,该方法包括:步骤s101、对于每一共识节点集群接收的公共流量消息,共识节点集群中的每一共识节点选择一种异常流量检测方法,获取共识节点的检测结果并向共识节点集群中的其他共识节点广播。48.其中,共识节点集群包括(3f 1)个不重复的共识节点,f为正整数;公共流量消息,携带有目标区域网络的多种流量特征。49.需要说明的是,本发明实施例提供的运营商关键基础设施被控识别方法,适用于运营商关键基础设施被控识别系统。50.该运营商关键基础设施被控识别系统由关键基础设施构成。关键基础设施至少包括两种:多个共识节点和多个数据采集节点。51.数据采集节点,用于根据目标区域网络的流量信息,获取目标区域网络的多种流量特征,并向共识节点发送携带有目标区域网络的多种流量特征的流量消息。52.一个网络连接定义为在某个时间内从开始到结束的tcp数据包序列,并且在这段时间内,数据在预定义的协议下(如tcp、udp)从源ip地址到目的ip地址的传递。将每个网络连接被标记为正常(normal)或异常(attack),异常类型被细分为4大类共39种攻击类型。将每个连接记录用41个特征来描述,加上最后的标记(label),一共有42项。其中前41项流量特征分为4大类:53.1)tcp连接基本特征(共9种)54.2)tcp连接的内容特征(共13种)55.3)基于时间的网络流量统计特征(共9种)56.4)基于主机的网络流量统计特征(共10种)57.4种异常类型分别是:58.dos(denial-of-service),拒绝服务攻击,例如ping-of-death,synflood,smurf等;具体表现有,制造大流量无用数据,造成通往被攻击主机的网络拥塞,使被攻击主机无法正常和外界通信。利用被攻击主机提供服务或传输协议上处理重复连接的缺陷,反复高频的发出攻击性的重复服务请求,使被攻击主机无法及时处理其它正常的请求。利用被攻击主机所提供服务程序或传输协议的本身实现缺陷,反复发送畸形的攻击数据引发系统错误的分配大量系统资源,使主机处于挂起状态甚至死机。59.r2l(unauthorizedaccessfromaremotemachinetoalocalmachine),来自远程主机的未授权访问,例如guessingpassword;在目标主机上没有账户的攻击者获得该机器的当地访问权限,从机器中过滤出数据、修改数据等的攻击方式。60.u2r(unauthorizedaccesstolocalsuperuserprivilegesbyalocalunpivilegeduser),未授权的本地超级用户特权访问,例如bufferoverflowattacks;61.probing(surveillanceandprobing),探针攻击,端口监视或扫描,例如port-scan,ping-sweep等。指对计算机网络或dns服务器进行扫描,获取有效ip地址、活动端口号、主机操作系统类型和安全弱点的攻击方式。62.当流量采集节点采集到流量的特征数据后,将其封装成一条消息,并附上自身的签名,然后发送给共识节点。63.每条流量信息可以包含如下字段:64.srcaddr:源头的ip地址,如119.75.216.20。65.dstaddr:目的地ip地址,如182.254.18.159。66.srcport:tcp/udp源头的端口,如60221。67.dstport:tcp/udp目的地的端口,如80,443。68.prot:协议类型,如6=tcp,17=udp。69.first:信息流开始时间。70.last:信息流的最后一个数据包被接收时的时间。71.size:信息流传输信息的总大小,单位byte。72.packetcount:信息流中报的数量。73.共识节点,用于基于共识机制和流量消息,识别数据采集节点是否被控以及其他共识节点是否被控。74.具体地,对于数据采集节点,当数据采集节点被攻击控制后,系统可以通过区块链中不同共识节点之间的共识检测识别出异常。75.每个共识节点集群里的共识节点来广播自己从数据采集节点收到的流量特征信息《m,d》,投票达成共识筛选出消息的公共集合《m1,m2,m3,m4,...》。其中,m为消息,d为摘要。76.消息的公共集合中的消息,为公共流量消息。77.每个共识节点独立的对公共集合中的每条流量信息,每条流量信息对应一个vector,用来记录结果。78.共识节点将多种异常流量检测方法集成打包,并可供该共识节点随时调用。异常流量检测方法可以随时升级迭代。每个共识节点在验证异常流量时,会从系统预先设定好的多种异常流量检测方法中随机选择一种方法进行独立验证。79.异常流量检测方法可以包括:80.固定阈值方法:事先由管理员确定一个单位时间内的流量阈值,由管理员手动输入给系统,系统调用api,将参数传给程序。81.特征检测:建立所有异常网络行为的特征库,将当前的流量信息特征与特征库进行匹配,根据匹配结果判定当前网络数据是否正常。82.统计分析:针对已有历史数据记录通过分析得出一个判断的基准,在针对新的网络流量数据进行判断。如利用arima模型预测流量方法检测异常流量。83.聚类分析:使用分类方法将网络流量分类,在利用决策树的方法检测异常流量。84.关联分析:利用模糊关联规则对流量特征信息进行关联匹配,通过构建流量特征之间关联关系来检测异常流量。85.根据选择的方法进行检测分析,投票结果标注为0和1(0代表正常,1代表异常),并记录在一个vector中。将节点编号i,消息编号k、消息哈希h,、结果r(r为0或1)、自己的签名sig合并成一条消息广播出去。86.步骤s102、共识节点集群基于共识机制和各共识节点的检测结果,识别发送公共流量消息的数据采集节点是否被控。87.具体地,每个共识节点接收到的其他共识节点广播过来的投票结果后,验证sig,sig为真,则将该结果放在vector相应的标号(节点的编号i)上。88.共识节点对每条消息的vector进行投票结果统计,如果1的数目大于2f 1,则该条流量特征信息异常,提取出信息中的ip、端口和时间等信息进行追踪,定位到具体流量采集节点区域。89.需要说明的是,多个共识节点集群对流量特征并行处理保证了系统的性能。每个集群都有开启iptable过滤机制,只接收特定采集节点发送过来的,避免重复接收,因此每个集群处理的流量特征之间没有交集。当每个集群将区块打包后,直接放入队列,由其他集群对区块上链进行共识。多个集群之间没有干扰,不需要同步等待,提高了整个系统的性能。90.本发明实施例通过随机选择异常检测方法产生检测结果并广播,在整个共识节点集群中基于实用拜占庭协议算法进行共识,识别该数据采集节点是否被控,能提高识别效率和准确性,能保证识别的高有效性和高可靠性以及系统的可扩展性。91.基于上述各实施例的内容,获取共识节点的投票结果并向共识节点集群中的其他共识节点广播之后,还包括:获取各共识节点的投票结果的评分。92.具体地,对于共识节点,可以通过拜占庭协议以及信誉机制识别出共识节点的作假行为。具有作假行为的共识节点,就是被控的共识节点。93.为了确保系统安全,加入节点信用制度,采用信誉机制,配合改进的拜占庭协议,来识别作弊的共识节点。对投票的结果进行投票,判断是否有叛徒节点。信誉系统根据投票打分,然后识别出“叛徒”节点。94.每次投票结束之后,会对每个共识节点的投票结果进行打分。如果这个共识节点的投票结果都与共识的结果不一致,则这次投票这个共识节点分数会较低;如果这个共识节点与共识结果一致,则这次投票这个共识节点分数会较高。95.若判断获知任一共识节点的投票结果的评分满足预设的条件,则识别任一共识节点被控。96.具体地,记录每一共识节点的评分,通过对评分记录的分析,可以识别出这个共识节点的信用的好坏。97.预设的条件,可以为评分一直非常低。98.如果某个共识节点信用一直非常低,则可以认为这个为“叛徒”节点,可能被病毒攻击或者被黑客控制,有作假行为,该共识节点被控。99.本发明实施例通过对各共识节点的投票结果继续评分,根据多次的评分结果识别出被控的共识节点,能提高识别效率和准确性,能保证识别的高有效性和高可靠性以及系统的可扩展性。100.基于上述各实施例的内容,对于每一共识节点集群接收的公共流量消息,共识节点集群中的每一共识节点选择一种异常流量检测方法,获取共识节点的检测结果并向共识节点集群中的其他共识节点广播之前,还包括:根据预设的选举算法,从共识节点池中随机选择若干组共识节点集群。101.其中,任一组共识节点集群中的任一共识节点,不在其他共识节点集群中。102.具体地,节点池由所有的共识节点组成,数目为m=a(3f 1),不包括由节点信誉机制排除掉的“叛徒节点”,等到作假的共识节点排除故障之后,再重新加入到预选的节点池中。其中,a为正整数103.可以采用prng算法生成随机数r,选中的节点编号k=r%n(n为当前节点池剩余的节点总数),如此一直重复3f 1次,选出一组共识节点。104.重复上述步骤,可以选择出多组共识节点集群。选择出的共识节点集群的组数为(a-1)。105.每组共识节点集群分别接收来自于不同的流量采集域的流量消息,进行查证处理。不同的共识节点集群通过设置iptables来选择接受特定范围的数据采集节点发送的流量消息,过滤掉其余数据采集节点发送的消息,防止不同共识节点组接收到重复的消息。106.本发明实施例中,通过选出不同的共识节点组,多个共识节点组并行处理流量数据;在同一个共识节点集群内的共识节点在建块节点进行验证同时,可以并行地对公共流量特征消息集s中的每个流量特征消息内容进行验证。107.本发明实施例通过选出不同的共识节点组,多个共识节点组并行处理流量数据,能提高整个系统的性能和识别效率。108.基于上述各实施例的内容,共识节点集群基于共识机制和各共识节点的检测结果,识别发送公共流量消息的数据采集节点是否被控的具体步骤包括:共识节点接收其他共识节点广播的检测结果,根据共识节点的检测结果和其他共识节点广播的检测结果进行投票,获取共识节点的投票结果并向共识节点集群中的其他共识节点广播。109.具体地,实用拜占庭协议(pbft)采用密码学相关技术(rsa签名算法、消息验证码和摘要)确保消息传送过程无法被篡改和破坏。110.通过随机算法选出组内某个节点为建块节点,此后,只要建块节点不切换,则称为一个视图(view),一个视图代表一轮共识过程。视图是连续编号的整数,保证每个共识节点组内共识的顺序性。每个共识节点的状态都包含了服务的整体状态,共识节点上的消息日志(messagelog)包含了该节点接受(accepted)的消息,并且使用一个整数表示共识节点的当前视图编号。111.由多个共识节点集群组成的每一个群组处理过程具体都为如下四个步骤:确定流量特征消息的公共集合、建块节点的确定、投票和转发票。112.确定公共流量特征消息集的步骤如下:113.在一段时间内,数据采集节点开始对全网内的流量数据信息进行收集工作,在采集到该时间段内大部分的流量数据信息之后,开始进行广播工作,将流量信息广播给网络内所有的共识节点。每一个接受到数据采集节点发送的流量数据信息的共识节点集群将会先对接收到的流量信息进行存储工作。114.根据当前的网络状态信息和某个共识节点集群接收到的流量数据信息数,对于对应的共识节点集群随机设定一个暂时的动态扫描量n,然后对该集群接收到的流量数据信息进行扫描,扫描出其中的n条流量消息,然后把这n条流量消息广播给其他所有共识节点,其他共识节点集群重复同样的操作。115.在共识节点集群广播了流量消息的一段时间之后,即给予了各个集群相互之间充分的时间来接收其他共识节点集群所发送的流量消息,对应的共识节点集群接着会将自己刚广播的n条流量数据消息与该时间段内接收到的其他共识节点广播的流量消息进行比对,确定出所有共有的流量数据,这些流量数据消息即确定出公共流量特征消息集s。116.每个节点接收到的其他节点广播过来的结果后,验证sig,sig为真,则将该结果放在vector相应的标号(节点的编号i)上。117.建块节点将自己的异常流量验证结果以及所采用的异常流量查证方法的md5广播给其他共识节点,发起共识,其他共识节点收到建块节点的投票并验证签名后,记录在vector中。118.建块节点,即从数据采集节点接收流量消息的共识节点。119.共识节点接收到建块节点广播的信息之后,进行验证并投票,并附加上自己的签名。然后广播自己的投票结果。120.具体过程为:121.建块节点会分配一个序列号n给自己对一段时间内异常流量的验证结果,然后向组内其他所有共识节点广播自己的验证结果消息,并在其中附加自己的签名,消息向量vector格式为《《prepare,view,n,digest,signature,methods》,message》,view为视图编号,n为流量处理序号,digest为流量特征消息及摘要,signature为签名域,包含建块节点的签名,同时为后面共识节点对该消息的签名预留了空间,methods为方法域,包含建块节点对流量进行查证所采用的检测方法的md5码,同时为后面共识节点的验证所采用的查证方法的md5码预留了空间,message为流量数据特征和异常查证结果消息。122.组内其他共识节点接收到建块节点的验证结果消息时后,检查消息合法性,并且只有满足以下条件后,每个共识节点才会对建块节点对异常流量的处理结果进行验证,与自己的处理结果比对,最后进行投票。合法性检查条件为:123.a)消息签名同建块节点一致,并且digest与message的摘要一致124.b)当前视图编号为view125.c)该共识节点从未在视图view中接受过序号为n但是摘要digest不同的消息message。126.d)消息的序号n必须在水线(watermark)上下限h和h之间(水线存在的意义在于防止一个失效节点使用一个很大的序号消耗序号空间)127.验证通过后,共识节点将投票结果添加到message中,在signature签名域中添加自己的签名,同时在methods方法域中添加自己验证所采用的检测方法的md5码,并将投票结果、查证方法md5码以及消息信息写入自己的消息日志中。128.共识节点接收其他共识节点广播的投票结果,根据共识节点的投票结果和其他共识节点广播的投票结果,识别发送公共流量消息的数据采集节点是否被控。129.具体地,共识节点对从建块节点送过来的流量特征消息进行投票并广播的同时,也会接收到其他共识节点广播的投票结果。共识节点会转发收到的其他共识节点的投票结果。每个流量特征消息都对应一个vector,这个vector用来存储所有共识节点对该流量特征消息的投票结果。130.共识节点接收到别的共识节点发送的投票结果消息后,也会对消息的签名是否正确,视图编号是否一致,以及消息序号是否满足水线限制这三个条件进行合法性验证,如果验证通过则把这个准备消息写入消息日志中,然后把接收到的其他共识节点的投票结果消息添加自己的签名在signature签名域中,然后广播给其他共识节点。131.每个共识节点统计自己收到的投票,至少收到了2f 1个不同共识节点的相同结果,则作为最终结果r。132.基于上述各实施例的内容,若判断获知任一共识节点的投票结果的评分满足预设的条件,则识别任一共识节点被控之后,还包括:将任一共识节点作为失效节点,并从共识节点池中删除任一共识节点。133.具体地,一旦发现共识节点的作假行为,立即将其排除在投票节点之外,作为失效节点,并从共识节点池中删除。134.本发明实施例通过将被控共识节点作为失效节点,并从共识节点池中删除,能提高识别准确性。135.基于上述各实施例的内容,共识节点接收其他共识节点广播的投票结果,根据共识节点的投票结果和其他共识节点广播的投票结果,识别发送公共流量消息的数据采集节点是否被控之后,还包括:若建块节点判断获知接收到的共识节点广播的投票结果的数量不少于(2f 1),则根据识别发送公共流量消息的数据采集节点是否被控的结果生成待上链的区块,将待上链的区块接入区块队列。136.其中,建块节点为根据预设的选取算法,从每一共识节点集群中选取的一个共识节点。137.具体地,区块链是由包含流量特征消息信息的区块从后向前有序链接起来的数据结构。区块体分为块头和块身两部分。每一个区块头都包含它的父区块哈希值。这样把每个区块链接到各自父区块的哈希值序列就创建了一条一直可以追溯到第一个区块的链条。区块是聚合了区块链中流量特征消息信息的数据结果,这里的流量特征消息信息主要是流量数据及其验证结果。138.区块身主要存储数据信息。主要包括数据流量信息,以及共识节点对流量信息是否异常的判断结果,以及共识节点对异常流量查证采用的检测方法的md5码。139.区块主标识符是它的加密哈希值,一个通过sha256算法对区块头进行二次哈希计算而得到的数字指纹。产生的哈希值称为区块哈希值,区块哈希值可以唯一、明确地标识一个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立地获取该区块哈希值。第二种识别区块的方式是通过该区块在区块链中的位置,即“区块高度”。第一个区块,其区块高度为0。因此,区块可以通过两种方式被识别:区块哈希值或者区块高度。140.共识节点在调用异常流量检测方法进行验证的同时,可以获取到该检测方法的md5码,检测方法的md5码会同异常流量查证的结果以及节点签名一同广播出去,md5码可作为检测方法的标识,同流量信息和异常流量查证结果一同存储在区块链中,可供追溯查询。141.当该共识节点集群里每个共识节点对流量消息的查证结果达成共识后,由建块节点将流量消息及结果打包进区块中。142.建块节点的确定的步骤如下:143.为了确定建块建块节点,设定一个预选指数t,t同节点信誉系统组合在一起,建立建块节点选取机制。设p(0《p《1)为某个节点在每轮共识之后的信誉评分,e为这个节点被选为建块节点的次数。建立这样的指数关系:144.t=pe145.每次选取建块节点时,对组内每个共识节点的预选指数t进行排序,选择预选指数最高的节点作为建块节点。146.当某个节点信誉分不变,并且一直都比较高时,当它每成为一次建块节点后,e会增大,则它的预选指数t就会降低。这样就能保证不会每一次选取的建块节点都是相同的信誉良好的节点,让每个信誉良好的节点都有机会被选为建块节点。147.如果某个节点信誉分比较低,则p就比较低,它的预选指数t能保证比较低,被选取为建块节点的概率就比较低。148.多次共识中信誉分都很差的节点,可能会存在作假。会根据节点信誉机制,识别出作假,不能参与投票,同时不能加入到共识节点组选取的节点池中。等到该共识节点排除故障之后,再重新加入到预选的节点池中。149.确定了建块节点之后,节点对流量特征消息信息进行验证,并把验证结果和采用的异常流量检测方法的md5码一同广播给所有共识节点。150.共识节点集群里的共识节点对该区块进行共识。共识成功后,将该区块作为待上链的区块,放入区块队列中。151.每个共识节点将r附上签名广播给其他节点自己的commit消息《《commit,view,n,digest(message),signature,methods》message》,建块节点集齐至少2f 1个被共识节点验证过的commit消息,说明本次共识提案顺利通过。152.建块建块节点根据这个结果,建立区块,并将这个区块放入预区块队列中,等待空闲共识节点对每个区块父区块哈希进行共识,建立最终的区块。153.上链节点集群对区块队列中的每一待上链的区块进行共识并成功之后,将每一待上链的区块添加至区块链中。154.其中,上链节点集群,包括从共识节点池未被选入任一共识节点集群的各共识节点中选取的(3f 1)个不重复的共识节点。155.具体地,从共识节点池的剩余空闲节点中选取的上链节点集群,从队列中取出区块,然后将当前区块链的顶端区块头hash作为该块的prehash,然后进行共识,并附上签名。共识成功之后,该区块成为区块链新的顶端区块。156.经过共识确认后的检测结果会被记录到区块链上,可随时进行追溯查询。基于改进的拜占庭共识协议对异常流量进行查证、处理,建立区块链网络记录异常信息,可随时进行追溯查询。157.本发明实施例采用拜占庭区块链系统来记录存储异常信息,区块链结构保证了数据难篡改性和安全性。流量特征信息以及检测结果、检测方法摘要都存储在区块链上,具有极难篡改性,区块链是一种分布式数据库,即使某一个节点丢失了数据,也可以从其他节点恢复。整个共识系统采用拜占庭容错机制,攻击者必须要同时攻击f个以上的节点才能对整个系统造成攻击,难度很高。158.基于上述各实施例的内容,共识节点集群中的每一共识节点选择一种异常流量检测方法的具体步骤包括:根据区块链的高度、每一共识节点的编号和异常流量检测方法的个数,选择一种异常流量检测方法。159.具体地,共识节点的数据检测模块拥有n种独立的检测方法,编号为1-n。其中,n为正整数。每种方法通过类的方式封装起来,对外只提供一个简单的函数接口。160.共识节点对流量数据进行检测时,为了尽可能让本轮参与投票的共识节点更加平均的使用各种检测方法,检测流量数据信息前首先共识节点通过如下选择方法确定本轮使用的异常流量检测方法:161.1)获取当前区块链高度h和节点编号k。162.2)计算m=(h k)%n 1,m即是本节点选中的异常流量检测方法编号。163.本发明实施例根据区块链的高度、每一共识节点的编号和异常流量检测方法的个数,选择一种异常流量检测方法,能提高识别效率和准确性。164.基于上述各实施例的内容,根据预设的选举算法,从共识节点池中随机选择多组共识节点集群,与对于每一共识节点集群接收的公共流量消息,共识节点集群中的每一共识节点选择一种异常流量检测方法,获取共识节点的检测结果并向共识节点集群中的其他共识节点广播之间,还包括:共识节点集群中的任一共识节点,基于过滤机制,接收预设范围内的数据采集节点发送的流量消息,并向共识节点集群中的其他共识节点广播。165.具体地,数据采集节点接收流量信息采集工具采集的流量信息数据包,通过检查数据包的大小、版本号以及接收到的字节数是否足以容纳头标信息来确保数据包来自有效的流量源头。在接受到有效数据包后,数据采集节点对收到的流量信息流进行处理,将需要的数据打包进入流量特征消息。每隔一段时间,发送至所有共识节点。与一般数据采集不同,本系统数据采集节点会对流量特征消息进行签名,提高数据的有效性。166.若共识节点集群中的全部共识节点接收到流量消息,则将流量消息确定为公共流量消息。167.具体地,对于任一流量消息,共识节点集群中的全部共识节点均接收到该流量消息,则该流量消息为公共流量消息。168.本发明实施例根据全部共识节点接收到流量消息,对发送该流量消息的数据采集节点是否被控进行识别,能提高识别效率和准确性,能保证识别的高有效性和高可靠性。169.下面对本发明实施例提供的运营商关键基础设施被控识别系统进行描述,下文描述的运营商关键基础设施被控识别系统与上文描述的运营商关键基础设施被控识别方法可相互对应参照。170.图2是本发明实施例提供的一种运营商关键基础设施被控识别系统的结构示意图。基于上述各实施例的内容,如图2所示,该系统包括多个共识节点202和多个数据采集节点201。171.具体地,该运营商关键基础设施被控识别系统由关键基础设施构成。关键基础设施至少包括两种:多个共识节点202和多个数据采集节点201。172.数据采集节点201,用于根据目标区域网络的流量信息,获取目标区域网络的多种流量特征,并向共识节点发送携带有目标区域网络的多种流量特征的流量消息。173.具体地,一个网络连接定义为在某个时间内从开始到结束的tcp数据包序列,并且在这段时间内,数据在预定义的协议下(如tcp、udp)从源ip地址到目的ip地址的传递。将每个网络连接被标记为正常(normal)或异常(attack),异常类型被细分为4大类共39种攻击类型。将每个连接记录用41个特征来描述,加上最后的标记(label),一共有42项。其中前41项流量特征分为4大类:174.1)tcp连接基本特征(共9种)175.2)tcp连接的内容特征(共13种)176.3)基于时间的网络流量统计特征(共9种)177.4)基于主机的网络流量统计特征(共10种)178.4种异常类型分别是:179.dos(denial-of-service),拒绝服务攻击,例如ping-of-death,synflood,smurf等;具体表现有,制造大流量无用数据,造成通往被攻击主机的网络拥塞,使被攻击主机无法正常和外界通信。利用被攻击主机提供服务或传输协议上处理重复连接的缺陷,反复高频的发出攻击性的重复服务请求,使被攻击主机无法及时处理其它正常的请求。利用被攻击主机所提供服务程序或传输协议的本身实现缺陷,反复发送畸形的攻击数据引发系统错误的分配大量系统资源,使主机处于挂起状态甚至死机。180.r2l(unauthorizedaccessfromaremotemachinetoalocalmachine),来自远程主机的未授权访问,例如guessingpassword;在目标主机上没有账户的攻击者获得该机器的当地访问权限,从机器中过滤出数据、修改数据等的攻击方式。181.u2r(unauthorizedaccesstolocalsuperuserprivilegesbyalocalunpivilegeduser),未授权的本地超级用户特权访问,例如bufferoverflowattacks;182.probing(surveillanceandprobing),探针攻击,端口监视或扫描,例如port-scan,ping-sweep等。指对计算机网络或dns服务器进行扫描,获取有效ip地址、活动端口号、主机操作系统类型和安全弱点的攻击方式。183.当流量采集节点201采集到流量的特征数据后,将其封装成一条消息,并附上自身的签名,然后发送给共识节点。184.每条流量信息可以包含如下字段:185.srcaddr:源头的ip地址,如119.75.216.20。186.dstaddr:目的地ip地址,如182.254.18.159。187.srcport:tcp/udp源头的端口,如60221。188.dstport:tcp/udp目的地的端口,如80,443。189.prot:协议类型,如6=tcp,17=udp。190.first:信息流开始时间。191.last:信息流的最后一个数据包被接收时的时间。192.size:信息流传输信息的总大小,单位byte。193.packetcount:信息流中报的数量。194.共识节点202,用于基于共识机制和流量消息,识别数据采集节点是否被控以及其他共识节点是否被控。195.具体地,对于每一共识节点集群接收的公共流量消息,共识节点集群中的每一共识节点202选择一种异常流量检测方法,获取共识节点202的检测结果并向共识节点集群中的其他共识节点202广播。196.共识节点集群基于共识机制和各共识节点的检测结果,识别发送公共流量消息的数据采集节点是否被控。197.本发明实施例提供的运营商关键基础设施被控识别系统,用于执行本发明上述各实施例提供的运营商关键基础设施被控识别方法,该运营商关键基础设施被控识别系统包括的各模块实现相应功能的具体方法和流程详见上述运营商关键基础设施被控识别方法的实施例,此处不再赘述。198.该运营商关键基础设施被控识别系统用于前述各实施例的运营商关键基础设施被控识别方法。因此,在前述各实施例中的运营商关键基础设施被控识别方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。199.本发明实施例通过随机选择异常检测方法产生检测结果并广播,在整个共识节点集群中基于实用拜占庭协议算法进行共识,识别该数据采集节点是否被控,能提高识别效率和准确性,能保证识别的高有效性和高可靠性以及系统的可扩展性。200.基于上述各实施例的内容,运营商关键基础设施被控识别系统至少包括两层数据采集节点。201.具体地,基于运营商的网络结构,可以部署至少两层数据采集节点,对应不同区域的网络。202.第一层中的每一数据采集节点,用于根据对应的第一区域网络的流量信息,获取第一区域网络的多种流量特征。203.具体地,第一区域一般为省域,第一区域网络为省域网络(简称“省域网”)。204.在运营商每一个省内网络中,汇接层上省级节点的交换路由,会与其它所有省内的城域网相连接。在省级节点部署固定数量的数据采集节点,而且运营商网络拓扑结构中省级节点数量十分有限,所以在每一个省级节点路由上部署数据采集节点的经济成本相对较小。205.第二层包括至少一个数据采集节点;第二层中的每一数据采集节点,用于根据预设的轮换算法,分别根据每一第二区域网络的流量信息,获取第二区域网络的多种流量特征。206.其中,第二区域为第一区域的子区域。207.具体地,第二区域一般为城域,第二区域网络为城域网络(简称“城域网”)。208.每一个运营商的省内网络下方,都会有十个以上的城域网络,在每个城域网上都部署数据采集节点是不现实的,成本很大。基于这样的背景,设计这样的策略:设定一个这样的数据采集节点,它与探测每个城域网对外交换流量信息的路由流量数据监测工具设备相连接,然后采用时间片轮转的方式,数据采集节点选择接受某个特定城域网对外传输的流量信息,这样就能获取到这个城域网对省内其他城域网传输的流量信息。209.时间片轮转算法具体策略为:首先,数据采集节点选择一个较小的时间片t,这个时间段内监测并记录此段时间内网络流量的多少。经过一轮时间片轮转,根据上一轮每个城域网路由对外传输的数据量的大小,给不同城域网划分不同的优先级同时进行时间片流转处理排序,上一轮流量数据多的节点优先级较高,数据采集节点优先检测这个城域网路由对外传输的流量数据。同时,还有辅助策略,设定一个时间片系数l,初始时间片系数为某个特定的值,如果连续很多轮某个城域网路由都有较高的优先级,会将这个城域网路由对应的时间片系数增大一定的数量,让数据采集节点能有较多的时间采集这个拥有较多对外传输数据的路由流量,这样就能保证在某个特定城域网流量在阶段峰值内,能采集较多的流量数据信息。同理,如果连续很多轮,某个特定城域网路由的优先级都较低,适当降低该城域网路由的时间片系数,最低降为初始的时间片系数。每个城域网路由被数据采集节点监测的时间t为:210.t=t×l211.时间片轮转部署策略只能保证省内传输的大部分流量被数据采集节点采集到,无法保证所有的流量信息都被采集,在这种情况下,再设计一种合理的随机部署策略,部署一些通过一些随机轮转而被使用的数据采集节点,与时间片轮转策略互相配合,就基本能保证网络中绝大多数流量都被数据采集节点所收集到。212.本发明实施例通过部署两层数据采集节点,能在部署较少的数据采集节点的情况下,采集到更全面的流量数据,从而能对运营商关键基础设施被控继续更准确、更全面的识别。213.以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。214.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。215.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献