首页 / 专利库 / 人工智能 / 机器学习 / 集成学习 / 构建基于PU学习的恶意流量检测模型的方法及装置

构建基于PU学习的恶意流量检测模型的方法及装置

阅读:149发布:2020-05-12

专利汇可以提供构建基于PU学习的恶意流量检测模型的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种构建基于PU学习的恶意流量检测模型的方法及装置,涉网络技术领域,主要目的在于构建一种能够基于 机器学习 的恶意流量的检测模型。本发明主要的技术方案为:获取流量数据作为样本数据集;基于所述样本数据集训练得到多个候选模型;基于所述样本数据集构造评估集;根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果;选择评估结果符合预设条件的候选模型;根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型。本发明用于实现对恶意流量检测过程中对恶意流量检测模型构建的过程。,下面是构建基于PU学习的恶意流量检测模型的方法及装置专利的具体信息内容。

1.一种构建基于PU学习的恶意流量检测模型的方法,其中,所述方法包括:
获取流量数据作为样本数据集,所述样本数据集中包括带正标签的正样本数据和无标签的未标记样本数据,其中,正标签表示恶意流量;
基于所述样本数据集训练得到多个候选模型,所述候选模型是基于样本数据集中获取的多个训练集分别训练得到的;所述训练集是通过至少部分正样本数据构成的一个正样本训练子集以及多个从未标记样本数据中多次采样得到的多个负样本训练子集分别组合得到,或者是通过至少部分正样本数据构成的多个正样本训练集以及多个从未标记样本数据中多次采样得到的多个负样本训练子集分别组合得到的;
基于所述样本数据集构造评估集;
根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果,所述预设评估条件包括最大间隔法;
选择评估结果符合预设条件的候选模型;
根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型。
2.如权利要求1所述的方法,其中,基于所述样本数据集训练得到多个候选模型包括:
基于所述样本数据集构建多个训练集;
机器学习算法的集合、超参数组合的集合以及所述多个训练集中分别进行选择,训练得到多个候选模型;其中,一种机器学习算法、一组超参数和一个训练集确定一个候选模型。
3.如权利要求2所述的方法,其中,所述基于所述样本数据集构建多个训练集包括:
基于所述样本数据集中的至少部分正样本数据构建一个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采样操作构建多个负样本训练子集,将所述正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集;
或者,
基于所述样本数据集中的至少部分正样本数据构建多个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采样 操作构建多个负样本训练子集,将每个正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集。
4.如权利要求1所述的方法,其中,所述基于所述样本数据集构造评估集包括:
对所述样本数据集中的正样本数据进行采样构建正样本评估子集,对所述样本数据集中的未标记样本数据进行采样构建负样本评估子集,将正样本评估子集和负样本评估子集组合得到评估集。
5.如权利要求1所述的方法,其中,
所述基于所述样本数据集构造评估集包括:基于所述样本数据集构建多个评估集,其中每个评估集中包括正样本数据以及作为负样本数据的未标记样本数据;
所述根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果,包括:对于每个候选模型,根据所述多个评估集和预设评估条件分别对该候选模型进行评估,得到多个评估结果,融合所述多个评估结果得到该候选模型对应的最终评估结果。
6.如权利要求1所述的方法,其中,
所述预设评估条件为最大间隔法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的预测结果的分类间隔;
所述选择评估结果符合预设条件的候选模型包括:选择对应预测结果的分类间隔大于预设值的候选模型。
7.如权利要求1所述的方法,其中,
所述预设评估条件为计算AUC值的方法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的AUC值;
所述选择评估结果符合预设条件的候选模型包括:选择对应AUC值大于预设值的候选模型。
8.如权利要求1所述的方法,其中,所述根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型包括:
按照对应的评估结果为每个所选择的候选模型分配对应的权重值,并根据权重值对所选择的候选模型进行集成。
9.一种基于PU学习模型的恶意流量检测方法,其中,
获取待检测的流量数据;
根据所述如权利要求1-8中任一项所述的方法,构建恶意流量检测模型;
利用所得到的恶意流量检测模型对所述待检测的流量数据进行检测。
10.一种构建基于PU学习的恶意流量检测模型的装置,其中,所述装置包括:
获取单元,用于获取流量数据作为样本数据集,所述样本数据集中包括带正标签的正样本数据和无标签的未标记样本数据,其中,正标签表示恶意流量;
训练单元,用于基于所述样本数据集训练得到多个候选模型,所述候选模型是基于样本数据集中获取的多个训练集分别训练得到的;所述训练集是通过至少部分正样本数据构成的一个正样本训练子集以及多个从未标记样本数据中多次采样得到的多个负样本训练子集分别组合得到,或者是通过至少部分正样本数据构成的多个正样本训练集以及多个从未标记样本数据中多次采样得到的多个负样本训练子集分别组合得到的;
构造单元,用于基于所述样本数据集构造评估集;
评估单元,用于根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果,所述预设评估条件包括最大间隔法;
选择单元,用于选择评估结果符合预设条件的候选模型;
集成单元,用于根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型。
11.如权利要求10所述的装置,其中,所述训练单元包括:
构建模,用于基于所述样本数据集构建多个训练集;
训练模块,用于从机器学习算法的集合、超参数组合的集合以及所述多个训练集中分别进行选择,训练得到多个候选模型;其中,一种机器学习算法、一组超参数和一个训练集确定一个候选模型。
12.如权利要求11所述的装置,其中,所述构建模块包括:
第一构建子模块,用于基于所述样本数据集中的至少部分正样本数据构建一个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采样操作构建多个负样本训练子集,将所述正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集;
第二构建子模块,用于基于所述样本数据集中的至少部分正样本数据构建多个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采样 操作构建多个负样本训练子集,将每个正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集。
13.如权利要求10所述的装置,其中,所述构造单元,具体用于对所述样本数据集中的正样本数据进行采样构建正样本评估子集,对所述样本数据集中的未标记样本数据进行采样构建负样本评估子集,将正样本评估子集和负样本评估子集组合得到评估集。
14.如权利要求10所述的装置,其中,所述构造单元,具体用于基于所述样本数据集构建多个评估集,其中每个评估集中包括正样本数据以及作为负样本数据的未标记样本数据;
所述评估单元,具体用于对于每个候选模型,根据所述多个评估集和预设评估条件分别对该候选模型进行评估,得到多个评估结果,融合所述多个评估结果得到该候选模型对应的最终评估结果。
15.如权利要求10所述的装置,其中,所述预设评估条件为最大间隔法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的预测结果的分类间隔;
所述选择单元,具体用于选择对应预测结果的分类间隔大于预设值的候选模型。
16.如权利要求10所述的装置,其中,所述预设评估条件为计算AUC值的方法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的AUC值。
17.如权利要求10所述的装置,其中,所述选择单元,具体用于选择对应AUC值大于预设值的候选模型;
所述集成单元,具体用于按照对应的评估结果为每个所选择的候选模型分配对应的权重值,并根据权重值对所选择的候选模型进行集成。
18.一种基于PU学习模型的恶意流量检测系统,其中,
待检测数据获取单元,用于获取待检测的流量数据;
如权利要求10-17中任一项所述的装置,用于构建恶意流量检测模型;
检测单元,用于利用所得到的恶意流量检测模型对所述待检测的流量数据进行检测。
19.一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被一个或多个计算装置执行时实现权利要求1-8中任意一项所述的方法。
20.一种包括一个或多个计算装置和一个或多个存储装置的系统,所述一个或多个存储装置上记录有计算机程序,所述计算机程序在被所述一个或多个计算装置执行时使得所述一个或多个计算装置实现如权利要求1-8中任一项所述的方法。

