CN110661682B - 通用互联数据自动分析系统、方法、设备 - Google Patents
通用互联数据自动分析系统、方法、设备 Download PDFInfo
- Publication number
- CN110661682B CN110661682B CN201910887403.5A CN201910887403A CN110661682B CN 110661682 B CN110661682 B CN 110661682B CN 201910887403 A CN201910887403 A CN 201910887403A CN 110661682 B CN110661682 B CN 110661682B
- Authority
- CN
- China
- Prior art keywords
- protocol
- information
- data
- learning
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明提供了一种通用互联数据自动分析系统、方法、设备,包括:协议生成模型训练模块;训练阶段协议描述结构生成模块;训练阶段解码编译器调用模块;训练分析结果获取模块。本发明创新性地提出了一种实时高性能的全自动化的网络数据分析系统。这种系统由于应用了自动的学习方法,可以极大的降低人力成本投入,能够适应不断涌现的新的(被监控或者分析的)应用和这些应用的不断变化。同时由于中间结构的分解、隔离和编译,有着极高的性能,可以广泛适用于离线分析和在线分析。因此本发明在IT运维中有着广泛的适用性,不但适用于传统的网络性能管理,也适用于业务性能管理,同时可以支撑科技金融创新、5G应用、物联网IoT应用等。
Description
技术领域
本发明涉及网络协议分析领域,具体地,涉及一种通用互联数据自动分析系统、方法、设备。
背景技术
网络协议分析是指基于从网络中捕获的协议数据报文的二进制比特流,综合各种技术手段,识别其中的编码、字段、消息和交易的过程,从而提取数据流中所包含的易于人理解的各种信息。网络协议分析中既会有已知的或公开的网络协议,也会遇到未知的或秘密的通讯格式。网络协议分析是IT运维中,监控和保障网络性能,进行网络性能管理的重要手段。其应用包括监控网络运行指标,进行及时告警和提供故障定位;分析网络上的流量分布,进行容量规划或者执行预案,保障网络性能;分析网络报文,进行专家级的排障等等。早期的主要的手段是协议解码 (Protocol Decode)。这种方法一般需要知道网络协议规范(或格式),然后人工开发解码器来分析特定协议。显然这种方法不通用,不能应用于新的尚未支持的协议;同时也不高效,每一个协议支持都要耗费人力和时间;而且随着功能变化,协议也往往会变化,依靠人工的方法不能即时响应变化,在支持的时间上有滞后,还需要持续投入人力。协议解码产品众多,比较常用的是开源软件Wireshark。
近年来,通过网络协议分析,提取协议中的业务信息,进行业务交易关联,从而呈现业务层面的各种指标,譬如业务交易量、业务交易时间、业务响应成功率等等,进行业务性能监控也逐渐成为一种主流技术方法被广泛应用在业务性能管理领域中。这是因为网络数据不需要进行应用系统改造,仅仅通过交换机镜像就能采集和获取。而当前主流的SOA架构、REST架构、微服务架构、分布式架构和云架构等,都依循分离设计原则,按功能或服务拆分组件,以满足不断迭代演化的需求。组件之间基于网络通讯来完成业务或者提供服务。因此基于网络数据的技术方案,有着适用范围广、系统部署快、数据时效性高、业务价值高的特点,被Garnter称为”互联数据“(wiredata)或者”真实数据“。在国内,基于互联数据的监控方案广泛应用于银行、证券等对业务性能有很高监管要求的泛金融企业中。而且,在这些行业中,互联数据还被用于风险控制、头寸管理、交易反演等创新业务中。2000年以后,基于3G和4G通信的各种移动应用创新层出不穷,进入2010年后物联网IoT 和金融科技创新又不断兴起,使得基于网络通讯的应用和服务呈现爆炸性增长趋势,各种自定义协议如雨后春笋一般涌现,使得网络分析和监控呈现应接不暇的局面。而随着近两年5G技术逐渐进入商用阶段,这种趋势将会继续升温。因此,无论是在广度上还是在深度上,依靠人工定制的协议分析方法已经越来越不能满足需求。
而在网络安全领域,早在90年代就开始进行协议逆向工程(Protocol ReverseEngineering)的研究,主要的应用有侵检测系统(IDS)、深度包检测(DPI)、有效模糊测试、识别和分析僵尸网络命令和控制消息等。早期的方法大多也需要定制,同样缺乏通用性;或者,软件和工具仅仅起到辅助作用,需要大量人工干预。但由于安全领域主要面对协议未知和恶意攻击对抗的场景,因此,人工的方法远远不能满数据量增长、协议增长、以及内容变化的需求。因此,这个领域的研究方向很快以自动协议逆向工程(Automatic ProtocolReverse Engineering,APRE),研究的主要目标包括提高逆向结果的正确性(准确性),表达简洁性,覆盖更广泛的协议。从APRE的输出结果来区分,主要有推断协议有限状态机(PFSM)和协议格式 (PF)等主要的两类,还有其他一些方法主要用于识别C&C恶意软件和攻击网络。
从网络性能管理和网络业务管理来说,并不需要理解生成数据报文的“黑盒”的内部机制,不管关注可以恶意攻击,只需要识别其中的数据和业务信息,这是某种PF的表示方式。而在APRE的中,使用网络数据报文作为输入,输出PF结果的方法,主要有Di scoverer(2007)、Prospex(2009)、Biprominer(2011)、 ProDecoder(2012)、AutoReEngine(2013)、ProGraph(2015)、Cai et al.(2016)等。
但由于这些方法都来自于安全领域,而非运维和业务领域,因此还存在以下几个天然的缺陷:
1、并未从实际应用性能角度考虑,要么自动化程度低,要么无法支撑运维和业务监控的实时处理的高性能需求。早期的DPI检测等应用,主要是人工开发软件或者定义异常特征的,自动化程度低。近年来的一些基于数据挖掘的方法,在线运算量大,无法做到高性能,满足实时性。而即使是一些运行时相对快速的深度学习方法,面对业务需求中要实时分析上GB流量,每分钟几百万比交易,每个交易几十个业务字段的分析,往往也是无能为力的。
2、即使是相对自动化的方法,也仅仅提供静态的算法,不能自动地在线自我迭代更新。安全问题一般以突发性事件为主,缺乏有效的评价“指标”来进行算法的自动在线迭代更新,因此这些系统完全没有这方面的考虑。整体系统的准确性不能随着数据量增长自动持续改进。要提高准确性,是要重新训练模型的。
3、即使是相对自动化的方法,也仅仅是孤立的算法或者实现,覆盖范围小,缺乏可扩展性。这些方法主要着眼于解决不同的问题的和侧重,譬如有些侧重文本,分析HTTP、SMTP等,有些支持两进制DNS、NetBIOS等。从文献看,这些方法当前覆盖范围都有限,仅仅在一些技术指标上各有长处和短处。但它们都是孤立的,无法兼容、利用和整合其它算法的优势。
4、在具体实现上,这些方法表达能力偏弱,适用范围有限。安全问题主要识别攻击为主,扁平化的处理和关键特征的识别方式已经满足这种需求,与业务导向的精确解码目标不同,缺乏子结构、分支、多重分支和循环等情况的支持和设计和考虑,因此在实现的语法表现能力薄弱,适用范围有限。
5、完全靠逆向,准确性偏低。安全领域主要针对未知协议和对抗场景,完全不利用已有的信息,包括已有解码器、开发规范等等,实际准确性偏低,不能满足业务系统要求的更高的准确性。
专利文献103716284A公开了一种网络通信技术领域,具体涉及一种网络协议自动化逆向分析方法。该网络协议自动化逆向分析方法包括以下步骤:s 1.静态通信信息提取:提取C/S端被监视软件通信载入的信息中的关键信息并保存到日志文件; s2.动态协议追踪分析:根据所述关键信息设置断点,通过断点分析,抓取被监视软件收发包函数相关的日志信息,分析C/S端通信软件的网络协议包的构造和解析过程,并将所得结果保存到日志文件;s3.信息分析:分析整理所述日志文件,获得所需的逆向分析结果。该专利在实现满足网络性能运维和业务性能运维实时处理高性能要求的互联数据(高业务价值真实网络数据)自动化分析系统上仍有提升的空间。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种通用互联数据自动分析系统、方法、设备。
根据本发明提供的一种通用互联数据自动分析系统,包括:协议生成模型训练模块:描述通用场景或者特定场景的协议结构特征表示,获取协议生成模型信息;训练阶段协议描述结构生成模块:根据协议生成模型信息、训练网络数据,理解并加载协议生成模型,以训练网络数据作为输入,获取协议描述结构信息;
训练阶段解码编译器调用模块:根据协议描述结构信息,将其编译成可高效执行的解码器代码,获取可高效执行的解码器代码信息;
训练分析结果获取模块:根据解码器代码信息、训练网络数据,加载并执行解码器代码,分析训练网络数据,获取训练网络数据分析结果信息。
优选地,通用互联数据自动分析系统包括:运行阶段协议描述结构生成模块:根据协议生成器输入信息、运行网络数据,理解并加载协议生成模型,以训练网络数据作为输入,获取协议描述结构信息;
运行阶段解码编译器调用模块:根据协议描述结构信息,将其编译成可高效执行的解码器代码,获取可高效执行的解码器代码信息;
运行分析结果获取模块:根据解码器代码信息、运行网络数据,加载并执行解码器代码,分析训练网络数据,获取运行网络数据分析结果信息。
优选地,通用互联数据自动分析系统还包括:运行阶段反馈输入模块:根据网络指标参数、业务指标参数,动态调整协议生成器的参数,获取协议描述结构更新指导信息;解码器代码再次编译模块:根据协议描述结构更新指导信息,指导协议描述结构的变化,并再次编译成解码器代码,获取解码器代码信息。
优选地,通用互联数据自动分析系统还包括:学习子模块:根据学习方式指导参数,获取协议生成模型信息;学习子模块采用以下任一种或者任多种学习方式:-多种模版搜索;-深度学习;-深度强化学习。
优选地,学习子模块包括:综合提升模块:针对多种学习方式,采用Boosting、AdaBoost进行准确性提升,获取综合提升参数;所述学习方式指导参数包括:综合提升参数。
优选地,学习子模块包括:偏好设置控制模块:根据已知参考信息、获取协议描述结构信息,获取偏好设置控制参数;所述学习方式指导参数包括:偏好设置控制参数。
优选地,所述协议生成模型信息采用模型标示、模型参数、模型权重的三元组列表统一表示;协议生成模型信息包括:字段数量信息、字段位图信息、字段定义结构列表信息。
优选地,协议描述结构由一系列的字段列表组成,每个字段的属性包括:id常规字段属性、type常规字段属性、size常规字段属性、terminator常规字段属性、encoding 常规字段属性、用于复杂结构控制的size_by字段属性、用于复杂结构控制的size_expr 字段属性、用于字段分支控制的if_expr字段属性、用于循环控制的repeat_expr字段属性、用于循环控制的repeat_unti字段属性,用于嵌套结构的children字段属性、用于嵌套结构的parent字段属性。
根据本发明提供的一种通用互联数据自动分析方法,利用所述的通用互联数据自动分析系统进行通用互联数据自动分析。
根据本发明提供的一种通用互联数据自动分析设备,包括:控制器;所述控制器利用通用互联数据自动分析系统进行通用互联数据自动分析,或者执行通用互联数据自动分析方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、本发明创新性地提出了一种实时高性能的全自动化的网络数据分析系统。这种系统由于应用了自动的学习方法,可以极大的降低人力成本投入,能够适应不断涌现的新的(被监控或者分析的)应用和这些应用的不断变化。同时由于中间结构的分解、隔离和编译,有着极高的性能,可以广泛适用于离线分析和在线分析。因此本发明在IT运维中有着广泛的适用性,不但适用于传统的网络性能管理,也适用于业务性能管理,同时可以支撑科技金融创新、5G应用、物联网IoT应用等。
2、本发明创新性地采用了多项技术的有机结合,极大提高了学习系统的准确性,使得系统能够满足高标准的业务系统需求。这些技术包括:分解技术带来的技术独立演化、多种学习模型和方法支持、综合集成、利用已知信息设置偏好、利用指标反馈和策略进行持续参数动态控制。因此,本系统可以广泛适用于业务监控和创新,例如自动分析互联数据,用于风险控制、头寸管理、交易反演等创新业务中。
3、本发明提供了一种丰富表达能力的协议描述结构,配合自动学习方法和高性能的执行,有着很强的普适性,可以在IT运维领域之外,作为一项自动化技术,广泛用于安全领域的侵检测系统(IDS)、深度包检测(DPI)、有效模糊测试、识别和分析僵尸网络命令和控制消息等场景。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的原理示意图
图2为本发明实施例中的训练阶段的结构框架示意图
图3为本发明实施例中的运行阶段的结构框架示意图
图4为本发明实施例中的训练阶段的简明结构框架示意图
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种通用互联数据自动分析系统,包括:协议生成模型训练模块:描述通用场景或者特定场景的协议结构特征表示,获取协议生成模型信息;训练阶段协议描述结构生成模块:根据协议生成模型信息、训练网络数据,理解并加载协议生成模型,以训练网络数据作为输入,获取协议描述结构信息;
训练阶段解码编译器调用模块:根据协议描述结构信息,将其编译成可高效执行的解码器代码,获取可高效执行的解码器代码信息;
训练分析结果获取模块:根据解码器代码信息、训练网络数据,加载并执行解码器代码,分析训练网络数据,获取训练网络数据分析结果信息。
优选地,通用互联数据自动分析系统包括:运行阶段协议描述结构生成模块:根据协议生成器输入信息、运行网络数据,理解并加载协议生成模型,以训练网络数据作为输入,获取协议描述结构信息;
运行阶段解码编译器调用模块:根据协议描述结构信息,将其编译成可高效执行的解码器代码,获取可高效执行的解码器代码信息;
运行分析结果获取模块:根据解码器代码信息、运行网络数据,加载并执行解码器代码,分析训练网络数据,获取运行网络数据分析结果信息。
优选地,通用互联数据自动分析系统还包括:运行阶段反馈输入模块:根据网络指标参数、业务指标参数,动态调整协议生成器的参数,获取协议描述结构更新指导信息;解码器代码再次编译模块:根据协议描述结构更新指导信息,指导协议描述结构的变化,并再次编译成解码器代码,获取解码器代码信息。
优选地,通用互联数据自动分析系统还包括:学习子模块:根据学习方式指导参数,获取协议生成模型信息;学习子模块采用以下任一种或者任多种学习方式:-多种模版搜索;-深度学习;-深度强化学习。
优选地,学习子模块包括:综合提升模块:针对多种学习方式,采用Boosting、AdaBoost进行准确性提升,获取综合提升参数;所述学习方式指导参数包括:综合提升参数。
优选地,学习子模块包括:偏好设置控制模块:根据已知参考信息、获取协议描述结构信息,获取偏好设置控制参数;所述学习方式指导参数包括:偏好设置控制参数。
优选地,所述协议生成模型信息采用模型标示、模型参数、模型权重的三元组列表统一表示;协议生成模型信息包括:字段数量信息、字段位图信息、字段定义结构列表信息。
优选地,协议描述结构由一系列字段列表组成,每个字段的属性包括:id(字段标识符)常规字段属性、type(字段类型)常规字段属性、size(字段长度)常规字段属性、terminator(字段结束符)常规字段属性、encoding(字段编码)常规字段属性、用于复杂结构控制的size_by(字段长度定义方式)字段属性、用于复杂结构控制的 size_expr(字段长度表达式)字段属性、用于字段分支控制的if_expr(字段存在条件表达式)字段属性、用于循环控制的repeat_expr(字段重复次数表达式)字段属性、用于循环控制的repeat_until(字段重复结束条件表达式)字段属性,用于嵌套结构的 children字段属性、用于嵌套结构的parent字段属性。
具体地,在一个实施例中,一种实现满足网络性能运维和业务性能运维实时处理高性能要求的互联数据(高业务价值真实网络数据)自动化分析系统如下:
首先,该系统将控制网络数据的分析过程进行了分解,分解成三个核心中间结果和若干模块组成的有机系统。三个核心中间结果分别是:协议生成模型、协议描述结构和解码器代码。这三个中间结果,连接了学习子系统和三个处理模块(协议生成器、解码编译器和解码器执行器)。逻辑上,协议生成器、协议描述结构和解码编译器共同构成了解码器生成子系统。同时,在部署上,本实施例分成训练阶段和学习阶段等两个阶段。如图1所示。
三个中间结果的说明如下:
1、协议生成模型,是描述通用场景或者特定场景的协议结构特征表示方法。它和具体实现方法相关,被该实现方法理解并加载,继而用于生成协议描述结构的表达。它是学习子系统基于训练数据采用一种或多种自动化学习方法获得的,是协议生成器的输入。本实施例提供的是一个可以采用不同方法适应不同场景的通用系统方案,可以集成很多具体实现,因而本实施例使用<模型标示,模型参数,模型权重>的三元组列表统一表示方法。
本实施例的协议生成模型举例说明如下:
协议生成模型是本实施例的核心中间结果之一。本实施例提供了使用<模型标示,模型参数,模型权重>的三元组列表统一表示方法。模型标示用于唯一表示本实施例支持的一种具体方法。模型参数是相应模型的参数。模型权重是学习子系统得到的特定场景下的多种方法的权重。在协议生成器在生成协议描述结构时,采用不同方法,然后根据模型权重做加权处理,输出最终结果。
模型可以多种,例如简单的模版类型的,或者复杂的学习模型。模版类模型,例如TLV和ISO8583等。TLV也就是用<tag,length,value>的三元组表示每个字段,因此相应模型也就是三元组的字段列表。而ISO8583是国际卡组织定义的基于位图的字段结构表示方法,所以相应的模型参数主要包括:字段数量、字段位图、字段定义结构列表。学习类模型,例如深度神经网络模型和深度增强学习模型等。
2、协议描述结构,是种拥有丰富表达能力的协议描述方法。它是协议生成器基于协议生成模型和(训练或者实际)网络数据产生的,同时作为解码编译器的输入。本实施例引入该结构,而不是直接执行(或编译执行)协议生成模型,是为了分离该结构之前的学习训练过程和该结构之后的在线运行过程,从而使得两端的技术可以独立演化。整合技术优势,并带来高效执行的优势。
本实施例的协议描述结构举例如下:
该结构由一系列的字段列表构成,每个字段由序号(可选)和一系列字段属性(必须)构成。本实施例的协议描述结构属性定义如下:
本实施例引入该结构,而不是传统的语法树,一个考量的重要原因是:众多自动化学习方法需要使用数据驱动的机制来训练。但由于需要有充分的表达能力,因此,如图 3所示的属性中,除了id、type、size、terminator、encoding等常规字段属性之外,还有用于复杂结构控制的size_by和size_expr属性,用于字段分支控制和循环控制的 if_expr、repeat_expr和repeat_until属性,用于嵌套结构的children和parent属性。如图2的举例所示,协议描述结构当前识别出了A、B、C、D、E等5个字段,其中 B是个简单结构,由C和D构成。
3、解码器代码,是解码编译器根据协议描述结构和实际需求生成的代码。解码器代码地引入,使得解码器代码加载执行可以运行在多种环境中,语言环境例如(包括但不限于)Java、C/C++、Python等,系统环境例如(包但不限于)括Windows、Linux和嵌入式等。本实施例的解码器代码可以某种DSL(领域定语言)支持加载、解释执行;也可以是编译成二进制代码,由程序动态加载执行,例如DLL(动态链接库)或者SO文件;也可以是类似Java的跨平台字节码。
上述三个中间结果,连接了学习子系统和三个处理模块的说明如下:
1、学习子系统,根据不同场景可以是一种学习法方法,也可以是多种自动化学习方法的组合。它以训练数据作为输入,输出是协议生成模型。
2、协议生成器,用于理解和加载协议生成模型,然后以(训练或者实际)网络数据作为输入,输出协议描述结构。本实施例集成了多种具体实现方法,因此协议生成器也具有加载多种具体的模型能力,即根据不同的模型标示加载相应的模型参数,然后根据模型权重做加权处理,输出最终结果。包括多种模版搜索算法、深度学习算法、深度强化学习算法在内众多算法都可作为本实施例协议生成器的部分。
3、解码编译器,可以采用一般的编译技术实现,以协议描述结构作为输入,输出解码器代码。根据实际的需求,可以编译支持多种语言环境和多种系统环境。
4、解码器执行器,加载执行解码器代码,以(训练或者实际)网络数据作为输入,进行解码分析,输出解码数据和(或)交易数据。
此外,解码器生成子系统,是将协议生成器、协议描述结构和解码编译器,在逻辑上整合在一起,帮助理解的表达方式。同时,也可作为具体实现的物理部署单元。传统上,在网络分析领域,解码器是对单个网络协议进行解码的单元,被广泛理解和接受。本实施例的自动化实现,实际是基于自动学习解码器生成器来实现的。
为了达到实时处理性能的自动化目标,本实施例将部署方案分解成两个阶段。两个阶段分别是:训练阶段和运行阶段。如图1所示。
训练阶段,主要目的是通过学习子系统来训练协议生成模型,这个过程是基于训练数据自动化执行的,但也是耗费计算资源和费时的,需要离线执行。从协议生成器开始(也就是解码生成器子系统开始),训练阶段和运行阶段的控制框架基本一致,都会先根据(训练或者实际)网络数据,使用协议生成器,根据训练模型生成协议描述结构。然后调用解码编译器,将其编译成可高效执行的解码器代码。最后在加载并执行解码器代码,分析(训练或者实际)网络数据。但在训练阶段,基于学习的目的,协议生成器使用的数据为训练网络数据。同时,从为了优化模型,训练阶段的协议描述结构还会反馈给学习子系统。
图4是本实施例训练阶段的简明框图,以进一步阐述本实施例的训练阶段实现。相比于图1的原理图,解码器生成子系统被标注为训练阶段解码器生成子系统,此外,增加了几个细化的输入数据(或信息):
(1)训练数据,同时包括:训练网络数据包和训练期待结果。训练网络数据包同时作为解码器生成子系统和解码执行器的输入。训练网络数据通过解码器生成子系统后,在控制线上,生成解码器。训练网络数据通过解码执行器后,在数据线上,输出解码数据和(或)交易数据——该数据与训练期待结果一同作为训练子系统的输入,重新进入控制线。训练数据来源于传统解码器例如Wireshark等解码生成的数据作为正样本,也可以来源于多种仿真模拟系统申生成的数据作为正样本和(或)负样本。由于采用了多种学习方法的综合提升和在线参数动态控制等技术,因此,本实施例只需要足够的数据量作为初始模型训练即可。
(2)已知参考信息(接口规范、格式、定义等)是发明另一个提高准确性的举措。本实施例在训练阶段可以引入了已知信息作为偏好,从而有效提升解码分析的准确性。从当前主流的业务系统来说,虽然大量涌现出新的协议和系统,同时协议也不断发生变化,但可以用作协议参考的资料还是非常多。传统的有使用Excel和Word文档等定义的开发文档或者接口规范,现在有ProtoBuf、Json、XML等一系列方法定义的接口规范、格式、定义等。从本实施例的协议描述结构描述可以看出,该结构非常匹配接口定义中的参数描述方式,因此,采用简单的适配,已知参考信息中的定义格式很容易转换为协议描述结构,从而可以作为学习系统的偏好,例如初始值等,加速系统的收敛,达到更好的效果。因此,在训练阶段,本实施例将已知参考信息和协议描述结构一同输入到学习子系统。
图2是本实施例训练阶段的完整框图,在图4的基础上,细化了训练阶段学习子系统和训练阶段解码器生成子系统得到的。其中训练阶段解码器生成子系统已在之前部分说明清楚。
学习子系统,具体由学习方法(一种或多种)、综合提升和偏好设置控制等模块构成。
(1)学习方法(一种或多种),指本实施例可以采用一种学习方法或者多种学习方法的组合,包括(但不限于)多种模版搜索学习、深度学习和深度增强学习等具体方法。具体的学习方法并不是本实施例的重点。
(2)综合提升,针对多种学习方法时,采用Boosting、AdaBoost等方法进行准确性提升的方法。根据训练的效果设置<模型标示,模型参数,模型权重>中的模型权重。优化的方法可以对权重进行归一化处理,或者去除取值为小于阈值的模型等。当系统中仅有一种模型有效时,退化成单方法模式。
(3)偏好设置控制,可选的,利用已知参考信息和学习(经过两次转换之后)生成的协议描述结构加速方案。推荐的方案有,将初始值参考信息作为对照结果的初始值。
运行阶段,主要的目的满足实时高性能运行。同时结合网络和业务性能监控拥有大量有效指标的领域特点,本实施例增加了使用指标数据和指标控制作为输入的指标反馈控制器。
指标反馈控制器,以实际指标和指标控制作为输入,生成动态参数反馈给协议生成器。指标控制是指标策略和(或)其他来源外部指标。指标策略有多种表述方式,譬如在限定范围内波动、特定波动模式或者周期模式、基于历史数据的基线模型等等。其他来源外部指标,指来自于其他运维系统的指标,或者其他被监控系统的同类指标等。动态参数,主要用来提高性能,例如,深度强化学习模型中的奖励函数的权重,多种模型中的优化参数(负载最大长度、消息最大长度等等)。
图3是运行阶段的运行阶段的完整结构框图。相比于图1的原理图,解码器生成子系统被标注为运行阶段解码器生成子系统,此外,增加了一个指标子系统和两种数据:
(1)指标子系统,是基指基于解码数据和(或)交易数据生成网络指标和(或)业务指标的系统。可以广泛采用网络性能管理和业务性能管理领域的相关技术。具体的实现不是本实施例的重点。
(2)网络指标和(或)业务指标,指指标子系统的输出。在运维领域,有大量成熟的网络指标(流量、分布、TCP延迟、TCP重传等)和业务指标(交易量、响应时间等) 指标,这些指标会在故障时发生突变(这也正是监控系统出发告警的功能),总体上在一定的范围能变化,呈现出规律性。对于本实施例来说,这些指标可以作为指标反馈控制器的输入。
(3)指标策略和(或)其他来源外部指标,也就是图1原理中指标控制的展开,是具体的控制策略。指标策略有多种表述方式,譬如在限定范围内波动、特定波动模式或者周期模式、基于历史数据的基线模型等等。其他来源外部指标,指来自于其他运维系统的指标,或者其他被监控系统的同类指标等。
本领域技术人员可以将本发明提供的通用互联数据自动分析方法,理解为本发明提供的通用互联数据自动分析系统的一个实施例。即,所述通用互联数据自动分析系统可以通过执行所述通用互联数据自动分析方法的步骤流程实现。
根据本发明提供的一种通用互联数据自动分析方法,利用所述的通用互联数据自动分析系统进行通用互联数据自动分析。
根据本发明提供的一种通用互联数据自动分析设备,包括:控制器;所述控制器利用通用互联数据自动分析系统进行通用互联数据自动分析,或者执行通用互联数据自动分析方法的步骤。
本发明通过将控制网络数据的分析过程分解为三个核心中间结果和四个关键子系统或模块,并将系统的部署分解成两个阶段,来实现自动化地进行网络协议分析,同时达到监控和业务系统要求的实时高性能。三个核心中间结果分别是:协议生成模型、协议描述结构和解码器代码。四个关键子系统或模块分别是:学习子系统、协议生成器、解码编译器和解码执行器。两个阶段分别是:训练阶段和运行阶段。训练阶段通过学习子系统来训练协议生成模型,这个过程是自动化的,但也是耗费计算资源和费时的,需要离线执行。同时该执行该模型的协议生成器可以在运行阶段可以通过反馈方法调整参数,自动化地提高准确性。在训练阶段和运行阶段,本发明的后续控制框架基本一致:先由协议生成器加载训练模型,根据(训练或者实际)网络数据,生成协议描述结构;然后由解码编译器,将协议描述结构编译成可高效执行的解码器代码;最后再由解码执行器加载解码器代码,执行并分析(训练或者实际)网络数据。本发明通过学习解码器的生成过程来实现自动化,通过编译执行自动生成的解码器,从而达到满足实时网络和业务分析需求的高性能要求。
本发明在运行阶段,引入了网络和业务指标作为反馈输入,动态调整协议生成器的参数,指导协议描述结构的变化,并再次编译成解码器代码,加载并执行分析,从而本发明实现了系统的自动地在线自我迭代更新。在运维领域,有大量成熟的网络指标(流量、分布、TCP延迟、TCP重传等)和业务指标(交易量、响应时间等) 指标,这些指标会在故障时发生突变(这也正是监控系统出发告警的功能),总体上在一定的范围能变化,呈现出规律性。对于本发明来说,对于解码器执行模块得到的数据,计算相应网络和业务指标,采用评价函数评价偏差,将其反馈给解码生成子系统,可以自动优化和调整最终解码器的生成,以实现自动更新。
本发明的控制分析过程的分解中,引入了协议生成模型、协议描述结构和解码器代码等三个中间结果,使得这些中间结果的前后处理环节可以独立演化,大大提高了系统的兼容性、扩展性,带来整合优势。协议生成模型和协议描述结构的引入,使得针对不同的业务场景,使得随着技术变化,本发明可以在训练阶段,可以灵活对接和组合多种学习方法来提升协议生成器的准确性。而在运行阶段,不需做改动就能获得提升。因此本发明的系统扩展性广、准确性高、兼容性强,可以适应和覆盖更多的场景。而解码器代码地引入,使得解码器代码执行可以运行在多种环境中,语言环境例如(包括但不限于)Java、C/C++、Python等,系统环境例如(包括但不限于)Windows、Linux和嵌入式等。扩大了本发明的适用范围和领域。
本发明的协议描述结构从实际运维和业务系统出发,支持子结构、分支、多重分支和循环等场景,表达能力强。能够充分满足多种复杂场景,例如ISO8583 Bitmap 表示、多种中间件的嵌套结构等。
在实现中,针对不同场景,本发明在训练阶段可以引入了已知信息作为偏好,从而有效提升解码分析的准确性。从当前主流的业务系统来说,虽然大量涌现出新的协议和系统,同时协议也不断发生变化,但可以用作协议参考的资料还是非常多。传统的有使用Excel和Word文档等定义的开发文档或者接口规范,现在有ProtoBuf、 Json、XML等一系列方法定义的接口规范、格式、定义等。这些格式容易转换为协议描述结构,从而作为系统的偏好,例如初始值等,加速系统的收敛,达到更好的效果。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种通用互联数据自动分析系统,其特征在于,包括:
协议生成模型训练模块:描述通用场景或者特定场景的协议结构特征表示,获取协议生成模型信息;
训练阶段协议描述结构生成模块:根据协议生成模型信息、训练网络数据,获取协议描述结构信息;
训练阶段解码编译器调用模块:根据协议描述结构信息,获取解码器代码信息;
训练分析结果获取模块:根据解码器代码信息、训练网络数据,获取训练网络数据分析结果信息。
2.根据权利要求1所述的通用互联数据自动分析系统,其特征在于,包括:
运行阶段协议描述结构生成模块:根据协议生成器输入信息、运行网络数据,获取协议描述结构信息;
运行阶段解码编译器调用模块:根据协议描述结构信息,获取解码器代码信息;
运行分析结果获取模块:根据解码器代码信息、运行网络数据,获取运行网络数据分析结果信息。
3.根据权利要求1所述的通用互联数据自动分析系统,其特征在于,还包括:
运行阶段反馈输入模块:根据网络指标参数、业务指标参数,动态调整协议生成器的参数,获取协议描述结构更新指导信息;
解码器代码再次编译模块:根据协议描述结构更新指导信息,指导协议描述结构的变化,并再次编译成解码器代码,获取解码器代码信息。
4.根据权利要求1所述的通用互联数据自动分析系统,其特征在于,还包括:
学习子模块:根据学习方式指导参数,获取协议生成模型信息;
学习子模块采用以下任一种或者任多种学习方式:
-多种模版搜索;
-深度学习;
-深度强化学习。
5.根据权利要求4所述的通用互联数据自动分析系统,其特征在于,学习子模块包括:
综合提升模块:针对多种学习方式,采用Boosting和AdaBoost进行准确性提升,获取综合提升参数;
所述学习方式指导参数包括:综合提升参数。
6.根据权利要求4所述的通用互联数据自动分析系统,其特征在于,学习子模块包括:
偏好设置控制模块:根据已知参考信息、获取协议描述结构信息,获取偏好设置控制参数;
所述学习方式指导参数包括:偏好设置控制参数。
7.根据权利要求1所述的通用互联数据自动分析系统,其特征在于,所述协议生成模型信息采用模型标示、模型参数、模型权重的三元组列表统一表示。
8.根据权利要求1所述的通用互联数据自动分析系统,其特征在于,协议描述结构信息由一系列的字段列表构成,每个字段的属性包括:id字段标识符、type字段类型、size字段长度、terminator字段结束符、encoding字段编码、size_by字段长度定义方式、size_expr字段长度表达式、if_expr字段存在条件表达式、repeat_expr字段重复次数表达式、repeat_until字段重复结束条件表达式,children子字段列表、parent父字段。
9.一种通用互联数据自动分析方法,其特征在于,利用权利要求1至8任一项所述的通用互联数据自动分析系统进行通用互联数据自动分析。
10.一种通用互联数据自动分析设备,其特征在于,包括:控制器;
所述控制器利用权利要求1至8任一项所述的通用互联数据自动分析系统进行通用互联数据自动分析,或者执行权利要求9所述的通用互联数据自动分析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887403.5A CN110661682B (zh) | 2019-09-19 | 2019-09-19 | 通用互联数据自动分析系统、方法、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887403.5A CN110661682B (zh) | 2019-09-19 | 2019-09-19 | 通用互联数据自动分析系统、方法、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661682A CN110661682A (zh) | 2020-01-07 |
CN110661682B true CN110661682B (zh) | 2021-05-25 |
Family
ID=69037341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910887403.5A Active CN110661682B (zh) | 2019-09-19 | 2019-09-19 | 通用互联数据自动分析系统、方法、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110661682B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224998B (zh) * | 2020-01-21 | 2020-12-25 | 福州大学 | 一种基于极限学习机的僵尸网络识别方法 |
CN112491659B (zh) * | 2020-12-02 | 2022-07-01 | 广州品唯软件有限公司 | 一种流量回放测试方法、装置、计算机设备和存储介质 |
CN112702235B (zh) * | 2020-12-21 | 2022-08-05 | 中国人民解放军陆军炮兵防空兵学院 | 一种对未知协议自动化逆向分析的方法 |
CN113242160A (zh) * | 2021-07-12 | 2021-08-10 | 深圳市永达电子信息股份有限公司 | 一种基于状态机的协议识别方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546625A (zh) * | 2011-12-31 | 2012-07-04 | 深圳市永达电子股份有限公司 | 半监督聚类集成的协议识别系统 |
CN102932195A (zh) * | 2011-08-09 | 2013-02-13 | 上海天旦网络科技发展有限公司 | 一种基于网络协议分析的业务分析监控方法及系统 |
CN103200133A (zh) * | 2013-03-21 | 2013-07-10 | 南京邮电大学 | 一种基于网络流引力聚类的流量识别方法 |
CN103297427A (zh) * | 2013-05-21 | 2013-09-11 | 中国科学院信息工程研究所 | 一种未知网络协议识别方法及系统 |
CN104750642A (zh) * | 2013-12-31 | 2015-07-01 | 三星电子株式会社 | 具有极性处理机制的计算系统和其操作方法 |
CN107977283A (zh) * | 2016-10-24 | 2018-05-01 | 爱思开海力士有限公司 | 具有ldpc解码器的存储器系统及其操作方法 |
CN108234452A (zh) * | 2017-12-12 | 2018-06-29 | 上海天旦网络科技发展有限公司 | 一种网络数据包多层协议识别的系统和方法 |
CN108734649A (zh) * | 2017-04-24 | 2018-11-02 | 英特尔公司 | 神经网络训练机构 |
CN108734642A (zh) * | 2017-04-24 | 2018-11-02 | 英特尔公司 | 对机器学习模型的动态分布训练 |
CN108805797A (zh) * | 2017-05-05 | 2018-11-13 | 英特尔公司 | 用于机器学习操作的经优化计算硬件 |
CN109791530A (zh) * | 2016-10-10 | 2019-05-21 | 英特尔公司 | 多管芯硬件处理器和方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7944919B2 (en) * | 2007-01-12 | 2011-05-17 | Wi-Lan, Inc. | Connection identifier for wireless broadcast system |
CN102325129A (zh) * | 2011-07-14 | 2012-01-18 | 广州致远电子有限公司 | 一项用于测量分析仪器的自定义协议解码技术 |
US9401153B2 (en) * | 2012-10-15 | 2016-07-26 | Digimarc Corporation | Multi-mode audio recognition and auxiliary data encoding and decoding |
CN104348677A (zh) * | 2013-08-05 | 2015-02-11 | 华为技术有限公司 | 一种深度报文检测方法、设备及协处理器 |
US10079721B2 (en) * | 2016-04-22 | 2018-09-18 | Netsights360 | Integrated digital network management platform |
US10236006B1 (en) * | 2016-08-05 | 2019-03-19 | Digimarc Corporation | Digital watermarks adapted to compensate for time scaling, pitch shifting and mixing |
WO2018052906A1 (en) * | 2016-09-13 | 2018-03-22 | Sophistio, Inc. | Automatic wearable item classification systems and methods based upon normalized depictions |
CN108270779B (zh) * | 2017-12-29 | 2020-08-21 | 湖南优利泰克自动化系统有限公司 | 一种入侵检测系统安全规则的自动生成方法 |
CN109086603A (zh) * | 2018-07-10 | 2018-12-25 | 阜阳职业技术学院 | 一种基于机器学习的入侵检测系统及方法 |
-
2019
- 2019-09-19 CN CN201910887403.5A patent/CN110661682B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932195A (zh) * | 2011-08-09 | 2013-02-13 | 上海天旦网络科技发展有限公司 | 一种基于网络协议分析的业务分析监控方法及系统 |
CN102546625A (zh) * | 2011-12-31 | 2012-07-04 | 深圳市永达电子股份有限公司 | 半监督聚类集成的协议识别系统 |
CN103200133A (zh) * | 2013-03-21 | 2013-07-10 | 南京邮电大学 | 一种基于网络流引力聚类的流量识别方法 |
CN103297427A (zh) * | 2013-05-21 | 2013-09-11 | 中国科学院信息工程研究所 | 一种未知网络协议识别方法及系统 |
CN104750642A (zh) * | 2013-12-31 | 2015-07-01 | 三星电子株式会社 | 具有极性处理机制的计算系统和其操作方法 |
CN109791530A (zh) * | 2016-10-10 | 2019-05-21 | 英特尔公司 | 多管芯硬件处理器和方法 |
CN107977283A (zh) * | 2016-10-24 | 2018-05-01 | 爱思开海力士有限公司 | 具有ldpc解码器的存储器系统及其操作方法 |
CN108734649A (zh) * | 2017-04-24 | 2018-11-02 | 英特尔公司 | 神经网络训练机构 |
CN108734642A (zh) * | 2017-04-24 | 2018-11-02 | 英特尔公司 | 对机器学习模型的动态分布训练 |
CN108805797A (zh) * | 2017-05-05 | 2018-11-13 | 英特尔公司 | 用于机器学习操作的经优化计算硬件 |
CN108234452A (zh) * | 2017-12-12 | 2018-06-29 | 上海天旦网络科技发展有限公司 | 一种网络数据包多层协议识别的系统和方法 |
Non-Patent Citations (1)
Title |
---|
基于网络特征的协议识别研究与实现;钱桂兵;《中国优秀硕士学位论文全文数据库信息科技辑》;20150515(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110661682A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110661682B (zh) | 通用互联数据自动分析系统、方法、设备 | |
US10678669B2 (en) | Field content based pattern generation for heterogeneous logs | |
Dinella et al. | Hoppity: Learning graph transformations to detect and fix bugs in programs | |
US11740876B2 (en) | Method and system for arbitrary-granularity execution clone detection | |
Hahn et al. | Probabilistic reachability for parametric Markov models | |
CN113326050B (zh) | 基于神经网络与动态模糊测试结合的智能合约漏洞检测方法 | |
US20220253369A1 (en) | Automatic configuration of logging infrastructure for software deployments using source code | |
CN103559129A (zh) | 基于遗传算法的统计回归测试数据生成方法 | |
CN111984256A (zh) | 一种基于云原生架构的低代码应用流程系统和运行方法 | |
CN117220920A (zh) | 基于人工智能的防火墙策略管理方法 | |
CN105630797A (zh) | 数据处理方法及系统 | |
CN112181477A (zh) | 复杂事件处理方法、装置及终端设备 | |
CN112783508B (zh) | 文件的编译方法、装置、设备以及存储介质 | |
Behera et al. | Root Cause Analysis Bot using Machine Learning Techniques | |
CN114173355B (zh) | 一种设计运行态分离的网络指令动态执行方法及系统 | |
Li et al. | Event block identification and analysis for effective anomaly detection to build reliable HPC systems | |
CN108762752B (zh) | 一种结合动态和静态代码分析技术的安卓应用程序功能类图生成方法和装置 | |
CN114510409A (zh) | 一种应用程序代码检测方法和计算机可读存储介质 | |
CN116414398A (zh) | 一种编程语言转换方法、装置、设备及存储介质 | |
US20220374740A1 (en) | Artificial intelligence inference apparatus and method | |
CN116662177A (zh) | 一种面向电力系统终端的测试用例自动化生成方法及系统 | |
KR20240035192A (ko) | 예측 모델을 이용한 투표 기반 위험 및 이상 탐지 방법과 시스템 | |
CN115145746A (zh) | 一种事件处理方法、装置、设备和计算机可读存储介质 | |
Schwenk | Features and machine learning systems for structured and sequential data | |
CN115718920A (zh) | 一种电力系统软件供应链安全的分析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |