一种基于多模态增量张量分解的大规模网络流量
发布日期:2024-08-21 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
申请号: | 申请日: | ||
公开(公告)号: | 公开(公告)日: | ||
发明(设计)人: | 申请(专利权)人: | ||
主分类号: | 分类号: | ||
代理公司: | 代理人: | ||
地址: | 国省代码: | ||
权利要求书: | 说明书: | ||
微信咨询: | 添加微信:543646或【点此在线咨询】 | 文件下载: | 【点此下载】请正确填写本页网址和接收邮箱 |
摘要: | 本发明涉及网络安全和大数据安全,特别涉及一种基于多模态增量张量分解的大规模网络流量异常检测方法、系统、设备及存储介质。、网络流量异常,如端口扫描、拒绝服务攻击、分布式拒绝服务攻击和蠕虫病毒的传播等,会导致网络拥塞、网络瘫痪和信息泄露等各种问题,造成极其恶劣的影响。并且随着网络规模的不断扩大... | ||
相关服务: | 软件产品登记测试全国受理 软件著作权666元代写全部资料全国受理 实用新型专利1875代写全部资料全国受理 | ||
本发明涉及网络安全和大数据安全,特别涉及一种基于多模态增量张量分解的大规模网络流量异常检测方法、系统、设备及存储介质。背景技术:1、网络流量异常,如端口扫描、拒绝服务攻击、分布式拒绝服务攻击和蠕虫病毒的传播等,会导致网络拥塞、网络瘫痪和信息泄露等各种问题,造成极其恶劣的影响。并且随着网络规模的不断扩大,网络结构越来越复杂,如何有效的处理大量数据特征(源和目的ip地址及端口号、传输协议、总字节数以及会话持续时间等),避免维度灾难,及时准确的对异常流量进行诊断和检测变得越来越困难。特别是近年来,远程办公和云迁移浪潮导致全球网络攻击急剧上升,异常流量频发。这就迫切需要去创新技术和方法以提高异常检测准确率,降低网络攻击的危害。2、早期的异常检测技术通常将流量数据构建为矩阵模型,并使用基于矩阵的分解算法,如主成分分析(principal component analysis,pca)和奇异值分解(singular valuedecomposition,svd)来对数据进行处理,之后设定阈值来进行异常检测。这种方法在数据量较小、数据相对简单的情况下,能取得较好的检测效果。3、最近几年,机器学习算法得到了快速发展,已被广泛应用于各个领域。机器学习算法相比于早期的异常检测方法其检测率更高、速度更快。然而,随着网络数据量的急剧增长,数据结构变得越来越复杂,数据呈现出多模态的特性。当使用流量数据进行异常检测时,数据不可避免的存在冗余和噪声,这将降低数据质量,影响检测性能。因此,在使用机器学习算法进行异常检测之前,对数据进行处理以提高数据的质量至关重要。张量模型可以很好的描述数据之间的结构,保留数据的时空特性,对数据进行张量分解可以充分挖掘数据之间的相关性,提高检测精度。因此,一些将张量分解和机器学习算法结合的异常检测方法也被提出。4、然而,大部分异常检测方法仅仅只是将流量数据建模为张量,并采用静态的张量分解方法来处理,这并不满足实际应用中对实时性的要求。因此,基于动态张量分解的异常检测方法被提出,但它们都仅仅只考虑到流量数据沿着一个模态进行增长的情况。例如只考虑流量数据沿着时间模态进行增长,但其第二模态源ip、第三模态目的ip的数量并无变化。而在实际情况中,源和目的地址数量会随时间的变化而改变,例如网络规模的扩展、动态ip地址分配以及ddos攻击涉及的大量僵尸网络ip地址,这些都会使ip地址数量增加。此外,由于新技术的发展以及异常检测时数据特征的选择,特征的数量也会发生变化。最后,这些方法中识别正常和异常流量往往是通过统计学的方法,如使用范数或q统计量等来计算残差值和设置阈值,并和数据进行比较以此识别异常。但是基于统计学的方法很难平衡阈值,会影响异常检测的性能。因此,当将流量数据建模为张量,并且数据沿着多个模态进行增长时,如何高效的处理数据并采用何种检测方法进行异常检测仍然是一个有待解决的问题。5、针对现有技术中的问题,本发明提供了一种基于多模态增量张量分解的大规模网络流量异常检测方法、系统、设备及存储介质,能够结合动态张量分解在数据处理方面的优势和机器学习在异常检测方面具有的高检测性能,以准确、快速的检测异常流量。技术实现思路1、本发明的目的是为了克服上述现有技术存在的问题,提出一种基于多模态增量张量分解的大规模网络流量异常检测方法,方法旨在既能够对沿多个模态动态增长的大规模网络流量数据进行有效的张量建模和张量分解,又能够在不损坏流量数据特征的基础上提高数据质量,从而准确、快速的检测异常流量,提高异常检测效果。2、为了实现上述目的,本发明基于机器学习、张量建模、多模态增量张量分解、交叉验证等步骤,提供了一种基于多模态增量张量分解的大规模网络流量异常检测方法、系统、设备及存储介质,具体技术方案如下:3、一种基于多模态增量张量分解的大规模网络流量异常检测方法,包括以下步骤:4、步骤s1,采集网络流量数据并进行预处理,具体包括以下步骤:5、步骤s11,对网络流量数据中的非数值特征进行数值化;6、步骤s12,选择网络流量数据特征,并对选择的网络流量数据特征进行标准化,得到网络流量数据矩阵m;7、步骤s13,对网络流量数据矩阵m建模为张量,得到n阶网络流量数据融合张量其中n为8、网络流量数据融合张量的模态数;9、步骤s2,对多模态的增量张量进行分解,具体包括以下步骤:10、步骤s21,对t时刻的网络流量数据融合张量做截断的tucker分解,以获得t时刻与时间模态和多个特征模态有关的n个因子矩阵以及一个核心张量;11、步骤s22,结合t+1时刻新增加的网络数据来更新t+1时刻与时间模态和多个特征模态有关的n个因子矩阵以及核心张量,最终得到低秩低维的重构张量数据12、步骤s3,将重构张量数据转换成二维矩阵的形式,使用xgboost分类器来对流量进行分类,得到正常流量和异常流量。13、优选地,所述步骤s12中的标准化的计算公式具体如下:14、15、其中j和i表示矩阵模型的网络流量数据的下标,m(j,i)表示j时刻网络流量数据特征i的值,m(:,i)为一列数据,表示所有时刻网络流量数据特征i的值,mean(m(:,i))为m(:,i)的均值,std(m(:,i))是m(:,i)的标准差。16、优选地,所述步骤s13中具体包括以下步骤:17、将网络流量数据矩阵建模为张量,其中in表示网络流量数据的条数,i表示网络流量数据特征的数量;18、折叠每一条数据为大小i1×i2×…×in-1的张量,其中i1×i2×…×in-1=i,最终将n阶网络流量数据融合张量19、优选地,所述步骤s21中具体包括以下步骤:20、对t时刻的网络流量数据融合张量做截断的tucker分解,以获得网络流量数据在各个模态上的因子矩阵和一个核心张量其中截断的秩rn通过以下公式来计算:21、22、其中rn表示将t时刻的网络流量数据融合张量做截断分解之后得到结果的维度的大小,in为第n个模态张量的阶的值,是将t时刻的网络流量数据融合张量沿着第n模态展开的矩阵做奇异值分解(svd分解)所得到的奇异值。23、优选地,所述步骤s22中具体包括以下步骤:24、步骤s221,增量张量划分:25、对于t时刻的网络流量数据融合张量如果网络流量数据沿着时间模态和特征模态的n个模态进行增长且每个模态增长的大小为dn,则将得到t+1时刻的网络流量数据融合张量并且之后将t+1时刻的网络流量数据融合张量划分为2n子张量,记为其中u1,…,un∈θ≡{0,1}n是一个n项二元组;26、当un=0时,子张量为其余2n-1个子张量为t+1时刻新增加的网络流量数据融合张量;27、然后根据中un=1的个数将2n-1个子张量划分n个类别,记为cn;28、步骤s222,更新因子矩阵:29、将网络流量数据融合张量划分的子张量分为cn个类别之后,使用每个类别cn中的子张量来更新t+1时刻网络流量数据融合张量在时间模态和多个特征模态的因子矩阵,最终得到t+1时刻网络流量数据融合张量在时间模态和多个特征模态的因子矩阵30、步骤s223,更新核心张量:31、在获得t+1时刻网络流量数据融合张量的所有沿时间和特征模态的因子矩阵之后,再将其划分为两个部分,和32、其中表示取矩阵的前行数据,表示取矩阵的第行到第行数据;然后根据如下公式计算t+1时刻网络流量数据融合张量的核心张量33、34、其中θ′为n项二元组θ中除去(0,…,0)的部分;35、步骤s224,根据如下公式来计算t+1时刻经过降维降噪之后的重构张量数据36、37、优选地,所述步骤s222中具体包括以下步骤:38、在未完成所有因子矩阵的更新之前,将每一步得到的中间结果定义为扩展矩阵a′(n);39、对于n个类别中的t+1时刻网络流量数据融合张量的子张量被使用一次或多次来更新扩展矩阵a′(n),如果子张量的索引un=1,则更新扩展矩阵a′(n),具体如下:40、根据如下公式构造张量41、42、其中,u1,…,un-1,un+1,…,un表示张量的下标,a(n)表示数据融合张量沿第n模态的因子矩阵,如果un=0,则如果un=1,则计算构造张量沿着第n模态展开矩阵的伪逆矩阵,然后再根据如下公式来计算得到扩展矩阵a′(n):43、44、其中,表示新计算得到的沿第n模态的扩展矩阵a′(n),α表示前一步获得的信息保留的程度,α∈(0,1),表示上一步计算过程中得到的沿第n模态的扩展矩阵a′(n),表示将子张量沿第n模态展开的矩阵,为伪逆符号,表示构造张量的伪逆矩阵;45、当使用类别c1中的子张量来更新扩展矩阵时,α取值为0;在n=2及之后的每一个cn类别中重复上述更新步骤,得到最终的扩展矩阵a′(n);46、最终的扩展矩阵a′(n)与t时刻的数据融合张量的tucker分解的沿时间和特征模态的因子矩阵按照如下公式沿着第二模态进行连接,得到矩阵47、48、对矩阵进行正交化,最终得到t+1时刻沿时间和特征模态的因子矩阵49、优选地,所述步骤s3中具体包括以下步骤:50、将重构张量数据转换成二维矩阵的形式,并进行数据分割,分割成训练集和测试集;采用训练集训练xgboost分类器,得到训练后的xgboost分类器;51、采用测试集对训练后的xgboost分类器进行测试,当xgboost分类器的精度达到或超过设定精度阈值时输出训练完成的xgboost分类器;52、采用训练完成的xgboost分类器对网络流量数据进行分类,得到正常流量和异常流量。53、一种基于多模态增量张量分解的大规模网络流量异常检测系统,应用于所述的方法,包括:54、数据预处理模块,用于采集网络流量数据并进行预处理,所述预处理包括:对网络流量数据中的非数值特征进行数值化;选择网络流量数据特征,并对选择的网络流量数据特征进行标准化,得到网络流量数据矩阵m;对网络流量数据矩阵m建模为张量,得到n阶网络流量数据融合张量其中n为网络流量数据融合张量的模态数;55、增量张量分解模块,用于对多模态的增量张量进行分解,包括对t时刻的网络流量数据融合张量做截断的tucker分解,以获得t时刻与时间模态和多个特征模态有关的n个因子矩阵以及一个核心张量;结合t+1时刻新增加的网络数据来更新t+1时刻与时间模态和多个特征模态有关的n个因子矩阵以及核心张量,最终得到低秩低维的重构张量数据56、流量分类模块,用于将重构张量数据转换成二维矩阵的形式,使用xgboost分类器来对流量进行分类,得到正常流量和异常流量。57、一种基于多模态增量张量分解的大规模网络流量异常检测设备,所述设备包括:58、存储有可执行程序代码的存储器;59、与所述存储器耦合的处理器;60、所述处理器调用所述存储器中存储的所述可执行程序代码,执行所述的基于多模态增量张量分解的大规模网络流量异常检测方法。61、一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行所述的基于多模态增量张量分解的大规模网络流量异常检测方法。62、与现有技术相比,本发明的有益效果为:63、本发明充分考虑了数据沿着多个模态动态增长的情况,采用了增量张量tucker分解方法处理数据,该方法仅仅只通过历史结果和新增加的数据来求解当前时刻的核心张量和各个模态的因子矩阵,极大减少计算和储存开销,同时也减少数据冗余和噪声,提高了数据质量,适用于实时应用。64、在异常流量检测时使用机器学习中的xgboost分类算法对数据进行二分类,从而检测出异常流量。通过实验发现,在众多机器学习算法中,xgboost算法具有快速、准确率高和可扩展的特性。
- 上一篇:一种全天候车辆检测方法与装置
- 下一篇:一种表带触指连接器焊接工装及其真空汽相焊接