说明书全文

构建基于PU学习的恶意流量检测模型的方法及装置

技术领域

[0001] 本发明涉及网络技术领域,尤其涉及一种构建基于PU学习的恶意流量检测模型的方法及装置,以及一种恶意流量检测方法和装置。

背景技术

[0002] 随着网络技术的不断发展以及人们的工作和生活越来越与网络息息相关,网络中的流量也逐步增多,其中,在网络中常常存在恶意流量,会影响网站数据库或系统的正常运行,例如网络攻击、流量欺诈、恶意爬虫等网络流量均为常见的恶意流量,此种恶意流量通常通过未经许可的方式侵入、干扰或抓取未经许可的业务数据或信息。基于恶意流量的危害性,域内专家对于恶意流量的检测已愈发重视。
[0003] 目前,在现有的恶意流量的检测过程中,所常用的检测方式都是基于预设规则进行检测的,例如,通过提取恶意流量的特征作为判断依据,对网络流量进行检测和判断,但在当下海量的网络流量的前提下,在依靠现有的方式在检测过程中,无论是在检测效果还是检测效率上都过于依赖人工的介入,这就使得在面对当前面对海量的网络数据时,需要花费较多的人、物力等资源。而随着技术的不断进步,人工智能技术也逐步发展。其中,机器学习是人工智能研究发展到一定阶段的必然产物,其致力于通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”形式存在,通过机器学习算法,可从数据中产生“模型”,也就是说,将经验数据提供给机器学习算法,就能基于这些经验数据产生模型,在面对新的情况时,模型会提供相应的判断,即,预测结果。因此,基于现有的检测方式难以满足当前恶意流量检测的需要,如何实现一种能够基于机器学习的恶意流量的检测,成为了业内亟待解决的问题。

