CN114422623B - 一种基于指令序列的车联网异常流量识别方法及装置 - Google Patents
一种基于指令序列的车联网异常流量识别方法及装置 Download PDFInfo
- Publication number
- CN114422623B CN114422623B CN202210047333.4A CN202210047333A CN114422623B CN 114422623 B CN114422623 B CN 114422623B CN 202210047333 A CN202210047333 A CN 202210047333A CN 114422623 B CN114422623 B CN 114422623B
- Authority
- CN
- China
- Prior art keywords
- flow
- traffic
- abnormal
- instruction
- internet
- 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
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- 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/1441—Countermeasures against malicious traffic
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供一种基于指令序列的车联网异常流量识别方法及装置,通过深入解析车联网协议的数据封装方式和报文结构,在数据流指定偏移位置提取有效指令载荷,形成车联网指令载荷序列,将载荷序列转换成图片,输入卷积神经网络CNN训练并建立异常流量识别模型。本方法基于车联网协议的本身特性,通过将当前主流车联网协议中的指令及指令序列作为正常、异常流量的识别特征,结合卷积神经网络将特征进一步强化、收敛,以IP层级的会话流为训练样本,相比传统的单流样本,更能体现流量在不同时段中不同的指令操作,将流量的时间特征充分利用。
Description
技术领域
本发明涉及数字信息的传输技术领域,具体涉及一种基于指令序列的车联网异常流量识别方法及装置。
背景技术
目前我国的车联网协议主要有JT/T808、JT/T905、GB/T32960等协议,以JT/T808为例,它是由交通运输部制订的标准协议,规定了道路运输车辆卫星定位系统北斗兼容车载终端与监管/监控平台之间的通讯协议与数据格式,包括协议基础、通讯连接、消息处理、协议分类与说明及数据格式。
检索到的车联网的异常流量主要是入侵流量,其识别主要采用机器学习或者深度学习,对车载终端与云平台、车载终端与终端的数据流的时间特征和内容特征进行模型训练,机器学习主要是对报文的长度、载荷、时间序列、流持续时间、流方向、速率等进行特征提取,采用朴素贝叶斯,SVM等模型进行训练识别,深度学习则主要是根据内容特征,采用深度神经网络(CNN,SAE等)进行模型训练。识别方案集中在流的特性以及整体载荷特征,与通用流量的分析和检测方法较类似,未体现和结合车联网协议本身的特性来针对车联网协议进行异常流量的检测。
现有的车联网异常流量识别技术,存在以下不足,第一点是没有针对车联网协议自身特性,在数据流的空间特征上,笼统选取TCP载荷或截取TCP载荷,虽然具备一定的识别效果,但在现网环境中,干扰流种类杂多,导致识别效果远低于实验室环境;第二点是现有的机器学习或深度学习在数据流的时间特征上,对象主要是单流,模型的输入对象较为单一,其次单流中包的时间序列、流速等易受设备、网络的影响。
发明内容
本发明是为了解决现有技术不能结合车联网协议的协议规范以及输入对象单一的问题,提供一种基于指令序列的车联网异常流量识别方法及装置,通过深入解析车联网协议的数据封装方式和报文结构,在数据流指定偏移位置提取有效指令载荷,形成车联网指令载荷序列,将载荷序列转换成图片,输入卷积神经网络CNN训练并建立异常流量识别模型。本技术方案输入对象是车联网数据流中车联网协议指令载荷数据,一方面车联网协议指令作为特有协议识别标志,另一方面车联网协议指令的时序性可作为区分异常流量的重要特征,与现有技术中的识别对象和思路是不同的。
本发明提供一种基于指令序列的车联网异常流量识别方法,包括以下步骤:
S1、训练用数据流量采集分析:流量采集模块通过抓包工具抓取车联网流量中的正常流量和异常流量作为训练用数据流量输出至数据预处理模块,正常流量为车载终端和云服务平台交互流量,异常流量从云服务平台采集;
S2、训练用车联网流量预处理:数据预处理模块将训练用数据流量通过三元组拆分成多组不同源IP会话流后再依次将不同源IP会话流按照五元组划分成单流输出至规则提取模块;
S3、训练用车联网流量规则提取:规则提取模块根据车联网协议的结构从单流指定的偏移位置提取车联网指令载荷并将车联网指令载荷按照包次序进行拼接,得到每个单流对应的指令流序列,然后针对每一个同源IP下的多组指令流序列,选择前m个指令流的前m个字节内容转换成m*m的图片并形成二维矩阵Xm*m输出至模型训练模块,每一个同源IP会话流输出一个二维矩阵;
S4、CNN模型搭建及训练:模型训练模块搭建卷积神经网络CNN模型,将正常流量二维矩阵Xm*m打标为1、异常流量二维矩阵Xm*m打标为0后输入CNN模型训练,得到判别模型;
S5、待检测车联网流量检测并输出识别结果:将待检测车联网流量依次输入数据预处理模块和规则提取模块进行预处理、规则提取后对通过判别模型对正常流量和异常流量分类并输出识别结果。
本发明所述的一种基于指令序列的车联网异常流量识别方法,作为优选方式,步骤S1中,正常流量包括注册流量、鉴权流量、心跳流量、地图路况查询流量、上传流量、辅助驾驶信息流量和娱乐信息服务流量,异常流量包括云服务平台采集的入侵流量、扫描探测流量和DDOS流量,正常流量和异常流量均为TCP流量。
本发明所述的一种基于指令序列的车联网异常流量识别方法,作为优选方式,步骤S2中,不同源IP会话流为双向流;
三元组包括源IP、目的IP和目的端口,五元组包括源IP、源端口、目的IP、目的端口和传输层协议,不同源IP会话流的源IP相同、目的IP相同、目的端口相同、源端口不同,每组不同源IP会话流按照TCP链接的发起到结束切割成多条单流。
本发明所述的一种基于指令序列的车联网异常流量识别方法,作为优选方式,步骤S3中,车联网协议为JT/T808协议,指定的偏移位置为有效载荷的第2字节和第3字节,通过判断单流的有效TCP载荷第一个字节是否是协议标志位0x7e来确认车联网协议是否为JT/T808协议;
当前m个指令流中的单流字节数不足m时,使用0填充。
本发明所述的一种基于指令序列的车联网异常流量识别方法,作为优选方式,步骤S4包括以下步骤:
S41、模型训练模块搭建卷积神经网络CNN模型,卷积神经网络CNN模型包括依次连接的网络输入层、卷积层、池化处理层和全连接处理层;
S42、网络输入层将二维矩阵Xm*m转换为m*m的矩阵序列后输出至卷积层,m*m的矩阵序列包括打标为1的正常流量二维矩阵Xm*m和打标为0的异常流量二维矩阵Xm*m,其中,1为正向,0为反向;
S43、卷积层对m*m的矩阵序列进行特征提取和卷积操作得到特征图;卷积操作使用过滤器F,过滤器F∈w*h,过滤器F依次对二维矩阵Xm*m中窗口大小为w*h的内容进行过滤并生成特征图Yw*h;
Yw*h=Xm*m*Fw*h=∑iXi∑jXjF(w-j)(h-i);
其中,w为特征图的宽,h为特征图的高,i为二维矩阵的行号,j为二维矩阵的列号;
S44、卷积层对特征图Yw*h进行非线性处理得到非线性数据;
S45、池化处理层对非线性数据进行池化处理得到池化处理后数据输出至全连接处理层,池化处理为最大池化或均值池化;
S46、全连接处理层将池化处理后数据进行全连接处理,得到二维矩阵的整体特征。
本发明所述的一种基于指令序列的车联网异常流量识别方法,作为优选方式,步骤S43中,当过滤器F无法遍历二维矩阵Xm*m的边界时,对二维矩阵Xm*m进行填充,填充模式为SAME填充模式。
本发明所述的一种基于指令序列的车联网异常流量识别方法,作为优选方式,步骤S44中,非线性处理使用以下任意一种函数:Sigmoid函数、tanh函数、ReLU函数。
本发明所述的一种基于指令序列的车联网异常流量识别方法,作为优选方式,步骤S46中,全连接处理层使用Softmax对二维矩阵的整体特征进行正常流量、异常流量的分类。
本发明提供一种基于指令序列的车联网异常流量识别装置,包括依次连接的流量采集模块、数据预处理模块、规则提取模块和模型训练模块;
流量采集模块用于通过抓包工具抓取车联网流量中的正常流量和异常流量作为训练用数据流量输出至数据预处理模块;
数据预处理模块用于接收训练用数据流量和待检测车联网流量,通过三元组拆分成多组不同源IP会话流,数据预处理模块用于按照五元组将划不同源IP会话流分成单流输出至规则提取模块;
规则提取模块用于根据车联网协议从单流的指定偏移位置提取车联网指令载荷并将车联网指令载荷按照包次序进行拼接序列化后形成m*m的二维矩阵输出至模型训练模块;
模型训练模块用于分别将训练用正常流量和训练用异常流量的指令序列打标后输入卷积神经网络CNN模型进行模型训练,得到判别模型,判别模型用于对待检测车联网流量进行识别并判断是否为异常流量后输出识别结果。
本发明所述的一种基于指令序列的车联网异常流量识别装置,作为优选方式,正常流量包括注册流量、鉴权流量、心跳流量、地图路况查询流量、上传流量、辅助驾驶信息流量和娱乐信息服务流量,异常流量包括云服务平台采集的入侵流量、扫描探测流量和DDOS流量;
三元组包括源IP、目的IP和目的端口;
五元组包括源IP、源端口、目的IP、目的端口和传输层协议;
m*m的数据组包括m条单流指令,每条单流指令包括m个字节;
卷积神经网络CNN模型包括依次连接的网络输入层、卷积层、池化处理层和全连接处理层。
本发明包括以下步骤:
1.数据流量采集分析,主要是捕获车联网在通信过程中产生的交互数据,包括采集由车载终端与云服务平台交互流量信息,异常流量主要是在云服务平台采集的入侵、探测等流量;
2.车联网流量预处理,通过三元组(源IP,目的IP,目的端口)将混合流量拆分成多组不同源IP的会话流;
3.依次将不同源IP的数据流按照五元组(源IP,源端口,目的IP,目的端口,传输层协议)划分成单流,根据车联网协议规范,在单流指定偏移位置提取车联网指令载荷,将指令载荷进行拼接,每个单流得到对应的指令流序列;
4.针对每一个同源IP下的多组指令流,选择前m个指令流的前m个字节内容,转换成m*m的图片,形成二维矩阵Xm*m,每一个源IP会话流输出一个二维矩阵;
5.搭建卷积神经网络CNN模型,将正常流量的Xm*m打标为1,异常流量的Xm*m打标为0,将正、反向数据输入CNN模型训练,得到模型;
6.加载模型,对待检测流量进行正常流量、异常流量分类。
进一步地,所述步骤1还包括以下步骤:
1-1.采集的正常流量类型为TCP流量,包含车载终端与云服务平台的注册,鉴权,心跳,地图路况查询、上传,辅助驾驶信息,娱乐信息服务等多样化流量;
1-2.采集的异常流量类型为TCP流量,主要包含入侵、扫描探测、DDOS等异常、恶意流量;
进一步地,所述步骤2中根据三元组拆分后的会话流量是双向流,每组会话流源IP、目的IP、目的端口相同,源端口不同;每组会话流可以按照TCP链接的发起到结束切割成多条单流;
进一步地,所述步骤3还包括以下步骤:
3-1.将步骤2中的单流按照不同车联网协议规范提取车联网指令载荷,以JT/T808协议为例,指令位于TCP有效载荷的第2、3字节,首先确定单流中数据包含有有效TCP载荷,判断有效TCP载荷第一个字节是否是协议标志位0x7e,若是,则提取第2、3位载荷;
3-2.将每条单流中的指令载荷按照包次序进行拼接,若x个包含有指令,则指令长度为2x;
进一步地,所述步骤4中前m条单流指令,若单流指令数量不足m,则进行相应填充,每条单流前m个字节,若字节数不足m,使用0填充,将提取到的16进制载荷内容映射至[0,255],m*m的二维矩阵刚好满足m*m的灰度图,本方案m取值30;
进一步地,所述步骤5搭建CNN模型包括以下步骤:
5-1.输入车联网的网络流量,根据车联网协议特征识别出车联网的流量,并按车联网协议的TCP载荷中的协议标志位提取指令值。
针对样本中的每条车联网协议流提取的指令值按步骤3进行指令序列化处理,并对正常样本流量提取的车联网指令序列化标为1(表示正向),对异常车联网流量提取的车联网指令序列化标为0(表示反向),形成正反向m*m的矩阵序列。
将m*m的矩阵序列作为卷积神经网络CNN结构的网络输入层。
5-2.在卷积层对网络输入层的m*m的矩阵序列进行提取特征,对每一个输入序列进行卷积操作,包含一个过滤器(卷积核)F∈w*h,过滤器依次对二维矩阵中窗口大小为w*h的内容进行操作并生成特征图Yw*h,公式:
Yw*h=Xm*m*Fw*h=∑iXi∑jXjF(w-j)(h-i);
w、h为特征图的宽、高,i、j为二维矩阵的行、列号,即遍历整个二维矩阵,由于输出特征的维度与过滤器移动的步长有一定关系,可能出现二维矩阵边界无法遍历的情况,因此需要对二维矩阵进行padding(填充)处理,本方案采用SAME填充模式;
5-3.针对车联网指令序列进行特征提取的二维矩阵填充处理后,对输出数据进行非线性处理,一般可以选择Sigmoid函数、tanh函数或者ReLU函数,本方案选择ReLU函数,避免出现梯度消失,为了加快收敛和训练速度,本层卷积核大小为[5*5];
5-4.对车联网指令序列进行卷积处理后,为压缩卷积数据计算结果的数据数量,降低特征的维度,从而降低过拟合现象的发生并且在一定程度上去除部分冗余信息,对指令序列进行池化处理,一般选择最大池化或者均值池化,本方案采用最大池化,即通过特征映射的最大值来反映原始特征;
5-5.最后将车联网指令序列池化处理后的数据进行全连接处理,即将提取的特征全部连接起来形成整体特征,通过Softmax实现正常流量、异常流量的分类;
进一步地,所述步骤6中对待检测流量进行分类,首先需要采用步骤2,3,4方法对数据流进行预处理,然后输入训练好的CNN模型,输出识别结果(1表示正常流量,0表示异常流量)。
本装置包括:
流量采集模块:在车联网云服务平台,通过抓包工具抓取由车载终端与云服务平台交互流量,异常流量主要是在云服务平台采集的入侵、探测等流量;
数据预处理模块:通过三元组(源IP,目的IP,目的端口)将混合流量拆分成多组不同源IP的会话流;再按照五元组(源IP,源端口,目的IP,目的端口,传输层协议)划分成单流;
规则提取模块:根据常见车联网协议规范,在单流指定偏移位置提取指令载荷,将指令载荷进行拼接序列化,处理平均指令,形成m*m的数据组(前m条单流指令,每条单流前m个字节);
模型训练模块:分别将正常、异常流量的指令序列打标,输入CNN模型训练,得到判别模型;
未知流量识别模块:未知流量经过数据预处理、规则提取模块后,输入CNN模型,输出判定结果。
本发明通过提取车联网协议中的指令载荷,针对车联网指令及指令序列化特征来识别车联网中的伪装、入侵、攻击等异常流量,结合卷积神经网络CNN,将特征进一步收敛、聚合,显著提高识别准确率。,本发明相比现有技术相比,针对性更强,鉴于车联网协议均含有指令数据,本发明可以根据业务需求,针对某一类或者多类别车联网协议做异常流量的识别。
本发明通过对车联网的协议标准进行分析,以JT/T808为例,它由标志位、消息头、消息体、校验码、标志位组成,其中指令消息头的前2个字节,主要包含驾驶员信息、地理位置、路况信息、车辆行驶信息的采集、查询、上报等67个指令;通过DPI(深度包检测)技术,可以精准获取指令载荷,并对指令数据进行拼接,将具有时序性的指令数据采用CNN模型通过卷积、池化来收敛特征,针对该协议的伪装、探测、入侵等异常流量,其载荷的指令以及指令序列可作为识别特征。本发明输入对象是同一源IP的多组会话流,从判断单流是否异常变为判断源IP是否通讯异常,兼顾了协议的自身特性与识别对象的多样性,在实际环境中对车联网异常流量具备较高的识别率。
本发明具有以下优点:
本方法基于车联网协议的本身特性,通过将当前主流车联网协议中的指令及指令序列作为正常、异常流量的识别特征,结合卷积神经网络(CNN)将特征进一步强化、收敛,由于以IP层级的会话流为训练样本,相比传统的单流样本,更能体现流量在不同时段中不同的指令操作,将流量的时间特征充分利用。
附图说明
图1为一种基于指令序列的车联网异常流量识别方法实施例1-2流程图;
图2为一种基于指令序列的车联网异常流量识别方法实施例1-2示意图;
图3为一种基于指令序列的车联网异常流量识别装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1-2所示,一种基于指令序列的车联网异常流量识别方法,包括以下步骤:
S1、训练用数据流量采集分析:流量采集模块通过抓包工具抓取车联网流量中的正常流量和异常流量作为训练用数据流量输出至数据预处理模块,正常流量为车载终端和云服务平台交互流量,异常流量从云服务平台采集;
正常流量包括注册流量、鉴权流量、心跳流量、地图路况查询流量、上传流量、辅助驾驶信息流量和娱乐信息服务流量,异常流量包括云服务平台采集的入侵流量、扫描探测流量和DDOS流量,正常流量和异常流量均为TCP流量;
S2、训练用车联网流量预处理:数据预处理模块将训练用数据流量通过三元组拆分成多组不同源IP会话流后再依次将不同源IP会话流按照五元组划分成单流输出至规则提取模块;
不同源IP会话流为双向流;
三元组包括源IP、目的IP和目的端口,五元组包括源IP、源端口、目的IP、目的端口和传输层协议,不同源IP会话流的源IP相同、目的IP相同、目的端口相同、源端口不同,每组不同源IP会话流按照TCP链接的发起到结束切割成多条单流;
S3、训练用车联网流量规则提取:规则提取模块根据车联网协议的结构从单流指定的偏移位置提取车联网指令载荷并将车联网指令载荷按照包次序进行拼接,得到每个单流对应的指令流序列,然后针对每一个同源IP下的多组指令流序列,选择前m个指令流的前m个字节内容转换成m*m的图片并形成二维矩阵Xm*m输出至模型训练模块,每一个同源IP会话流输出一个二维矩阵;
车联网协议为JT/T808协议,指定的偏移位置为有效载荷的第2字节和第3字节,通过判断单流的有效TCP载荷第一个字节是否是协议标志位0x7e来确认车联网协议是否为JT/T808协议;
当前m个指令流中的单流字节数不足m时,使用0填充;
S4、CNN模型搭建及训练:模型训练模块搭建卷积神经网络CNN模型,将正常流量二维矩阵Xm*m打标为1、异常流量二维矩阵Xm*m打标为0后输入CNN模型训练,得到判别模型;
S41、模型训练模块搭建卷积神经网络CNN模型,卷积神经网络CNN模型包括依次连接的网络输入层、卷积层、池化处理层和全连接处理层;
S42、网络输入层将二维矩阵Xm*m转换为m*m的矩阵序列后输出至卷积层,m*m的矩阵序列包括打标为1的正常流量二维矩阵Xm*m和打标为0的异常流量二维矩阵Xm*m,其中,1为正向,0为反向;
S43、卷积层对m*m的矩阵序列进行特征提取和卷积操作得到特征图;卷积操作使用过滤器F,过滤器F∈w*h,过滤器F依次对二维矩阵Xm*m中窗口大小为w*h的内容进行过滤并生成特征图Yw*h;
Yw*h=Xm*m*Fw*h=∑iXi∑jXjF(w-j)(h-i);
其中,w为特征图的宽,h为特征图的高,i为二维矩阵的行号,j为二维矩阵的列号;
当过滤器F无法遍历二维矩阵Xm*m的边界时,对二维矩阵Xm*m进行填充,填充模式为SAME填充模式;
S44、卷积层对特征图Yw*h进行非线性处理得到非线性数据;非线性处理使用以下任意一种函数:Sigmoid函数、tanh函数、ReLU函数;
S45、池化处理层对非线性数据进行池化处理得到池化处理后数据输出至全连接处理层,池化处理为最大池化或均值池化;
S46、全连接处理层将池化处理后数据进行全连接处理,得到二维矩阵的整体特征;
全连接处理层使用Softmax对二维矩阵的整体特征进行正常流量、异常流量的分类;
S5、待检测车联网流量检测并输出识别结果:将待检测车联网流量依次输入数据预处理模块和规则提取模块进行预处理、规则提取后对通过判别模型对正常流量和异常流量分类并输出识别结果。
实施例2
如图1-2所示,一种基于指令序列的车联网异常流量识别方法,包括以下步骤:
1.数据流量采集分析,主要是捕获车联网在通信过程中产生的交互数据,包括采集由车载终端与云服务平台交互流量信息,异常流量主要是在云服务平台采集的入侵、探测等流量;
2.车联网流量预处理,通过三元组(源IP,目的IP,目的端口)将混合流量拆分成多组不同源IP的会话流;
3.依次将不同源IP的数据流按照五元组(源IP,源端口,目的IP,目的端口,传输层协议)划分成单流,根据车联网协议规范,在单流指定偏移位置提取车联网指令载荷,将指令载荷进行拼接,每个单流得到对应的指令流序列;
4.针对每一个同源IP下的多组指令流,选择前m个指令流的前m个字节内容,转换成m*m的图片,形成二维矩阵Xm*m,每一个源IP会话流输出一个二维矩阵;
5.搭建卷积神经网络CNN模型,将正常流量的Xm*m打标为1,异常流量的Xm*m打标为0,将正、反向数据输入CNN模型训练,得到模型;
6.加载模型,对待检测流量进行正常流量、异常流量分类。
进一步地,所述步骤1还包括以下步骤:
1-1.采集的正常流量类型为TCP流量,包含车载终端与云服务平台的注册,鉴权,心跳,地图路况查询、上传,辅助驾驶信息,娱乐信息服务等多样化流量;
1-2.采集的异常流量类型为TCP流量,主要包含入侵、扫描探测、DDOS等异常、恶意流量;
进一步地,所述步骤2中根据三元组拆分后的会话流量是双向流,每组会话流源IP、目的IP、目的端口相同,源端口不同;每组会话流可以按照TCP链接的发起到结束切割成多条单流;
进一步地,所述步骤3还包括以下步骤:
3-1.将步骤2中的单流按照不同车联网协议规范提取车联网指令载荷,以JT/T808协议为例,指令位于TCP有效载荷的第2、3字节,首先确定单流中数据包含有有效TCP载荷,判断有效TCP载荷第一个字节是否是协议标志位0x7e,若是,则提取第2、3位载荷;
3-2.将每条单流中的指令载荷按照包次序进行拼接,若x个包含有指令,则指令长度为2x;
进一步地,所述步骤4中前m条单流指令,若单流指令数量不足m,则进行相应填充,每条单流前m个字节,若字节数不足m,使用0填充,将提取到的16进制载荷内容映射至[0,255],m*m的二维矩阵刚好满足m*m的灰度图,本方案m取值30;
进一步地,所述步骤5搭建CNN模型包括以下步骤:
5-1.输入车联网的网络流量,根据车联网协议特征识别出车联网的流量,并按车联网协议的TCP载荷中的协议标志位提取指令值。
针对样本中的每条车联网协议流提取的指令值按步骤3进行指令序列化处理,并对正常样本流量提取的车联网指令序列化标为1(表示正向),对异常车联网流量提取的车联网指令序列化标为0(表示反向),形成正反向m*m的矩阵序列。
将m*m的矩阵序列作为卷积神经网络CNN结构的网络输入层。
5-2.在卷积层对网络输入层的m*m的矩阵序列进行提取特征,对每一个输入序列进行卷积操作,包含一个过滤器(卷积核)F∈w*h,过滤器依次对二维矩阵中窗口大小为w*h的内容进行操作并生成特征图Yw*h,公式:
Yw*h=Xm*m*Fw*h=∑iXi∑jXjF(w-j)(h-i);
w、h为特征图的宽、高,i、j为二维矩阵的行、列号,即遍历整个二维矩阵,由于输出特征的维度与过滤器移动的步长有一定关系,可能出现二维矩阵边界无法遍历的情况,因此需要对二维矩阵进行padding(填充)处理,本方案采用SAME填充模式;
5-3.针对车联网指令序列进行特征提取的二维矩阵填充处理后,对输出数据进行非线性处理,一般可以选择Sigmoid函数、tanh函数或者ReLU函数,本方案选择ReLU函数,避免出现梯度消失,为了加快收敛和训练速度,本层卷积核大小为[5*5];
5-4.对车联网指令序列进行卷积处理后,为压缩卷积数据计算结果的数据数量,降低特征的维度,从而降低过拟合现象的发生并且在一定程度上去除部分冗余信息,对指令序列进行池化处理,一般选择最大池化或者均值池化,本方案采用最大池化,即通过特征映射的最大值来反映原始特征;
5-5.最后将车联网指令序列池化处理后的数据进行全连接处理,即将提取的特征全部连接起来形成整体特征,通过Softmax实现正常流量、异常流量的分类;
进一步地,所述步骤6中对待检测流量进行分类,首先需要采用步骤2,3,4方法对数据流进行预处理,然后输入训练好的CNN模型,输出识别结果(1表示正常流量,0表示异常流量)。
如上图所示,通过在车载终端捕获流量数据,将流量经过IP层级、TCP层级的数据预处理,提取指令流并形成车联网指令集序列,将指令序列转换成图片输入CNN训练,得到最终模型,针对未知流量的识别,同样经过数据预处理,将处理后的标准化数据输入模型,即可判定流量的正常、异常分类。
实施例3
如图3所示,一种识别车联网异常流量的装置,包括依次连接的流量采集模块、数据预处理模块、规则提取模块和模型训练模块;
流量采集模块用于通过抓包工具抓取车联网流量中的正常流量和异常流量作为训练用数据流量输出至数据预处理模块;
正常流量包括注册流量、鉴权流量、心跳流量、地图路况查询流量、上传流量、辅助驾驶信息流量和娱乐信息服务流量,异常流量包括云服务平台采集的入侵流量、扫描探测流量和DDOS流量;
数据预处理模块用于接收训练用数据流量和待检测车联网流量,通过三元组拆分成多组不同源IP会话流,数据预处理模块用于按照五元组将划不同源IP会话流分成单流输出至规则提取模块;
三元组包括源IP、目的IP和目的端口;
五元组包括源IP、源端口、目的IP、目的端口和传输层协议;
规则提取模块用于根据车联网协议从单流的指定偏移位置提取车联网指令载荷并将车联网指令载荷按照包次序进行拼接序列化后形成m*m的二维矩阵输出至模型训练模块;
m*m的数据组包括m条单流指令,每条单流指令包括m个字节;
模型训练模块用于分别将训练用正常流量和训练用异常流量的指令序列打标后输入卷积神经网络CNN模型进行模型训练,得到判别模型,判别模型用于对待检测车联网流量进行识别并判断是否为异常流量后输出识别结果;
卷积神经网络CNN模型包括依次连接的网络输入层、卷积层、池化处理层和全连接处理层。
实施例4
如图3所示,一种识别车联网异常流量的装置,包括:
流量采集模块:在车联网云服务平台,通过抓包工具抓取由车载终端与云服务平台交互流量,异常流量主要是在云服务平台采集的入侵、探测等流量;
数据预处理模块:通过三元组(源IP,目的IP,目的端口)将混合流量拆分成多组不同源IP的会话流;再按照五元组(源IP,源端口,目的IP,目的端口,传输层协议)划分成单流;
规则提取模块:根据常见车联网协议规范,在单流指定偏移位置提取指令载荷,将指令载荷进行拼接序列化,处理平均指令,形成m*m的数据组(前m条单流指令,每条单流前m个字节);
模型训练模块:分别将正常、异常流量的指令序列打标,输入CNN模型训练,得到判别模型;
未知流量识别模块:未知流量经过数据预处理、规则提取模块后,输入CNN模型,输出判定结果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种基于指令序列的车联网异常流量识别方法,其特征在于:包括以下步骤:
S1、训练用数据流量采集分析:流量采集模块通过抓包工具抓取车联网流量中的正常流量和异常流量作为训练用数据流量输出至数据预处理模块,所述正常流量为车载终端和云服务平台交互流量,所述异常流量从所述云服务平台采集;
S2、训练用车联网流量预处理:所述数据预处理模块将所述训练用数据流量通过三元组拆分成多组不同源IP会话流后再依次将所述不同源IP会话流按照五元组划分成单流输出至规则提取模块;
S3、训练用车联网流量规则提取:所述规则提取模块根据车联网协议的结构从所述单流指定的偏移位置提取车联网指令载荷并将所述车联网指令载荷按照包次序进行拼接,得到每个单流对应的指令流序列,然后针对每一个同源IP下的多组所述指令流序列,选择前m个指令流的前m个字节内容转换成m*m的图片并形成二维矩阵Xm*m输出至模型训练模块,每一个同源IP会话流输出一个二维矩阵;
S4、CNN模型搭建及训练:所述模型训练模块搭建卷积神经网络CNN模型,将正常流量二维矩阵Xm*m打标为1、异常流量二维矩阵Xm*m打标为0后输入CNN模型训练,得到判别模型;
S41、所述模型训练模块搭建卷积神经网络CNN模型,所述卷积神经网络CNN模型包括依次连接的网络输入层、卷积层、池化处理层和全连接处理层;
S42、所述网络输入层将二维矩阵Xm*m转换为m*m的矩阵序列后输出至所述卷积层,所述m*m的矩阵序列包括打标为1的正常流量二维矩阵Xm*m和打标为0的异常流量二维矩阵Xm*m,其中,1为正向,0为反向;
S43、所述卷积层对所述m*m的矩阵序列进行特征提取和卷积操作得到特征图;所述卷积操作使用过滤器F,所述过滤器F∈w*h,所述过滤器F依次对所述二维矩阵Xm*m中窗口大小为w*h的内容进行过滤并生成特征图Yw*h;
Yw*h=Xm*m*Fw*h=ΣiXiΣjXjF(w-j)(h-i);
其中,w为所述特征图的宽,h为所述特征图的高,i为所述二维矩阵的行号,j为所述二维矩阵的列号;
S44、所述卷积层对所述特征图Yw*h进行非线性处理得到非线性数据;
S45、所述池化处理层对所述非线性数据进行池化处理得到池化处理后数据输出至所述全连接处理层,所述池化处理为最大池化或均值池化;
S46、所述全连接处理层将所述池化处理后数据进行全连接处理,得到二维矩阵的整体特征;
S5、待检测车联网流量检测并输出识别结果:将待检测车联网流量依次输入所述数据预处理模块和所述规则提取模块进行预处理、规则提取后对通过所述判别模型对正常流量和异常流量分类并输出识别结果。
2.根据权利要求1所述的一种基于指令序列的车联网异常流量识别方法,其特征在于:步骤S1中,所述正常流量包括注册流量、鉴权流量、心跳流量、地图路况查询流量、上传流量、辅助驾驶信息流量和娱乐信息服务流量,所述异常流量包括所述云服务平台采集的入侵流量、扫描探测流量和DDOS流量,所述正常流量和所述异常流量均为TCP流量。
3.根据权利要求1所述的一种基于指令序列的车联网异常流量识别方法,其特征在于:步骤S2中,所述不同源IP会话流为双向流;
所述三元组包括源IP、目的IP和目的端口,所述五元组包括源IP、源端口、目的IP、目的端口和传输层协议,所述不同源IP会话流的源IP相同、目的IP相同、目的端口相同、源端口不同,每组所述不同源IP会话流按照TCP链接的发起到结束切割成多条所述单流。
4.根据权利要求1所述的一种基于指令序列的车联网异常流量识别方法,其特征在于:步骤S3中,所述车联网协议为JT/T808协议,所述指定的偏移位置为有效载荷的第2字节和第3字节,根据所述单流的有效TCP载荷第一个字节是否是协议标志位0x7e来确认所述车联网协议是否为JT/T808协议;
当前m个所述指令流中的所述单流字节数不足m时,使用0填充。
5.根据权利要求1所述的一种基于指令序列的车联网异常流量识别方法,其特征在于:步骤S43中,当所述过滤器F无法遍历所述二维矩阵Xm*m的边界时,对所述二维矩阵Xm*m进行填充,填充模式为SAME填充模式。
6.根据权利要求1所述的一种基于指令序列的车联网异常流量识别方法,其特征在于:步骤S44中,所述非线性处理使用以下任意一种函数:Sigmoid函数、tanh函数、ReLU函数。
7.根据权利要求1所述的一种基于指令序列的车联网异常流量识别方法,其特征在于:步骤S46中,所述全连接处理层使用Softmax对所述二维矩阵的整体特征进行正常流量、异常流量的分类。
8.一种基于指令序列的车联网异常流量识别装置,其特征在于:包括依次连接的流量采集模块、数据预处理模块、规则提取模块和模型训练模块;
所述流量采集模块用于通过抓包工具抓取车联网流量中的正常流量和异常流量作为训练用数据流量输出至所述数据预处理模块;
所述数据预处理模块用于接收所述训练用数据流量和待检测车联网流量,通过三元组拆分成多组不同源IP会话流,所述数据预处理模块用于按照五元组将划所述不同源IP会话流分成单流输出至所述规则提取模块;
所述规则提取模块用于根据车联网协议从所述单流的指定偏移位置提取车联网指令载荷并将所述车联网指令载荷按照包次序进行拼接序列化后形成m*m的二维矩阵输出至所述模型训练模块;
所述模型训练模块用于分别将训练用正常流量和训练用异常流量的指令序列打标后输入卷积神经网络CNN模型进行模型训练,得到判别模型,所述判别模型用于对待检测车联网流量进行识别并判断是否为异常流量后输出识别结果。
9.根据权利要求8所述的一种基于指令序列的车联网异常流量识别装置,其特征在于:所述正常流量包括注册流量、鉴权流量、心跳流量、地图路况查询流量、上传流量、辅助驾驶信息流量和娱乐信息服务流量,所述异常流量包括云服务平台采集的入侵流量、扫描探测流量和DDOS流量;
所述三元组包括源IP、目的IP和目的端口;
所述五元组包括源IP、源端口、目的IP、目的端口和传输层协议;
所述m*m的数据组包括m条单流指令,每条所述单流指令包括m个字节;
所述卷积神经网络CNN模型包括依次连接的网络输入层、卷积层、池化处理层和全连接处理层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210047333.4A CN114422623B (zh) | 2022-01-17 | 2022-01-17 | 一种基于指令序列的车联网异常流量识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210047333.4A CN114422623B (zh) | 2022-01-17 | 2022-01-17 | 一种基于指令序列的车联网异常流量识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114422623A CN114422623A (zh) | 2022-04-29 |
CN114422623B true CN114422623B (zh) | 2022-11-18 |
Family
ID=81273083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210047333.4A Active CN114422623B (zh) | 2022-01-17 | 2022-01-17 | 一种基于指令序列的车联网异常流量识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114422623B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
CN110896381A (zh) * | 2019-11-25 | 2020-03-20 | 中国科学院深圳先进技术研究院 | 一种基于深度神经网络的流量分类方法、系统及电子设备 |
CN112003870A (zh) * | 2020-08-28 | 2020-11-27 | 国家计算机网络与信息安全管理中心 | 一种基于深度学习的网络加密流量识别方法及装置 |
CN112583852A (zh) * | 2020-12-28 | 2021-03-30 | 华北电力大学 | 一种异常流量检测方法 |
CN112769595A (zh) * | 2020-12-22 | 2021-05-07 | 北京百度网讯科技有限公司 | 异常检测方法、装置、电子设备及可读存储介质 |
CN112804123A (zh) * | 2021-01-13 | 2021-05-14 | 国网安徽省电力有限公司亳州供电公司 | 一种用于调度数据网的网络协议识别方法及系统 |
CN113037646A (zh) * | 2021-03-04 | 2021-06-25 | 西南交通大学 | 一种基于深度学习的列车通信网络流量识别方法 |
CN113179223A (zh) * | 2021-04-23 | 2021-07-27 | 中山大学 | 一种基于深度学习和序列化特征的网络应用识别方法及系统 |
CN113709110A (zh) * | 2021-07-27 | 2021-11-26 | 深圳市风云实业有限公司 | 一种软硬结合的入侵检测系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218213B (zh) * | 2018-09-25 | 2022-09-16 | 中国银联股份有限公司 | 一种流量调控方法及装置 |
CN111294341B (zh) * | 2020-01-17 | 2021-12-28 | 成都信息工程大学 | 基于自编码器和递归神经网络的车载系统入侵检测方法 |
CN111401609B (zh) * | 2020-03-04 | 2023-01-17 | 平安科技(深圳)有限公司 | 车流量时间序列的预测方法及预测装置 |
-
2022
- 2022-01-17 CN CN202210047333.4A patent/CN114422623B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
CN110896381A (zh) * | 2019-11-25 | 2020-03-20 | 中国科学院深圳先进技术研究院 | 一种基于深度神经网络的流量分类方法、系统及电子设备 |
CN112003870A (zh) * | 2020-08-28 | 2020-11-27 | 国家计算机网络与信息安全管理中心 | 一种基于深度学习的网络加密流量识别方法及装置 |
CN112769595A (zh) * | 2020-12-22 | 2021-05-07 | 北京百度网讯科技有限公司 | 异常检测方法、装置、电子设备及可读存储介质 |
CN112583852A (zh) * | 2020-12-28 | 2021-03-30 | 华北电力大学 | 一种异常流量检测方法 |
CN112804123A (zh) * | 2021-01-13 | 2021-05-14 | 国网安徽省电力有限公司亳州供电公司 | 一种用于调度数据网的网络协议识别方法及系统 |
CN113037646A (zh) * | 2021-03-04 | 2021-06-25 | 西南交通大学 | 一种基于深度学习的列车通信网络流量识别方法 |
CN113179223A (zh) * | 2021-04-23 | 2021-07-27 | 中山大学 | 一种基于深度学习和序列化特征的网络应用识别方法及系统 |
CN113709110A (zh) * | 2021-07-27 | 2021-11-26 | 深圳市风云实业有限公司 | 一种软硬结合的入侵检测系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114422623A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113179223B (zh) | 一种基于深度学习和序列化特征的网络应用识别方法及系统 | |
CN112085039B (zh) | 一种基于随机森林的icmp隐蔽通道检测方法 | |
CN109768985B (zh) | 一种基于流量可视化与机器学习算法的入侵检测方法 | |
CN112564974B (zh) | 一种基于深度学习的物联网设备指纹识别方法 | |
CN111431986B (zh) | 基于5g和ai云边协同的工业智能质检系统 | |
CN111447190A (zh) | 一种加密恶意流量的识别方法、设备及装置 | |
CN102315974A (zh) | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 | |
CN107819646A (zh) | 一种分布式传输的网络流量分类系统和方法 | |
CN110034966B (zh) | 一种基于机器学习的数据流分类方法及系统 | |
CN111832398B (zh) | 一种无人机影像的配电线路杆塔导地线断股图像检测方法 | |
CN111311569A (zh) | 基于无人机巡检的杆塔缺陷识别方法 | |
TWI715457B (zh) | 非監督式惡意流量偵測系統及方法 | |
CN112887291A (zh) | 基于深度学习的i2p流量识别方法及系统 | |
CN106645180A (zh) | 检查基板玻璃缺陷的方法、现场终端及服务器 | |
CN112367274A (zh) | 一种工控未知协议流量识别方法 | |
CN112910853A (zh) | 基于混合特征的加密流量分类方法 | |
CN116681979A (zh) | 一种复杂环境下的电力设备目标检测方法 | |
CN114422623B (zh) | 一种基于指令序列的车联网异常流量识别方法及装置 | |
CN114189350B (zh) | 一种基于LightGBM的列车通信网络入侵检测方法 | |
CN114726802A (zh) | 一种基于不同数据维度的网络流量识别方法及装置 | |
CN115473850B (zh) | 一种基于ai的实时数据过滤方法、系统及存储介质 | |
CN111832485A (zh) | 一种用于识别场景的深度学习方法及自动学习巡检方法 | |
CN116260736A (zh) | 一种基于深度学习的去中心化应用流量识别方法和系统 | |
CN111294381A (zh) | 一种基于任务规划的异构信息获取与分发方法 | |
CN114519390A (zh) | 一种基于多模态深度学习的quic流量分类方法 |
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 |