一种流量数据异常检测方法、装置、设备及存储介质与流程
未命名
09-07
阅读:125
评论:0

1.本发明涉及网络安全技术领域,具体而言,涉及一种流量数据异常检测方法、装置、设备及存储介质。
背景技术:
2.网站应用级入侵防御系统(web application firewall,waf)设备可以对访问网站的流量数据进行异常检测,并阻断异常流量数据,以保证网络安全。目前,常用的流量数据异常检测方法是在waf设备中配置规则库,使waf设备基于规则库判断流量数据是否为异常流量数据。而规则库主要依赖于人工专业经验配置,难以全面准确地对流量数据进行异常检测,容易出现误检漏检问题。
技术实现要素:
3.本发明实施例的目的在于提供一种流量数据异常检测方法、装置、设备及存储介质,用以实现全面准确地对流量数据进行异常检测,有效避免出现误检漏检问题的技术效果。
4.第一方面,本发明实施例提供了一种流量数据异常检测方法,包括:
5.收集合法访问网站的正常流量数据,对所有所述正常流量数据进行预处理,得到所有训练数据;
6.结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型;
7.根据所有所述训练数据训练所述流量数据异常检测模型,使所述流量数据异常检测模型自学习所有所述训练数据的特征;
8.结合所述流量数据异常检测模型自学习的所有所述训练数据的特征,生成正常流量数据规则集;
9.基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果。
10.在上述实现过程中,通过结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型,预处理合法访问网站的所有正常流量数据作为训练数据去训练流量数据异常检测模型,使流量数据异常检测模型自学习所有训练数据的特征,以结合所有训练数据的特征,生成正常流量数据规则集,基于正常流量数据规则集对待检测流量数据进行异常检测,能够全面准确地对流量数据进行异常检测,有效避免出现误检漏检问题。
11.进一步地,在所述基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果之前,还包括:
12.实时获取访问所述网站的流量数据作为所述待检测流量数据;
13.根据所有所述正常流量数据,判断所述待检测流量数据是否为未知流量数据;
14.当所述待检测流量数据为未知流量数据时,记录所述待检测流量数据。
15.在上述实现过程中,通过在基于正常流量数据规则集对待检测流量数据进行异常检测之前,根据所有正常流量数据判断待检测流量数据是否为未知流量数据,并记录被判定为未知流量数据的待检测流量数据,能够在对未知的待检测流量数据进行异常检测后一并提供记录的未知的待检测流量数据及其检测结果,为用户提供其检测结果的参考依据,从而进一步实现全面准确地对流量数据进行异常检测,有效避免出现误检漏检问题。
16.进一步地,在所述基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果之前,还包括:
17.当记录的所有所述待检测流量数据的数量达到预设阈值时,将记录的所有所述待检测流量数据均作为新的训练数据;
18.通过持续伸缩学习模块根据所有所述新的训练数据更新所述流量数据异常检测模型,使所述流量数据异常检测模型重新自学习所有所述新的训练数据的特征;
19.结合所述流量数据异常检测模型重新自学习的所有所述新的训练数据的特征,更新所述正常流量数据规则集。
20.在上述实现过程中,通过在获取到过多的未知流量数据时,利用持续伸缩学习模块采用所有未知流量数据训练流量数据异常检测模型,使其自学习所有未知流量数据的特征,以更新正常流量数据规则集,能够实现全面准确地对未知流量数据进行异常检测,有效避免出现误检漏检问题。
21.进一步地,所述根据所有所述训练数据训练所述流量数据异常检测模型,使所述流量数据异常检测模型自学习所有所述训练数据的特征,具体包括:
22.对于每一所述训练数据,通过编码器压缩所述训练数据,提取所述训练数据的目标特征,通过解码器根据所述训练数据的目标特征进行数据重构,得到重构数据,以使所述弹性自适应深度自编码模块以最小化重构误差为目标自学习所述训练数据的特征;其中,所述弹性自适应深度自编码模块包括所述编码器和所述解码器;
23.通过所述稀疏关键点交互式注意力模块提取所述训练数据的关键特征,根据所述训练数据的关键特征生成注意力图,以使所述稀疏关键点交互式注意力模块以最小化注意力图损失为目标自学习所述训练数据的特征;
24.结合所述弹性自适应深度自编码模块和所述稀疏关键点交互式注意力模块自学习的所述训练数据的特征,对所述训练数据进行异常检测,得到所述训练数据的检测结果,并根据所述训练数据的检测结果,调整所述流量数据异常检测模型的模型参数。
25.在上述实现过程中,通过根据所有训练数据训练流量数据异常检测模型,使弹性自适应深度自编码模块和稀疏关键点交互式注意力模块共同学习所有训练数据的特征,能够进一步实现全面准确地对流量数据进行异常检测,有效避免出现误检漏检问题。
26.进一步地,所述基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果,具体包括:
27.基于所述正常流量数据规则集,判断所述待检测流量数据是否符合所述正常流量数据规则集中的任一条正常流量数据规则,若是,则所述待检测流量数据的检测结果是所述待检测流量数据不为异常流量数据。
28.在上述实现过程中,通过在待检测流量数据符合正常流量数据规则集中的任一条
正常流量数据规则时即判定待检测流量数据不为异常流量数据,能够快速检测出正常流量数据,有利于提高异常检测效率。
29.进一步地,在所述基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果之后,还包括:
30.当所述待检测流量数据的检测结果是所述待检测流量数据为异常流量数据时,拦截所述待检测流量数据。
31.在上述实现过程中,通过在测定待检测流量数据为异常流量数据时即拦截待检测流量数据,能够及时拦截异常流量数据,有利于保证网络安全。
32.进一步地,所述预处理包括数据清洗、数据转换、数据归一化处理。
33.在上述实现过程中,通过选择数据清洗、数据转换、数据归一化处理等预处理方式对所有正常流量数据进行预处理,得到所有训练数据,能够根据所有训练数据有效训练流量数据异常检测模型,保证流量数据异常检测模型可自学习所有训练数据的特征。
34.第二方面,本发明实施例提供一种流量数据异常检测装置,包括:
35.数据处理单元,用于收集合法访问网站的正常流量数据,对所有所述正常流量数据进行预处理,得到所有训练数据;
36.模型建立单元,用于结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型;
37.特征学习单元,用于根据所有所述训练数据训练所述流量数据异常检测模型,使所述流量数据异常检测模型自学习所有所述训练数据的特征;
38.规则生成单元,用于结合所述流量数据异常检测模型自学习的所有所述训练数据的特征,生成正常流量数据规则集;
39.异常检测单元,用于基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果。
40.第三方面,本发明一实施例提供一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序;所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时实现如上所述的流量数据异常检测方法。
41.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的流量数据异常检测方法。
附图说明
42.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
43.图1为本发明第一实施例提供的一种流量数据异常检测方法的流程示意图;
44.图2为本发明第一实施例一可选实施例提供的训练流量数据异常检测模型的数据流图;
45.图3为本发明第二实施例提供的一种流量数据异常检测装置的结构示意图;
46.图4为本发明第三实施例提供的一种电子设备的结构示意图。
具体实施方式
47.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
48.应注意到:在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。同时,文中的步骤编号,仅为了方便本发明实施例的解释,不作为限定步骤执行先后顺序的作用。本发明实施例提供的方法可以由相关的终端设备执行,且下文均以waf设备作为执行主体为例进行说明。
49.需要说明的是,深度学习(deep learning)属于机器学习的一个分支,它模仿人类大脑的神经网络结构进行建模,可以用于许多不同的任务,例如图像识别、语音识别、自然语言处理、游戏策略等等。深度学习利用多个神经网络层次结构来提取输入数据的抽象特征表示,每个神经网络层都包含多个神经元或节点,其中每个节点将输入数据加权并应用激活函数,以生成输出结果。通过不断地使用这些层级结构,深度学习模型可以学习到更复杂的特征表示。与传统的机器学习方法相比,深度学习模型通常需要更多的数据和更多的计算资源来训练。但是,由于其能够对大量数据进行建模,并且可以处理复杂的非线性关系,因此在许多任务上都取得了非常好的性能。深度学习模型的一些常见架构包括:卷积神经网络(convolutional neural networks,cnn),可用于图像处理;循环神经网络(recurrent neural networks,rnn),可用于序列数据处理;变换器(transformers),可用于自然语言处理。同时,深度学习也常常被用于与传统机器学习方法结合使用,以提高模型的性能。
50.自学习机器学习(self-supervised learning)指的是机器学习系统具备自我学习能力的能力,也称为自适应机器学习。传统的机器学习需要专家设计和选择合适的特征和算法,然后利用大量的数据进行训练和调整,这便是监督学习。而自学习机器学习则能够通过自我学习来改善自身的性能,无需过多的人类干预。自学习机器学习通常利用深度学习算法实现,这些算法能够从大量的数据中自动学习特征,并根据反馈信号自动调整模型的权重参数,从而改善其性能。这使得自学习机器学习能够更好地适应不断变化的环境和任务,更加灵活和自适应。自学习机器学习通常被归类为无监督学习的一种,因为它可以在没有明确标签或目标函数的情况下从数据中进行自我学习。在自学习机器学习中,模型的目标是发现数据中的模式和结构,而不是直接学习如何完成某个任务或者预测某个目标值。然而,有些研究会在自学习的算法中加入监督信号。例如,在深度学习中,可以通过在自编码器中添加分类任务的输出来训练模型,从而获得更好的表示能力。这种方法可以被视为半监督学习,因为它同时利用有标签和无标签的数据进行学习。半监督学习是介于监督学习和无监督学习之间的一种学习方法,它既使用有标注数据,也使用没有标注的数据。在半监督学习中,算法通常从一个小的有标注数据集和一个大的无标注数据集中学习,以提高模型的性能和泛化能力。目前我们习惯将机器学习算法分为四大类:监督学习、半监督学习、无监督学习和强化学习。前面已经介绍了前三者,而强化学习的本质就是算法通过与环境进行交互来学习一种行为策略,以最大化长期奖励。强化学习算法不会直接告诉你如何处理输入数据,而是通过学习如何与环境交互以最大化奖励来获得经验。总的来说,监督学习、半监督学习、无监督学习和强化学习都是机器学习中常见的学习方法,但它们各自处理
的问题和方法不同,因此我们需要根据具体的任务选择适合的学习方法。
51.异常检测(anomaly detection)是在数据中寻找与预期行为不符的特殊观察结果。异常检测旨在检测与数据分布的其余部分不同的那些观察结果,通常被称为异常、离群点、异常值或噪声点。异常检测可以应用于各种领域,例如金融领域中的欺诈检测、医学领域中的疾病诊断、网络安全领域中的入侵检测、工业领域中的故障检测等等。常用的异常检测方法包括基于统计的方法(如箱线图、概率分布模型等)、基于机器学习的方法(如聚类、支持向量机、深度学习等)以及基于时间序列的方法等。这些方法都尝试从数据中提取特征,并使用一些指标或模型来量化每个观测结果与预期行为的差异,从而识别出异常值。当我们只收集到正样本数据,没能覆盖所有负样本时,可以采用异常检测来处理这一类任务。
52.本发明实施例研究的就是这类任务。我们只有正样本,但是不知道负样本。常见的异常检测算法有:基于统计的方法、基于聚类的方法、基于支持向量机(svm)的方法、基于密度的方法和基于深度学习的方法。其中,基于自编码器(autoencoder)的方法是一种深度学习方法,可以使用它来学习输入数据的表示,然后通过测量重构误差来识别异常值。其他还有基于深度学习的异常检测算法有基于生成对抗网络(gan)的异常检测等。
53.而注意力机制(attention mechanism)是一种在计算机视觉和自然语言处理等领域广泛使用的技术。它的核心思想是让模型在处理输入数据时关注到输入数据中的某些重要信息,从而提高模型的性能。注意力机制最初源于自然语言处理领域,但现在已经扩展到了计算机视觉等其他领域。注意力机制的基本原理是通过学习输入数据的权重分布来突出重要信息。这些权重分布可以看作是一个概率分布,它们对应于输入数据中每个元素(例如,单词或图像区域)的重要性。在计算权重分布时,模型会考虑输入数据的上下文信息。得到权重分布后,模型可以通过加权求和来计算出一个上下文向量,这个向量能够捕捉输入数据中的重要信息。在自然语言处理中,注意力机制常常应用于序列到序列(seq2seq)模型,如机器翻译、摘要生成等任务。这种模型包括一个编码器和一个解码器,分别负责将输入数据编码成固定长度的上下文向量和从上下文向量生成输出数据。通过使用注意力机制,解码器可以在生成输出数据时关注到与当前生成位置相关的输入部分。在计算机视觉领域,注意力机制也得到了广泛应用,例如图像分类、目标检测和图像描述生成等任务。在这些任务中,注意力机制可以帮助模型关注到图像中的重要区域,从而提高性能。注意力机制通过学习输入数据中的重要信息来提高模型的性能。它在计算机视觉和自然语言处理领域得到了广泛应用,并在很多实际任务中取得了显著的效果。
54.持续学习(continual learning),也称为增量学习(incremental learning)或终身学习(lifelong learning),是机器学习领域的一个重要研究方向。持续学习旨在解决一种常见问题:当模型在训练过程中学习到新任务或新数据时,如何避免遗忘之前所学到的知识。换句话说,持续学习试图让模型在学习新任务的同时,保持对旧任务的性能。传统的深度学习模型在训练过程中往往会遇到灾难性遗忘(catastrophic forgetting)问题。当模型在新任务上进行训练时,它可能会“遗忘”之前任务的相关知识。这是因为神经网络中的权重在不断更新,以适应新任务,从而可能导致原来的知识被覆盖。我们可以通过这些方式来解决前面提到的问题:(1)重播(replay),这种方法将部分或全部之前任务的数据存储在一个缓冲区中。在训练新任务时,模型会同时训练这些存储的旧任务数据,以防止遗忘。这可以通过经验回放(experience replay)或伪样本生成等方式实现。(2)正则化
(regularization):为了保留之前任务的知识,可以在训练过程中引入正则化项。例如,弹性权重共享(elastic weight consolidation,ewc)方法通过计算对之前任务重要的权重,并给它们添加一个正则化项,以减缓这些权重在新任务上的更新速度。(3)动态网络扩展(dynamic network expansion):这种方法在面对新任务时,通过扩展网络结构来避免遗忘。例如,增加新的神经元或隐藏层,从而使网络能够学习新任务,同时保留旧任务的知识。持续学习的目标是让模型在学习新任务时,不会损害其在旧任务上的性能。这是一个具有挑战性的研究方向,但对于实现类似人类的智能体来说至关重要。人类可以在不同任务之间轻松切换,同时保持对旧任务的掌握,而不会因为学习新任务而遗忘旧任务。在实际应用中,持续学习有助于提高模型的适应性,使其能够在面对新任务或动态环境时作出有效的调整。
55.请参看图1,图1为本发明第一实施例提供的一种流量数据异常检测方法的流程示意图。本发明第一实施例提供一种流量数据异常检测方法,包括步骤s101~s105:
56.s101、收集合法访问网站的正常流量数据,对所有正常流量数据进行预处理,得到所有训练数据;
57.s102、结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型;
58.s103、根据所有训练数据训练流量数据异常检测模型,使流量数据异常检测模型自学习所有训练数据的特征;
59.s104、结合流量数据异常检测模型自学习的所有训练数据的特征,生成正常流量数据规则集;
60.s105、基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果。
61.作为示例性地,收集合法访问网站的正常流量数据,所有正常流量数据包括请求头信息、url(uniform resource locator,统一资源定位符)参数、请求方法等。对所有正常流量数据进行数据清洗、数据转换、数据归一化处理等预处理,得到所有训练数据。
62.设计弹性自适应深度自编码模块(elastic adaptive deep autoencoder,eada)。弹性自适应机制能够使弹性自适应深度自编码模块适应未知的流量数据,自动调整模型的复杂度和学习能力,以在不同场景下均保持良好的性能。自编码器(autoencoder,ae)是一类在无监督学习中使用的人工神经网络(artificial neural networks,anns),其功能是通过将输入数据作为学习目标,对输入数据进行表征学习(representation learning),对于流量数据,自编码器通过学习流量数据的内在结构和规律,能够获取流量数据中的特征,使得自编码器在没有对流量数据进行人工标注的情况下,也能自动捕获流量数据的重要信息,降低了对人工设计规则的依赖。
63.设计稀疏关键点交互式注意力模块(sparse key interactive attention module,skiam),稀疏关键点交互式注意力模型采用的注意力机制可以更好地关注输入数据中的重要信息,提高模型在复杂任务中的性能,使得模型在处理稀疏序列数据时可以更有效地识别稀疏序列数据中的特征,降低了漏检率。
64.结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型。
65.根据所有训练数据训练流量数据异常检测模型,使流量数据异常检测模型自学习所有训练数据的特征。
66.结合流量数据异常检测模型自学习的所有训练数据的特征,生成正常流量数据规则集。其中,流量数据异常检测模型自学习的所有训练数据的特征包括训练数据的域名参数、训练数据的关键字段,关键字段包括参数名称、参数值范围、参数组合等。正常流量数据规则集包括至少一条正常流量数据规则。正常流量数据规则可以是基于特定参数的阈值、特定字段的组合、特征之间的相互关系等。正常流量数据规则的形式可以是简单的条件判断,也可以是更复杂的逻辑表达式。例如,正常流量数据规则集包括:(1)请求的url长度在预设长度范围内,比如请求的url长度小于100个字符;(2)请求的参数个数在预设个数范围内,比如请求的参数个数小于10;(3)请求的方法属于预设请求方法,比如请求的方法为get或post;(4)目标关键参数的值符合预设取值条件,比如用户id的参数值为数字,且在10000到50000之间;(5)目标参数组合符合预设映射条件,比如当参数a的值为“x”时,参数b的值必须为“y”。
67.获取待检测流量数据,基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果。
68.本发明实施例通过结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型,预处理合法访问网站的所有正常流量数据作为训练数据去训练流量数据异常检测模型,使流量数据异常检测模型自学习所有训练数据的特征,以结合所有训练数据的特征,生成正常流量数据规则集,基于正常流量数据规则集对待检测流量数据进行异常检测,能够全面准确地对流量数据进行异常检测,有效避免出现误检漏检问题。
69.在可选的实施例当中,在所述基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果之前,还包括:实时获取访问网站的流量数据作为待检测流量数据;根据所有正常流量数据,判断待检测流量数据是否为未知流量数据;当待检测流量数据为未知流量数据时,记录待检测流量数据。
70.作为示例性地,考虑到正常流量数据规则集是通过流量数据异常检测模型自学习所有正常流量数据的特征得到的,基于正常流量数据规则集对未知的待检测流量数据进行异常检测可能会出现检测不准确的情况,实时获取访问网站的流量数据作为待检测流量数据,分别将每一正常流量数据与待检测流量数据进行对比,若待检测流量数据与任一正常流量数据对比一致,则认为待检测流量数据不是未知流量数据,可直接基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果,若待检测流量数据与各个正常流量数据均对比不一致,则认为待检测流量数据是未知流量数据,需要先记录待检测数据,再基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果。
71.本发明实施例通过在基于正常流量数据规则集对待检测流量数据进行异常检测之前,根据所有正常流量数据判断待检测流量数据是否为未知流量数据,并记录被判定为未知流量数据的待检测流量数据,能够在对未知的待检测流量数据进行异常检测后一并提供记录的未知的待检测流量数据及其检测结果,为用户提供其检测结果的参考依据,从而进一步实现全面准确地对流量数据进行异常检测,有效避免出现误检漏检问题。
72.在可选的实施例当中,在所述基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果之前,还包括:当记录的所有待检测流量数据的数量达到预设阈值时,将记录的所有待检测流量数据均作为新的训练数据;通过持续伸缩学习模块根据所有新的训练数据更新流量数据异常检测模型,使流量数据异常检测模型重新自学习所有新的训练数据的特征;结合流量数据异常检测模型重新自学习的所有新的训练数据的特征,更新正常流量数据规则集。
73.作为示例性地,设计持续伸缩学习模块(continue scalable learning module,cslm),持续伸缩学习模块采用的持续学习可根据新的输入数据的规模和分布,动态调整模型的结构和参数,以适应流量数据的变化并保持学习能力。
74.当记录的所有待检测流量数据的数量达到预设阈值时,将记录的所有待检测流量数据均作为新的训练数据,通过持续伸缩学习模块根据所有新的训练数据继续训练流量数据异常检测模型以更新流量数据异常检测模型,使流量数据异常检测模型重新自学习所有新的训练数据的特征。
75.其中,考虑到流量数据一般都具有时序特征,可以通过持续伸缩学习模块使用滑动窗口、时间差分等方法,从所有新的训练数据中提取时间序列特征,方便模型在训练的时候能捕捉时间序列上的关系。
76.结合流量数据异常检测模型重新自学习的所有新的训练数据的特征,生成至少一条新的正常流量数据规则,将所有新的正常流量数据规则添加至正常流量数据规则集,更新正常流量数据规则集。
77.本发明实施例通过在获取到过多的未知流量数据时,利用持续伸缩学习模块采用所有未知流量数据训练流量数据异常检测模型,使其自学习所有未知流量数据的特征,以更新正常流量数据规则集,能够实现全面准确地对未知流量数据进行异常检测,有效避免出现误检漏检问题。
78.请参看图2,图2为本发明第一实施例中一可选实施例提供的训练流量数据异常检测模型的数据流图。在可选的实施例当中,所述根据所有训练数据训练流量数据异常检测模型,使流量数据异常检测模型自学习所有训练数据的特征,具体包括:对于每一训练数据,通过编码器压缩训练数据,提取训练数据的目标特征,通过解码器根据训练数据的目标特征进行数据重构,得到重构数据,以使弹性自适应深度自编码模块以最小化重构误差为目标自学习训练数据的特征;其中,弹性自适应深度自编码模块包括编码器和解码器;通过稀疏关键点交互式注意力模块提取训练数据的关键特征,根据训练数据的关键特征生成注意力图,以使稀疏关键点交互式注意力模块以最小化注意力图损失为目标自学习训练数据的特征;结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块自学习的训练数据的特征,对训练数据进行异常检测,得到训练数据的检测结果,并根据训练数据的检测结果,调整流量数据异常检测模型的模型参数。
79.作为示例性地,如图2所示,在得到所有训练数据后,分别将每一训练数据(original data)输入流量数据异常检测模型。
80.通过弹性自适应深度自编码模块中的编码器压缩训练数据,提取训练数据的目标特征(compression feature),通过弹性自适应深度自编码模块中的解码器根据训练数据的目标特征进行数据重构,得到重构数据(reconstruct data),使弹性自适应深度自编码
模块以最小化重构误差(l
ce
)为目标自学习训练数据的特征。其中,弹性自适应深度自编码模块自学习的训练数据的特征包括训练数据中的域名参数。
81.稀疏关键点交互式注意力模块采用的注意力机制可以根据输入数据中各种信息的重要性自动分配不同的权重,从而使模型能够更关注输入数据中的重要信息,降低漏检率。具体应用包括:(1)将训练数据输入稀疏关键点交互式注意力模块,训练数据包括请求头信息、url参数、请求方法等;(2)关键字段识别,稀疏关键点交互式注意力模块通过学习训练数据的模式,自动识别出关键字段,关键字段包括参数名称、参数值范围、参数组合等,关键字段通常与正常或异常流量数据的判断密切相关;(3)权重分配,根据关键字段在训练数据中的重要性,稀疏关键点交互式注意力模块会自动为这些关键字段分配不同的权重,权重较高的字段表示对分类结果的影响较大,因此模型会更加关注这些字段;(4)特征提取与融合,根据分配的权重,稀疏关键点交互式注意力模块对关键字段进行特征提取,提取的特征可以是数值、类别或者高维向量等,并将提取的特征融合,形成一个综合特征向量作为训练数据的关键特征。通过稀疏关键点交互式注意力模块提取训练数据的关键特征,根据训练数据的关键特征生成注意力图,使稀疏关键点交互式注意力模块以最小化注意力图损失(l
ra
)为目标自学习训练数据的特征。其中,稀疏关键点交互式注意力模块自学习的训练数据的特征包括训练数据中的关键字段,关键字段包括参数名称、参数值范围、参数组合等。
82.结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块自学习的训练数据的特征,对训练数据进行异常检测,得到训练数据的检测结果,即训练数据为正常流量数据或训练数据为异常流量数据,并根据训练数据的检测结果,调整流量数据异常检测模型的模型参数。
83.本发明实施例通过根据所有训练数据训练流量数据异常检测模型,使弹性自适应深度自编码模块和稀疏关键点交互式注意力模块共同学习所有训练数据的特征,能够进一步实现全面准确地对流量数据进行异常检测,有效避免出现误检漏检问题。
84.在可选的实施例当中,所述基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果,具体包括:基于正常流量数据规则集,判断待检测流量数据是否符合正常流量数据规则集中的任一条正常流量数据规则,若是,则待检测流量数据的检测结果是待检测流量数据不为异常流量数据。
85.作为示例性地,考虑到正常流量数据规则集是结合流量数据异常检测模型自学习的所有训练数据的特征生成的,正常流量数据规则集中的每一条正常流量数据规则均可用于对流量数据进行异常检测,基于正常流量数据规则集,判断待检测流量数据是否符合正常流量数据规则集中的任一条正常流量数据规则,若是,则待检测流量数据的检测结果是待检测流量数据不为异常流量数据,否则待检测流量数据的检测结果是待检测流量数据为异常流量数据。
86.本发明实施例通过在待检测流量数据符合正常流量数据规则集中的任一条正常流量数据规则时即判定待检测流量数据不为异常流量数据,能够快速检测出正常流量数据,有利于提高异常检测效率。
87.在可选的实施例当中,在所述基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果之后,还包括:当待检测流量数据的检
测结果是待检测流量数据为异常流量数据时,拦截待检测流量数据。
88.作为示例性地,当检测到待检测流量数据的检测结果是待检测流量数据为异常流量数据时,拦截待检测流量数据,当检测到待检测流量数据的检测结果是待检测流量数据不为异常流量数据时,放行待检测流量数据。
89.本发明实施例通过在测定待检测流量数据为异常流量数据时即拦截待检测流量数据,能够及时拦截异常流量数据,有利于保证网络安全。
90.在可选的实施例当中,预处理包括数据清洗、数据转换、数据归一化处理。
91.作为示例性地,对所有正常流量数据进行数据清洗、数据转换、数据归一化处理等预处理,得到所有训练数据。
92.其中,数据清洗包括删除异常值或者用合理的预设值进行替换。数据转换包括将ip地址(internet protocol address,互联网协议地址)、url等非数值型数据转换为数值型数据。数据转换方法可以采用哈希函数、独热编码等方法。数据归一化处理可以避免不同的数据具有不同的量纲和范围,数据归一化方法可以采用最小-最大归一化、z-score标准化方法。
93.本发明实施例通过选择数据清洗、数据转换、数据归一化处理等预处理方式对所有正常流量数据进行预处理,得到所有训练数据,能够根据所有训练数据有效训练流量数据异常检测模型,保证流量数据异常检测模型可自学习所有训练数据的特征。
94.请参看图3,图3提供本发明第二实施例提供的一种流量数据异常检测装置的结构示意图。本发明第二实施例提供一种流量数据异常检测装置,包括:数据处理单元201,用于收集合法访问网站的正常流量数据,对所有正常流量数据进行预处理,得到所有训练数据;模型建立单元202,用于结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型;特征学习单元203,用于根据所有训练数据训练流量数据异常检测模型,使流量数据异常检测模型自学习所有训练数据的特征;规则生成单元204,用于结合流量数据异常检测模型自学习的所有训练数据的特征,生成正常流量数据规则集;异常检测单元205,用于基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果。
95.在可选的实施例当中,异常检测单元205,还用于在所述基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果之前,实时获取访问网站的流量数据作为待检测流量数据;根据所有正常流量数据,判断待检测流量数据是否为未知流量数据;当待检测流量数据为未知流量数据时,记录待检测流量数据。
96.在可选的实施例当中,异常检测单元205,还用于在所述基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果之前,当记录的所有待检测流量数据的数量达到预设阈值时,将记录的所有待检测流量数据均作为新的训练数据;通过持续伸缩学习模块根据所有新的训练数据更新流量数据异常检测模型,使流量数据异常检测模型重新自学习所有新的训练数据的特征;结合流量数据异常检测模型重新自学习的所有新的训练数据的特征,更新正常流量数据规则集。
97.在可选的实施例当中,所述根据所有训练数据训练流量数据异常检测模型,使流量数据异常检测模型自学习所有训练数据的特征,具体包括:对于每一训练数据,通过编码器压缩训练数据,提取训练数据的目标特征,通过解码器根据训练数据的目标特征进行数
据重构,得到重构数据,以使弹性自适应深度自编码模块以最小化重构误差为目标自学习训练数据的特征;其中,弹性自适应深度自编码模块包括编码器和解码器;通过稀疏关键点交互式注意力模块提取训练数据的关键特征,根据训练数据的关键特征生成注意力图,以使稀疏关键点交互式注意力模块以最小化注意力图损失为目标自学习训练数据的特征;结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块自学习的训练数据的特征,对训练数据进行异常检测,得到训练数据的检测结果,并根据训练数据的检测结果,调整流量数据异常检测模型的模型参数。
98.在可选的实施例当中,所述基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果,具体包括:基于正常流量数据规则集,判断待检测流量数据是否符合正常流量数据规则集中的任一条正常流量数据规则,若是,则待检测流量数据的检测结果是待检测流量数据不为异常流量数据。
99.在可选的实施例当中,异常检测单元205,还用于在所述基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果之后,当待检测流量数据的检测结果是待检测流量数据为异常流量数据时,拦截待检测流量数据。
100.在可选的实施例当中,预处理包括数据清洗、数据转换、数据归一化处理。
101.上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
102.请参看图4,图4为本发明第三实施例提供的一种电子设备的结构示意图。本发明第三实施例提供一种电子设备30,包括处理器301、存储器302以及存储在存储器302中且被配置为由处理器301执行的计算机程序;存储器302与处理器301耦接,且处理器301执行计算机程序时实现如本发明第一实施例所述的流量数据异常检测方法,且能达到与之相同的有益效果。
103.其中,处理器301通过总线303从存储器302读取计算机程序并执行所述计算机程序时可实现如本发明第一实施例所述的流量数据异常检测方法包括的任意实施例的方法。
104.处理器301可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器301可以是微处理器。
105.存储器302可以用于存储由处理器301执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本发明实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器301可以用于执行存储器302中的指令以实现如本发明第一实施例所述的流量数据异常检测方法。存储器302包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
106.本发明第四实施例提供一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序;其中,在计算机程序运行时控制计算机可读存储介质所在设备执行如本发明第一实施例所述的流量数据异常检测方法,且能达到与之相同的有益效果。
107.综上所述,本发明实施例提供一种流量数据异常检测方法、装置、设备及存储介质,所述流量数据异常检测方法包括:收集合法访问网站的正常流量数据,对所有正常流量数据进行预处理,得到所有训练数据;结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型;根据所有训练数据训练流量数据异常检测模
型,使流量数据异常检测模型自学习所有训练数据的特征;结合流量数据异常检测模型自学习的所有训练数据的特征,生成正常流量数据规则集;基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果。本发明实施例通过结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型,预处理合法访问网站的所有正常流量数据作为训练数据去训练流量数据异常检测模型,使流量数据异常检测模型自学习所有训练数据的特征,以结合所有训练数据的特征,生成正常流量数据规则集,基于正常流量数据规则集对待检测流量数据进行异常检测,能够全面准确地对流量数据进行异常检测,有效避免出现误检漏检问题。
108.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
109.另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
110.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
111.以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种流量数据异常检测方法,其特征在于,包括:收集合法访问网站的正常流量数据,对所有所述正常流量数据进行预处理,得到所有训练数据;结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型;根据所有所述训练数据训练所述流量数据异常检测模型,使所述流量数据异常检测模型自学习所有所述训练数据的特征;结合所述流量数据异常检测模型自学习的所有所述训练数据的特征,生成正常流量数据规则集;基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果。2.根据权利要求1所述的流量数据异常检测方法,其特征在于,在所述基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果之前,还包括:实时获取访问所述网站的流量数据作为所述待检测流量数据;根据所有所述正常流量数据,判断所述待检测流量数据是否为未知流量数据;当所述待检测流量数据为未知流量数据时,记录所述待检测流量数据。3.根据权利要求2所述的流量数据异常检测方法,其特征在于,在所述基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果之前,还包括:当记录的所有所述待检测流量数据的数量达到预设阈值时,将记录的所有所述待检测流量数据均作为新的训练数据;通过持续伸缩学习模块根据所有所述新的训练数据更新所述流量数据异常检测模型,使所述流量数据异常检测模型重新自学习所有所述新的训练数据的特征;结合所述流量数据异常检测模型重新自学习的所有所述新的训练数据的特征,更新所述正常流量数据规则集。4.根据权利要求1所述的流量数据异常检测方法,其特征在于,所述根据所有所述训练数据训练所述流量数据异常检测模型,使所述流量数据异常检测模型自学习所有所述训练数据的特征,具体包括:对于每一所述训练数据,通过编码器压缩所述训练数据,提取所述训练数据的目标特征,通过解码器根据所述训练数据的目标特征进行数据重构,得到重构数据,以使所述弹性自适应深度自编码模块以最小化重构误差为目标自学习所述训练数据的特征;其中,所述弹性自适应深度自编码模块包括所述编码器和所述解码器;通过所述稀疏关键点交互式注意力模块提取所述训练数据的关键特征,根据所述训练数据的关键特征生成注意力图,以使所述稀疏关键点交互式注意力模块以最小化注意力图损失为目标自学习所述训练数据的特征;结合所述弹性自适应深度自编码模块和所述稀疏关键点交互式注意力模块自学习的所述训练数据的特征,对所述训练数据进行异常检测,得到所述训练数据的检测结果,并根据所述训练数据的检测结果,调整所述流量数据异常检测模型的模型参数。
5.根据权利要求1所述的流量数据异常检测方法,其特征在于,所述基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果,具体包括:基于所述正常流量数据规则集,判断所述待检测流量数据是否符合所述正常流量数据规则集中的任一条正常流量数据规则,若是,则所述待检测流量数据的检测结果是所述待检测流量数据不为异常流量数据。6.根据权利要求1所述的流量数据异常检测方法,其特征在于,在所述基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果之后,还包括:当所述待检测流量数据的检测结果是所述待检测流量数据为异常流量数据时,拦截所述待检测流量数据。7.根据权利要求1所述的流量数据异常检测方法,其特征在于,所述预处理包括数据清洗、数据转换、数据归一化处理。8.一种流量数据异常检测装置,其特征在于,包括:数据处理单元,用于收集合法访问网站的正常流量数据,对所有所述正常流量数据进行预处理,得到所有训练数据;模型建立单元,用于结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型;特征学习单元,用于根据所有所述训练数据训练所述流量数据异常检测模型,使所述流量数据异常检测模型自学习所有所述训练数据的特征;规则生成单元,用于结合所述流量数据异常检测模型自学习的所有所述训练数据的特征,生成正常流量数据规则集;异常检测单元,用于基于所述正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到所述待检测流量数据的检测结果。9.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序;所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时实现根据权利要求1至7任一项所述的流量数据异常检测方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行根据权利要求1至7任一项所述的流量数据异常检测方法。
技术总结
本发明实施例提供一种流量数据异常检测方法、装置、设备及存储介质,涉及网络安全技术领域。所述方法包括:收集合法访问网站的正常流量数据,对所有正常流量数据进行预处理,得到所有训练数据;结合弹性自适应深度自编码模块和稀疏关键点交互式注意力模块,建立流量数据异常检测模型;根据所有训练数据训练流量数据异常检测模型,使流量数据异常检测模型自学习所有训练数据的特征;结合流量数据异常检测模型自学习的所有训练数据的特征,生成正常流量数据规则集;基于正常流量数据规则集,判断待检测流量数据是否为异常流量数据,得到待检测流量数据的检测结果。本发明实施例能够全面准确地对流量数据进行异常检测,有效避免出现误检漏检问题。误检漏检问题。误检漏检问题。
技术研发人员:石震波 杨鹤 杨威
受保护的技术使用者:北京天融信网络安全技术有限公司
技术研发日:2023.06.02
技术公布日:2023/9/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/