发明内容

[0004] 鉴于上述问题,本发明提出了一种构建基于PU学习的恶意流量检测模型的方法及装置,主要目的在于实现一种能够基于机器学习进行自动化的恶意流量检测方法,从而减少人工的消耗。
[0005] 为达到上述目的,本发明主要提供如下技术方案:
[0006] 一方面,本发明提供一种构建基于PU学习的恶意流量检测模型的方法,具体包括:
[0007] 获取流量数据作为样本数据集,所述样本数据集中包括带正标签的正样本数据和无标签的未标记样本数据,其中,正标签表示恶意流量;
[0008] 基于所述样本数据集训练得到多个候选模型;
[0009] 基于所述样本数据集构造评估集;
[0010] 根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果;
[0011] 选择评估结果符合预设条件的候选模型;根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型。
[0012] 可选地,基于所述样本数据集训练得到多个候选模型包括:
[0013] 基于所述样本数据集构建多个训练集;
[0014] 从机器学习算法的集合、超参数组合的集合以及所述多个训练集中分别进行选择,训练得到多个候选模型;其中,一种机器学习算法、一组超参数和一个训练集确定一个候选模型。
[0015] 可选地,所述基于所述样本数据集构建多个训练集包括:
[0016] 基于所述样本数据集中的至少部分正样本数据构建一个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采样操作构建多个负样本训练子集,将所述正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集;
[0017] 或者,
[0018] 基于所述样本数据集中的至少部分正样本数据构建多个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采用操作构建多个负样本训练子集,将每个正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集。
[0019] 可选地,所述基于所述样本数据集构造评估集包括:
[0020] 对所述样本数据集中的正样本数据进行采样构建正样本评估子集,对所述样本数据集中的未标记样本数据进行采样构建负样本评估子集,将正样本评估子集和负样本评估子集组合得到评估集。
[0021] 可选地,所述基于所述样本数据集构造评估集包括:基于所述样本数据集构建多个评估集,其中每个评估集中包括正样本数据以及作为负样本数据的未标记样本数据;
[0022] 所述根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果,包括:对于每个候选模型,根据所述多个评估集和预设评估条件分别对该候选模型进行评估,得到多个评估结果,融合所述多个评估结果得到该候选模型对应的最终评估结果。
[0023] 可选地,所述预设评估条件为最大间隔法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的预测结果的分类间隔;
[0024] 所述选择评估结果符合预设条件的候选模型包括:选择对应预测结果的分类间隔大于预设值的候选模型。
[0025] 可选地,所述预设评估条件为计算AUC值的方法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的AUC值;
[0026] 所述选择评估结果符合预设条件的候选模型包括:选择对应AUC值大于预设值的候选模型。
[0027] 可选地,所述根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型包括:
[0028] 按照对应的评估结果为每个所选择的候选模型分配对应的权重值,并根据权重值对所选择的候选模型进行集成。
[0029] 另一方面,本发明提供一种构建基于PU学习的恶意流量检测模型的装置,具体包括:
[0030] 获取单元,用于获取流量数据作为样本数据集,所述样本数据集中包括带正标签的正样本数据和无标签的未标记样本数据,其中,正标签表示恶意流量;
[0031] 训练单元,用于基于所述样本数据集训练得到多个候选模型;
[0032] 构造单元,用于基于所述样本数据集构造评估集;
[0033] 评估单元,用于根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果;
[0034] 选择单元,用于选择评估结果符合预设条件的候选模型;
[0035] 集成单元,用于根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型。
[0036] 可选地,训练单元包括:
[0037] 构建模,用于基于所述样本数据集构建多个训练集;
[0038] 训练模块,用于从机器学习算法的集合、超参数组合的集合以及所述多个训练集中分别进行选择,训练得到多个候选模型;其中,一种机器学习算法、一组超参数和一个训练集确定一个候选模型。
[0039] 可选地,所述构建模块包括:
[0040] 第一构建子模块,用于基于所述样本数据集中的至少部分正样本数据构建一个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采样操作构建多个负样本训练子集,将所述正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集;
[0041] 第二构建子模块,用于基于所述样本数据集中的至少部分正样本数据构建多个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采用操作构建多个负样本训练子集,将每个正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集。
[0042] 可选地,所述构造单元,具体用于对所述样本数据集中的正样本数据进行采样构建正样本评估子集,对所述样本数据集中的未标记样本数据进行采样构建负样本评估子集,将正样本评估子集和负样本评估子集组合得到评估集。
[0043] 可选地,所述构造单元,具体用于基于所述样本数据集构建多个评估集,其中每个评估集中包括正样本数据以及作为负样本数据的未标记样本数据;
[0044] 所述评估单元,具体用于对于每个候选模型,根据所述多个评估集和预设评估条件分别对该候选模型进行评估,得到多个评估结果,融合所述多个评估结果得到该候选模型对应的最终评估结果。
[0045] 可选地,所述预设评估条件为最大间隔法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的预测结果的分类间隔;
[0046] 所述选择单元,具体用于选择对应预测结果的分类间隔大于预设值的候选模型。
[0047] 可选地,所述预设评估条件为计算AUC值的方法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的AUC值;
[0048] 所述选择单元,具体用于选择对应AUC值大于预设值的候选模型。
[0049] 可选地,所述集成单元,具体用于按照对应的评估结果为每个所选择的候选模型分配对应的权重值,并根据权重值对所选择的候选模型进行集成。
[0050] 另一方面,本发明提供一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被一个或多个计算装置执行时实现上述的构建基于PU学习的恶意流量检测模型的方法。
[0051] 另一方面,本发明提供一种包括一个或多个计算装置和一个或多个存储装置的系统,所述一个或多个存储装置上记录有计算机程序,所述计算机程序在被所述一个或多个计算装置执行时使得所述一个或多个计算装置实现上述的构建基于PU学习的恶意流量检测模型的方法。
[0052] 又一方面,本发明提供了基于PU学习模型的恶意流量检测方法,包括:
[0053] 获取待检测的流量数据;
[0054] 根据如前述第一方面中任一项所述的方法,构建恶意流量检测模型;
[0055] 利用所得到的恶意流量检测模型对所述待检测的流量数据进行检测。
[0056] 再一个方面,本发明提供了一种基于PU学习模型的恶意流量检测系统,其中,[0057] 待检测数据获取单元,用于获取待检测的流量数据;
[0058] 如上任一项所述的装置,用于构建恶意流量检测模型;
[0059] 检测单元,用于利用所得到的恶意流量检测模型对所述待检测的流量数据进行检测。
[0060] 借由上述技术方案,本发明提供的一种构建基于PU学习的恶意流量检测模型的方法及装置,能够通过获取流量数据样本数据集,并基于所述样本数据集训练得到多个候选模型,再基于所述样本数据集构造评估集,根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果,最后选择评估结果符合预设条件的候选模型,并根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型,从而能够根据该恶意流量检测模型进行恶意流量的检测,相对现有的采用预设方式对流量数据检测方式,本发明能够避免对人工介入的问题,能够机器学习自动执行恶意流量的检测,解决了恶意流量检测过程中对人工的依赖,并且,本发明所实施的方法结合了PU学习模型,能够根据已知恶意流量中发现恶意流量的潜在的特征和规律,从而在对于未知的流量数据进行检测时,相较于以往的检测手段仅依赖于已知的特征及规律相比,具有更好的准确性。
[0061] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明
[0062] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0063] 图1示出了本发明实施例提出的一种构建基于PU学习的恶意流量检测模型的方法的流程图
[0064] 图2示出了本发明实施例提出的一种构建基于PU学习的恶意流量检测模型的装置的组成框图
[0065] 图3示出了本发明实施例提出的另一种构建基于PU学习的恶意流量检测模型的装置的组成框图;
[0066] 图4示出了本发明实施例提供的一种基于PU学习模型的恶意流量检测系统组成框图。

