CN112165484A - 基于深度学习与侧信道分析的网络加密流量识别方法装置 - Google Patents

基于深度学习与侧信道分析的网络加密流量识别方法装置 Download PDF

Info

Publication number
CN112165484A
CN112165484A CN202011021966.5A CN202011021966A CN112165484A CN 112165484 A CN112165484 A CN 112165484A CN 202011021966 A CN202011021966 A CN 202011021966A CN 112165484 A CN112165484 A CN 112165484A
Authority
CN
China
Prior art keywords
dimensional data
information
network
data vector
layer
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.)
Granted
Application number
CN202011021966.5A
Other languages
English (en)
Other versions
CN112165484B (zh
Inventor
王进
肖佃艳
呼啸
陈少鹏
俞宙
何跃鹰
李政
何清林
孙中豪
谷杰铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Computer Network and Information Security Management Center
Original Assignee
National Computer Network and Information Security Management Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Computer Network and Information Security Management Center filed Critical National Computer Network and Information Security Management Center
Priority to CN202011021966.5A priority Critical patent/CN112165484B/zh
Publication of CN112165484A publication Critical patent/CN112165484A/zh
Application granted granted Critical
Publication of CN112165484B publication Critical patent/CN112165484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了基于深度学习与侧信道分析的网络加密流量识别方法、装置,将侧信道分析与深度学习方法相结合,将网络层加密网络会话执行过程中与设备层现场总线、I/O信号、能量、电磁等物理信息的相互影响和内在联系也纳入分析对象,具体的:构建报文二维数据矩阵、通信行为二维数据矩阵以及现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,将报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入至预先训练的网络流量识别模型中,识别待识别网络流量的协议类型。应用本发明实施例提供的方案,提高了网络加密流量识别的准确率和效率。

Description

基于深度学习与侧信道分析的网络加密流量识别方法装置
技术领域
本发明涉及网络安全技术领域,特别是涉及基于深度学习与侧信道分析的网络加密流量识别方法、装置。
背景技术
随着5G(5th generation mobile networks,第五代移动通信)、物联网、工业互联网等新型网络技术的快速发展和应用场景的多样化,网络设备形式更加多元化、数量呈现指数级增长。由恶意设备发起的远程控制、信息窃取、拒绝服务等网络攻击一旦成功入侵网络,将对网络设备的用户信息安全构成重大威胁,因此,网络设备面临的网络安全风险日益凸显。
当前绝大多数网络攻击需要通过网络通信来达到其恶意目的,如果可以准确的识别出由网络攻击行为产生的网络流量,那么我们就可以确定被攻击的目标系统和设备,从而做出有效的应对措施。
近年来,加密网络协议在多个重点行业广泛应用,而网络攻击也越来越多采用加密恶意流量伪装成正常网络流量进行通信。现有的网络监测分析手段比如端口识别、深度包检测等,仅能识别采用主流公开网络协议的网络流量是否异常,且无法有效地检测出恶意的加密网络流量。另外,现有的基于统计特征识别网络流量的方法,如机器学习,通过将网络流量特征输入机器学习模型,由模型输出识别结果,虽然这种方法不依赖数据包有效载荷的解析,但是输入模型的网络流量特征需要人工提取,需要耗费大量的人力资源,导致识别效率低且准确度低。
发明内容
本发明实施例的目的在于提供基于深度学习与侧信道分析的网络加密流量识别方法、装置,以提高网络加密流量识别的准确率和效率。具体技术方案如下:
第一方面,本发明实施例提供了基于深度学习与侧信道分析的网络加密流量识别方法,上述方法包括:
获得待识别网络流量内属于通信建立阶段的前第一预设数量个数据包的报文信息和通信行为信息,并获得在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、输入/输出I/O信号的信息以及预设物理参数项的物理信息,其中,所述待识别网络流量为所述目标加密网络会话通信阶段产生的网络流量,所述I/O信号包括:数字输入信号、数字输出信号、模拟输入信号、模拟输出信号;
根据所述报文信息,构建报文二维数据矩阵,并根据所述通信行为信息,构建行为二维数据矩阵;
根据所述现场总线流量的信息、I/O信号的信息以及物理信息,构建现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,所述I/O信号一维数据向量包括:数字输入一维数据向量、数字输出一维数据向量、模拟输入一维数据向量、模拟输出一维数据向量;
将所述报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型;
其中,所述网络流量识别模型为:以样本一维数据向量、样本二维数据矩阵为输入,样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,所述样本一维数据向量包括样本目标网络会话通信阶段中网络设备的现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,所述样本二维数据矩阵包括所述样本网络加密流量的报文二维数据矩阵和行为二维数据矩阵,所述样本网络加密流量为所述样本目标网络会话通信阶段产生的网络流量。
第二方面,本发明实施例提供了基于深度学习与侧信道分析的网络加密流量识别装置,上述装置包括:
数据采集模块,用于获得待识别网络流量内属于通信建立阶段的前第一预设数量个数据包的报文信息和通信行为信息,并获得在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、输入/输出I/O信号的信息以及预设物理参数项的物理信息,其中,所述待识别网络流量为所述目标加密网络会话通信阶段产生的网络流量,所述I/O信号包括:数字输入信号、数字输出信号、模拟输入信号、模拟输出信号;
数据预处理模块,用于根据所述报文信息,构建报文二维数据矩阵,并根据所述通信行为信息,构建行为二维数据矩阵;根据所述现场总线流量的信息、I/O信号的信息以及物理信息,构建现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,所述I/O信号一维数据向量包括:数字输入一维数据向量、数字输出一维数据向量、模拟输入一维数据向量、模拟输出一维数据向量;
协议类型识别模块,用于将所述报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型;
其中,所述网络流量识别模型为:以样本一维数据向量、样本二维数据矩阵为输入,样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,所述样本一维数据向量包括样本目标网络会话通信阶段中网络设备的现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,所述样本二维数据矩阵包括所述样本网络加密流量的报文二维数据矩阵和行为二维数据矩阵,所述样本网络加密流量为所述样本目标网络会话通信阶段产生的网络流量。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。
由以上可见,应用本发明实施例提供的方案进行网络加密流量识别时,由于是由电子设备对网络加密流量的协议类型进行识别。相较于现有技术,不需要工作人员提取网络加密流量的特征,大大提高了网络加密流量识别的效率。
其次,由于是将报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入至预先训练的网络流量识别模型中,上述报文二维数据矩阵和行为二维数据矩阵,能够同时体现网络流量的报文信息以及通信行为信息。现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量能够反映在目标加密网络会话通信阶段中网络设备的现场总线的信息、I/O信号的信息以及物理信息。从而基于上述网络加密流量的二维数据矩阵以及网络设备的一维数据向量能够更加准确地识别网络加密流量的协议类型。
并且上述网络流量识别模型是基于大量的样本一维数据向量、样本报文二维数据矩阵和样本行为二维数据矩阵进行训练得到的,这样网络流量识别模型能够从上述大量的样本数据中学习到样本网络加密流量的协议特征。因此,将上述网络加密流量的报文二维数据矩阵、行为二维数据矩阵以及网络设备的现场总线一维数据向量、I/O信号一维数据向量、物理信息一维数据向量输入至预先训练的网络流量识别模型中,能够获得较为准确的网络加密流量的识别结果。
最后,由于本发明实施例提供的方案是对待识别网络流量的协议类型进行识别,当黑客利用网络加密流量发起网络攻击时,上述待识别网络流量可能会被修改为包含有恶意攻击代码的网络加密流量。因此,采用本发明实施例提供的方案能够识别包含有恶意攻击代码的网络加密流量的协议类型。另外,异常/恶意网络加密流量通常是基于异常协议进行数据传输的,当识别到协议类型为异常协议类型时,可以认为所识别的网络流量为异常/恶意网络加密流量,因此,采用本发明实施例提供的方案能够识别异常/恶意网络加密流量。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于深度学习与侧信道分析的网络加密流量识别方法的流程示意图;
图2为本发明实施例提供的一种样本网络加密流量的获得及预处理方法的流程示意图;
图3a为本发明实施例提供的第一种网络加密流量识别模型的结构示意图;
图3b为本发明实施例提供的第一种基于网络流量识别模型识别网络流量的流程示意图;
图3c为本发明实施例提供的第二种基于网络流量识别模型识别网络流量的流程示意图;
图3d为本发明实施例提供的第二种网络加密流量识别模型的结构示意图;
图3e为本发明实施例提供的第三种网络加密流量识别模型的结构示意图;
图3f为本发明实施例提供的第四种网络加密流量识别模型的结构示意图;
图4为本发明实施例提供的一种网络加密流量识别系统的结构示意图;
图5为本发明实施例提供的一种基于深度学习与侧信道分析的网络加密流量识别装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于深度学习与侧信道分析的网络加密流量识别方法及装置,将侧信道分析与深度学习方法相结合,将网络层加密网络会话执行过程中与设备层现场总线、I/O信号、能量、电磁等物理信息的相互影响和内在联系也纳入分析对象。
参见图1,图1为本发明实施例提供的基于深度学习与侧信道分析的网络加密流量识别方法的流程示意图。
下面先对本发明实施例的执行主体进行说明。
本发明实施例的执行主体可以是电子设备,例如,可以是服务器等设备。
具体的,上述基于深度学习与侧信道分析的网络加密流量识别方法包括S101-S104。
S101:获得待识别网络流量内属于通信建立阶段的前第一预设数量个数据包的报文信息和通信行为信息,并获得在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、I/O信号的信息以及预设物理参数项的物理信息。
上述待识别网络流量为目标加密网络会话通信阶段产生的网络流量。也就是说,本发明实施例以会话为单位对网络加密流量进行切分,得到待识别网络流量。
具体的,一个加密网络会话通信阶段可以分为两个阶段:第一阶段是建立连接的明文通信阶段,上一阶段又可称为通信建立阶段,包括握手、认证和密钥交换,在第一阶段中会产生会话密钥;第二阶段采用第一阶段产生的密钥加密传输数据。
因此,本发明实施例中网络加密流量是指加密网络会话通信阶段中,第一阶段产生的未经过加密的网络流量以及第二阶段产生的加密传输网络流量。
上述I/O信号可以包括:数字输入信号、数字输出信号、模拟输入信号、模拟输出信号。其中,上述数字输入信号、数字输出信号又可以称为数字I/O(Input/Output,输入/输出)信号,模拟输入信号、模拟输出信号又可以称为模拟I/O信号,上述数字I/O信号、模拟I/O信号又可以总称为I/O信号。
上述预设数量可以由工作人员根据经验设定,例如:上述预设数量可以为6。当在第一阶段中所产生的网络加密流量的数据包的数量小于预设数量时,可以新增若干个数值为0的数据包,直至补齐后数据包的数量等于预设数量。
上述数据包的报文信息可以理解为反映数据包中的内容的信息,也就是,反映数据包在通信过程中静态特征的信息。例如,上述报文信息可以包括数据包的字段值、数据包的包头信息等。
上述数据包的通信行为信息可以理解为与通信过程相关的数据包的属性信息,也就是,反映数据包在通信过程中动态特征的信息。本发明的一个实施例中,上述数据包的通信行为信息可以包括数据包的统计信息、数据包的包序列、数据包的长度、数据包的时间戳、相邻数据包的时间戳间隔。
具体的,上述数据包的数据包的长度可以从存储上述数据包占用的字节数确定,上述数据包的时间戳可以直接从各数据包中记录的时间戳信息确定,上述相邻数据包的时间戳间隔为:当前数据包发出时间与上一个数据包发出时间之间的间隔时间,具体的可以计算上述两种数据包的时间戳差值作为时间戳间隔。
具体的,可以采集预设时间段内网络加密流量,并以会话为单位对所采集的网络加密流量进行划分,获得待识别网络流量,并对待识别网络流量内数据包进行解析,从而获得待识别网络流量内数据包的报文信息、通信行为信息。
更为具体的,在采集预设时间段内网络加密流量时,可以是在预设网络节点上旁路采集网络加密流量,并以会话为单位对所采集的网络加密流量进行划分。
还可以是预设网络节点上旁路所部署的探针采集网络流量后,以会话为单位对所采集的网络加密流量进行划分,并对各个会话对应的网络加密流量内数据包进行解析,从而获得各个会话对应的网络加密流量内数据包的报文信息、并监测数据包的通信行为信息,将所采集以及监测的上述两种信息存储至数据库中。电子设备从数据库中获得待识别网络流量内数据包的报文信息以及通信行为信息。
由于上述探针是部署在预设网络节点的旁路上,用于采集网络加密流量内数据包的报文信息以及通信行为信息,因此,又可以将上述探针称为网络层数据采集探针。
在获得网络设备的现场总线流量的信息时,可以在网络设备T型连接器上并接总线数据采集T型头、并连接设备层数据采集探针,由上述探针的现场总线采集模块采集目标加密网络会话通信阶段中总线数据并汇总上传。
在获得网络设备的I/O信号的信息时,可以在网络设备数字IO(DI/DO)、模拟I/O(AI/AO)信号线上并联采集线连接采集板卡,由设备层数据采集探针的I/O信号采集模块,通过采集板卡按照一定的采用频率采集目标加密网络会话通信阶段中IO物理电平信号。
上述在目标加密网络会话通信阶段中网络设备的预设物理参数项的物理信息可以理解为:在目标加密网络会话通信阶段中网络设备运行时的预设物理参数项的信息。例如:上述预设物理参数项可以为:CPU、内存等。
本发明的一个实施例中,上述预设物理参数项可以包括功耗泄露、电磁泄露。
基于上述实施例,在获得上述物理信息时,本发明的一个实施例中,可以基于在网络设备的侧信道旁路所部署的探针,采集在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、I/O信号的信息、功耗泄露的信息、电磁泄露的信息。
由于上述探针部署在网络设备的侧信道旁路上的,且用于采用网络设备的物理信息,因此,又可以将上述探针称为设备层数据采集探针。
由于上述探针旁路部署在网络设备的侧信道的,因此,能够保证正常的网络加密流量不被影响,且能够全方位采集网络加密流量。
S102:根据报文信息,构建报文二维数据矩阵,并根据通信行为信息,构建行为二维数据矩阵。
上述前第一预设数量个数据包中每一数据包的报文信息以及通信行为信息,是通过对前第一预设数量个数据包进行逐包分析得到的。
一种实施方式中,可以按照各个数据包的排列顺序,将各个数据包的报文信息组成报文二维数据矩阵。
可选的,通过r个数据包,构建m*m的报文二维数据矩阵的方式包括:针对每个数据包,按照顺序提取该数据包的报文信息的前m*k个字节,其中,k<m,且m=k*r。若数据包的报文信息不足m*k个字节,则对报文信息进行进行补零。将第一个数据包对应的m*k个字节分别填充报文二维矩阵的1至k列,第二个数据包对应的m*k个字节分别填充报文二维矩阵的k+1至2k列,以此类推,第r个数据包对应的m*k个字节分别填充报文二维矩阵的m-k+1至m列。
在本发明实施例中,m的值可以根据实际需要设置,例如,m=42。假设r为6,第一预设长度为294,42*42的报文二维数据矩阵可以通过如下方法构造:针对每个数据包,提取该数据包的报文信息的前294个字节,若数据包的报文信息不足294个字节,则对报文信息进行进行补零。将第一个数据包对应的294个字节分别填充报文二维矩阵的1至7列,第二个数据包对应的294个字节分别填充报文二维矩阵的8至14列,以此类推,第六个数据包对应的294个字节分别填充报文二维矩阵的36至42列。
一种实施方式中,可以按照各个数据包的排列顺序,将各数据包的通信行为信息中的指定信息组成行为二维数据矩阵。
可选的,指定信息可以是:统计信息、数据包长度、相邻数据包的时间戳差值和数据包序列信息。
具体的,上述统计信息可以包括会话通信端口、会话内数据包总数量、数据包方向、会话通信时长等;序列信息可以是序列号。构建n*n的行为二维矩阵为:矩阵的前i列对应r个数据包的长度,矩阵的第i+1至第i+j列对应r个数据包中相邻数据包的时间戳差值,矩阵的第i+j+1至第i+j+h列对应r个数据包的序列信息,矩阵的第i+j+h+1至第n列对应r个数据包的统计信息。其中,i,j,k,i+j+h<n。
在本发明实施例中,n的值可以根据实际需要设置,例如,n=36。假设r为6,36*36的行为二维数据矩阵为:矩阵的第1至第6列对应前6个数据包的长度;矩阵的第8至第14列对应前6个数据包中相邻数据包的时间戳差值;第15至第21列对应前6个数据包的序列信息;矩阵的第22至第36列对应前6个数据包的统计信息。
S103:根据现场总线流量的信息、I/O信号的信息以及物理信息,构建现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量。
上述I/O信号一维数据向量可以包括:数字输入一维数据向量、数字输出一维数据向量、模拟输入一维数据向量、模拟输出一维数据向量。
本发明的一个实施例中,上述预设物理参数项可以包括功耗泄露、电磁泄露。
在构建上述现场总线一维数据向量时,本发明的一个实施例中,可以将现场总线流量的信息转换为第一预设长度的现场总线一维数据向量。
上述第一预设长度可以是由工作人员根据经验设定的。还可以是根据所采集的数据帧的数量确定的。例如:以modbus协议为例,可以将基于网络设备的侧信道旁路探针所采集的目标加密网络会话通信阶段内前n1帧数据帧转换为长度为m1的一维数据向量。其中,m1可以为450、n1可以为10、
在构建数字输入一维数据向量时,可以将数字输入信号的信息转换为第二预设长度的数字输入一维数据向量。上述第二预设长度可以是由工作人员根据经验设定的。
具体的,可以将基于网络设备的侧信道旁路探针所采集的目标加密网络会话通信阶段内输入数字开关量01序列数据帧,转换为长度为m2的一维数据向量。在一个可选的实现方式中,m2可以为300。
在构建数字输出一维数据向量时,可以将数字输出信号的信息转换为第三预设长度的数字输出一维数据向量。上述第三预设长度可以是由工作人员根据经验设定的。
具体的,可以将基于网络设备的侧信道旁路探针所采集的目标加密网络会话通信阶段内输出数字开关量01序列数据帧,转换为长度为m3的一维数据向量。在一个可选的实现方式中,m3可以为300。
在构建模拟输入一维数据向量时,可以将模拟输入信号的信息转换为第四预设长度的模拟输入一维数据向量。上述第四预设长度可以是由工作人员根据经验设定的。
具体的,可以将基于网络设备的侧信道旁路探针所采集的目标加密网络会话通信阶段内模拟输入连续量采集结果是浮点数序列,转换为长度为m4的一维数据向量。在一个可选的实现方式中,m4可以为400。
在构建模拟输出一维数据向量时,可以将模拟输出信号的信息转换为第五预设长度的模拟输出一维数据向量。上述第五预设长度可以是由工作人员根据经验设定的。
具体的,可以将基于网络设备的侧信道旁路探针所采集的目标加密网络会话通信阶段内模拟输出连续量采集结果是浮点数序列,转换为长度为m5的一维数据向量。在一个可选的实现方式中,m5可以为400。
当预设物理参数项为功耗泄露时,可以将功耗泄露的物理信息转换为包含不大于第一目标数量个元素的功耗信息一维数据向量。
上述第一目标数量为功耗泄露的采集信号点的数量。
具体的,可以将基于网络设备的侧信道旁路探针所采集的目标加密网络会话通信阶段内的网络设备能量迹,假设有m6个采样点,可以转换为包含m6个元素的一维数据向量,每一个采样点都是一个随机变量。
还可以是基于主成分分析法对上述能量迹做降维处理,得到包含P1个元素的一维数据向量(P1<m6)。具体的,P1可以为200、m6可以为4000。
当预设物理参数项为电磁泄露时,可以将电磁泄露的物理信息转换为包含不大于第二目标数量个元素的电磁信息一维数据向量。
上述第二目标数量为电磁泄露的采集信号点的数量。
具体的,可以将基于网络设备的侧信道旁路探针所采集的目标加密网络会话通信阶段内的电磁泄露信号,假设有m7个采样点,可以转换为包含m7个元素的一维数据向量,每一个采样点都是一个随机变量。
还可以是基于主成分分析法对电磁信号做降维处理,得到包含P2个元素的一维数据向量(P2<m7)。具体的,P2可以为200、m7可以为4000。
S104:将报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入至预先训练的网络流量识别模型中,识别待识别网络流量的协议类型。
在将报文二维数据矩阵、行为二维数据矩阵以及物理信息一维数据向量输入至预先训练的网络流量识别模型之前,还可以对上述报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量进行数据标准化处理。例如:对上述报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量进行归一化。
具体的,一个网络会话实例对应上述报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量。
上述网络流量识别模型为:以样本一维数据向量、样本二维数据矩阵为输入,样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型。
上述深度学习模型可以包括:CNN(Convolutional neural networks,卷积神经网络)、RNN(Recurrent neural networks,循环神经网络)、LSTM(Long/short term memory,长短期记忆网络)等。
上述样本物理信息一维数据向量包括样本目标网络会话通信阶段中网络设备的现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量。
上述样本二维数据矩阵包括样本网络加密流量的报文二维数据矩阵和行为二维数据矩阵。
上述样本网络加密流量为样本目标网络会话通信阶段产生的网络流量。
具体的,在对上述预设的深度学习网络模型进行训练时,可以将样本一维数据向量、样本二维数据矩阵输入至预设的深度学习模型中。上述预设的深度学习模型获得上述样本一维数据向量、样本二维数据矩阵,也就是获得了样本二维数据矩阵的报文信息、通信行为信息以及样本一维数据向量的网络设备的现场总线流量的信息、I/O信号的信息以及物理信息。深度学习模型对上述各个信息进行学习,提取协议特征,预测样本网络加密流量的协议类型。并将所预测的结果与事先标注的样本网络加密流量的协议类型进行比对,基于比对结果进行负反馈,调整深度学习模型的模型参数。按照上述方法不断调整深度学习模型的模型参数时,深度学习模型能够学习不同预设的协议类型的网络流量所具备的报文特征、通信行为特征以及网络设备的物理信息特征的规律。
具体的,可以采用梯度下降等方法对上述模型的参数进行调整优化。直至上述模型参数满足预设的收敛性条件,可以认为模型训练完成,也就是深度学习模型学习到了不同预设的协议类型的网络流量所具备的报文特征、通信行为特征、现场总线报文特征、I/O信号特征以及网络设备的物理信息特征的规律,从而获得网络流量识别模型。
一种实施方式中,可以将报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入预先构建的网络流量识别模型,然后获取网络流量识别模型输出的待识别网络流量为各协议类型的概率,将概率最大的协议类型,确定为待识别网络流量的协议类型。
可选的,在输入网络流量识别模型之前,还可以对报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别进行预处理,再将预处理之后的报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入网络流量识别模型。例如,预处理可以是对二维数据矩阵进行归一化。
由以上可见,应用本实施例提供的方案进行网络加密流量识别时,由于是由电子设备对网络加密流量的协议类型进行识别。相较于现有技术,不需要工作人员提取网络加密流量的特征,大大提高了网络加密流量识别的效率。
其次,由于是将报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入至预先训练的网络流量识别模型中,上述报文二维数据矩阵和行为二维数据矩阵,能够同时体现网络流量的报文信息以及通信行为信息。现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量能够反映在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、I/O信号的信息以及物理信息。从而基于上述网络加密流量的二维数据矩阵以及网络设备的一维数据向量能够更加准确地识别网络加密流量的协议类型。
并且上述网络流量识别模型是基于大量的样本一维数据向量、样本报文二维数据矩阵和样本行为二维数据矩阵进行训练得到的,这样网络流量识别模型能够从上述大量的样本数据中学习到样本网络加密流量的协议特征。因此,将上述网络加密流量的报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及网络设备的物理信息一维数据向量输入至预先训练的网络流量识别模型中,能够获得较为准确的网络加密流量的识别结果。
最后,由于本实施例提供的方案是对待识别网络流量的协议类型进行识别,当黑客利用网络加密流量发起网络攻击时,上述待识别网络流量可能会被修改为包含有恶意攻击代码的网络加密流量。因此,采用本发明实施例提供的方案能够识别包含有恶意攻击代码的网络加密流量的协议类型。另外,异常/恶意网络加密流量通常是基于异常协议进行数据传输的,当识别到协议类型为异常协议类型时,可以认为所识别的网络流量为异常/恶意网络加密流量,因此,采用本发明实施例提供的方案能够识别异常/恶意网络加密流量。
本发明的一个实施例中,由于上述预设参数项可以包括:功耗泄露、电磁泄露。基于此,可以采用以下方式获得在目标加密网络会话通信阶段中网络设备的预设物理参数项的物理信息。
在获得网络设备的功耗泄露的物理信息时,可以在使用恒压电源供电的网络设备的VCC端或者GND端嵌入一个1-50欧姆的电阻,由设备层数据采集探针的功耗泄露采集模块采集目标加密网络会话通信阶段中电阻两端的电压差的变化,从而获取网络设备电路的功耗泄露信息。
在获得网络设备的电磁泄露的物理信息时,可以在网络设备附近配置高灵敏度的电磁探头及低噪放大器,由设备层数据采集探针的电磁泄露采集模块记录目标加密网络会话通信阶段中网络设备的电磁信息。
本发明的一个实施例中,在上述S101获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及网络设备的物理信息之前,还可以获得各个会话对应的网络加密流量,对所获得的网络加密流量内数据包的报文信息进行解析,判断是否记录网络加密流量的协议类型,当未记录网络加密流量的协议类型时,采用本实施例提供的方案对所获得的网络加密流量的协议类型进行识别。
由于上述网络流量识别模型是以样本网络加密流量的协议类型为训练基准进行训练得到的,因此,需要获得样本网络加密流量的协议类型。本发明的一个实施例中,在获得上述样本网络加密流量的协议类型时,可以在预设网络节点上旁路采集网络加密流量,并以会话为单位对所采集的网络加密流量进行切分,并在所切分后的各个网络加密流量中获得携带有协议类型的网络加密流量。然后从所获得的网络加密流量中确定样本网络加密流量,并将样本网络加密流量中携带的协议类型作为样本网络加密流量的协议类型。
一种情况下,可以将上述所获得的网络加密流量均作为样本网络加密流量,上述样本网络加密流量的协议类型为所获得的网络加密流量携带的协议类型。
另一种情况下,还可以将上述所获得的网络加密流量随机分成两部分,一部分作为样本网络加密流量,也可以称为训练集,上述样本网络加密流量的协议类型为所获得的网络加密流量携带的协议类型;另一部分作为用于对网络流量识别模型进行测试的测试网络加密流量,也可以称为测试集,用于测试上述网络流量识别模型的识别准确性。
具体的,在采用上述样本网络加密流量对上述网络流量识别模型进行训练时,可以对上述样本网络加密流量进行预处理。本发明的一个实施例中,参见图2,图2为本发明实施例提供的一种样本网络加密流量的获得及预处理方法的流程示意图。
第一步,网络层数据采集探针捕获网络加密流量,且设备层数据采集探针网络设备的现场总线流量的信息、I/O信号的信息以及物理信息。
具体的,上述网络层数据采集探针可以采集在加密网络会话通信阶段产生的网络流量内属于通信建立阶段的前预设数量个连续数据包。例如:上述预设数量可以为6。当在第一阶段中所产生的网络加密流量的数据包的数量小于预设数量时,可以新增若干个数值为0的数据包,直至补齐后数据包的数量等于预设数量。
上述设备层数据采集探针可以采集在加密网络会话通信阶段中网络设备的现场总线流量的信息、数字输入信号的信息、数字输出信号的信息、模拟输入信号的信息、模拟输出信号的信息、功耗泄露的信息、电磁泄露的信息。
第二步,网络层数据采集探针以会话为单位对上述网络加密流量进行划分,获得各个会话对应的网络加密流量内数据包的报文信息。并监测各个会话对应的网络加密流量内数据包的通信行为信息。
第三步,网络层数据采集探针将所获得的上述数据包的报文信息以pcap文件形式存储至数据库中,并将所获得的上述数据包的通信行为信息以日志形式存储至数据库中。
第四步,电子设备从数据库中存储的网络加密流量中获得携带有协议类型的网络加密流量,并将所获得的网络加密流量作为样本网络加密流量。
具体的,可以将所获得的网络加密流量均作为样本网络加密流量。还可以将所获得的网络加密流量中一部分网络加密流量作为样本网络加密流量。
在获得样本网络加密流量后,可以对样本网络加密流量内数据包的报文信息、通信行为信息进行归一化等预处理操作。例如:可以将上述报文信息、通信行为信息归一化至预设区间内,上述预设区间可以为[0,1]区间。
第五步,电子设备针对上述样本网络加密流量内前预设数量个数据包中的每一数据包,根据该数据包的报文信息,构建报文二维数据矩阵,并根据数据包的通信行为信息,构建行为二维数据矩阵,并根据样本网络加密流量内网络设备的现场总线流量的信息构建现场总线一维数据向量,并根据I/O信号的信息构建I/O信号一维数据向量,以及根据预设物理参数项的各个物理信息构建物理信息一维矩阵。
具体的,可以对现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量进行数据标准化处理。
在对上述样本网络加密流量的信息进行预处理后,获得样本网络加密流量的报文二维矩阵、行为二维矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,将所获得的上述样本网络加密流量的报文二维矩阵、行为二维矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量作为训练样本,对预设的深度学习模型进行训练,从而获得网络流量识别模型。
参见图3a,图3a为本发明实施例提供的第一种网络流量识别模型的结构示意图。在图3a中上述网络流量识别模型可以包括:输入层、第二预设数量个并列的卷积层、第二预设数量个并列的池化层、全连接层以及输出层。
上述卷积层中可以包括第一卷积层和第二卷积层。其中,第一卷积层为:包括一维卷积核的卷积层,上述第二卷积层为:包括二维卷积核的卷积层。
上述池化层包括第一池化层和第二池化层。其中,第一池化层为:与上述第一卷积层连接的池化层,上述第二池化层为:与上述第二卷积层连接的池化层。
上述第二预设数量与上述网络流量识别模型所获得的数据的数量相同。例如:假设网络流量识别模型获得报文二维数据矩阵、行为二维数据矩阵以及网络设备的七个一维数量向量,也就是网络流量识别模型所获得的数据的数量为9个,因此,上述卷积层的数量为9个,上述池化层的数量为9个。
以上述第二预设数量为9为例,上述网络流量识别模型包括9个对应并列的卷积层+池化层。
上述输入层,用于获得报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,并将所获得的报文二维数据矩阵、行为二维数据矩阵分别传输至第二卷积层,将现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别传输至第一卷积层。
具体的,上述报文二维数据矩阵是由网络加密流量内属于通信建立阶段的前预设数量个数据包的报文信息转换得到的,上述行为二维数据是由网络加密流量内属于通信建立阶段的前预设数量个数据包的通信行为信息转换得到的。
具体的,在将所获得的报文二维数据矩阵、行为二维数据矩阵分别传输至第二卷积层时,一种实施方式中,可以将报文二维数据矩阵传输至一个第二卷积层,将行为二维数据矩阵传输至另一个第二卷积层,也就是,报文二维数据矩阵和行为二维数据矩阵所传输至的第二卷积层是不同的卷积层。另一种实施方式中,可以将报文二维数据矩阵、行为二维数据矩阵均传输至各个第二卷积层,也就是,报文二维数据矩阵、行为二维数据矩阵所传输至的第二卷积层是相同的卷积层。
具体的,在将现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别传输至第一卷积层时,一种实施方式中,可以将现场总线一维数据向量传输至一个第一卷积层、将I/O信号一维数据向量传输至另一个第一卷积层,将各个物理信息一维数据向量分别传输至与上述第一卷积层不同的各个第一卷积层,也就是,现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别被传输至的第一卷积层各不相同,是不同的卷积层。
另一种实施方式中,可以将现场总线一维数据向量、I/O信号一维数据向量传输、各个物理信息一维数据向量均传输至各个第一卷积层,也就是,现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量传输至的第一卷积层是相同的。
本发明的一个实施例中,上述物理信息一维数据向量可以包括功耗泄露一维数量向量、电磁泄露一维数量向量。
各个第一卷积层,用于采用一维卷积核对输入的向量进行一维卷积变换,得到信息特征图,并将信息特征图传输至与各个第一卷积层相连接的各个第一池化层。
一种实施方式中,一个第一卷积层可以对应一个一维数据向量。例如,当上述输入的向量包括:现场总线一维数据向量、数字输入一维数据向量、数字输出一维数量向量、模拟输入一维数据向量、模拟输出一维数据向量、功耗信息一维数据向量、电磁信息一维数据向量时,上述网络模型可以包括七个第一卷积层,其中,现场总线一维数据向量可以输入至第一个第一卷积层,数字输入一维数据向量可以输入至第二个第一卷积层,数字输出一维数据向量可以输入至第三个第一卷积层,模拟输入一维数据向量可以输入至第四个第一卷积层,模拟输出一维数据向量可以输入至第五个第一卷积层,功耗信息一维数据向量可以输入至第六个第一卷积层,电磁信息一维数据向量可以输入至第七个第一卷积层。
另一种实施方式中,一个第一卷积层可以对应各个一维数据向量。例如,沿用上面的例子,可以对现场总线一维数据向量、数字输入一维数据向量、数字输出一维数量向量、模拟输入一维数据向量、模拟输出一维数据向量、功耗信息一维数据向量、电磁信息一维数据向量进行数据整合,将整合后的一维数据向量输入至各个第一卷积层中。
具体的,上述第一卷积层的数量可以与一维数据向量的数量相同,例如:当一维数据向量包括:现场总线一维数据向量、数字输入一维数据向量、数字输出一维数量向量、模拟输入一维数据向量、模拟输出一维数据向量、功耗信息一维数据向量、电磁信息一维数据向量,也就是一维数据向量的数量为7个时,上述第一卷积层的数量也为7。
基于此,上述信息特征图可以包括:现场总线报文特征图、数字I/O信号(数字输入信号、数字输出信号)特征图、模拟I/O信号(模拟输入信号、模拟输出信号)特征图、功耗信息特征图、电磁信息特征图。
具体的,上述一维卷积核可以理解为:对一维数据向量进行卷积变换的卷积核。
各个第一池化层,用于对输入的信息特征图进行特征降维处理,并将降维处理后的信息特征图传输至全连接层。
一种实施方式中,一个第一池化层可以对应一个信息特征图。例如:输入至第一个第一池化层的信息特征图为现场总线信息特征图,输入至第二个第一池化层的信息特征图为数字输入信号特征图,输入至第三个第一池化层输入的信息特征图为数字输出信号特征图,输入至第四个第一池化层的信息特征图为模拟输入信号特征图,输入至第五个第一池化层的信息特征图为模拟输出信号特征图,输入至第六个第一池化层的信息特征图为功耗信息特征图,输入至第七个第一池化层的信息特征图为电磁信息特征图。
另一种实施方式中,一个第一池化层可以对应各个信息特征图。例如:输入至各个第一池化层的信息特征图均可以包括:现场总线报文特征图、数字I/O信号(数字输入信号、数字输出信号)特征图、模拟I/O信号(模拟输入信号、模拟输出信号)特征图、功耗信息特征图、电磁信息特征图。
各个第二卷积层,用于采用二维卷积核对输入的矩阵进行二维卷积变换,得到报文特征图和/或行为特征图,并将报文特征图和/或行为特征图传输至与各个第二卷积层相连的各个第二池化层。
具体的,一种实施方式中,一个第二卷积层可以对应一个二维数据矩阵。由于上述输入的矩阵包括:报文二维数据矩阵、行为二维数据矩阵,所以上述网络模型可以包括两个第二卷积层,其中,报文二维数据矩阵可以输入至第一个第二卷积层,行为二维数据矩阵可以输入至第二个第二卷积层。
另一种实施方式中,一个第二卷积层可以对应各个二维数据矩阵。例如:沿用上面的例子,可以对报文二维数据矩阵、行为二维数据矩阵进行数据整合,将整合后的数据矩阵输入至各个第二卷积层。
由于上述第二卷积层是对报文二维数据矩阵、行为二维数据矩阵进行二维卷积变换,因此上述第二卷积层的数量可以为2。
具体的,上述二维卷积核可以理解为:对二维数据矩阵进行卷积变换的卷积核。
一种实施方式中,上述第一卷积层和第二卷积层可以通过局部感知和权值共享方式,通过一维卷积核或者二维卷积核对现场总线一维数据向量、I/O信号一维数据向量、物理信息一维数据向量、报文二维数据矩阵、行为二维数据矩阵进行卷积变换,得到现场总线报文特征图、I/O信号特征图、物理信息特征图、报文特征图以及行为特征图。
上述局部感知为:使用上述网络加密流量的报文二维数据矩阵中的报文信息进行二维卷积变换,或者使用上述行为二维数据矩阵中的通信行为信息进行二维卷积变换,或者使用上述网络设备的现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量中的各个信息进行一维卷积变换。
上述权值共享为:采用相同的权值对网络加密流量的报文二维数据矩阵或行为二维数据矩阵进行二维卷积变换,或者采用相同的权重对网络设备的现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量进行一维卷积变换。
上述第二池化层,用于对输入的特征图进行降维处理,并将降维处理后的特征图传输至全连接层。
一种实施方式中,一个第二池化层对应一个特征图。例如:输入至第一个第二池化层的特征图为报文特征图、输入至第二个第二池化层的特征图为行为特征图。
另一种实施方式中,一个第二池化层对应各个特征图。例如:输入至各个第二池化层的特征图均可以包括:报文特征图、行为特征图。
上述全连接层,用于对降维处理后的报文特征图、行为特征图以及信息特征图进行非线性映射,得到特征向量,并将上述特征向量传输至输出层。
上述特征向量的维数等于预设协议类型数量。上述特征向量的维数为特征向量的维度的数量,上述预设协议数量为预设的网络加密流量的协议类型的数量。例如:当上述预设协议类型数量为5时,上述特征向量的维数为5。
上述输出层,用于基于特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
上述预设的分类算法可以为Softmax算法。
具体的,上述输出层可以对特征向量采用预设的分类算法,并归一化得到网络加密流量的协议类型为各个预设协议类型的概率。
具体的,网络加密流量的协议类型的识别结果,一种情况下可以包括网络加密流量的协议类型为各个预设协议类型的概率,另一种情况下可以包括网络加密流量的协议类型为各个预设协议类型的概率中预设数量个最高的概率、以及预设数量个最高的概率对应的协议类型,再一种情况下可以包括网络加密流量的协议类型为各个预设协议类型的概率中最高的概率、以及该最高的概率对应的预设协议类型。
基于上述分析可知,基于上述网络流量识别模型进行网络流量识别的具体流程可以包括以下两种情况。
第一种情况:参见图3b,图3b为本发明实施例提供的第一种基于网络流量识别模型识别网络流量的流程示意图。
在图3b中,首先上述输入层获得报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,并将所获得的报文二维数据矩阵、行为二维数据矩阵分别传输至不同的第二卷积层,将现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别传输至不同的第一卷积层。
其中,各个一维数据向量所输入至的第一卷积层是不同的。
其次,各个第一卷积层采用一维卷积核对输入的向量进行一维卷积变换,得到信息特征图,并将信息特征图传输至与各个第一卷积层相连接的各个第一池化层。并且,各个第二卷积层采用二维卷积核对输入的矩阵进行二维卷积变换,得到报文特征图或行为特征图,并将报文特征图或行为特征图传输至与各个第二卷积层相连的各个第二池化层。
其中,一个第一卷积层对应一个一维数据向量。一个第二卷积层对应一个二维数据矩阵。
然后,各个第一池化层对输入的信息特征图进行特征降维处理,并将降维处理后的信息特征图传输至全连接层。并且,各个第二池化层对输入的特征图进行降维处理,并将降维处理后的特征图传输至全连接层。
其中,一个第一池化层对应一个信息特征图。一个第二池化层对应一个特征图。
其次,上述全连接层对降维处理后的报文特征图、行为特征图以及信息特征图进行非线性映射,得到特征向量,并将上述特征向量传输至输出层。
最后,上述输出层基于特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
第二种情况:参见图3c,图3c为本发明实施例提供的第二种基于网络流量识别模型识别网络流量的流程示意图。
在图3c中,首先,上述输入层,用于获得报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,并将所获得的报文二维数据矩阵、行为二维数据矩阵分别传输至第二卷积层,将现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别传输至第一卷积层。
其中,各个一维数据向量所输入至的第一卷积层是相同的。
其次,各个第一卷积层采用一维卷积核对输入的向量进行一维卷积变换,得到信息特征图,并将信息特征图传输至与各个第一卷积层相连接的各个第一池化层。并且,各个第二卷积层采用二维卷积核对输入的矩阵进行二维卷积变换,得到报文特征图和行为特征图,并将报文特征图和行为特征图传输至与各个第二卷积层相连的各个第二池化层。
其中,一个第一卷积层对应各个一维数据向量。个第二卷积层对应各个二维数据矩阵。
然后,各个第一池化层对输入的信息特征图进行特征降维处理,并将降维处理后的信息特征图传输至全连接层。并且,各个第二池化层用于对输入的特征图进行降维处理,并将降维处理后的特征图传输至全连接层。
其中,一个第一池化层对应各个信息特征图。一个第二池化层对应各个特征图。
其次,上述全连接层对降维处理后的报文特征图、行为特征图以及信息特征图进行非线性映射,得到特征向量,并将上述特征向量传输至输出层。
最后,上述输出层,用于基于特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
本发明的一个实施例中,上述网络流量识别模型还可以采用多个卷积层和多个池化层交替连接的结构。基于上述结构,能够交替传递所得到的特征图。基于此,参见图3d,图3d为本发明实施例提供的第二种网络加密流量识别模型的结构示意图。在图3d中上述网络流量识别模型可以包括:输入层、4个卷积层+池化层的组合,分别为:包括一维卷积核的第一卷积层和第一池化层、包括二维卷积核的第二卷积层和第二池化层、包括一维卷积核的第三卷积层和第三池化层、包括二维卷积核的第四卷积层和第四池化层,全连接层以及输出层。
上述输入层,用于获得报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,并将所获得的报文二维数据矩阵、行为二维数据矩阵分别传输至上述第二卷积层,将现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别传输至上述第一卷积层;
各个第一卷积层,用于采用一维卷积核对输入的向量进行一维卷积变换,得到第一信息特征图,并将第一信息特征图传输至与各个第一卷积层相连接的各个第一池化层。
各个第一池化层,用于对输入的第一信息特征图进行特征降维处理,并将降维处理后的第一信息特征图传输至与各个第一池化层相连接的第三卷积层。
各个第三卷积层,用于采用一维卷积核对输入的第一信息特征图进行一维卷积变换,得到第二信息特征图,并将第二信息特征图传输至与各个第三卷积层相连接的各个第三池化层。
各个第三池化层,用于对输入的第二信息特征图进行特征降维处理,并将降维处理后的第二信息特征图传输至全连接层。
各个第二卷积层,用于采用二维卷积核对输入的矩阵进行二维卷积变换,得到第一特征图和/或第二特征图,并将上述第一特征图和/或第二特征图传输至与各个第二卷积层相连接的第二个池化层。
各个第二池化层,用于对输入的第一特征图或第二特征图进行特征降维处理,并将降维处理后的第一特征图和/或第二特征图传输至与各个第二池化层相连接的第四卷积层。
各个第四卷积层,用于采用二维卷积核对输入的第一特征图和/或第二特征图进行二维卷积变化,得到第三特征图和/或第四特征图,并将上述第三特征图传输至与各个第四卷积层相连接的第四池化层。
各个第四池化层,用于对输入的第三特征图和/或第四特征图进行特征降维处理,并将降维处理后的第三特征图和/或第四特征图传输至全连接层。
上述全连接层,用于对降维处理后的第三特征图、第四特征图以及第二信息特征图进行非线性映射,得到特征向量,并将上述特征向量传输至输出层。上述特征向量的维数等于预设协议类型数量。
上述输出层,用于基于特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
参见图3e,图3e为本发明实施例提供的第三种网络加密流量识别模型的结构示意图,上述网络流量识别模型可以包括输入层、第二预设数量个并列的卷积层、第二预设数量个并列的池化层、(第二预设数量+1)个全连接层、输出层。
上述卷积层中包括第一卷积层和第二卷积层,其中,第一卷积层为:包括一维卷积核的卷积层,第二卷积层为:包括二维卷积核的卷积层。
上述池化层包括第一池化层和第二池化层,其中,第一池化层为:与第一卷积层连接的池化层,第二池化层为:与第二卷积层连接的池化层。
上述全连接层包括第一全连接层、第二全连接层以及第三全连接层,其中,第一全连接层为:与第一池化层连接的全连接层,第二全连接层为:与第二池化层连接的全连接层,第三全连接层为:与第一全连接层、第二全连接层连接的全连接层。
上述输入层,用于获得报文二维数据矩阵、行为二维数据矩阵现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,并将所获得的报文二维数据矩阵、行为二维数据矩阵分别传输至第二卷积层,将现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别传输至第一卷积层;
各个第一卷积层,用于采用一维卷积核对输入的向量进行一维卷积变换,得到信息特征图,并将上述信息特征图传输至与各个第一卷积层相连接的各个第一池化层。
各个第一池化层,用于输入的信息特征图进行特征降维处理,并将降维处理后的信息特征图传输至第一全连接层。
上述第一全连接层,用于对降维处理后的信息特征图进行非线性映射,得到信息特征向量,并将信息特征向量传输至第三全连接层。上述信息特征向量的维数等于预设协议类型数量。
各个第二卷积层,用于采用二维卷积核对输入的矩阵进行二维卷积变换,得到第一特征图和/或得到第二特征图,并将上述第一特征图和/或第二特征图传输至与各个第二卷积层相连接的第二池化层。
各个第二池化层,用于对输入的第一特征图和/或第二特征图进行特征降维处理,并将降维处理后的第一特征图和/或第二特征图传输至第二全连接层。
上述第二全连接层,用于对降维处理后的第一特征图进行非线性映射,得到第一特征向量,并对降维处理后的第二特征图进行非线性映射,得到第二特征向量,并将第一特征向量、第二特征向量传输至第三全连接层。上述特征向量的维数等于预设协议类型数量。
上述第三全连接层,用于对信息特征向量、第一特征向量以及第二特征向量进行整合,得到最终特征向量,并将上述最终特征向量传输至输出层。
上述最终特征向量的维数等于预设协议类型数量;
上述输出层,用于基于特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
本发明的一个实施例中,上述网络流量识别模型还可以是基于U-网络(U-net)的模型。基于此,参见图3f,图3f为本发明实施例提供的第四种网络加密流量识别模型的结构示意图。上述网络流量识别模型可以包括:输入层、第一卷积层、第一池化层、第二卷积层、第二池化层、全连接层、第三卷积层、第四卷积层、第一反卷积层、第二反卷积层和输出层。
上述输入层,用于获得报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,并将所获得的报文二维数据矩阵、行为二维数据矩阵分别传输至第二卷积层,将现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别传输至第一卷积层;
各个上述第一卷积层,用于采用一维卷积核输入的向量进行一维卷积变换,得到信息特征图,并将信息特征图传输至与各个第一卷积层相连接的各个第一池化层。
各个第一池化层,用于对输入的信息特征图进行降维处理,并将降维处理后的信息特征图传输至全连接层。
各个第二卷积层,用于采用二维卷积核对输入的矩阵进行二维卷积变换,得到报文特征图和/或行为特征图,并将报文特征图和/或行为特征图传输至与各个第二卷积层相连接的第二池化层;
各个第二池化层,用于对输入的特征图进行特征降维处理,并将降维处理后的报文特征图传输至全连接层;
上述全连接层,用于将第一池化层和第二池化层的池化结果进行关联。
第三卷积层,用于对上述全连接层的关联结果进行卷积,第四卷积层,用于对第三卷积层的卷积结果进行卷积。
上述第一反卷积层,用于对第四卷积层的卷积结果进行反卷积。
上述第二反卷积层,用于对第一反卷积层的反卷积结果进行反卷积。
上述输出层,用于对第二反卷积层的反卷积结果进行分类及归一化,得到输入的网络流量为各协议类型的概率。
其中,第三卷积层还可以与第二反卷积层跳跃连接(skip connection),即第二反卷积层可以结合第三卷积层的卷积结果与第一反卷积层的反卷积结果,并进行反卷积。图3f中的虚线箭头表示skip connection。
本发明的一个实施例中,在识别到待识别网络流量的协议类型后,还可以根据预设的黑白灰名单,确定上述待识别网络流量是否为可信网络加密流量,上述黑白灰名单中包括预设的可信协议类型、预设的不可信协议类型以及未知协议类型。
具体的,在识别到待识别网络流量的协议类型与上述预设的黑白灰名单中的可信协议类型相匹配时,则可以认为上述待识别网络流量为可信或安全网络加密流量。
在识别到待识别网络流量的协议类型与上述预设的黑白灰名单中的不可信协议类型相匹配时,则可以认为上述待识别网络流量为异常或攻击网络加密流量。
在识别到待识别网络流量的协议类型与上述预设的黑白灰名单中的未知协议类型相匹配时,则可以认为上述待识别网络流量为未知网络加密流量。
在未识别到待识别网络流量的协议类型与上述预设的黑白灰名单中的各个协议类型相匹配时,则可以认为上述待识别网络流量的协议类型为未知协议类型,并将上述待识别网络流量的协议类型记录至上述黑白灰名单的未知协议类型中。
本发明的一个实施例中,还可以按照以下方式实现上述S101中获得上述待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息和通信行为信息。
基于在预设网络节点上旁路所部署的探针,获得待识别网络流量,提取上述待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息和通信行为信息。
上述待识别网络流量为一个加密网络会话通信阶段产生的通信网络流量。
上述预设网络节点可以由工作人员根据经验设定。例如:上述预设网络节点可以为较为重要的网络节点。
上述探针可以采用分光或者分流方式采集通信网络流量,由于上述探针旁路部署在预设网络节点上的,因此,能够保证正常的网络加密流量不被影响,且能够全方位采集网络加密流量。
本发明的一个实施例中,当待识别网络流量内数据包的数量未达到预设数量,可以新增若干个数值为0的数据包直至使得上述待识别网络流量的数据包的数量为预设数量。
上述预设数量可以由工作人员根据经验设定。例如:上述预设数量可以为10、20等。
上述探针能够以分光或分流方式实时采集网络加密流量,以会话为单位对所采集的网络加密流量进行切分,可以以pcap文件形式存储至数据库中,每个pcap文件中存储各个会话对应的网络加密流量的数据包集合。由于数据包的报文信息为数据包中的内容信息,也就是每个pcap文件存储着各个会话对应的网络加密流量的数据包的报文信息集合。
同时,探针监测统计每一会话对应的网络加密流量内数据包的通信行为信息,并以日志方式存储至数据库。
由于数据库中存储着多个会话分别对应的网络加密流量的数据包的报文信息和通信行为信息,电子设备可以从数据库中获得各个会话分别对应的网络加密流量的数据包的报文信息和通信行为信息。
这样,由于是在预设网络节点上旁路所部署的探针将所采集的各个会话分别对应的网络加密流量内数据包的报文信息和通信行为信息存储至数据库中,又由于探针能够全方位采集信息,这样,电子设备可以从数据库中快速获得探针所采集的全方位的各个会话分别对应的网络加密流量内数据包的报文信息和通信行为信息。
以图4为例,图4为本发明实施例提供的一种网络加密流量识别系统的结构示意图,上述网络加密流量识别系统包括:网络层数据采集探针、设备层数据采集探针以及数据分析与处理平台。
其中,上述网络层数据采集探针用于采集目标设备在接入物联网/工业互联网过程中产生的待识别网络流量的报文信息和通信行为信息。
具体的,网络层数据采集探针可以旁路部署在预设网络节点上,通过交换机进行采集上述报文信息以及通信行为行为。
上述设备层数据采集探针用于采集目标设备的现场总线流量的信息、I/O信号的信息以及电磁/功耗的信息等。
具体的,设备层采集探针可以包括现场总线采集模块、I/O信号采集模块、功耗泄露采集模块以及电磁泄露采集模块等,获取目标设备通信时的侧信道分析数据集。
上述数据分析与处理平台,用于获得网络层数据采集探针所采集的报文信息、通信行为信息,以及设备层数据采集探针所采集的现场总线流量的信息、I/O信号的信息以及电磁/功耗信息等,并对上述各个信息进行预处理,包括根据各个不同信息的结构形式,分别转化为一维数据向量或二维数据矩阵,以及对转化后的信息进行数据标准化处理,最后将一维数据向量和二维数据矩阵输入至网络流量识别模型中,从而对待识别网络流量的协议类型进行识别。
与上述基于深度学习与侧信道分析的网络加密流量识别方法相对应,本发明实施例还提供了基于深度学习与侧信道分析的网络加密流量识别装置。
参见图5,图5为本发明实施例提供的一种基于深度学习与侧信道分析的网络加密流量识别装置的结构示意图,上述装置包括501-503。
数据采集模块501,用于获得待识别网络流量内属于通信建立阶段的前第一预设数量个数据包的报文信息和通信行为信息,并获得在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、I/O信号的信息以及预设物理参数项的物理信息,其中,所述待识别网络流量为所述目标加密网络会话通信阶段产生的网络流量,所述I/O信号包括:数字输入信号、数字输出信号、模拟输入信号、模拟输出信号;
数据预处理模块502,用于根据所述报文信息,构建报文二维数据矩阵,并根据所述通信行为信息,构建行为二维数据矩阵;根据所述现场总线流量的信息、I/O信号的信息以及物理信息,构建现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,所述I/O信号一维数据向量包括:数字输入一维数据向量、数字输出一维数据向量、模拟输入一维数据向量、模拟输出一维数据向量;
协议类型识别模块503,用于将所述报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型;其中,网络流量识别模型为:以样本信息一维数据向量、样本二维数据矩阵为输入,样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,样本信息一维数据向量包括样本目标网络会话通信阶段中网络设备的现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,样本二维数据矩阵包括样本网络加密流量的报文二维数据矩阵和行为二维数据矩阵,样本网络加密流量为样本目标网络会话通信阶段产生的网络流量。
本发明的一个实施例中,上述预设参数项包括:功耗泄露、电磁泄露,
所述数据采集模块,具体用于基于在网络设备的侧信道旁路所部署的探针,采集在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、I/O信号的信息、功耗泄露的信息、电磁泄露的信息。
本发明的一个实施例中,上述数据预处理模块,具体用于:
将现场总线流量的信息转换为第一预设长度的现场总线一维数据向量;
将数字输入信号的信息转换为第二预设长度的数字输入一维数据向量;
将数字输出信号的信息转换为第三预设长度的数字输出一维数据向量;
将模拟输入信号的信息转换为第四预设长度的数字输入一维数据向量;
将模拟输出信号的信息转换为第五预设长度的数字输入一维数据向量;
将功耗泄露的信息转换为包含不大于第一目标数量个元素的功耗信息一维数据向量,其中,所述第一目标数量为所述功耗泄露的采集信号点的数量;
将电磁泄露的信息转换为包含不大于第二目标数量个元素的电磁信息一维数据向量,其中,所述第二目标数量为所述电磁泄露的采集信号点的数量。
本发明的一个实施例中,上述网络流量识别模型包括:输入层、第二预设数量个并列的卷积层、第二预设数量个并列的池化层、全连接层、输出层,所述卷积层中包括第一卷积层和第二卷积层,所述第一卷积层为:包括一维卷积核的卷积层,所述第二卷积层为:包括二维卷积核的卷积层,所述池化层包括第一池化层和第二池化层,所述第一池化层为:与所述第一卷积层连接的池化层,所述第二池化层为:与第二卷积层连接的池化层,其中,
输入层,用于获得报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,并将所获得的报文二维数据矩阵、行为二维数据矩阵分别传输至第二卷积层,将现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别传输至第一卷积层;
各个第一卷积层,用于采用一维卷积核对输入的向量进行一维卷积变换,得到信息特征图,并将信息特征图传输至与各个第一卷积层相连接的各个第一池化层;
各个第一池化层,用于对输入的信息特征图进行降维处理,并将降维处理后的信息特征图传输至全连接层;
各个第二卷积层,用于采用二维卷积核对输入的矩阵进行二维卷积变换,得到报文特征图和/或行为特征图,并将报文特征图和/或行为特征图传输至与各个第二卷积层相连接的各个第二池化层;
各个第二池化层,用于对输入的特征图进行特征降维处理,并将降维处理后的特征图传输至全连接层;
全连接层,用于对降维处理后的报文特征图、行为特征图以及物理信息特征图进行非线性映射,得到特征向量,并将特征向量传输至所述输出层,其中,特征向量的维数等于预设协议类型数量;
输出层,用于基于特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
本发明的一个实施例中,上述数据采集模块,具体用于基于在预设网络节点上旁路部署的探针,获得待识别网络流量;提取所述待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息和通信行为信息。
本发明的一个实施例中,上述数据预处理模块,具体用于按照各个数据包的排列顺序,将各个数据包的报文信息组成报文二维数据矩阵。
本发明的一个实施例中,上述数据预处理模块,具体用于按照各个数据包的排列顺序,将各数据包的通信行为信息中的指定信息组成所述行为二维数据矩阵。
本发明的一个实施例中,上述待识别网络流量内属于通信建立阶段的前预设数量个数据包的通信行为信息至少包括:数据包的统计信息、数据包的包序列、数据包的长度、数据包的时间戳、相邻数据包的时间戳间隔。
与上述基于深度学习与侧信道分析的网络加密流量识别方法相对应,本发明实施例还提供了一种电子设备。
参见图6,图6为本发明实施例提供的一种电子设备的结构示意图,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现本发明实施例提供的基于深度学习与侧信道分析的网络加密流量识别方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的基于深度学习与侧信道分析的网络加密流量识别方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行时实现本发明实施例提供的基于深度学习与侧信道分析的网络加密流量识别方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.基于深度学习与侧信道分析的网络加密流量识别方法,其特征在于,所述方法包括:
获得待识别网络流量内属于通信建立阶段的前第一预设数量个数据包的报文信息和通信行为信息,并获得在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、输入/输出I/O信号的信息以及预设物理参数项的物理信息,其中,所述待识别网络流量为所述目标加密网络会话通信阶段产生的网络流量,所述I/O信号包括:数字输入信号、数字输出信号、模拟输入信号、模拟输出信号;
根据所述报文信息,构建报文二维数据矩阵,并根据所述通信行为信息,构建行为二维数据矩阵;
根据所述现场总线流量的信息、I/O信号的信息以及物理信息,构建现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,所述I/O信号一维数据向量包括:数字输入一维数据向量、数字输出一维数据向量、模拟输入一维数据向量、模拟输出一维数据向量;
将所述报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型;
其中,所述网络流量识别模型为:以样本一维数据向量、样本二维数据矩阵为输入,样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,所述样本一维数据向量包括样本目标网络会话通信阶段中网络设备的现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,所述样本二维数据矩阵包括所述样本网络加密流量的报文二维数据矩阵和行为二维数据矩阵,所述样本网络加密流量为所述样本目标网络会话通信阶段产生的网络流量。
2.根据权利要求1所述的方法,其特征在于,所述预设参数项包括:功耗泄露、电磁泄露,
所述获得在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、I/O信号的信息以及预设物理参数项的物理信息,包括:
基于在网络设备的侧信道旁路所部署的探针,采集在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、I/O信号的信息、功耗泄露的信息、电磁泄露的信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述现场总线流量的信息、I/O信号的信息以及物理信息,构建现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,包括:
将所述现场总线流量的信息转换为第一预设长度的现场总线一维数据向量;
将所述数字输入信号的信息转换为第二预设长度的数字输入一维数据向量;
将所述数字输出信号的信息转换为第三预设长度的数字输出一维数据向量;
将所述模拟输入信号的信息转换为第四预设长度的数字输入一维数据向量;
将所述模拟输出信号的信息转换为第五预设长度的数字输入一维数据向量;
将所述功耗泄露的信息转换为包含不大于第一目标数量个元素的功耗信息一维数据向量,其中,所述第一目标数量为所述功耗泄露的采集信号点的数量;
将所述电磁泄露的信息转换为包含不大于第二目标数量个元素的电磁信息一维数据向量,其中,所述第二目标数量为所述电磁泄露的采集信号点的数量。
4.根据权利要求1所述的方法,其特征在于,所述网络流量识别模型包括:输入层、第二预设数量个并列的卷积层、第二预设数量个并列的池化层、全连接层、输出层,所述卷积层中包括第一卷积层和第二卷积层,所述第一卷积层为:包括一维卷积核的卷积层,所述第二卷积层为:包括二维卷积核的卷积层,所述池化层包括第一池化层和第二池化层,所述第一池化层为:与所述第一卷积层连接的池化层,所述第二池化层为:与所述第二卷积层连接的池化层,其中,
输入层,用于获得所述报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量,并将所获得的报文二维数据矩阵、行为二维数据矩阵分别传输至所述第二卷积层,将现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量分别传输至所述第一卷积层;
各个第一卷积层,用于采用一维卷积核对输入的向量进行一维卷积变换,得到信息特征图,并将信息特征图传输至与各个第一卷积层相连接的各个第一池化层,
各个第一池化层,用于对输入的信息特征图进行降维处理,并将降维处理后的信息特征图传输至全连接层;
各个第二卷积层,用于采用二维卷积核对输入的矩阵进行二维卷积变换,得到报文特征图和/或行为特征图,并将报文特征图和/或行为特征图传输至与各个第二卷积层相连接的各个第二池化层;
各个第二池化层,用于对输入的特征图进行特征降维处理,并将降维处理后的特征图传输至全连接层;
所述全连接层,用于对降维处理后的报文特征图、行为特征图以及信息特征图进行非线性映射,得到特征向量,并将所述特征向量传输至所述输出层,其中,所述特征向量的维数等于预设协议类型数量;
所述输出层,用于基于所述特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获得待识别网络流量内属于通信建立阶段的前第一预设数量个数据包的报文信息和通信行为信息,包括:
基于在预设网络节点上旁路部署的探针,获得待识别网络流量;
提取所述待识别网络流量内属于通信建立阶段的前第一预设数量个数据包的报文信息和通信行为信息。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述报文信息,构建报文二维数据矩阵,包括:
按照各个数据包的排列顺序,将各个数据包的报文信息组成报文二维数据矩阵。
7.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述通信行为信息,构建行为二维数据矩阵,包括:
按照各个数据包的排列顺序,将各数据包的通信行为信息中的指定信息组成所述行为二维数据矩阵。
8.根据权利要求1-4中任一项所述的方法,其特征在于,所述待识别网络流量内属于通信建立阶段的前第一预设数量个数据包的通信行为信息至少包括:数据包的统计信息、数据包的包序列、数据包的长度、数据包的时间戳、相邻数据包的时间戳间隔。
9.基于深度学习与侧信道分析的网络加密流量识别装置,其特征在于,所述装置包括:
数据采集模块,用于获得待识别网络流量内属于通信建立阶段的前第一预设数量个数据包的报文信息和通信行为信息,并获得在目标加密网络会话通信阶段中网络设备的现场总线流量的信息、输入/输出I/O信号的信息以及预设物理参数项的物理信息,其中,所述待识别网络流量为所述目标加密网络会话通信阶段产生的网络流量,所述I/O信号包括:数字输入信号、数字输出信号、模拟输入信号、模拟输出信号;
数据预处理模块,用于根据所述报文信息,构建报文二维数据矩阵,并根据所述通信行为信息,构建行为二维数据矩阵;根据所述现场总线流量的信息、I/O信号的信息以及物理信息,构建现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,所述I/O信号一维数据向量包括:数字输入一维数据向量、数字输出一维数据向量、模拟输入一维数据向量、模拟输出一维数据向量;
协议类型识别模块,用于将所述报文二维数据矩阵、行为二维数据矩阵、现场总线一维数据向量、I/O信号一维数据向量以及物理信息一维数据向量输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型;
其中,所述网络流量识别模型为:以样本一维数据向量、样本二维数据矩阵为输入,样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,所述样本一维数据向量包括样本目标网络会话通信阶段中网络设备的现场总线一维数据向量、I/O信号一维数据向量以及各个预设物理参数项的物理信息一维数据向量,所述样本二维数据矩阵包括所述样本网络加密流量的报文二维数据矩阵和行为二维数据矩阵,所述样本网络加密流量为所述样本目标网络会话通信阶段产生的网络流量。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
CN202011021966.5A 2020-09-25 2020-09-25 基于深度学习与侧信道分析的网络加密流量识别方法装置 Active CN112165484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011021966.5A CN112165484B (zh) 2020-09-25 2020-09-25 基于深度学习与侧信道分析的网络加密流量识别方法装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011021966.5A CN112165484B (zh) 2020-09-25 2020-09-25 基于深度学习与侧信道分析的网络加密流量识别方法装置

Publications (2)

Publication Number Publication Date
CN112165484A true CN112165484A (zh) 2021-01-01
CN112165484B CN112165484B (zh) 2022-10-14

Family

ID=73862947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011021966.5A Active CN112165484B (zh) 2020-09-25 2020-09-25 基于深度学习与侧信道分析的网络加密流量识别方法装置

Country Status (1)

Country Link
CN (1) CN112165484B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221144A (zh) * 2021-05-19 2021-08-06 国网辽宁省电力有限公司电力科学研究院 一种隐私保护机器学习的虚拟化终端异常检测方法及系统
CN114978585A (zh) * 2022-04-12 2022-08-30 国家计算机网络与信息安全管理中心 基于流量特征的深度学习对称加密协议识别方法
CN115442305A (zh) * 2021-06-01 2022-12-06 迈络思科技有限公司 具有中间介质访问控制安全设备的端到端流量控制
US11637781B1 (en) 2021-10-27 2023-04-25 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus and system for managing traffic data of client application

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180219895A1 (en) * 2017-01-27 2018-08-02 Vectra Networks, Inc. Method and system for learning representations of network flow traffic
US20190132334A1 (en) * 2017-10-27 2019-05-02 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US20190132344A1 (en) * 2016-12-16 2019-05-02 Patternex, Inc. Method and system for employing graph analysis for detecting malicious activity in time evolving networks
CN109871948A (zh) * 2019-03-26 2019-06-11 中国人民解放军陆军工程大学 一种基于二维卷积神经网络的应用层协议识别方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190132344A1 (en) * 2016-12-16 2019-05-02 Patternex, Inc. Method and system for employing graph analysis for detecting malicious activity in time evolving networks
US20180219895A1 (en) * 2017-01-27 2018-08-02 Vectra Networks, Inc. Method and system for learning representations of network flow traffic
US20190132334A1 (en) * 2017-10-27 2019-05-02 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
CN109871948A (zh) * 2019-03-26 2019-06-11 中国人民解放军陆军工程大学 一种基于二维卷积神经网络的应用层协议识别方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221144A (zh) * 2021-05-19 2021-08-06 国网辽宁省电力有限公司电力科学研究院 一种隐私保护机器学习的虚拟化终端异常检测方法及系统
CN113221144B (zh) * 2021-05-19 2024-05-03 国网辽宁省电力有限公司电力科学研究院 一种隐私保护机器学习的虚拟化终端异常检测方法及系统
CN115442305A (zh) * 2021-06-01 2022-12-06 迈络思科技有限公司 具有中间介质访问控制安全设备的端到端流量控制
CN115442305B (zh) * 2021-06-01 2024-05-28 迈络思科技有限公司 具有中间介质访问控制安全设备的端到端流量控制
US11637781B1 (en) 2021-10-27 2023-04-25 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus and system for managing traffic data of client application
WO2023071726A1 (zh) * 2021-10-27 2023-05-04 北京字节跳动网络技术有限公司 管理客户端应用的网络流量的方法和装置
CN114978585A (zh) * 2022-04-12 2022-08-30 国家计算机网络与信息安全管理中心 基于流量特征的深度学习对称加密协议识别方法
CN114978585B (zh) * 2022-04-12 2024-02-27 国家计算机网络与信息安全管理中心 基于流量特征的深度学习对称加密协议识别方法

Also Published As

Publication number Publication date
CN112165484B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN112003870B (zh) 一种基于深度学习的网络加密流量识别方法及装置
CN112165484B (zh) 基于深度学习与侧信道分析的网络加密流量识别方法装置
CN111866024B (zh) 一种网络加密流量识别方法及装置
CN112235264B (zh) 一种基于深度迁移学习的网络流量识别方法及装置
Chernyshev et al. Internet of things forensics: The need, process models, and open issues
CN112839034A (zh) 一种基于cnn-gru分层神经网络的网络入侵检测方法
CN112104570B (zh) 流量分类方法、装置、计算机设备和存储介质
CN105072089A (zh) 一种web恶意扫描行为异常检测方法与系统
CN109474603B (zh) 数据抓包处理方法及终端设备
CN113489619B (zh) 一种基于时间序列分析的网络拓扑推断方法及装置
CN111030992A (zh) 检测方法、服务器及计算机可读存储介质
Farhan et al. Performance analysis of intrusion detection for deep learning model based on CSE-CIC-IDS2018 dataset
Yin et al. Anomaly traffic detection based on feature fluctuation for secure industrial internet of things
CN115567305B (zh) 基于深度学习的顺序网络攻击预测分析方法
Wan et al. DevTag: A benchmark for fingerprinting IoT devices
CN116366319A (zh) 一种检测网络安全的方法及系统
CN116232696A (zh) 基于深度神经网络的加密流量分类方法
CN111901324B (zh) 一种基于序列熵流量识别的方法、装置和存储介质
CN114492576A (zh) 一种异常用户检测方法、系统、存储介质及电子设备
Alanazi et al. Anomaly Detection in Smart Agriculture Systems on Network Edge Using Deep Learning Technique
CN113810372B (zh) 一种低吞吐量dns隐蔽信道检测方法及装置
Yu et al. Mining anomaly communication patterns for industrial control systems
CN111181756A (zh) 一种域名安全性判定方法、装置、设备及介质
Ramezani et al. On multi-session website fingerprinting over TLS handshake
CN111917715B (zh) 一种基于802.11ac MAC层指纹的设备识别方法

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