CN114765634B - 网络协议识别方法、装置、电子设备及可读存储介质 - Google Patents
网络协议识别方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114765634B CN114765634B CN202110042481.2A CN202110042481A CN114765634B CN 114765634 B CN114765634 B CN 114765634B CN 202110042481 A CN202110042481 A CN 202110042481A CN 114765634 B CN114765634 B CN 114765634B
- Authority
- CN
- China
- Prior art keywords
- network
- sample
- initial
- identification
- protocol
- 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
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 238000012795 verification Methods 0.000 claims description 17
- 230000007704 transition Effects 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 12
- 230000006399 behavior Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012549 training Methods 0.000 abstract description 37
- 238000013473 artificial intelligence Methods 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 21
- 238000002790 cross-validation Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000012098 association analyses Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及人工智能的计算机技术领域,公开了一种网络协议识别方法、装置、电子设备及可读存储介质,网络协议识别方法包括:获取待识别的网络流量数据;从网络流量数据中提取网络特征;基于训练后的识别网络对网络特征进行识别,确定待识别的网络流量数据对应的网络协议;其中,识别网络是基于样本背景流量数据和不同样本网络协议对应的样本网络流量数据训练得到的。本申请提供的网络协议识别方法可以有效提高网络协议的识别的准确率,从而进行网络安全防护。
Description
技术领域
本申请涉及网络协议识别技术领域,具体而言,本申请涉及一种网络协议识别方法、装置、电子设备及可读存储介质。
背景技术
计算机网络通信技术的飞速发展使得互联网应用在全球很多领域中不断普及,网络带宽大幅提升,互联网用户数量也在不断增加,大量新型网络协议和应用随之涌现并呈现出了新的特点,网络多样化是的网络安全防护面临挑战。在网络空间安全领域,高效准确地识别出网络流量数据的网络协议,能有助于更好的感知网络空间安全态势,具有很强的现实意义和使用价值。
目前,通常是基于规则对网络流量数据的网络协议进行识别,即提取网络流量数据的特征,针对所提取的特征的属性或特征来识别网络协议。但是,不同的协议在通信中也可能表现出相似的行为特征,导致网络协议识别的准确率较低。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:
第一方面,提供了一种网络协议识别方法,包括:
获取待识别的网络流量数据;
从网络流量数据中提取网络特征;
基于训练后的识别网络对网络特征进行识别,确定待识别的网络流量数据对应的网络协议;
其中,识别网络是基于样本背景流量数据和不同样本网络协议对应的样本网络流量数据训练得到的。
在第一方面的可选实施例中,识别网络通过如下方式训练得到:
获取不同样本网络协议对应的样本网络流量数据,并获取样本背景流量数据;
按照初始比例将不同网络协议对应的样本网络流量数据与样本背景流量数据混合,生成初始样本数据;
确定与初始样本数据对应的初始识别网络;
若初始识别网络符合预设条件,将初始识别网络设为识别网络。
在第一方面的可选实施例中,获取不同样本网络协议对应的样本网络流量数据,包括:
获取至少一种应用程序;至少一种应用程序分别用于产生不同样本网络协议对应的样本流量数据;
分别获取至少一种应用程序的触发方式;
基于所获取的触发方式分别触发对应的应用程序,使至少一个应用程序分别产生不同样本网络协议对应的样本流量数据。
在第一方面的可选实施例中,确定与初始样本数据对应的初始识别网络,包括:
提取初始样本数据的样本网络特征;
基于样本网络特征确定状态转移矩阵;
基于状态转移矩阵确定初始识别网络。
在第一方面的可选实施例中,若初始识别网络符合预设条件,将初始识别网络设为识别网络之前,还包括:
将初始样本数据输入到初始识别网络中,得到当前识别协议;
基于当前识别协议与样本网络协议确定初始识别网络的损失值;
若损失值小于第一预设阈值,则判定初始识别网络符合预设条件。
在第一方面的可选实施例中,若损失值小于第一预设阈值,则判定初始识别网络符合预设条件,包括:
若损失值小于第一预设阈值,则对初始识别网络进行交叉验证得到验证误差;
若交叉验证误差小于第二预设阈值,则判定初始识别网络符合预设条件。
在第一方面的可选实施例中,还包括:
若损失值大于或等于第一预设阈值,则对初始比例进行调节得到更新后的初始比例,并基于更新后的初始比例生成更新后的样本网络数据和更新后的初始识别网络,确定更新后的初始识别网络对应的损失值,直至更新后的初始识别网络对应的损失值小于第一预设阈值。
在第一方面的可选实施例中,按照初始比例将不同网络协议对应的样本网络流量数据与样本背景流量数据混合之前,还包括:
按照等比例切分对不同网络协议对应的样本网络流量数据与样本背景流量数据进行分配,得到初始比例;
其中,每一网络协议对应的样本网络流量数据的占比以及样本背景流量数据的占比形成等比序列,且等比数列中的等比值符合正态分布。
在第一方面的可选实施例中,网络特征包括握手协议信息、字节分布信息、数据包长度信息、时间序列信息、协议报头信息、流头部特征和通信行为特征中的至少一种。
第二方面,提供了一种网络协议识别装置,包括:
获取模块,用于获取待识别的网络流量数据;
提取模块,用于从网络流量数据中提取网络特征;
识别模块,用于基于训练后的识别网络对网络特征进行识别,确定待识别的网络流量数据对应的网络协议;
其中,识别网络是基于样本背景流量数据和不同样本网络协议对应的样本网络流量数据训练得到的。
在第二方面的可选实施例中,还包括训练模块,用于:
获取不同样本网络协议对应的样本网络流量数据,并获取样本背景流量数据;
按照初始比例将不同网络协议对应的样本网络流量数据与样本背景流量数据混合,生成初始样本数据;
确定与初始样本数据对应的初始识别网络;
若初始识别网络符合预设条件,将初始识别网络设为识别网络。
在第二方面的可选实施例中,训练模块在获取不同样本网络协议对应的样本网络流量数据时,具体用于:
获取至少一种应用程序;至少一种应用程序分别用于产生不同样本网络协议对应的样本流量数据;
分别获取至少一种应用程序的触发方式;
基于所获取的触发方式分别触发对应的应用程序,使至少一个应用程序分别产生不同样本网络协议对应的样本流量数据。
在第二方面的可选实施例中,训练模块在确定与初始样本数据对应的初始识别网络时,具体用于:
提取初始样本数据的样本网络特征;
基于样本网络特征确定状态转移矩阵;
基于状态转移矩阵确定初始识别网络。
在第二方面的可选实施例中,还包括判定模块,用于:
将初始样本数据输入到初始识别网络中,得到当前识别协议;
基于当前识别协议与样本网络协议确定初始识别网络的损失值;
若损失值小于第一预设阈值,则判定初始识别网络符合预设条件。
在第二方面的可选实施例中,判定模块在若损失值小于第一预设阈值,则判定初始识别网络符合预设条件时,具体用于:
若损失值小于第一预设阈值,则对初始识别网络进行交叉验证得到验证误差;
若交叉验证误差小于第二预设阈值,则判定初始识别网络符合预设条件。
在第二方面的可选实施例中,还包括更新模块,用于:
若损失值大于或等于第一预设阈值,则对初始比例进行调节得到更新后的初始比例,并基于更新后的初始比例生成更新后的样本网络数据和更新后的初始识别网络,确定更新后的初始识别网络对应的损失值,直至更新后的初始识别网络对应的损失值小于第一预设阈值。
在第二方面的可选实施例中,还包括分配模块,用于:
按照等比例切分对不同网络协议对应的样本网络流量数据与样本背景流量数据进行分配,得到初始比例;
其中,每一网络协议对应的样本网络流量数据的占比以及样本背景流量数据的占比形成等比序列,且等比数列中的等比值符合正态分布。
在第二方面的可选实施例中,网络特征包括握手协议信息、字节分布信息、数据包长度信息、时间序列信息、协议报头信息、流头部特征和通信行为特征中的至少一种。
第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本申请第一方面所示的网络协议识别方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本申请第一方面所示的网络协议识别方法。
本申请提供的技术方案带来的有益效果是:
通过将样本背景流量数据和不同样本网络协议对应的样本网络流量数据按照不同比例混合,训练生成识别网络,识别网络可以识别各种不同网络协议对应的网络流量数据,提取待识别的网络流量数据,从所述网络流量数据中提取网络特征,并利用训练后的识别网络对网络特征进行识别,可以有效提高网络协议的识别的准确率。
进一步的,通过按照等比切分法混合初始比例的不同网络协议对应的样本网络流量数据与所述样本背景流量数据,并调节初始比例,直至最终确定的识别网络符合预设调节,使得训练得到的识别网络可以有效识别不同网络协议对应的待识别的网络数据,提高对网络协议识别的准确率。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种网络协议识别方法的应用场景图;
图2为本申请实施例提供的一种网络协议识别方法的流程示意图;
图3为本申请实施例提供的一种训练识别网络的流程示意图;
图4为本申请一个示例提供的一种获取识别网络的方案的示意图;
图5为本申请一个示例提供的一种获取识别网络的方案的示意图;
图6为本申请提供的一个示例中提供的对不同网络协议的流量数据进行等比切分的方案的示意图;
图7为本申请实施例提供的示例中的获取识别网络的方案的示意图;
图8为本申请实施例提供的示例中的网络协议识别方法的流程示意图;
图9为本申请实施例提供的一种网络协议识别装置的结构示意图;
图10为本申请实施例提供的一种网络协议识别的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
云安全(Cloud Security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
云安全主要研究方向包括:1.云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机***安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2.安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3.云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
本申请提供的网络协议识别方法,可以有效识别出网络协议,尤其是加密网络协议,从而可以针对网络攻击进行防护。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请实施例提供的方案涉及人工智能的网络协议识别技术,具体通过如下实施例进行说明。
企业的网络中往往混杂着各种各样的网络协议,对这些网络协议类型进行识别时网络管理中非常重要的一环。随着网络信息安全技术的发展,加密技术在网络流量中的应用也越来越广泛,据统计,大约有70%以上的网络流量是经过加密的。网络流量经过加密后往往很难对其内容进行检测分析,从而也难以对其进行协议识别,造成空缺,导致无法对网络进行管理。
目前可以通过两种方式进行网络协议的识别:1、基于规则的检测;2、基于机器学习的检测。
规则检测是提取网络流量数据的特征,针对所提取的特征的属性或特征来识别网络协议。比如不同的网络协议,所拥有的数据包长度和时间序列等特征是不相同的,通过对这些特征进行提取解析,可以为后续的识别做好准备工作。但是,不同的协议在通信中也可能表现出相似的行为特征,导致网络协议识别的准确率较低。
无监督学习是直接在网络流量上进行训练学习,对流量中网络协议的构成无知识预设,如果在流量中长期缺失某些网络协议的流量,会导致训练不充分,在真实使用中遇到新的网络协议时无法识别。
本申请提供的网络协议识别方法,在加密流量的环境下,大大提升协议识别的效果,增加准确率和实用性;在训练样本和背景流量的智能分配下,提升了识别协议的类型数量;此外,相比无监督学习,提升了训练效率,可以更快的完成训练过程。
本申请提供的网络协议识别方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
如图1所示,本申请的网络协议识别方法,可以应用于图1所示的场景中,具体的,在终端110上触发多个应用程序101,产生不同的样本网络协议对应的样本流量数据;获取样本背景流量数据,将样本背景流量数据和不同样本网络协议对应的样本网络流量数据混合发送到服务器120中,服务器120基于混合后的样本背景流量数据和不同样本网络协议对应的样本网络流量数据训练生成识别网络;服务器120接收终端130发送的待识别的网络流量数据,基于识别网络对待识别的网络流量数据中的网络特征进行识别,确定所述待识别的网络流量数据对应的网络协议。
图1所示的场景中,上述网络协议识别方法可以在服务器中进行,在其他的场景中,也可以在终端中进行。
本技术领域技术人员可以理解,这里所使用的“终端”可以是手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、MID(Mobile Internet Device,移动互联网设备)等;“服务器”可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请实施例中提供了一种可能的实现方式,如图2所示,提供了一种网络协议识别方法,该方法可以应用于终端或服务器,可以包括以下步骤:
步骤S201,获取待识别的网络流量数据。
具体的,待识别的网络流量数据可以由至少一个终端和服务器或其他终端之间的数据交互中获取,待识别的网络流量数据可以由至少一种网络协议对应的网络流量数据构成。
步骤S202,从网络流量数据中提取网络特征。
其中,网络特征包括握手协议信息、字节分布信息、数据包长度信息、时间序列信息、协议报头信息、流头部特征和通信行为特征中的至少一种。
具体的,握手协议信息可以是TLS(Transport Layer Security,安全传输层协议),可以包括加密套件(ciphersuites)、支持的扩展(extensions)、公钥长度未加密的元数据等等信息;字节分布信息可以表示特定字节值出现在流中数据包的有效负载中的概率,可使用计数器数组来计算流的字节分布;数据包长度信息可以表示流的前几个包的每个包的应用程序负载的长度(字节数);时间序列信息可以是流的前几个包的每个包的到达间隔时间;协议报头信息可以是协议报头的字节信息,例如可以包括协议报头的前4个字节;流头部特征可以包括IP(Internet Protocol,网际互连协议)地址、端口和流字节数;通信行为特征可以包括与每个主机通信的目的/源IP数量的分布信息。
步骤S203,基于训练后的识别网络对网络特征进行识别,确定待识别的网络流量数据对应的网络协议。
其中,识别网络是基于样本背景流量数据和不同样本网络协议对应的样本网络流量数据训练得到的。
具体的,可以先将样本背景流量数据和不同样本网络协议对应的样本网络流量数据按照初始比例进行混合,并确定和初始比例对应的初始识别网络;然后调整样本背景流量数据和不同样本网络协议对应的样本网络流量数据之间的混合比例,并重新确定更新后的初始识别网络,直至更新后的初始识别网络符合预设条件,即可得到训练后的识别网络,具体确定识别网络的过程将在下文进行详细阐述。
上述实施例中,通过将样本背景流量数据和不同样本网络协议对应的样本网络流量数据按照不同比例混合,训练生成识别网络,识别网络可以识别各种不同网络协议对应的网络流量数据,提取待识别的网络流量数据,从网络流量数据中提取网络特征,并利用训练后的识别网络对网络特征进行识别,可以有效提高网络协议的识别的准确率。
以下将结合具体实施例阐述识别网络的获取过程。
本申请实施例中提供了一种可能的实现方式,如图3所示,识别网络通过如下方式训练得到:
步骤S301,获取不同样本网络协议对应的样本网络流量数据,并获取样本背景流量数据。
具体的,不同的样本网络协议对应的样本网络流量数据,可以通过触发不同的应用程序获取。
其中,不同样本网络协议可以包括websocket、QUIC、http2、https、sftp、ssh等。
其中,websocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。QUIC(Quick UDP Internet Connection)是谷歌制定的一种基于UDP的低时延的互联网传输层协议,QUIC很好地解决了当今传输层和应用层面临的各种需求,包括处理更多的连接,安全性,和低延迟。http(Hypertext Transfer Protocol,超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。http2是即超文本传输协议2.0,是下一代http协议。https(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议),是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性,https存在不同于http的默认端口及一个加密/身份验证层(在http与TCP之间)。这个***提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。sftp(Secret File Transfer Protocol,安全文件传送协议)是一数据流连接,提供文件访问、传输和管理功能的网络传输协议。ssh(SecureShell,安全外壳协议)为建立在应用层基础上的安全协议。ssh是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用ssh协议可以有效防止远程管理过程中的信息泄露问题。
在具体实施过程中,可以预先安装多种用于产生不同样本网络协议对应的样本网络流量数据的应用程序,对应用程序分别进行触发,得到不同样本网络协议对应的样本网络流量数据。
具体的,样本背景流量数据可以是脱敏后的抽样数据,例如,待识别的网络流量数据为企业数据,则可以抽取企业的样本数据,并对样本数据进行脱敏得到样本背景流量数据。
步骤S302,按照初始比例将不同网络协议对应的样本网络流量数据与样本背景流量数据混合,生成初始样本数据。
具体的,可以按照等比切分法对不同网络协议对应的样本网络流量数据与样本背景流量数据进行切分,生成初始比例,再按照初始比例将不同网络协议对应的样本网络流量数据与样本背景流量数据混合。
具体的,等比切分法是指混合得到的初始样本数据中,不同的流量数据之间的占比形成等比序列,具体的确定初始比例的方式将在下文进行详细阐述。
步骤S303,确定与初始样本数据对应的初始识别网络。
具体的,网络协议的TCP(Transmission Control Protocol,传输控制协议)会话过程就是一个马尔可夫过程,也就是说,初始识别网络可以符合马尔科夫链。
具体的,可以先抽取初始样本数据对应的样本网络特征,根据样本网络特征确定状态转移矩阵,从而确定初始识别网络,具体的确定初始识别网络的过程将在下文进行详细阐述。
步骤S304,若初始识别网络符合预设条件,将初始识别网络设为识别网络。
具体的,预设条件可以是初始识别网络的损失值小于第一预设阈值,也可以是初始识别网络的损失值小于第一预设阈值的同时,初始识别网络的交叉验证误差还小于第二预设阈值。
具体的,可以将初始样本数据输入到初始识别网络中,得到当前识别协议,基于当前识别协议与样本网络协议确定初始识别网络的损失值,具体的判定初始识别网络是否符合预设条件的过程将在下文进行详细阐述。
本申请实施例中提供了一种可能的实现方式,步骤S301的获取不同样本网络协议对应的样本网络流量数据,可以包括:
(1)获取至少一种应用程序;至少一种应用程序分别用于产生不同样本网络协议对应的样本流量数据;
(2)分别获取至少一种应用程序的触发方式;
(3)基于所获取的触发方式分别触发对应的应用程序,使至少一个应用程序分别产生不同样本网络协议对应的样本流量数据。
具体的,可以先配置好不同样本网络协议,即加密协议对应的应用程序及触发方式,例如样本网络协议可以包含:websocket、QUIC、http2、https、sftp、ssh等;触发方式包含bash脚本,python脚本等进行数据交互。
本申请实施例中提供了一种可能的实现方式,步骤S303的确定与初始样本数据对应的初始识别网络,可以包括:
(1)提取初始样本数据的样本网络特征;
(2)基于样本网络特征确定状态转移矩阵;
(3)基于状态转移矩阵确定初始识别网络。
其中,初始识别网络可以为马尔科夫链。
马尔可夫链是一组具有马尔可夫性质的离散随机变量的集合。具体地,对概率空间(Ω,F,P)内以一维可数集为指数集(index set)的随机变量集合X={Xn:n>0},若随机变量的取值都在可数集内:X=si,si∈s,且随机变量的条件概率满足如下关系:
p(Xt+1|Xt,…,X1)=p(Xt+1|Xt) (1)
其中,X被称为马尔可夫链,可数集s∈Z被称为状态空间(state space),马尔可夫链在状态空间内的取值称为状态。这里定义的马尔可夫链是离散时间马尔可夫链(Discrete-Time MC,DTMC),其具有连续指数集的情形虽然被称为连续时间马尔可夫链(Continuous-Time MC,CTMC),但在本质上是马尔可夫过程(Markov process)。
上式在定义马尔可夫链的同时定义了马尔可夫性质,该性质也被称为“无记忆性(memorylessness)”,即t+1步的随机变量在给定第t步随机变量后与其余的随机变量条件独立(conditionally independent),在此基础上,马尔可夫链具有强马尔可夫性(strongMarkov property),即对任意的停时(stopping time),马尔可夫链在停时前后的状态相互独立。
网络协议的TCP会话过程就是一个马尔可夫过程,因此可使用有限状态机来描述,通过上述的特征计算获得初始化概率向量和状态转移概率矩阵。通过上述公式(1),可以求出任意两个状态之间的转移概率,即转移矩阵,当状态转移矩阵P确定以后,就会得到初始识别模型。
以下将结合实施例进一步阐述判定初始识别网络是否符合预设条件的过程。
本申请实施例中提供了一种可能的实现方式,步骤S304的若初始识别网络符合预设条件,将初始识别网络设为识别网络之前,还可以包括:
(1)将初始样本数据输入到初始识别网络中,得到当前识别协议。
其中,当前识别协议是初始识别网络针对初始样本数据实时进行识别得到的网络协议。
(2)基于当前识别协议与样本网络协议确定初始识别网络的损失值。
具体的,样本网络协议是初始样本数据的已知的网络协议,通过对初始样本数据实时进行识别得到的当前识别协议以及已知的样本网络协议,可以计算初始识别网络的损失函数,即损失值。
(3)若损失值小于第一预设阈值,则判定初始识别网络符合预设条件。
在一种实施方式中,若损失值小于第一预设阈值,则可以将初始识别网络确定为训练后的识别网络。
如图4所示,将初始样本数据输入到初始识别网络中,得到当前识别协议;基于当前识别协议与样本网络协议确定初始识别网络的损失值;判断损失值是否小于第一预设阈值,若是,则将初始识别网络设为识别网络;若否,则对初始比例进行更新,并更新初始样本数据和初始识别网络,并重复获取损失值,直至损失值小于第一预设阈值。
在具体实施过程中,若损失值小于第一预设阈值,则判定初始识别网络符合预设条件,可以包括:
a、若损失值小于第一预设阈值,则对初始识别网络进行交叉验证得到验证误差;
b、若交叉验证误差小于第二预设阈值,则判定初始识别网络符合预设条件。
在另一种实施方式中,若损失值小于第一预设阈值,则需要进一步对初始识别网络进行交叉验证,若交叉验证误差小于第二预设阈值,才判定初始识别网络符合预设条件。
如图5所示,将初始样本数据输入到初始识别网络中,得到当前识别协议;基于当前识别协议与样本网络协议确定初始识别网络的损失值;判断损失值是否小于第一预设阈值,若是,则对初始识别网络进行交叉验证,并获取交叉验证误差;判断交叉验证误差是否小于第二预设阈值;若是,则将初始识别网络设为识别网络;若否,则对初始比例进行更新,并更新初始样本数据和初始识别网络,并重复获取损失值,直至损失值小于第一预设阈值,且交叉验证误差小于第二预设阈值。
在机器学习建模过程中,通行的做法通常是将数据分为训练集和测试集。测试集是与训练独立的数据,完全不参与训练,用于最终模型的评估。在训练过程中,经常会出现过拟合的问题,就是模型可以很好的匹配训练数据,却不能很好在预测训练集外的数据。如果此时就使用测试数据来调整模型参数,就相当于在训练时已知部分测试数据的信息,会影响最终评估结果的准确性。通常的做法是在训练数据再中分出一部分作为验证(Validation)数据,用来评估模型的训练效果。
验证数据取自训练数据,但不参与训练,这样可以相对客观的评估模型对于训练集之外数据的匹配程度。模型在验证数据中的评估常用的是交叉验证,又称循环验证。它将原始数据分成K组(K-Fold),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型。这K个模型分别在验证集中评估结果,最后的误差MSE(MeanSquared Error)加和平均就得到交叉验证误差。交叉验证有效利用了有限的数据,并且评估结果能够尽可能接近模型在测试集上的表现,可以做为模型优化的指标使用。
本申请实施例中提供了一种可能的实现方式,若损失值大于或等于第一预设阈值,则对初始比例进行调节得到更新后的初始比例,并基于更新后的初始比例生成更新后的样本网络数据和更新后的初始识别网络,确定更新后的初始识别网络对应的损失值,直至更新后的初始识别网络对应的损失值小于第一预设阈值。
具体的,若损失值大于或等于第一预设阈值,则对初始比例进行调节,得到更新后的初始比例,基于更新后的初始比例对不同样本网络协议对应的样本网络流量数据和样本背景流量数据进行混合,得到更新后的初始样本数据,基于更新后的初始样本数据确定更新后的初始识别网络,并确定更新后的初始识别网络对应的损失值,若更新后的初始识别网络对应的损失值小于第一预设阈值,则可以将更新后的初始识别网络设为识别网络;若更新后的初始识别网络对应的损失值大于或等于第一预设阈值,则重复对初始比例进行调节,得到更新后的初始识别网络的损失值,直至更新后的初始识别网络对应的损失值小于第一预设阈值。
上述实施例中,通过按照等比切分法混合初始比例的不同网络协议对应的样本网络流量数据与样本背景流量数据,并调节初始比例,直至最终确定的识别网络符合预设调节,使得训练得到的识别网络可以有效识别不同网络协议对应的待识别的网络数据,提高对网络协议识别的准确率。
上述实施例阐述了基于不同样本网络协议对应的样本网络流量数据以及样本背景流量数据确定识别网络的过程,以下将结合实施例进一步阐述确定初始比例的过程。
本申请实施例中提供了一种可能的实现方式,步骤S302的按照初始比例将不同网络协议对应的样本网络流量数据与样本背景流量数据混合之前,还可以包括:
按照等比例切分对不同网络协议对应的样本网络流量数据与样本背景流量数据进行分配,得到初始比例。
其中,每一网络协议对应的样本网络流量数据的占比以及样本背景流量数据的占比形成等比序列,且等比数列中的等比值符合正态分布。
以图6所示为例,以P代表不同的网络协议对应的样本网络流量数据,P1为websocket、P2为QUIC、P3为http2、P4为https、P5为sftp、P6为ssh,P7为背景流量,P1-P7的占比构成等比序列。
具体的,等比切分法符合如下公式:
其中,P表示不同协议和背景流量的占比情况,n为占比协议的序列号,m为最大值。
例如:P1为websocket、P2为QUIC、P3为http2、P4为https、P5为sftp、P6为ssh,P7为背景流量。其中m=7;表示所有协议的流量占比总和近似等于1。
Pn=xPn+1 (3)
其中,P表示不同协议和背景流量的占比情况,n为占比协议的序列号,x为一个固定值;表示每个协议之间都是等比例的。
其中,x服从正态分布时μ=0,σ=1的标准正态分布。
为了更好地理解上述网络协议识别方法,如图7所示,以下详细阐述一个本发明的获取识别网络的示例:
在一个示例中,本申请提供的获取识别网络的过程,可以包括如下步骤:
1)获取多种应用软件;多种应用软件分别用于产生不同的加密流量数据,即用于产生不同的样本网络协议对应的样本网络流量数据;
2)获取混杂背景流量;即获取样本背景流量数据;
3)按照比例生成对应的流量数据包,并使用等比例切分法对不同协议的流量进行切分;按照等比例切分对不同网络协议对应的样本网络流量数据与样本背景流量数据进行分配,得到初始比例;并按照初始比例将不同网络协议对应的样本网络流量数据与样本背景流量数据混合,生成初始样本数据;
4)对样本进行训练学习、验证,从而调整不同协议流量的比例;即确定与初始样本数据对应的初始识别网络,并确定初始识别网络对应的损失值;若损失值大于或等于第一预设阈值,则对初始比例进行调节,得到更新后的初始比例,基于更新后的初始比例对不同样本网络协议对应的样本网络流量数据和样本背景流量数据进行混合,得到更新后的初始样本数据,基于更新后的初始样本数据确定更新后的初始识别网络,并确定更新后的初始识别网络对应的损失值,直至更新后的初始识别网络对应的损失值小于第一预设阈值;验证更新后的初始识别网络的交叉验证误差是否小于第二预设阈值;
5)生成模型;若更新后的初始识别网络对应的损失值小于第一预设阈值,且更新后的初始识别网络的交叉验证误差小于第二预设阈值,将更新后的初始识别网络设为训练后的识别网络。
为了更好地理解上述网络协议识别方法,如图8所示,以下详细阐述一个本发明的网络协议识别方法的示例:
在一个示例中,本申请提供的网络协议识别方法,可以包括如下步骤:
1)获取多种不同的样本网络协议对应的样本网络流量数据;样本网络协议可以包括websocket、QUIC、https、sftp等;
2)获取混杂背景流量;即获取样本背景流量数据;
3)将不同的样本网络协议对应的样本网络流量数据和样本背景流量数据混合,生成初始样本数据;
4)提取初始样本数据的样本网络特征;
5)基于样本网络特征确定初始识别网络,即马尔科夫链,并调节不同的样本网络协议对应的样本网络流量数据和样本背景流量数据混合比例,更新初始识别网络,直至更新后的初始识别网络的损失值小于第一预设阈值;
6)对更新后的初始识别网络进行交叉验证,可以是进行K-fold交叉验证,若交叉验证误差小于第二预设阈值,则将更新后的初始识别网络设为识别网络;
7)获取待识别的加密流量,即待识别的网络流量数据;
8)基于识别网络对待识别的网络流量数据进行分类,确定对应的网络协议。
上述的网络协议识别方法,通过将样本背景流量数据和不同样本网络协议对应的样本网络流量数据按照不同比例混合,训练生成识别网络,识别网络可以识别各种不同网络协议对应的网络流量数据,提取待识别的网络流量数据,从网络流量数据中提取网络特征,并利用训练后的识别网络对网络特征进行识别,可以有效提高网络协议的识别的准确率。
进一步的,通过按照等比切分法混合初始比例的不同网络协议对应的样本网络流量数据与样本背景流量数据,并调节初始比例,直至最终确定的识别网络符合预设调节,使得训练得到的识别网络可以有效识别不同网络协议对应的待识别的网络数据,提高对网络协议识别的准确率。
本申请实施例中提供了一种可能的实现方式,如图9所示,提供了一种网络协议识别装置90,该网络协议识别装置90可以包括:获取模块901、提取模块902和识别模块903,其中,
获取模块901,用于获取待识别的网络流量数据;
提取模块902,用于从网络流量数据中提取网络特征;
识别模块903,用于基于训练后的识别网络对网络特征进行识别,确定待识别的网络流量数据对应的网络协议;
其中,识别网络是基于样本背景流量数据和不同样本网络协议对应的样本网络流量数据训练得到的。
本申请实施例中提供了一种可能的实现方式,还包括训练模块,用于:
获取不同样本网络协议对应的样本网络流量数据,并获取样本背景流量数据;
按照初始比例将不同网络协议对应的样本网络流量数据与样本背景流量数据混合,生成初始样本数据;
确定与初始样本数据对应的初始识别网络;
若初始识别网络符合预设条件,将初始识别网络设为识别网络。
本申请实施例中提供了一种可能的实现方式,训练模块在获取不同样本网络协议对应的样本网络流量数据时,具体用于:
获取至少一种应用程序;至少一种应用程序分别用于产生不同样本网络协议对应的样本流量数据;
分别获取至少一种应用程序的触发方式;
基于所获取的触发方式分别触发对应的应用程序,使至少一个应用程序分别产生不同样本网络协议对应的样本流量数据。
本申请实施例中提供了一种可能的实现方式,训练模块在确定与初始样本数据对应的初始识别网络时,具体用于:
提取初始样本数据的样本网络特征;
基于样本网络特征确定状态转移矩阵;
基于状态转移矩阵确定初始识别网络。
本申请实施例中提供了一种可能的实现方式,还包括判定模块,用于:
将初始样本数据输入到初始识别网络中,得到当前识别协议;
基于当前识别协议与样本网络协议确定初始识别网络的损失值;
若损失值小于第一预设阈值,则判定初始识别网络符合预设条件。
本申请实施例中提供了一种可能的实现方式,判定模块在若损失值小于第一预设阈值,则判定初始识别网络符合预设条件时,具体用于:
若损失值小于第一预设阈值,则对初始识别网络进行交叉验证得到验证误差;
若交叉验证误差小于第二预设阈值,则判定初始识别网络符合预设条件。
本申请实施例中提供了一种可能的实现方式,还包括更新模块,用于:
若损失值大于或等于第一预设阈值,则对初始比例进行调节得到更新后的初始比例,并基于更新后的初始比例生成更新后的样本网络数据和更新后的初始识别网络,确定更新后的初始识别网络对应的损失值,直至更新后的初始识别网络对应的损失值小于第一预设阈值。
本申请实施例中提供了一种可能的实现方式,还包括分配模块,用于:
按照等比例切分对不同网络协议对应的样本网络流量数据与样本背景流量数据进行分配,得到初始比例;
其中,每一网络协议对应的样本网络流量数据的占比以及样本背景流量数据的占比形成等比序列,且等比数列中的等比值符合正态分布。
本申请实施例中提供了一种可能的实现方式,网络特征包括握手协议信息、字节分布信息、数据包长度信息、时间序列信息、协议报头信息、流头部特征和通信行为特征中的至少一种。
上述的网络协议识别装置,通过将样本背景流量数据和不同样本网络协议对应的样本网络流量数据按照不同比例混合,训练生成识别网络,识别网络可以识别各种不同网络协议对应的网络流量数据,提取待识别的网络流量数据,从所述网络流量数据中提取网络特征,并利用训练后的识别网络对网络特征进行识别,可以有效提高网络协议的识别的准确率。
进一步的,通过按照等比切分法混合初始比例的不同网络协议对应的样本网络流量数据与所述样本背景流量数据,并调节初始比例,直至最终确定的识别网络符合预设调节,使得训练得到的识别网络可以有效识别不同网络协议对应的待识别的网络数据,提高对网络协议识别的准确率。
本公开实施例的图片的网络协议识别装置可执行本公开的实施例所提供的一种图片的网络协议识别方法,其实现原理相类似,本公开各实施例中的图片的网络协议识别装置中的各模块所执行的动作是与本公开各实施例中的图片的网络协议识别方法中的步骤相对应的,对于图片的网络协议识别装置的各模块的详细功能描述具体可以参见前文中所示的对应的图片的网络协议识别方法中的描述,此处不再赘述。
基于与本公开的实施例中所示的方法相同的原理,本公开的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指令执行实施例所示的网络协议识别方法。与现有技术相比,本申请中的网络协议识别方法可以有效提高网络协议的识别的准确率。
在一个可选实施例中提供了一种电子设备,如图10所示,图10所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,本申请中的网络协议识别方法可以有效提高网络协议的识别的准确率。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现如下情况:
获取待识别的网络流量数据;
从所述网络流量数据中提取网络特征;
基于训练后的识别网络对所述网络特征进行识别,确定所述待识别的网络流量数据对应的网络协议;
其中,所述识别网络是基于样本背景流量数据和不同样本网络协议对应的样本网络流量数据训练得到的。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,识别模块还可以被描述为“用于识别网络协议的模块”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种网络协议识别方法,其特征在于,包括:
获取待识别的网络流量数据;
从所述网络流量数据中提取网络特征;
基于训练后的识别网络对所述网络特征进行识别,确定所述待识别的网络流量数据对应的网络协议;
其中,所述识别网络是通过如下方式训练得到的:
获取不同样本网络协议对应的样本网络流量数据,并获取样本背景流量数据;
按照等比例切分对不同网络协议对应的样本网络流量数据与所述样本背景流量数据进行分配,得到初始比例;其中,每一网络协议对应的样本网络流量数据的占比以及所述样本背景流量数据的占比形成等比序列,且所述序列中的等比值符合正态分布;
按照所述初始比例将不同网络协议对应的样本网络流量数据与所述样本背景流量数据混合,生成初始样本数据;
确定与所述初始样本数据对应的初始识别网络;
若所述初始识别网络符合预设条件,将所述初始识别网络设为所述识别网络。
2.根据权利要求1所述的网络协议识别方法,其特征在于,所述获取不同样本网络协议对应的样本网络流量数据,包括:
获取至少一种应用程序;所述至少一种应用程序分别用于产生不同样本网络协议对应的样本流量数据;
分别获取至少一种应用程序的触发方式;
基于所获取的触发方式分别触发对应的所述应用程序,使所述至少一个应用程序分别产生不同样本网络协议对应的样本流量数据。
3.根据权利要求1所述的网络协议识别方法,其特征在于,所述确定与所述初始样本数据对应的初始识别网络,包括:
提取所述初始样本数据的样本网络特征;
基于所述样本网络特征确定状态转移矩阵;
基于所述状态转移矩阵确定所述初始识别网络。
4.根据权利要求1所述的网络协议识别方法,其特征在于,所述若所述初始识别网络符合预设条件,将所述初始识别网络设为所述识别网络之前,还包括:
将所述初始样本数据输入到所述初始识别网络中,得到当前识别协议;
基于所述当前识别协议与所述样本网络协议确定所述初始识别网络的损失值;
若所述损失值小于第一预设阈值,则判定所述初始识别网络符合所述预设条件。
5.根据权利要求4所述的网络协议识别方法,其特征在于,所述若所述损失值小于第一预设阈值,则判定所述初始识别网络符合所述预设条件,包括:
若所述损失值小于第一预设阈值,则对所述初始识别网络进行交叉验证得到验证误差;
若交叉验证得到的所述验证误差小于第二预设阈值,则判定所述初始识别网络符合所述预设条件。
6.根据权利要求5所述的网络协议识别方法,其特征在于,还包括:
若所述损失值大于或等于所述第一预设阈值,则对所述初始比例进行调节得到更新后的初始比例,并基于更新后的初始比例生成更新后的样本网络数据和更新后的初始识别网络,确定更新后的初始识别网络对应的损失值,直至更新后的初始识别网络对应的损失值小于所述第一预设阈值。
7.根据权利要求1所述的网络协议识别方法,其特征在于,所述网络特征包括握手协议信息、字节分布信息、数据包长度信息、时间序列信息、协议报头信息、流头部特征和通信行为特征中的至少一种。
8.一种网络协议识别装置,其特征在于,包括:
获取模块,用于获取待识别的网络流量数据;
提取模块,用于从所述网络流量数据中提取网络特征;
识别模块,用于基于训练后的识别网络对所述网络特征进行识别,确定所述待识别的网络流量数据对应的网络协议;
其中,所述识别网络是是通过如下方式训练得到的:
获取不同样本网络协议对应的样本网络流量数据,并获取样本背景流量数据;
按照等比例切分对不同网络协议对应的样本网络流量数据与所述样本背景流量数据进行分配,得到初始比例;其中,每一网络协议对应的样本网络流量数据的占比以及所述样本背景流量数据的占比形成等比序列,且所述等比序列中的等比值符合正态分布;
按照所述初始比例将不同网络协议对应的样本网络流量数据与所述样本背景流量数据混合,生成初始样本数据;
确定与所述初始样本数据对应的初始识别网络;
若所述初始识别网络符合预设条件,将所述初始识别网络设为所述识别网络。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述的网络协议识别方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-7任一项所述的网络协议识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110042481.2A CN114765634B (zh) | 2021-01-13 | 2021-01-13 | 网络协议识别方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110042481.2A CN114765634B (zh) | 2021-01-13 | 2021-01-13 | 网络协议识别方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114765634A CN114765634A (zh) | 2022-07-19 |
CN114765634B true CN114765634B (zh) | 2023-12-12 |
Family
ID=82363196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110042481.2A Active CN114765634B (zh) | 2021-01-13 | 2021-01-13 | 网络协议识别方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114765634B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及*** |
CN107682216A (zh) * | 2017-09-01 | 2018-02-09 | 南京南瑞集团公司 | 一种基于深度学习的网络流量协议识别方法 |
CN107809343A (zh) * | 2016-09-09 | 2018-03-16 | 中国人民解放军信息工程大学 | 一种网络协议识别方法及装置 |
CN108510194A (zh) * | 2018-03-30 | 2018-09-07 | 平安科技(深圳)有限公司 | 风控模型训练方法、风险识别方法、装置、设备及介质 |
WO2018178028A1 (en) * | 2017-03-28 | 2018-10-04 | British Telecommunications Public Limited Company | Initialisation vector identification for encrypted malware traffic detection |
CN110365639A (zh) * | 2019-05-29 | 2019-10-22 | 中国科学院信息工程研究所 | 一种基于深度残差网络的恶意流量检测方法及*** |
WO2019223553A1 (zh) * | 2018-05-22 | 2019-11-28 | 华为技术有限公司 | 一种网络流量识别方法及相关设备 |
CN110555526A (zh) * | 2019-08-20 | 2019-12-10 | 北京迈格威科技有限公司 | 神经网络模型训练方法、图像识别方法和装置 |
WO2020119662A1 (zh) * | 2018-12-14 | 2020-06-18 | 深圳先进技术研究院 | 一种网络流量分类方法 |
WO2020119481A1 (zh) * | 2018-12-11 | 2020-06-18 | 深圳先进技术研究院 | 一种基于深度学习的网络流量分类方法、***及电子设备 |
CN111582378A (zh) * | 2020-05-09 | 2020-08-25 | 上海钧正网络科技有限公司 | 定位识别模型的训练生成方法、位置检测方法、装置 |
CN111726264A (zh) * | 2020-06-18 | 2020-09-29 | 中国电子科技集团公司第三十六研究所 | 网络协议变种检测方法、装置、电子设备和存储介质 |
CN112003870A (zh) * | 2020-08-28 | 2020-11-27 | 国家计算机网络与信息安全管理中心 | 一种基于深度学习的网络加密流量识别方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9106536B2 (en) * | 2013-04-15 | 2015-08-11 | International Business Machines Corporation | Identification and classification of web traffic inside encrypted network tunnels |
US9866532B2 (en) * | 2015-10-07 | 2018-01-09 | International Business Machines Corporation | Anonymization of traffic patterns over communication networks |
US11455569B2 (en) * | 2019-01-09 | 2022-09-27 | International Business Machines Corporation | Device discovery and classification from encrypted network traffic |
-
2021
- 2021-01-13 CN CN202110042481.2A patent/CN114765634B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及*** |
CN107809343A (zh) * | 2016-09-09 | 2018-03-16 | 中国人民解放军信息工程大学 | 一种网络协议识别方法及装置 |
WO2018178028A1 (en) * | 2017-03-28 | 2018-10-04 | British Telecommunications Public Limited Company | Initialisation vector identification for encrypted malware traffic detection |
CN107682216A (zh) * | 2017-09-01 | 2018-02-09 | 南京南瑞集团公司 | 一种基于深度学习的网络流量协议识别方法 |
CN108510194A (zh) * | 2018-03-30 | 2018-09-07 | 平安科技(深圳)有限公司 | 风控模型训练方法、风险识别方法、装置、设备及介质 |
WO2019223553A1 (zh) * | 2018-05-22 | 2019-11-28 | 华为技术有限公司 | 一种网络流量识别方法及相关设备 |
WO2020119481A1 (zh) * | 2018-12-11 | 2020-06-18 | 深圳先进技术研究院 | 一种基于深度学习的网络流量分类方法、***及电子设备 |
WO2020119662A1 (zh) * | 2018-12-14 | 2020-06-18 | 深圳先进技术研究院 | 一种网络流量分类方法 |
CN110365639A (zh) * | 2019-05-29 | 2019-10-22 | 中国科学院信息工程研究所 | 一种基于深度残差网络的恶意流量检测方法及*** |
CN110555526A (zh) * | 2019-08-20 | 2019-12-10 | 北京迈格威科技有限公司 | 神经网络模型训练方法、图像识别方法和装置 |
CN111582378A (zh) * | 2020-05-09 | 2020-08-25 | 上海钧正网络科技有限公司 | 定位识别模型的训练生成方法、位置检测方法、装置 |
CN111726264A (zh) * | 2020-06-18 | 2020-09-29 | 中国电子科技集团公司第三十六研究所 | 网络协议变种检测方法、装置、电子设备和存储介质 |
CN112003870A (zh) * | 2020-08-28 | 2020-11-27 | 国家计算机网络与信息安全管理中心 | 一种基于深度学习的网络加密流量识别方法及装置 |
Non-Patent Citations (2)
Title |
---|
一种增量式GHSOM算法在DDoS攻击检测中的应用;刘纪伟等;《南京邮电大学学报)自然科学版》;第1-6页 * |
基于卷积神经网络的应用层协议识别方法;冯文博;《计算机应用》;第1-7页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114765634A (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Radoglou-Grammatikis et al. | Modeling, detecting, and mitigating threats against industrial healthcare systems: a combined software defined networking and reinforcement learning approach | |
US10594713B2 (en) | Systems and methods for secure propagation of statistical models within threat intelligence communities | |
US20200213336A1 (en) | Detecting inappropriate activity in the presence of unauthenticated API requests using artificial intelligence | |
CN112468520B (zh) | 一种数据检测方法、装置、设备及可读存储介质 | |
Sija et al. | A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view | |
CN113315742B (zh) | 攻击行为检测方法、装置及攻击检测设备 | |
De Carli et al. | Botnet protocol inference in the presence of encrypted traffic | |
CN111371778B (zh) | 攻击团伙的识别方法、装置、计算设备以及介质 | |
US10015192B1 (en) | Sample selection for data analysis for use in malware detection | |
CN112351031A (zh) | 攻击行为画像的生成方法、装置、电子设备和存储介质 | |
Dong et al. | BotDetector: An extreme learning machine‐based Internet of Things botnet detection model | |
Bossert | Exploiting Semantic for the Automatic Reverse Engineering of Communication Protocols. | |
Wang et al. | Identifying DApps and user behaviors on ethereum via encrypted traffic | |
CN114866310A (zh) | 一种恶意加密流量检测方法、终端设备及存储介质 | |
Shen et al. | An experiment study on federated learning testbed | |
Tang et al. | Ssldetecter: detecting SSL security vulnerabilities of android applications based on a novel automatic traversal method | |
CN114765634B (zh) | 网络协议识别方法、装置、电子设备及可读存储介质 | |
EP4145768A1 (en) | Inline detection of encrypted malicious network sessions | |
CN115208682B (zh) | 一种基于snort的高性能网络攻击特征检测方法及装置 | |
Sombatruang et al. | Internet Service Providers' and Individuals' Attitudes, Barriers, and Incentives to Secure {IoT} | |
US11019089B1 (en) | Performing security assessments based on user credentials | |
KR20210131989A (ko) | 프라이버시 보호 애플리케이션 및 장치 오류 검출 | |
CN113783920A (zh) | 用于识别web访问入口的方法和装置 | |
CN117424764B (zh) | ***资源访问请求信息处理方法、装置、电子设备和介质 | |
Banitalebi Dehkordi | Examining the status of CPU working load, processing load and controller bandwidth under the influence of packet-in buffer status located in Openflow switches in SDN-based IoT framework |
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 |