具体实施方式

[0067] 下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
[0068] 本发明实施例提供了一种构建基于PU学习的恶意流量检测模型的方法,该方法用于对于需要检测的流量数据进行检测,其目的在于通过构建用于检测恶意流量的PU学习模型来对待检测的流量数据进行检测,从而实现基于机器学习的恶意流量检测功能,解决了现有的恶意流量检测过程中过度依赖人工的问题,本方法具体步骤如图1所示,包括:
[0069] 101、获取流量数据作为样本数据集。
[0070] 在当今网络中,充斥着大量的网络数据,这些网络数据构成了网络流量,其中该网络流量可以理解为通过特定网络节点的数据包和网络请求数量。基于网络流量中存在各种恶意行为的网络流量、例如网络攻击、流量欺诈、恶意爬虫等。在这些恶意行为的网络流量中,恶意流量绝大部分都来自自动化程序,通常通过未经许可的方式侵入、干扰、抓取他方业务或数据;网络攻击常常通过大量的访问来消耗系统性能,造成数据库或者系统卡死,从而无法对外提供服务;而流量欺诈通常会导致公众号、短视频、直播平台刷访问量、阅读量,以及电商平台的刷单量,从而导致影响商品排序。因此,对于恶意流量的检测则可以理解为对网络流量中的类似上述带有恶意性质的流量的检测。
[0071] 基于本发明实施例所述的方法是一种基于PU学习的恶意流量检测模型的构建方法,因此,在构建模型之前,首先都需要获取用于训练模型的样本数据,所述样本数据集即为流量数据,另外,PU(Positive and unlabeled learning,简称PU Learning)称作正例与未标记样本学习,即在只有正样本数据和未标记样本数据的情况下来训练分类模型。在如上述所述的流量检测的过程中,已知的恶意流量数据是少数的,更多的则是未知的流量数据,在这种情况下,正适合选取PU学习来进行模型的训练,因此,则可以获取上述包含有带有正标签的恶意流量数据作为样本数据集的正样本数据、以及无标签的未标记样本数据的样本数据集来训练基于PU学习来训练对应的分类模型。
[0072] 102、基于所述样本数据集训练得到多个候选模型。
[0073] 在获取到样本数据集后,则可以由该样本数据集进行候选模型的训练。通常,在常见的PU学习的模型构建过程中,以往的研究通常从未标记样本中作为负样本来训练分类器,然而,基于不同的算法、超参数、及训练集所训练的不同的模型对于恶意流量检测的检测效果是不同的,而在实际的应用中对于算法、超参数的选择则需要依赖操作人员的经验进行选取,槛较高,因此,在本发明实施例中则可以选取样本数据集进行多个候选模型的训练,以便从中选取较为适合的模型,基于此,在本步骤中在训练多个候选模型之前,还需要构建多个不同的训练集,具体的,选取训练集的实际操作过程中还可以按照上述方式,或者其他方式选取,例如,还可以从正样本和未标记样本中分别抽取其中的部分数据,分别作为训练集的正样本集和负样本集。在得到多个不同的训练集后,则可以选取预设的机器算法及超参数来训练对应的候选模型,具体的,其机器算法可以从预设的机器算法模型中选取,超参数则可以由超参数组合的集合中获得,在此,所述候选模型可以是由一种学习算法,结合一组选定的超参数以及对应的多个训练集中的一个训练集进行候选模型的确定。
[0074] 此外,在本发明实施例中,为了进一步提高PU学习的模型构建结果的准确性,在本发明实施例中可以尽可能多的训练候选模型,在此,对于候选模型的数量在此并不做具体的限定,在实际应用中可以选取符合实际需要的数量进行候选模型的训练。
[0075] 103、基于所述样本数据集构造评估集。
[0076] 由于前述步骤102中得到了是多个候选模型,在得出上述候选模型后,还需要进行评估操作,以便从多个候选模型中评估出适合的模型。由此,在本步骤中还需要通过样本数据集来进行评估集的构造。具体的,该评估集可以是分别从正样本数据及未标记样本数据中分别抽样得到的。另外,为了确保评估结果的准确性,在此,还可以通过多次抽样得到不同的评估集,以便后续能够利用多个评估集对候选模型进行评估。
[0077] 104、根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果。
[0078] 在评估过程中,可以根据实际的需要选取所需的预设评估条件,例如,可以选择评估条件为AUC值,则可以根据每个评估集的AUC值作为评估结果。当然,在此所选取的预设评估条件在此并不做具体的限定,可以选取任一种能够用于模型预设结果的评估条件进行。
[0079] 105、选择评估结果符合预设条件的候选模型。
[0080] 基于预设评估条件的不同,在本步骤中所设置的预设条件也是不同的。例如,当前述步骤104中的预设评估条件为AUC值时,则本步骤中的预设条件则可以为大于设定的AUC阈值则确定为符合条件的候选模型。
[0081] 106、根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型。
[0082] 在实际操作过程中,前述步骤105中选取的符合预设评估条件的候选模型往往是多个,为了进一步的确保基于PU学习的模型构建的准确性,在本步骤中还可以将上述符合预设条件的候选模型进行集成,其中集成的过程可以按照评估结果排序,并为其进行权重分配,从而按照权重值对候选模型进行集成。
[0083] 进一步的,作为前述实施例的进一步细化和扩展,在本发明实施例中,在执行上述步骤101-106的过程中,其具体的执行方式还可以如下述方式进行。
[0084] 其中,在步骤102中基于所述样本数据集训练得到多个候选模型时,一个候选模型的训练过程是通过一种机器学习算法、一组超参数和一个训练集确定的。因此,在获取到所述样本数据集后,在训练多个候选模型时,还可以具体包括:首先基于所述样本数据集构建多个用以训练候选模型的训练集。然后从机器学习算法的集合、超参数组合的集合以及所述多个训练集中分别进行选择,训练得到多个候选模型。在此,对于机器学习算法、超参数的选取可以根据实际情况如上述所述的自行选取,在此不做限定,另外,在基于所述样本数据集构建多个训练集时,可以首先基于所述样本数据集中的至少部分正样本数据构建一个正样本训练子集,并对所述样本数据集中的未标记样本数据进行多次采样操作构建多个负样本训练子集。然后再将所述正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集。需要说明的是,在构建训练集中正样本训练子集的过程中,可以如上述所述的构建一个正样本训练子集,还可以从正样本数据集中抽取部分正样本来构建多个正样本训练子集,具体的可以为:首先,基于所述样本数据集中的至少部分正样本数据构建多个正样本训练子集,并对所述样本数据集中的未标记样本数据进行多次采样操作构建多个负样本训练子集。然后,再将每个正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集。
[0085] 同时,在步骤03中基于所述样本数据集构造评估集时,基于在实施过程中,前述过程中在基于样本数据集所训练后得到的是多个候选模型,对于这些模型而言,其准确性是不同的,因此,还需要对这些候选模型进行评估,以便得到相对准确的模型,因此,在评估前在进行评估集的构造时,还可以按照下述方式进行:首先,对所述样本数据集中的正样本数据进行采样构建正样本评估子集,对所述样本数据集中的未标记样本数据进行采样构建负样本评估子集,然后,将正样本评估子集和负样本评估子集组合得到评估集。此外,为了进一步的提高评估结果的准确性,还可以在本步骤中构造多个评估集,以便后续利用多个评估集对每个候选模型进行多次评估,并按照多次评估结果确定综合评估效果,即基于所述样本数据集构建多个评估集,其中每个评估集中包括正样本数据以及作为负样本数据的未标记样本数据。
[0086] 在根据评估集及预设评估条件对每个候选模型进行评估时,当所构建的是多个评估集后,则在评估过程中则可以按照下述方式进行:首先,对于每个候选模型,根据所述多个评估集和预设评估条件分别对该候选模型进行评估,得到多个评估结果。然后,对每个候选模型的多个评估结果进行融合,并将融合了所述多个评估结果得到该候选模型对应的最终评估结果作为实际的评估结果。另外,在本发明实施例中,基于不同的预设评估条件对评估方式及评估结果存在直接影响,因此对于评估结果而言,基于不同的预设评估条件其对应的评估结果也是不同的,例如:当所述预设评估条件为最大间隔法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的预测结果的分类间隔。而当所述预设评估条件为计算AUC值的方法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的AUC值。其中,AUC值可以理解为一个概率值,当你随机挑选一个正样本以及负样本时,当前的分类算法根据计算得到的分数值将这个正样本排在负样本前面的概率就是AUC值,AUC值越大,说明当前分类模型越有可能将正样本排在负样本前面,从而能够更好地分类,从而确定模型的分类效果更为准确。
[0087] 在选择评估结果符合预设条件的候选模型时,基于前述不同的预设评估条件,则对于符合预设条件的候选模型的选择方式也存在区别:一方面,当所述预设评估条件为最大间隔法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的预测结果的分类间隔。本步骤则可以为:选择对应预测结果的分类间隔大于预设值的候选模型。另一方面,当所述预设评估条件为计算AUC值的方法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的AUC值。则本步骤可以为:选择对应AUC值大于预设值的候选模型。
[0088] 在实施过程中,在选择评估结果符合预设条件的候选模型后,得到符合预设条件的候选模型往往是多个,并且上述候选模型的准确性也不是相同的,因此,对于这种情况,需要将上述模型进行集成,其中为了确保得到集成后的恶意流量检测模型更为准确,在集成时可以根据评估结果为每个候选模型选取对应的权重来进行集成。因此,在根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型的过程可以具体为:按照对应的评估结果为每个所选择的候选模型分配对应的权重值,并根据权重值对所选择的候选模型进行集成。
[0089] 另外,在结合具体的应用场景中,本发明实施例还提供了一种恶意流量的检测方法,用以实现对流量数据中恶意流量进行检测,其中该方法的实现过程可以如下述所示:
[0090] 首先,可以获取待检测流量数据作为样本数据,并从其中已知的恶意流量作为样本数据中的已标记的正样本数据,样本中其他未知的流量数据则作为为未标记样本数据。
[0091] 然后,根据上述确定的正样本数据以及未标记样本数据,作为样本数据,并以此基础上构建用以进行恶意流量检测的恶意流量检测模型,其中,构建过程可以如上述实施例中的步骤进行,具体的可以为:
[0092] 第一、获取流量数据作为样本数据集,所述样本数据集中包括带正标签的正样本数据和无标签的未标记样本数据,其中,正标签表示恶意流量。
[0093] 第二、基于所述样本数据集训练得到多个候选模型。其中,基于每一个候选模型的训练是基于一个机器学习算法、一组超参数以及一组训练集训练得到的,而不同的算法在检测恶意流量的效果是不同的,因此,在进行候选模型的训练过程中可以通过首先构建多个训练集,并根据多个训练集分别训练一个模型,从而得到多个恶意流量检测模型的候选模型。
[0094] 第三、基于所述样本数据集构造评估集。基于多个候选模型对于检测恶意流量的准确性是不同的,在此则可以通过评估来进行选取适合的模型,因此,在评估之前还需要根据本步骤的方法根据样本数据集构建多个评估集。
[0095] 第四、根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果。其中在进行评估时,是基于评估条件进行的,因此,在从上述多个候选模型中选取适合于恶意流量检测的模型时,可以选取现有的任意一种评估条件进行,例如,所述预设评估条件为最大间隔法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的预测结果的分类间隔;所述预设评估条件为计算AUC值的方法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的AUC值。
[0096] 第五、选择评估结果符合预设条件的候选模型。基于不同的评估条件对应的评估结果时不同的,因此基于不同的评估结果选择符合预设条件的候选模型的方式也是不同的。例如,所述选择评估结果符合预设条件的候选模型包括:选择对应预测结果的分类间隔大于预设值的候选模型;所述选择评估结果符合预设条件的候选模型包括:选择对应AUC值大于预设值的候选模型。
[0097] 第六、根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型。具体的,进行集成时,其方式可以按照对应的评估结果为每个所选择的候选模型分配对应的权重值,并根据权重值对所选择的候选模型进行集成。
[0098] 最后,再利用该恶意流量检测模型进行恶意流量的检测,从而实现从已有的少量已知的恶意流量的情况下,得出潜在的规律并以此从未知的流量中进行恶意流量的检测功能。
[0099] 具体的,在检测的过程中,其实现过程可以是通过恶意流量检测模型对每个待检测的流量数据进行打分操作,从而得到每个流量数据的得分,并以此基础上为上述流量数据进行排序操作,并根据排序后得到的流量数据的序列按照排序顺序从中确定哪一个是恶意流量或潜在的恶意流量。
[0100] 此外,为了确保后续恶意流量的准确识别和防范,还可以把经恶意流量检测模型检测为恶意流量的数据进行特征的统计和归纳,从而得到恶意流量的特征或特征集,并以此特征或特征集作为防范和识别恶意流量的时的依据。
[0101] 进一步的,作为对上述构建基于PU学习的恶意流量检测模型的方法的实现,本发明实施例提供了一种构建基于PU学习的恶意流量检测模型的装置,该装置主要用于对于需要检测的流量数据进行检测,其目的在于通过构建用于检测恶意流量的PU学习模型来对待检测的流量数据进行检测,从而实现基于机器学习的恶意流量检测功能,解决了现有的恶意流量检测过程中过度依赖人工的问题。为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置如图2所示,具体包括:
[0102] 获取单元21,可以用于获取流量数据作为样本数据集,所述样本数据集中包括带正标签的正样本数据和无标签的未标记样本数据,其中,正标签表示恶意流量;
[0103] 训练单元22,可以用于基于所述获取单元21获取的样本数据集训练得到多个候选模型;
[0104] 构造单元23,可以用于基于所述获取单元21获取的样本数据集构造评估集;
[0105] 评估单元24,可以用于根据所述构造单元23构建的评估集,以及预设评估条件分别对训练单元22训练处的每个候选模型进行评估,得到对应每个候选模型的评估结果;
[0106] 选择单元25,可以用于选择所述评估单元34得到的评估结果符合预设条件的候选模型;
[0107] 集成单元26,可以用于根据预设的集成方法对所选择单元35所选择的模型进行集成,得到恶意流量检测模型。
[0108] 进一步的,如图3所示,所述训练单元22包括:
[0109] 构建模块221,可以用于基于所述样本数据集构建多个训练集;
[0110] 训练模块222,可以用于从机器学习算法的集合、超参数组合的集合以及所述构建模块221构建的多个训练集中分别进行选择,训练得到多个候选模型;其中,一种机器学习算法、一组超参数和一个训练集确定一个候选模型。
[0111] 进一步的,如图3所示,所述构建模块221包括:
[0112] 第一构建子模块2211,可以用于基于所述样本数据集中的至少部分正样本数据构建一个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采样操作构建多个负样本训练子集,将所述正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集;
[0113] 第二构建子模块2212,可以用于基于所述样本数据集中的至少部分正样本数据构建多个正样本训练子集,对所述样本数据集中的未标记样本数据进行多次采样操作构建多个负样本训练子集,将每个正样本训练子集与所述多个负样本训练子集分别进行组合得到多个训练集。
[0114] 进一步的,如图3所示,所述评估单元24,可以具体用于对所述样本数据集中的正样本数据进行采样构建正样本评估子集,对所述样本数据集中的未标记样本数据进行采样构建负样本评估子集,将正样本评估子集和负样本评估子集组合得到评估集。
[0115] 进一步的,如图3所示,所述构造单元23,可以具体用于基于所述样本数据集构建多个评估集,其中每个评估集中包括正样本数据以及作为负样本数据的未标记样本数据;
[0116] 所述评估单元24,还可以具体用于对于每个候选模型,根据所述构造单元23构建的多个评估集和预设评估条件分别对该候选模型进行评估,得到多个评估结果,融合所述多个评估结果得到该候选模型对应的最终评估结果。
[0117] 进一步的,如图3所示,所述预设评估条件为最大间隔法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的预测结果的分类间隔;
[0118] 所述选择单元25,可以具体用于选择对应预测结果的分类间隔大于预设值的候选模型。
[0119] 进一步的,如图3所示,所述预设评估条件为计算AUC值的方法时,所述对应每个候选模型的评估结果是每个候选模型在评估集上的AUC值;
[0120] 所述选择单元25,还可以具体用于选择对应AUC值大于预设值的候选模型。
[0121] 进一步的,如图3所示,所述集成单元26,可以具体用于按照对应的评估结果为每个所选择的候选模型分配对应的权重值,并根据权重值对所选择的候选模型进行集成。
[0122] 进一步的,作为对上述恶意流量检测功能的实现,本发明实施例提供了一种基于PU学习模型的恶意流量检测系统,该系统主要用于对于需要检测的流量数据进行检测,其目的在于通过构建用于检测恶意流量的PU学习模型来对待检测的流量数据进行检测,从而实现基于机器学习的恶意流量检测功能,解决了现有的恶意流量检测过程中过度依赖人工的问题。为便于阅读,本系统实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的系统能够对应实现前述方法实施例中的全部内容。该系统如图4所示,具体包括:
[0123] 待检测数据获取单元41,可以用于获取待检测的流量数据;
[0124] 构建基于PU学习的恶意流量检测模型的装置42,可以用于根据获取单元41获取的待检测的流量数据,构建恶意流量检测模型;其中,构建基于PU学习的恶意流量检测模型的装置4具体可以是如图2或图3所示额装置;
[0125] 检测单元43,可以用于利用构建基于PU学习的恶意流量检测模型的装置42所得到的恶意流量检测模型对所述待检测的流量数据进行检测。
[0126] 进一步的,本发明实施例还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被一个或多个计算装置执行时实现上述的构建基于PU学习的恶意流量检测模型的方法。
[0127] 另外,本发明实施例还提供了一种包括一个或多个计算装置和一个或多个存储装置的系统,所述一个或多个存储装置上记录有计算机程序,所述计算机程序在被所述一个或多个计算装置执行时使得所述一个或多个计算装置实现上述的构建基于PU学习的恶意流量检测模型的方法。
[0128] 综上所述,本发明实施例提出的一种构建基于PU学习的恶意流量检测模型的方法及装置,能够通过获取流量数据样本数据集,并基于所述样本数据集训练得到多个候选模型,再基于所述样本数据集构造评估集,根据所述评估集,以及预设评估条件分别对每个候选模型进行评估,得到对应每个候选模型的评估结果,最后选择评估结果符合预设条件的候选模型,并根据预设的集成方法对所选择的模型进行集成,得到恶意流量检测模型,从而能够根据该恶意流量检测模型进行恶意流量的检测,相对现有的采用预设方式对流量数据检测方式,本发明能够避免对人工介入的问题,能够机器学习自动执行恶意流量的检测,解决了恶意流量检测过程中对人工的依赖,并且,本发明所实施的方法结合了PU学习模型,能够根据已知恶意流量中发现恶意流量的潜在的特征和规律,从而在对于未知的流量数据进行检测时,相较于以往的检测手段仅依赖于已知的特征及规律相比,具有更好的准确性。
[0129] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0130] 可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
[0131] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0132] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0133] 此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
[0134] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0135] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0136] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0137] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0138] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0139] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
[0140] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0141] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0142] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0143] 以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