电子通信装置的制造及其应用技术1.本发明涉及计算机网络与电子信息技术领域,具体涉及一种基于图神经网络的包粒度网络流量分类方法。背景技术:2.互联网和信息技术是当今世界科学技术研究中发展最为快速的技术之一。我国自接入国际互联网以来,在短短二十多年内,经历了从国际跟跑到国际并跑,再到未来可期的国际领跑三大跨越,取得的巨大成就有目共睹。截至到2018年6月,我国的网民人数已经达到8.02亿,互联网普及率达57.7%,发展速度可谓惊人。互联网技术因其方便快捷,移动性好,价格低廉等特点,正在改变着人们的生活方式。小到聊天、购物、娱乐,大到航天航空、武器导弹都离不开互联网。互联网的飞速发展推动了全球化的生产和生活方式的深刻变革。随着网络理论技术的发展、网络硬件性能的不断增强,整个互联网的流量规模也在不断地增加。人民生活水平的提高推动着网络应用技术的进一步发展,促使网络供应商不断地提升网络服务的水平。如今,现代互联网的流量的多样性和复杂性远远超出了当初底层互联网架构者的想象。3.网络流量是记录和反映网络活动及运营情况的重要载体。随着互联网的高速发展,为了满足互联网用户的多样化需求,各种新的网络服务层出不穷,导致网络流量无论是在数量还是种类上都不断增加。这些新型应用扩大了互联网的应用规模,提供了更丰富的网络服务。但是其采用的应用协议特征也有别于传统的应用类型,变得更加复杂和多样化,给网络流量的管理和规划造成了极大的冲击。4.网络流量分类是指按照网络的应用类型(比如ftp、http、smtp、360、qq等),将基于tcp/ip协议的网络通信产生的tcp或udp流量进行分类。网络流量分类技术是保障网络安全的关键技术,也是现代网络管理与安全系统中最基本的功能。同时,网络流量分类技术在qos服务质量控制、网络应用趋势分析等方面也具有重大的作用,包含极大应用价值,具体体现在:5.1、通过网络流量识别技术,能够掌控网络内部资源的分配情况,网络运营商和网络服务提供商(isp)可以将其应用到网络服务质量(qos)控制机制中,保障网络带宽等网络资源的合理分配,从而促进网络向更加合理的方向发展。如果在各网络关口对网络流量进行分类,自适应匹配不同的应用协议,将可以帮助网络管理者对网络流量实施有效的差异化、精细化管理。这样,也有利于解决网络监管中存在的种种问题,为网络用户营造更加健康高效的网络环境。6.2、实现网络流量的识别分类,可以对企业或用户的业务流量进行管理,从而能够宏观上动态调配网络资源,为用户定制合理的网络运营方案,实现更加高效的网络应用。通过识别不同应用的网络流量,公司内部可以在工作时间禁止使用娱乐相关的应用流量,政府部门可以设定禁止非法使用p2p等加密传输业务等。最近兴起的针对特殊应用的专有流量优惠(如腾讯大王卡),更是以网络流量分类技术为核心。7.3、网络流量识别分类对保障网络空间安全具有重要作用。例如,入侵检测系统(ids)可以利用网络流量分类技术,将恶意网络流量识别出来并采取隔离处理等措施,通过对木马、web注入等恶意攻击流量的准确识别,提前告警或阻断可能的攻击,实现对网络设备的保护,保障网络系统安全可靠地运行。在政府企业等敏感网络中,还可以利用网络流量分类技术对出入口网络流量进行准确的识别与监管,有效地监控和管理网络流量,防止机密、敏感信息泄露以造成重大的网络信息安全事故。此外,在基于云计算的环境中,网络流量分类技术在确保云计算服务质量方面也发挥着极其重要的作用。8.目前业界已经提出了许多流量分类的方案。譬如公开号cn108650194a的专利文献提出了基于k_means和knn融合算法的网络流量分类方法。该方法的框架是针对每个应用协议构建一个二分类器,由决策规则将所有分类器的输出整合为最终输出。算法上融合了无监督的k_means算法和有监督的knn算法,此外,该方法还提出了基于k_means迭代的特征选择算法,目的是选出高分离度的特征,以节省时间、空间和提高分类效果。该方法可以识别出未登录流量,与典型的分类方法相比在功能上有了扩展。但是由于该方法需要针对每种应用类型选出对应的最佳特征集,这就导致其训练和检测速度较慢,系统难以动态地自我更新。对于构建能够高速训练、优化更新和检测的用于实时检测的网络流量分类系统来说,该方法难以成为有效的技术。9.再比如,公开号为cn109361617a的专利文献,提供一种基于网络包载荷的卷积神经网络流量分类方法及系统,其中,方法包括以下步骤:将网络抓包所得pcap文件中所有的数据包传输层的去除头部后的载荷数据提出取来,将数据包的载荷的信息转换为字节序列,随机打乱数据顺序并且进行训练集、验证集和测试集的分割;将结构化的数据输入一维卷积神经网络进行训练,完成神经网络隐藏单元的权重参数调整;在验证集和测试集上进行性能验证,若达不到性能指标,则反馈给模型训练模块继续调整模型参数。该方法可以免除繁琐的人工标注工作,只需要流量数据包的载荷数据即可完成分类。用户只需将模型部署到合适的位置,即可随时随机的截取链路中的数据包输入模型即可得到流量类别结果。虽然该方法在部署行具有一定的便利性,但是只利用普通的卷积神经网络来从数据包负载提取特征未免太过粗糙,分类精度难以保证。10.另外公开号为cn109344204a的专利文献提供一种具有最优个体收敛速率网络流量分类方法,它是一种较为新型的的随机一阶梯度算法,一定程度上能够解决大规模网络数据分类问题。整个步骤包括:输入网络流量,进行必要的预处理工作,划分训练样本与测试样本;每一轮迭代都只随机抽取一个训练样本,采用一种具有最优个体收敛速率的分类算法进行训练模型,计算每一轮迭代的具有稀疏性的权值w,根据w可以进一步计算目标函数值和个体收敛速率;最后用测试样本进行模型的测试,得到网络流量分类的精度。该方法提出的网络流量分类方法,具有个体最优收敛速率,虽然可以有效解决大规模网络流量分类、识别问题,也无需进行特定协议解析,具有一定通用性。但是其每次只能针对一种特定的应用进行分类,并不能识别未知类别流量,而且分类精度也难以保证。11.公开号为cn106533784a的专利文献,提供了一种提高应用层流量分类准确率的方法,其主要包括以下步骤:第一步、将未知应用的应用层流量进行预处理,以作为基于粗糙集的流量特征建模的基础;第二步、基于粗糙集的流量特征进行建模;第三步、选取指导分类的属性;第四步、计算属性的总粗糙度;第五步、按照属性粗糙度对各类进行排序;第六步、根据粗糙度实施类进行分割;第七步、根据最小描述长度准则,确定最佳聚类簇数。该方法减少不相关流量造成的噪声影响,提高协议关键词提取的准确率,进而可为应用层流量识别、异常检测提供可靠而准确的流量特征。但是该方法需要对所有属性特征的粗糙度进行排序,浪费了一定的时间,并且也没有考虑网络中的噪声流量问题。当网络中的噪声流量较多时,将很大程度上影响流量属性特征的划分准确性,进而影响最终的分类精度。这使得该方法在实际应用中可能会面临一定的问题。12.公开号为cn107846326a的专利文献提供了一种自适应的半监督网络流量分类方法、系统及设备,该方法包括:获取网络流,提取每条网络流中预设固定量的流特征,得到网络流特征向量;根据已标记的网络流特征向量,计算出每个类型中的网络流特征向量集合的质心,得到向量集m;以向量集m为初始中心点,进行自适应的半监督k-means聚类;根据最大后验概率,将得到的每类簇中的网络流映射到所属流量类型;将已知类型的流量簇作为训练数据,训练出线上的流量分类器。还涉及一种系统,该系统包括:获取模块、向量集处理模块、聚类模块、分类模块、输出模块。还涉及一种设备,该设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序。该方法虽然利用了未标记的流量,但是没有考虑未标记流量中的噪声问题,这可能会对分类精度造成影响。同时,也没有针对未知类别流量设计识别模块13.公开号为cn105390132的专利文献提供了一种基于语言模型的应用协议识别方法及系统。该方法包括离线阶段和在线阶段;离线阶段包括:将混杂的原始网络数据报文划分为目标应用协议的数据报文集合和非目标应用协议的数据报文集合;构建目标应用协议的语言模型;提取已经标记类别的网络数据报文的协议关键字,作为网络数据报文的分类特征;对离线数据进行学习训练,获得目标应用协议的检测模型;在线阶段包括:根据离线阶段得到的语言模型提取待测网络数据报文的协议关键字作为其分类特征;对待测网络数据报文的协议类别属性进行判别,并输出判别结果。该方法能够充分挖掘网络消息报文中潜在的协议语义信息,在线网络协议流量分类过程中具有高准确率。但是数据包负载中的信息仅仅依靠传统的语言模型可能难以挖掘出鲁棒的特征,实际应用时的鲁棒性可能不够强。14.目前,基于深度学习的包粒度网络流量分类方法主要面临以下挑战:(1)许多新兴的网络应用往往采用私有协议或复杂得负载加密方案,导致目前的深度学习方法的效率和效果大大降低;(2)目前的深度学习方法仅利用原始的包信息,如消息类型序列、数据包长度、原始字节序列等作为输入数据,直接输入到分类模型(如卷积神经网络(cnn)或循环神经网络(rnn))中,缺乏有效的数据组织方案来获得更准确的网络流量分类结果。图神经网络(graph neural network,gnn)作为一种新兴的技术,由于其能在复杂的图结构中学习到丰富的关系结构信息而受到了学术界的广泛关注。目前,图神经网络已成功地应用于知识图谱、图像处理和文本挖掘等多个领域。技术实现要素:15.本发明的主要目的在于克服现有技术的不足,提出一种新型的基于图神经网络的包粒度网络流量分类方法,以解决现有的包粒度网络流量分类方法缺乏有效的数据组织方案来获得更准确的网络流量分类结果等问题。16.为达上述目的,本发明提出如下技术方案:17.一种基于图神经网络的包粒度网络流量分类方法,包括如下步骤:s1、数据包图构建:将数据包内的字节作为节点,字节与字节间的相关信息作为边,来将数据包转换为一个无向图,得到数据包图;s2、表征学习:利用两层图卷积网络学习所述数据包图中每个节点的表征,并将这些节点的表征进行聚合,得到所述数据包图的表征;s3、分类:将所述数据包图的表征送入分类层,输出网络流量分类结果。18.进一步地:19.在步骤s1之前,还包括对数据包进行预处理的步骤s01~s04:s01、只保留有效载荷的数据包;s02、去掉数据包的以太网报头和剩余的ip、传输报头和上层的有效载荷;s03、对于大于110字节的报文,保留前110字节,丢弃其余的字节;s04、匿名化源ip地址和目的ip地址以及端口。20.在步骤s1中,用点互信息来表征字节与字节间的相关信息。21.步骤s1中,通过求解数据包内任意两个字节之间的点互信息,来在点互信息为正值的节点之间构建边。22.步骤s2中,采用均值法、注意力机制法或长短期记忆网络法来对所述数据包图中所有节点的表征进行聚合。23.本发明技术方案的有益效果在于:24.本发明针对网络流量数据包信息复杂,难以确定其所属应用类别的问题,提出了一种基于图神经网络的包粒度网络流量分类方法。图神经网络作为一种新兴的技术,由于其能在复杂的图结构中学习到丰富的关系结构信息而受到了学术界的广泛关注。目前,图神经网络已成功地应用于知识图谱、图像处理和文本挖掘等多个领域。在计算机网络区域,一个数据包由几个字节组成。如果将不同字节视为节点,将两个字节之间的关系视为对应的边,则可以将数据包转换为不超过256个节点的无向图。我们利用图神经网络处理复杂图的优势,通过分析数据包构成的图,可以帮助识别数据包的原始应用,从而对数据包进行分类。本发明为图神经网络在包粒度的网络流量分类任务上的应用开辟了道路,我们创新性地提出了将数据包转换为数据包图的方法,并利用图神经网络强大的处理复杂图的能力来分析数据包结构,更好地学习数据包图的表征,有助于显著提升网络流量分类效果和分类准确率。附图说明25.图1是本发明实施例提出的一种基于图神经网络的包粒度网络流量分类方法流程图。具体实施方式26.下面结合附图和具体的实施方式对本发明作进一步说明。27.在计算机网络区域,一个数据包由几个字节组成。如果将不同字节视为节点,将两个字节之间的关系视为对应的边,则可以将一个数据包转换为一个包含不超过256个节点的无向图。我们利用图神经网络处理复杂图的优势,通过分析数据包构成的图,可以帮助识别数据包的原始应用,从而对数据包进行分类。具体地,本发明实施例提出了一种基于图神经网络的包粒度网络流量分类方法,为了便于叙述,在本实施例部分将本发明提出的该方法命名为“tcgnn”;该方法可以准确地识别复杂的网络数据包所属的应用类别。该方法从图的角度来处理数据包,图1为该方法的流程图,通过将数据包内的字节(byte)作为节点,字节与字节间的相关信息作为边,来将数据包转换为一个无向图。然后利用两层图卷积神经网络学习每个节点的表征(特征向量),并将这些节点的表征用平均(mean)、注意力机制(attention)和长短期记忆网络(lstm)三种不同的策略中的任一种聚合在一起,得到整个数据包图的表征。最后,将数据包图的表征送入分类层,输出分类结果。本方法利用图卷积神经网络优秀的处理复杂图的能力来帮助提升包粒度的网络流量分类的准确率。28.本发明实施例的tcgnn方法主要包括如下步骤:第一步、数据包预处理;第二步、数据包图的构建;第三步、图表征的学习;第四步、分类。下面将具体描述四个步骤的具体实施过程。29.第一步、数据包预处理。由于我们使用的数据包数据集是从服务器捕获的,所以“pcap”文件(是wireshark记录网络流量的一种文件格式)包含大量原始数据包。在使用该数据集之前,可以按照以下四个步骤s01~s04依次对数据包进行预处理:30.s01、只保留有效载荷的数据包。31.s02、去掉数据包的以太网报头和剩余的ip、传输报头和上层的有效载荷。因为以太网报头只用于本地网络的l2层寻址,对应用识别无效。32.s03、对于大于110字节的报文,保留前110字节,丢弃其余的110字节;因为我们通过实验发现前110个字节足够取得优异的分类效果。33.s04、匿名化源ip地址和目的ip地址以及端口。因为一个应用程序可能会动态地改变ip地址,并对应于一个特定的端口。34.第二步、数据包图的构建。在对数据包进行预处理后,将每个数据包转换为一个图g=(v,e),其中v为节点集,e为边集。该转换是基于静态规则实现,不需要额外的训练参数。对于节点集,数据包字节序列中的不同字节被视为唯一节点,因此数据包图中不超过256个节点。对于边集合,本实施例引入了在自然语言处理中比较流行的度量词关联的点互信息(pmi)来表示数据包图中两个节点之间的连接关系。对于v中的任意节点a和节点b,pmi值可以这样计算:以这样计算:以这样计算:以这样计算:其中,息pmi(a,b)即表示数据包内的任意两个字节(对应两个节点)a与b之间的点互信息;#w为数据包字节序列中滑动窗口的总数,#w(a)是包含字节a的窗口数,#w(b)是包含字节b的窗口数,#w(a,b)是字节a与b同时出现的窗口数。滑动窗口可以全面捕获单字节或双字节出现或者同现的信息,以衡量字节之间的关联程度。pmi值为正值表示字节a和字节b之间的关系较密切,反之pmi值为负值则表示它们的关系距离较远。因此,本发明实施例只在pmi为正的两个字节节点之间构建边。假设一个数据包字节序列为“450032005512”,我们设置滑动窗口大小r=2。那么总共有5个窗口(即“4500”、“0032”、“3200”、“0055”和“5512”)。所以#w=5,#w(00)=4,#w(32)=2,#w(32,00)=2,因此pmi(32,00)=log54。35.第三步、图表征的学习。当一个数据包被转换成数据包图后,它的信息就被重新编码进数据包图的拓扑结构中。之后,本发明实施例提出的tcgnn方法将采用两层的图卷积神经网络来挖掘图中每个节点的表征。具体地,节点特征向量(即表征)的更新公式为:其中,矩阵是新学习到的节点表征,它的每一行是一个节点的新特征向量;矩阵其中d为数据包图的邻接矩阵,为数据包图的度矩阵;矩阵h∈rn×256表示字节节点的初始表征,h的每一行是一个节点的初始特征向量,即256维的独热向量(one-hot vector);均为参数矩阵;k1和k2分别是w(0)和w(1)的列维度;n为节点个数;r为实数。36.图卷积神经网络可以使节点信息通过节点与节点之间的边流动,从而进行信息传播。最终所有节点将收敛到各自的新的节点表征。该节点表征更能反映节点周围的拓扑结构和数据包的应用信息,从而更利于后续的流量分类。37.在获得每个节点的新特征向量后,将所有这些节点向量聚合成一个数据包向量来表示整个数据包图。为了适应不同的网络流量环境,本发明实施例提供了三种不同的聚合策略,即均值法(mean)、注意力机制法(attention)以及长短期记忆网络法(lstm)来进行聚合。三种聚合方法的具体操作步骤如下:38.1)采用均值法对数据包图中所有节点的表征进行聚合的公式如下:其中,g为聚合得到的数据包图的表征;为第i个节点的表征。虽然这个策略是最简单的,但是在很多情况下它仍然可以取得很好的性能。该算法简单,训练收敛性和检测速度都比其他策略快。但是,“均值法”策略对每个节点施加相同的聚合权重,无法区分出重要字节节点。因此,可以考虑采用基于注意力机制的聚合策略。39.2)具体来说,注意力机制聚合法采用两个可训练的参数矩阵和ws2∈r1×d,以自注意的方式获取每个节点的注意分数,其中d为ws1的行数。聚合的过程为:首先求解注意力权重向量β,再进行聚合得到数据包图的表征g:量β,再进行聚合得到数据包图的表征g:其中,为的转置;βi表示第i个节点的权重。40.在上述两种聚合策略中,原始数据包的字节序列中每个字节的绝对位置和相对位置这两个重要信息被忽略了。为了捕获这些信息,本发明实施例另提出了基于“绝对位置编码”和lstm的第三种聚合策略。41.3)采用长短期记忆网络法对所述数据包图中所有节点的表征进行聚合的过程包括:为了捕获字节序列中每个字节的绝对位置和相对位置信息,采用基于“绝对位置编码”和长短期记忆网络的聚合策略进行聚合;其中,对于绝对位置信息,存储在位置向量q中,用qpos表示具体位置pos的位置向量,其计算方法如下:表示具体位置pos的位置向量,其计算方法如下:其中,表示位置向量qpos的第2i个元素的值,k2为新学习到的节点的表征的维度;此处将位置向量q的维度也同样设置为k2,从而使得位置向量q和节点的表征能够进行相加;42.为了捕获相对位置信息,按照原来数据包内字节的顺序将节点送入到双向lstm编码器中:码器中:其中,为双向lstm编码器的两个输出,为第i个输入节点的位置向量。43.将双向lstm编码器的两个输出进行合并,聚合得到最终数据包图的表征:值得注意的是,均值法和注意力机制法进行聚合得到的数据包图的表征g的维数为k2,而长短期记忆网络法聚合得到的数据包图的表征g的维数为2p,p为双向lstm编码器的输出向量o的维度。44.第一种mean的方式最直接效率最高,第二种attention的方式则是考虑了不同字节节点对于最终数据包的表征的影响应该不同,因此有望产生更强的性能。第三种lstm的聚合策略则是进一步考虑了数据包中的节点的绝对位置信息和相对位置信息,使得编码更为全面,最终能取得更好的数据包表征,从而达到更好的网络流量分类效果。在实际使用中可以根据准确率和效率的需要来自由选择聚合方式。45.第四步、分类。在得到数据包图的表征g以后,通过一个线性分类层来对其进行分类:z=wzg+bz其中,z∈rc是分类层最终输出的分类向量,c为类别数目;wz和bz都为可训练的参数。最终可以通过传统的交叉熵损失函数来训练本发明tcgnn方法中前述提到的各项可训练参数,从而使得其能够准确地对数据包进行分类。46.应当理解的是,在本发明的实施例中,数据包图的构建方法中边的关系不局限于使用pmi,比如还可以用一些规则的办法,比如两个字节相邻,或者在同属于一个窗口,则就会有连边。此外,用于学习表征的图神经网络不局限于使用图卷积神经网络(gcn),还可以使用图注意力网络(graph attention network,gat)、门控注意力网络(gated attention network,gan)等。对节点表征进行聚合的方式也不局限于前述提到的mean,attention,lstm这三种策略,还可以采用其它现有的进行特征向量聚合的方式。47.此外,本发明的另一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时能实现前述实施例的基于图神经网络的包粒度网络流量分类方法。48.以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
一种基于图神经网络的包粒度网络流量分类方法 专利技术说明
作者:admin
2022-12-06 19:14:51
927
关键词:
电子通信装置的制造及其应用技术
专利技术