CN118018223A - 攻击检测的方法、装置、存储介质及电子设备 - Google Patents
攻击检测的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN118018223A CN118018223A CN202211397824.8A CN202211397824A CN118018223A CN 118018223 A CN118018223 A CN 118018223A CN 202211397824 A CN202211397824 A CN 202211397824A CN 118018223 A CN118018223 A CN 118018223A
- Authority
- CN
- China
- Prior art keywords
- sequence
- frequent
- log
- determining
- attack
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000002159 abnormal effect Effects 0.000 claims abstract description 62
- 238000013145 classification model Methods 0.000 claims abstract description 36
- 238000012549 training Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 13
- 239000003550 marker Substances 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 230000006399 behavior Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种攻击检测的方法、装置、存储介质及电子设备,其中,该方法包括:确定无攻击日志集所对应的标记序列以及有攻击日志集所对应的标记序列;确定无攻击日志集的频繁项集,将无攻击日志集的频繁项集作为正常频繁序列;确定有攻击日志集的频繁项集,将有攻击日志集的频繁项集中与正常频繁序列不同的频繁项集作为异常频繁序列;基于正常频繁序列和异常频繁序列训练得到分类模型;基于分类模型检测多条当前流量日志的频繁序列是否异常。本发明实施例提供的技术方案通过提取标记序列中的频繁项集,可以挖掘出流量日志随时间变化的特征,能够挖掘出长周期多步骤的攻击行为,从而实现长周期多步骤攻击行为的检测。
Description
技术领域
本发明涉及流量攻击检测技术领域,具体而言,涉及一种攻击检测的方法、装置、存储介质及电子设备。
背景技术
长周期多步骤攻击是一种更复杂的攻击,攻击者会利用先进的攻击手段对攻击目标发动长期、逐步渗透式的网络攻击。整个攻击可能会持续一年以上甚至更久,并且在攻击的过程中不定期活动,多数时候处于藏匿状态。在进行初步攻击时,攻击者会利用探测手段对攻击目标的系统情况、业务情况进行收集,其中包括了目标系统的漏洞、情报等信息,以此来逐步控制目标主机。这些目标主机会进一步被当作跳板,攻击者可以利用这些跳板,向网络更深处搜索,从而控制更多的系统。除了网络侧的手段,攻击者还可能发送恶意的钓鱼邮件,以此窃取相关系统信息、人员信息等,这些窃密过程都隐藏在正常的流量中难以被发现。
针对长周期多步骤攻击,传统安全攻击检测方法往往基于网络流量进行规则匹配或特征分析,这些基于特征的检测方法难以完整找出攻击者的行为序列,在提取长周期关联特征上较为薄弱,检测率不高,从而造成漏报。而现有的大部分基于行为模式挖掘的检测方法很少有专门针对“长期潜伏、间隔攻击”攻击模式的研究,且部分方法会随着数据量的增加而性能下降,难准确挖掘出长周期多步骤的攻击行为。
发明内容
为解决上述技术问题,本发明实施例的目的在于提供一种攻击检测的方法、装置、存储介质及电子设备。
第一方面,本发明实施例提供了一种攻击检测的方法,包括:
确定包含多条流量日志的无攻击日志集和有攻击日志集,分别执行确定标记序列的过程,确定所述无攻击日志集所对应的标记序列以及所述有攻击日志集所对应的标记序列;所述标记序列为由多条按照时间顺序排列的流量日志所对应的标记所形成的序列,且每种流量日志对应唯一的所述标记;
将所述无攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述无攻击日志集的频繁项集,并将所述无攻击日志集的频繁项集作为正常频繁序列;
将所述有攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述有攻击日志集的频繁项集,并将所述有攻击日志集的频繁项集中与所述正常频繁序列不同的频繁项集作为异常频繁序列;
基于所述正常频繁序列和所述异常频繁序列训练得到用于确定频繁序列是否异常的分类模型;
基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常。
在一种可能的实现方式中,所述确定标记序列包括:
按照时间顺序对多条流量日志进行排序,确定流量日志序列;
对所述流量日志序列循环执行设置标记的操作,直至所述流量日志序列中的所有流量日志均被设置标记;
其中,所述设置标记的操作,包括:
将沿预定顺序所确定的第一个未被设置标记的流量日志作为目标流量日志,并为所述目标流量日志设置相应的标记;所述预定顺序包括从头到尾的顺序或从尾到头的顺序;
沿所述预定顺序对所述流量日志序列进行遍历,为所述流量日志序列中与所述目标流量日志相同的所有流量日志均设置与所述目标流量日志相同的标记。
在一种可能的实现方式中,该方法还包括:
将所述有攻击日志集中与所述正常频繁序列不同的非频繁项集作为异常频繁序列。
在一种可能的实现方式中,所述基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常,包括:
执行检测操作;
所述检测操作包括:将多条当前流量日志所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述多条当前流量日志的频繁项集;
将所述多条当前流量日志的频繁项集中与所述正常频繁序列不同的频繁项集作为待定频繁序列,并基于所述分类模型检测所述待定频繁序列是否异常。
在一种可能的实现方式中,所述基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常,还包括:
将初始时间窗口内的多条流量日志作为所述多条当前流量日志,执行所述检测操作;
循环执行更新目标时间窗口,将所述初始时间窗口内的多条流量日志作为新的所述多条当前流量日志,并执行所述检测操作,直至所述目标时间窗口对应的多条当前流量日志的频繁项集的最大长度不再增加;
所述更新目标时间窗口包括:
将目标时间窗口扩展预设的时间段,将扩展后的目标时间窗口作为更新后的目标时间窗口,所述目标时间窗口的初始值为所述初始时间窗口。
在一种可能的实现方式中,所述确定目标序列的频繁项集,包括:
预先设置阈值th和标记索引间隔范围[M,N],M表示两条流量日志之间的最小索引间隔,N表示两条流量日志之间的最大索引间隔;
从所述目标序列S中选取k0个标记,生成长度为k0的k0项集,并将支持度大于所述阈值th的k0项集作为频繁k0项集;所述目标序列S={s1,s2,…,sL},st表示所述目标序列S中第t个流量日志的标记,t表示标记在所述目标序列S中的索引,且t=1,2,…,L;k0≥2;
循环执行确定频繁k+1项集的过程,直至不存在频繁k+1项集;k≥k0;
所述确定频繁k+1项集,包括:
确定长度为k的候选k项集,所述候选k项集包括至少部分k项集;
在所述候选k项集的基础上增加一个标记,生成长度为k+1的待定k+1项集;以及
将支持度大于所述阈值th的待定k+1项集作为频繁k+1项集;
其中,k项集的支持度为所述k项集的有效索引序列的数量与k索引序列总数量的比值;所述k索引序列为包含k个索引,且任意两个相邻索引之间的差值在所述标记索引间隔范围内的序列;所述k项集的有效索引序列为满足的k索引序列,di表示所述有效索引序列中第i个索引,pi表示所述k项集中的第i个标记,且i=1,2,…,k。
在一种可能的实现方式中,所述确定长度为k的候选k项集,包括:
将支持度大于或等于的k项集作为候选k项集;Nk表示k索引序列的总数量。
第二方面,本发明实施例还提供了一种攻击检测的装置,包括:
确定模块,用于确定包含多条流量日志的无攻击日志集和有攻击日志集,分别执行确定标记序列的过程,确定所述无攻击日志集所对应的标记序列以及所述有攻击日志集所对应的标记序列;所述标记序列为由多条按照时间顺序排列的流量日志所对应的标记所形成的序列,且每种流量日志对应唯一的所述标记;
第一处理模块,用于将所述无攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述无攻击日志集的频繁项集,并将所述无攻击日志集的频繁项集作为正常频繁序列;
第二处理模块,用于将所述有攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述有攻击日志集的频繁项集,并将所述有攻击日志集的频繁项集中与所述正常频繁序列不同的频繁项集作为异常频繁序列;
训练模块,用于基于所述正常频繁序列和所述异常频繁序列训练得到用于确定频繁序列是否异常的分类模型;
检测模块,用于基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常。
第三方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于上述任意一项所述的攻击检测的方法。
第四方面,本发明实施例还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的攻击检测的方法。
本发明实施例上述第一方面提供的方案中,将多条流量日志按照时间顺序进行排列,并按照流量日志的种类为不同种的流量日志分别设置唯一的标记,从而可以生成多条流量日志对应的标记序列,通过提取该标记序列中频繁项集的方式来提取出标记序列中异常的部分序列,从而可以准确地判断多条流量日志是否异常。该方法通过提取标记序列中的频繁项集,可以挖掘出流量日志随时间变化的特征,能够挖掘出长周期多步骤的攻击行为,从而实现长周期多步骤攻击行为的检测。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种攻击检测的方法的流程图;
图2示出了本发明实施例所提供的攻击检测的方法中,项集与子项集的一种结构示意图;
图3示出了本发明实施例所提供的一种攻击检测的装置的结构示意图;
图4示出了本发明实施例所提供的用于执行攻击检测的方法的电子设备的结构示意图。
具体实施方式
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明实施例提供的一种攻击检测的方法,参见图1所示,该方法包括:
步骤101:确定包含多条流量日志的无攻击日志集和有攻击日志集,分别执行确定标记序列的过程,确定无攻击日志集所对应的标记序列以及有攻击日志集所对应的标记序列;标记序列为由多条按照时间顺序排列的流量日志所对应的标记所形成的序列,且每种流量日志对应唯一的标记。
本发明实施例中,无攻击日志集和有攻击日志集均为包含多条流量日志的集合,无攻击日志集中的流量日志为正常流量行为所生成的流量日志,无攻击日志集不包含攻击,而无攻击日志集中的至少部分流量日志为攻击行为所生成的流量日志,有攻击日志集存在攻击。对于这些多条流量日志,本发明实施例以标记序列的形式进行表示。
具体地,流量日志包含多种特征,本发明实施例基于流量日志的特征对流量日志进行分类,可以确定每条流量日志的种类。例如,可以基于流量日志对应的五元组特征(包括源IP、目的IP等五种特征)对流量日志进行分类,将同一五元组对应的流量日志作为同一种;或者,也可以通过其他特征提取方式提取出每条流量日志的n个特征,一条流量日志x可以表示为x={k1,k2.....,kn},其中的ki表示第i个特征,i=1,2,…,n;可以将所有的n个特征均相同的流量日志作为同一种流量日志。
对于每种流量日志,本发明实施例为其设置唯一的标记,即一种流量日志对应一个标记;流量日志集(例如,无攻击日志集或有攻击日志集)中的每条流量日志均具有时间属性,基于该时间属性可以对该流量日志集中的所有流量日志按照时间顺序进行排列,之后用标记表示这些流量日志,即可形成该流量日志集的标记序列。例如,当前存在三种流量日志,且三种流量日志的标记分别为A、B、C,则可以生成形如“ABCCBAC…”的标记序列。
可选地,可以对流量日志进行预处理,以形成统一、完整、格式化的事件。例如,首先,对流量日志进行清洗,主要包括填写缺失值,去冗余,删除无效数据,保持数据的一致性。其次,进行数据集成,主要解决数据识别及相关性分析等问题。在执行上述预处理过程之后,再对每条日志按照时间顺序进行标记,相同日志标记相同,不同日志按序号排列,形成日志时间序列,即标记序列。
步骤102:将无攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定无攻击日志集的频繁项集,并将无攻击日志集的频繁项集作为正常频繁序列。
本发明实施例中,由于无攻击日志集中不存在攻击行为,故可以认为该中的项集是正常的,本发明实施例提取出该无攻击日志集的标记序列中的频繁项集,并将该频繁项集作为正常频繁序列。其中,可以按照预先设置的“确定目标序列的频繁项集”的过程,确定该无攻击日志集的频繁项集,进而可以确定正常频繁序列。
其中,项集,指的是包括至少一个标记的序列,其类似于从目标序列中提取出来的子序列。频繁项集,指的是在该目标序列中出现次数较多的项集,例如出现率大于阈值的项集。项集、频繁项集为数据挖掘领域中的专业术语,此处不做详述。本领域技术人员可以理解,本发明实施例中的项集本质上为一个序列。
步骤103:将有攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定有攻击日志集的频繁项集,并将有攻击日志集的频繁项集中与正常频繁序列不同的频繁项集作为异常频繁序列。
与上述步骤102类似,采用相似的方式也可以确定有攻击日志集的频繁项集。本发明实施例中,由于有攻击日志集中的攻击行为可能是间隔攻击,即该有攻击日志集中也可能包含正常的流量日志,故该有攻击日志集的频繁项集不一定都是异常的。本发明实施例中先确定无攻击日志集的频繁项集,即正常频繁序列,若有攻击日志集的某个频繁项集与其中一个正常频繁序列相同,则可认为有攻击日志集的该频繁项集是正常。本发明实施例将有攻击日志集中与正常频繁序列不同的频繁项集作为异常频繁序列,可以更准确地确定异常频繁序列。
可选地,确定异常频繁序列的过程还可以包括:将有攻击日志集中与正常频繁序列不同的非频繁项集作为异常频繁序列。
本发明实施例中,有攻击日志集的标记序列所对应的项集可以分为频繁项集和非频繁项集,若长周期多步骤间隔攻击中的攻击行为较少,则可能导致攻击行为对应的项集为非频繁项集,本发明实施例将非频繁项集也作为异常频繁序列,可以有效扩展异常频繁序列。其中,该非频繁项集虽然是不频繁的,为方便统一描述,本实施例仍将其称为异常频繁序列。
步骤104:基于正常频繁序列和异常频繁序列训练得到用于确定频繁序列是否异常的分类模型。
本发明实施例中,训练分类模型,以能够基于该分类模型对其他待检测的流量日志进行检测。其中,正常频繁序列和异常频繁序列分别对应正负样本,基于该正常频繁序列和异常频繁序列即可实现对分类模型的训练。例如,可以将正常频繁序列和异常频繁序列进行特征处理,利用Bagging的思想训练集成SVM分类器,得到所需的分类模型。
步骤105:基于分类模型检测多条当前流量日志所对应的频繁序列是否异常。
本发明实施例中,在训练得到分类模型后,若当前提取到多条待检测的流量日志,即多条当前流量日志,基于上述步骤102、103相似的过程,将该多条流量日志的标记序列作为目标序列,通过执行确定目标序列的频繁项集的过程,也可以得到该多条当前流量日志所对应的频繁序列,之后将该频繁序列输入至分类模型,即可确定该频繁序列是否异常,从而能够识别出当前流量日志中是否存在长周期间隔攻击的攻击行为。
本发明实施例提供的一种攻击检测的方法,将多条流量日志按照时间顺序进行排列,并按照流量日志的种类为不同种的流量日志分别设置唯一的标记,从而可以生成多条流量日志对应的标记序列,通过提取该标记序列中频繁项集的方式来提取出标记序列中异常的部分序列,从而可以准确地判断多条流量日志是否异常。该方法通过提取标记序列中的频繁项集,可以挖掘出流量日志随时间变化的特征,能够挖掘出长周期多步骤的攻击行为,从而实现长周期多步骤攻击行为的检测。
可选地,上述步骤101中的“确定标记序列”包括:
步骤A1:按照时间顺序对多条流量日志进行排序,确定流量日志序列。
步骤A2:对流量日志序列循环执行设置标记的操作,直至流量日志序列中的所有流量日志均被设置标记。
其中,上述步骤A2中“设置标记的操作”,包括:
步骤A21:将沿预定顺序所确定的第一个未被设置标记的流量日志作为目标流量日志,并为目标流量日志设置相应的标记;预定顺序包括从头到尾的顺序或从尾到头的顺序。
步骤A22:沿预定顺序对流量日志序列进行遍历,为流量日志序列中与目标流量日志相同的所有流量日志均设置与目标流量日志相同的标记。
本发明实施例中,对多条流量日志按照从头到尾、或者从尾到头的顺序,为其中的每个流量日志均设置标记,从而将流量日志序列转换为标记序列。例如,在将流量日志按照时间顺序排列生成流量日志序列之后,将第一条流量日志标记为“A”,表示种类为A的行为,并沿着流量日志序列开始遍历。当遇到与该第一条流量相同的日志时,在当前位置也标记为“A”,直到遍历结束。之后执行下一轮的“设置标记的操作”,即沿着流量日志序列进行第二次遍历,将第一次出现的未标记的流量日志标记为“B”,继续遍历,每遇到与该流量日志相同的流量日志都标记为“B”,作为种类为B的行为,以此类推。
可选地,上述步骤105“基于分类模型检测多条当前流量日志所对应的频繁序列是否异常”包括:
步骤B1:执行检测操作。
并且,上述步骤B1“检测操作”包括:
步骤B11:将多条当前流量日志所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定多条当前流量日志的频繁项集。
步骤B12:将多条当前流量日志的频繁项集中与正常频繁序列不同的频繁项集作为待定频繁序列,并基于分类模型检测待定频繁序列是否异常。
本发明实施例中,在确定需要检测的多条当前流量日志之后,与上述步骤102、103相似,也可基于确定目标序列的频繁项集的过程,以能够确定该多条当前流量日志的频繁项集。之后,先将该多条当前流量日志的频繁项集与上述步骤102所确定的正常频繁项集进行比较,若二者相同,则可认为该多条当前流量日志的频繁项集是正常的。否则,则将该多条当前流量日志的频繁项集输入至分类模型中,基于该分类模型判断其是否异常。
可选地,上述步骤105“基于分类模型检测多条当前流量日志所对应的频繁序列是否异常”还包括:
步骤B2:将初始时间窗口内的多条流量日志作为多条当前流量日志,之后执行上述步骤B1,即执行检测操作;
步骤B3:循环执行更新目标时间窗口,将初始时间窗口内的多条流量日志作为新的多条当前流量日志,并执行上述步骤B1的检测操作,直至目标时间窗口对应的多条当前流量日志的频繁项集的最大长度不再增加。
其中,上述“更新目标时间窗口”包括:
步骤B31:将目标时间窗口扩展预设的时间段,将扩展后的目标时间窗口作为更新后的目标时间窗口,目标时间窗口的初始值为初始时间窗口。
本发明实施例中,在检测阶段,由于需要检测的攻击是长时间的攻击,故时间窗口的选定很重要,即需要确定从多长的时间段内选取当前流量日志。如果时间窗口选择过小,一些长期的攻击模式就会被截断;如果选择窗口过大,则会因产生的数据量过大而导致资源浪费。本发明实施例中,采用一定的滑动窗口策略,从而能够合理的确定时间窗口大小。
具体地,设初始时间窗口w0为[t1,t2],每次扩展的时间段(滑动窗口)为Δw。首先确定该初始时间窗口w0内的多条流量日志,将其作为多条当前流量日志,通过执行上述步骤B1的过程即可确定该初始时间窗口w0内的频繁项集是否异常,以及哪些频繁项集是正常的、哪些频繁项集是异常的。之后,执行更新目标时间窗口,即为该初始时间窗口w0扩展该滑动窗口Δw,扩展后的时间窗口可以表示为[t1,t2+Δw],将该时间窗口作为目标时间窗口,重复执行上述步骤B1,以确定该目标时间窗口[t1,t2+Δw]内的频繁项集是否异常;再之后,在当前的基础上继续扩展滑动窗口Δw,即更新后的目标时间窗口为[t1,t2+2Δw],如此重复。若当前检测出的目标时间窗口对应的频繁项集的最大长度不再增加,说明即使再扩展时间窗口,也不会检测出其他新的频繁项集,此时可以结束处理,以避免数据量过大。
此外可选地,上述步骤105“基于分类模型检测多条当前流量日志所对应的频繁序列是否异常”还可以包括:
步骤B4:将检测出的正常的频繁项集添加至正常频繁序列集合Mnor中,将检测出的异常的频繁项集添加至异常频繁序列集合Msus中,该异常频繁序列集合初始为空。
本发明实施例中,在这个阶段得出的正常数据被认为是暂时正常的数据。随着训练数据中的异常样本越来越丰富,分类模型(例如集成SVM分类器)的识别能力将越来越高,暂时正常的数据也可能会被再一次被识别为攻击。
在上述任一实施例的基础上,在确定频繁项集的过程中,本发明实施例采用类似Apriori算法的方式,在确定频繁k项集之后,再确定频繁k+1项集。但是,传统的Apriori算法适用于确定连续序列中的频繁项集,而在本发明实施例中,由于网络攻击是间隔攻击,且间隔时间是不固定的,本发明实施例利用“标记索引间隔”从目标序列中提取出非连续的间隔序列,进而确定间隔序列中的频繁项集。
为方便描述,首先对本发明实施例中的部分概念进行说明。
1、目标序列。
目标序列为本发明实施例中需要确定频繁项集的序列,其包含多条流量日志的标记,例如无攻击日志集中所有流量日志的标记等。本发明实施例以S表示目标序列,且目标序列S={s1,s2,…,sL};其中,st表示目标序列S中第t个流量日志的标记,且st∈U,U为包含所有标记的标记集,t=1,2,…,L。
2、标记的索引。
标记的索引指的是该标记在目标序列S中的顺序(或者,位置),该索引对应中的下标1、2、…、L。在目标序列S中,同一个标记可能出现在不同的位置,但每个标记的索引都是唯一的,即不同位置处的标记的索引是不同的。例如,上述标记st中的t即表示该标记st的索引。
3、标记索引间隔范围。
标记索引间隔指的是两个流量日志的标记的索引之间的差值;相应的,标记索引间隔范围为该标记索引间隔所允许的取值范围。本发明实施例中,以[M,N]表示该标记索引间隔范围;其中,M为两条流量日志的标记索引之间的最小间隔,N表示两条流量日志的标记索引之间的最大间隔。该标记索引间隔用于从目标序列S中选取合适的项集。N>M≥1。
4、索引序列。
索引序列为包含多个索引的序列,且该索引序列中任意两个相邻索引的差值在该标记索引间隔范围内。由于索引为1、2、…、L等正整数,故该索引序列为多个正整数形成的序列。若该索引序列包含k个索引,则将该索引序列称为“k索引序列”;本发明实施例中,以D表示k索引序列,且D=<d1,d2,…,dk>;其中,di为该索引序列D中的第i个索引,且di正整数;并且,任意两个相邻索引的差值在该标记索引间隔范围内,即M≤di-di-1≤N,i=1,2,…,k。
5、项集。
与传统Apriori算法中的“项集”相似,本发明实施例中的“项集”也为包含至少一个项的集合。本发明实施例中,目标序列中每个流量日志的标记均可以作为一个“项”,进而生成项集。若该项集中包含k个项,则该项集称为“k项集”,或者“k-项集”。例如,用P表示包含k个标记的k项集,该k项集P可表示为:P={p1,p2,…,pk};其中,pi表示k项集中第i个标记,且每个pi均为从目标序列中所选取出的标记。
此外,由于本发明实施例中设有“标记索引间隔范围”,若某项集中相邻两个标记的索引之差不满足该标记索引间隔范围,该项集在本发明实施例中无意义(例如,该项集的支持度为0);因此,本发明实施例中的“项集”主要指的是满足标记索引间隔范围的项集,即可以不考虑不满足标记索引间隔范围的项集。
6、项集的有效索引序列。
对于某个项集,在标记索引间隔范围的约束下,从目标序列S中按照不同的选取方式可能均可以得到该项集,本发明实施例以有效索引序列表示在该目标序列S中所能够出现的满足标记索引间隔范围的项集。具体地,对于k项集P,且P={p1,p2,…,pk},若k索引序列D=<d1,d2,…,dk>,且满足即,按照该k索引序列D中的索引di从目标序列S中依次选取标记/>可以依次得到k项集P中的标记pi,则将该k索引序列D作为该k项集P的一个有效索引序列。
7、项集的支持度。
项集的支持度(或支持率)用于表示该项集在目标序列S中的出现频率,支持度越高,该项集越可能是频繁项集;例如,若项集的支持度不小于预设的阈值th,则可以将该项集作为一个频繁项集。本发明实施例中,以项集的有效索引序列的数量与相同项数的索引序列的总数量之间的比值,作为该项集的支持度。
具体地,若项数为k,k项集P的有效索引序列的数量为n(P),k索引序列的总数量为Nk,则该k项集P的支持度sup(P)=n(P)/Nk。
例如,所有流量日志分为三种A、B、C,分别用A、B、C表示三种流量日志的标记,则该标记集U={A,B,C}。目标序列S中的每个标记均为A、B、C中的一个;例如,该目标序列S包含6个标记(即L=6),且S=ABCCCA。在该目标序列S中,两个标记A的索引依次为1、6,一个标记B的索引为2,三个标记C的索引依次为3、4、5。
设标记索引间隔范围为[2,3],即M=2、N=3;若项数k=2,则2索引序列包括:<1,3>、<1,4>、<2,4>、<2,5>、<3,5>、<3,6>、<4,6>,共7个,故2索引序列的总数量N2=7。若2项集P={B,C},其中的索引序列<2,4>、<2,5>对应该2项集,故该2项集P的有效索引序列包括<2,4>和<2,5>,其有效索引序列的数量n(P)=2,支持度为2/7。
8、频繁项集。
与传统的Apriori算法等相似,支持度大于预设阈值th的项集称为频繁项集;区别在于,本发明实施例确定支持度的过程与传统Apriori算法不同。
9、间隔基数。
间隔基数用于表示在标记索引间隔范围限制下所能确定的索引序列的单位数量,即只有一个间隔(两个标记)时的索引序列的数量。本发明实施例中,以W表示间隔基数,且W=N-M+1。例如,标记索引间隔范围为[4,6],则其间隔基数W=3;若项集P中的一个标记匹配了目标序列S中索引为i的标记,则该项集P中的下一个标记可能有W个索引,即3个索引,分别为i+4、i+5、i+6。该间隔基数越大,索引序列的数量越多。
本发明实施例中,上述步骤102、103、B11等中“确定目标序列的频繁项集”的过程具体可以包括步骤C1-C3:
步骤C1:预先设置阈值th和标记索引间隔范围[M,N],M表示两条流量日志之间的最小索引间隔,N表示两条流量日志之间的最大索引间隔。
步骤C2:从目标序列S中选取k0个标记,生成长度为k0的k0项集,并将支持度大于阈值th的k0项集作为频繁k0项集;目标序列S={s1,s2,…,sL},st表示目标序列S中第t个流量日志的标记,t表示标记在目标序列S中的索引,且t=1,2,…,L;k0≥2。
步骤C3:循环执行确定频繁k+1项集的过程,直至不存在频繁k+1项集;k≥k0。
其中,上述步骤C3中“确定频繁k+1项集”的过程包括:
步骤C31:确定长度为k的候选k项集,候选k项集包括至少部分k项集。
步骤C31:在候选k项集的基础上增加一个标记,生成长度为k+1的待定k+1项集。
步骤C31:将支持度大于阈值th的待定k+1项集作为频繁k+1项集。
本发明实施例中,k项集的支持度为k项集的有效索引序列的数量与k索引序列总数量的比值;k索引序列为包含k个索引,且任意两个相邻索引之间的差值在标记索引间隔范围内的序列;k项集的有效索引序列为满足的k索引序列,di表示有效索引序列中第i个索引,pi表示k项集中的第i个标记,且i=1,2,…,k。
本发明实施例中,由于在长时间的流量挖掘行为模式中,每一个行为之间的时间间隔是不固定的,因此,本发明实施例引入标记索引间隔范围[M,N],以该范围来约束两个行为之间可能的时间间隔,从而可以有效降低因时间间隔不固定而导致的问题。
具体地,在第一轮处理过程中,确定第一轮对应的项数k0;由于本发明实施例中的项集中的标记存在标记索引间隔,故该项集中至少包含两个标记,即k0≥2,例如,k0=3。其中,在该目标序列S中任一选取k0个标记,即可生成长度为k0的k0项集,该过程可以与传统算法相同。此外,由于本发明实施例主要关注满足标记索引间隔范围的项集,即项集内任意两个标记的索引之差在该标记索引间隔范围内,故也可以只选取出符合该标记索引间隔范围的k0项集。
在之后的轮次,在前一轮的处理结果的基础上,来确定本轮的频繁项集。例如,k轮处理结果的基上,确定k+1轮的频繁项集,即频繁k+1项集。在传统Apriori算法中,由于其频繁项集的所有子集一定也是频繁的(换句话说,如果某项集不是频繁的,则它的超项集一定也不是频繁的),故其在频繁k项集的基础上可以得到频繁k+1项集,实现剪枝。而在本发明实施例中,由于设置该标记索引间隔范围,导致频繁项集与其子集之间并不存在上述关系。例如,目标序列S=ABCCC,项集P1=AB,其超项集P2=ABC;若标记索引间隔范围为[1,3],则该项集P1的出现次数(支持数)为1,而项集P2的出现次数为3,故即使项集P1不是频繁的,其超项集P2也可能是频繁项集。本发明实施例中,在确定频繁k+1项集的过程中,生成候选k项集,该候选k项集包括至少部分k项集;其中,可以证明,若k项集的支持度较小,则其超项集一定也不是频繁的,故本发明实施例可以将支持度大于一定值的k项集作为候选k项集。
在确定候选k项集之后,在该候选k项集的头部或尾部增加一个标记,即可生成长度为k+1的项集,本实施例将其称为待定k+1项集,通过计算该待定k+1项集的支持度,即可确定该待定k+1项集是否为频繁项集。具体的,若该待定k+1项集的支持度大于阈值th,则该待定k+1项集为一个频繁k+1项集。若所有的待定k+1项集均不是频繁项集,或者,不存在候选k项集,则可说明当前不存在频繁k+1项集,故可以结束确定频繁项集的过程。
可选地,上述步骤C31“确定长度为k的候选k项集”包括:
步骤C311:将支持度大于或等于的k项集作为候选k项集;Nk表示k索引序列的总数量。相应地,Nk+1表示k+1索引序列的总数量。
本发明实施例中,对于一个长度为a的项集R(即该项集R为a项集),该项集R可以表示为:R={r1,r2,…,ra}。从该项集R中选取长度为b的一段连续序列作为该项集R的子序列Q,该子序列Q是长度为b的项集,即为b项集;为方便描述,以下称为子项集Q。参见图2所示,图2以方框表示标记,方框中的数字(或字母)表示该标记在项集R中的序号(不同于上述的索引),具体为1、2、…、a。其中,子项集Q为项集R中第i个到第i+b-1个标记对应的子序列,即Q={ri,ri+1,…,ri+b-1}。
设C为该项集R的所有有效索引序列的集合,将该集合C分为多个子集合C1、C2、……,该子集合的数量为num(Cj),任一子集合Cj中均包含至少一个有效索引序列;并且,任一子集合Cj中,任意两个有效索引序列中第i个到第i+b-1个索引依次相同,且第i-1个、第i+b个索引都不相同。例如,对于任一子集合Cj,若其包含多个有效索引序列,其中一个有效索引序列为G=<g1,g2,…,ga>,另一个有效索引序列为H=<h1,h2,…,ha>,则对于任一在i与i+b-1之间的u即,满足gu=hu;并且,gi-1≠hi-1,gi+b≠hi+b。
在这种情况下,每个子集合Cj对应该子项集Q的至少一个有效索引序列,故该子项集Q的有效索引序列的数量n(Q)大于或等于该子集合Cj的数量,即n(Q)≥num(Cj)。
此外,参见图2所示,与该子项集Q相比,项集P的前面包含i-1个标记,后面包含a-b-i+1个标记,由于受间隔基数W的限制,在保持中间第i至第i+b-1个标记的索引不变的情况下,该项集P的有效索引序列的数量不会超过Wi-1×Wa-b-i+1,即Wi-1+a-b-i+1=Wa-b。因此,对于每一个子集合Cj,该子集合Cj中所包含的有效索引序列的数量不超过Wa-b;由于所有子集合Cj的有效索引序列的数量为该项集R的有效索引序列的数量,故num(Cj)≥n(R)/Wa-b。
若项集R为频繁项集,则其支持度不小于阈值th,即:因此,n(R)≥Na×th。
对于该项集R的子项集Q,其支持度满足:
因此,若项集R为频繁项集,则其任一子项集Q的支持度不小于一定的值,即不小于相应地,若项集Q的支持度小于/>则该项集Q的超项集P一定不是频繁项集。
在“确定频繁k+1项集”的过程中,是从k项集生成可能是频繁项集的k+1项集,即上述的项集Q为k项集,项集R为k+1项集,即a=k+1,b=k。因此,支持度小于的k项集,其超项集(k+1项集)一定不是频繁项集。本发明实施例将支持度大于或等于/>的k项集作为候选k项集,基于该候选k项集可以快速确定可能是频繁项集的k+1项集,能够实现剪枝。
以上详细介绍了攻击检测的方法流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。
基于同样的发明构思,本发明实施例还提供一种攻击检测的装置,参见图3所示,该装置包括:
确定模块31,用于确定包含多条流量日志的无攻击日志集和有攻击日志集,分别执行确定标记序列的过程,确定所述无攻击日志集所对应的标记序列以及所述有攻击日志集所对应的标记序列;所述标记序列为由多条按照时间顺序排列的流量日志所对应的标记所形成的序列,且每种流量日志对应唯一的所述标记;
第一处理模块32,用于将所述无攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述无攻击日志集的频繁项集,并将所述无攻击日志集的频繁项集作为正常频繁序列;
第二处理模块33,用于将所述有攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述有攻击日志集的频繁项集,并将所述有攻击日志集的频繁项集中与所述正常频繁序列不同的频繁项集作为异常频繁序列;
训练模块34,用于基于所述正常频繁序列和所述异常频繁序列训练得到用于确定频繁序列是否异常的分类模型;
检测模块35,用于基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常。
在一种可能的实现方式中,所述确定模块31确定标记序列包括:
按照时间顺序对多条流量日志进行排序,确定流量日志序列;
对所述流量日志序列循环执行设置标记的操作,直至所述流量日志序列中的所有流量日志均被设置标记;
其中,所述设置标记的操作,包括:
将沿预定顺序所确定的第一个未被设置标记的流量日志作为目标流量日志,并为所述目标流量日志设置相应的标记;所述预定顺序包括从头到尾的顺序或从尾到头的顺序;
沿所述预定顺序对所述流量日志序列进行遍历,为所述流量日志序列中与所述目标流量日志相同的所有流量日志均设置与所述目标流量日志相同的标记。
在一种可能的实现方式中,第二处理模块33还用于:
将所述有攻击日志集中与所述正常频繁序列不同的非频繁项集作为异常频繁序列。
在一种可能的实现方式中,所述检测模块35基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常,包括:
执行检测操作;
所述检测操作包括:将多条当前流量日志所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述多条当前流量日志的频繁项集;
将所述多条当前流量日志的频繁项集中与所述正常频繁序列不同的频繁项集作为待定频繁序列,并基于所述分类模型检测所述待定频繁序列是否异常。
在一种可能的实现方式中,所述检测模块35基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常,还包括:
将初始时间窗口内的多条流量日志作为所述多条当前流量日志,执行所述检测操作;
循环执行更新目标时间窗口,将所述初始时间窗口内的多条流量日志作为新的所述多条当前流量日志,并执行所述检测操作,直至所述目标时间窗口对应的多条当前流量日志的频繁项集的最大长度不再增加;
所述更新目标时间窗口包括:
将目标时间窗口扩展预设的时间段,将扩展后的目标时间窗口作为更新后的目标时间窗口,所述目标时间窗口的初始值为所述初始时间窗口。
在一种可能的实现方式中,所述确定目标序列的频繁项集,包括:
预先设置阈值th和标记索引间隔范围[M,N],M表示两条流量日志之间的最小索引间隔,N表示两条流量日志之间的最大索引间隔;
从所述目标序列S中选取k0个标记,生成长度为k0的k0项集,并将支持度大于所述阈值th的k0项集作为频繁k0项集;所述目标序列S={s1,s2,…,sL},st表示所述目标序列S中第t个流量日志的标记,t表示标记在所述目标序列S中的索引,且t=1,2,…,L;k0≥2;
循环执行确定频繁k+1项集的过程,直至不存在频繁k+1项集;k≥k0;
所述确定频繁k+1项集,包括:
确定长度为k的候选k项集,所述候选k项集包括至少部分k项集;
在所述候选k项集的基础上增加一个标记,生成长度为k+1的待定k+1项集;以及
将支持度大于所述阈值th的待定k+1项集作为频繁k+1项集;
其中,k项集的支持度为所述k项集的有效索引序列的数量与k索引序列总数量的比值;所述k索引序列为包含k个索引,且任意两个相邻索引之间的差值在所述标记索引间隔范围内的序列;所述k项集的有效索引序列为满足的k索引序列,di表示所述有效索引序列中第i个索引,pi表示所述k项集中的第i个标记,且i=1,2,…,k。
在一种可能的实现方式中,所述确定长度为k的候选k项集,包括:
将支持度大于或等于的k项集作为候选k项集;Nk表示k索引序列的总数量。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其包含用于执行上述的攻击检测的方法的程序,该计算机可执行指令可执行上述任意方法实施例中的方法。
其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
图4示出了本发明的另一个实施例的一种电子设备的结构框图。所述电子设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对电子设备的具体实现做限定。
该电子设备1100包括至少一个处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory array)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于可执行的指令。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。存储器1130存储的指令可被处理器1110执行,以使处理器1110能够执行上述任意方法实施例中的攻击检测的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种攻击检测的方法,其特征在于,包括:
确定包含多条流量日志的无攻击日志集和有攻击日志集,分别执行确定标记序列的过程,确定所述无攻击日志集所对应的标记序列以及所述有攻击日志集所对应的标记序列;所述标记序列为由多条按照时间顺序排列的流量日志所对应的标记所形成的序列,且每种流量日志对应唯一的所述标记;
将所述无攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述无攻击日志集的频繁项集,并将所述无攻击日志集的频繁项集作为正常频繁序列;
将所述有攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述有攻击日志集的频繁项集,并将所述有攻击日志集的频繁项集中与所述正常频繁序列不同的频繁项集作为异常频繁序列;
基于所述正常频繁序列和所述异常频繁序列训练得到用于确定频繁序列是否异常的分类模型;
基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常。
2.根据权利要求1所述的方法,其特征在于,所述确定标记序列包括:
按照时间顺序对多条流量日志进行排序,确定流量日志序列;
对所述流量日志序列循环执行设置标记的操作,直至所述流量日志序列中的所有流量日志均被设置标记;
其中,所述设置标记的操作,包括:
将沿预定顺序所确定的第一个未被设置标记的流量日志作为目标流量日志,并为所述目标流量日志设置相应的标记;所述预定顺序包括从头到尾的顺序或从尾到头的顺序;
沿所述预定顺序对所述流量日志序列进行遍历,为所述流量日志序列中与所述目标流量日志相同的所有流量日志均设置与所述目标流量日志相同的标记。
3.根据权利要求1所述的方法,其特征在于,还包括:
将所述有攻击日志集中与所述正常频繁序列不同的非频繁项集作为异常频繁序列。
4.根据权利要求1所述的方法,其特征在于,所述基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常,包括:
执行检测操作;
所述检测操作包括:将多条当前流量日志所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述多条当前流量日志的频繁项集;
将所述多条当前流量日志的频繁项集中与所述正常频繁序列不同的频繁项集作为待定频繁序列,并基于所述分类模型检测所述待定频繁序列是否异常。
5.根据权利要求4所述的方法,其特征在于,所述基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常,还包括:
将初始时间窗口内的多条流量日志作为所述多条当前流量日志,执行所述检测操作;
循环执行更新目标时间窗口,将所述初始时间窗口内的多条流量日志作为新的所述多条当前流量日志,并执行所述检测操作,直至所述目标时间窗口对应的多条当前流量日志的频繁项集的最大长度不再增加;
所述更新目标时间窗口包括:
将目标时间窗口扩展预设的时间段,将扩展后的目标时间窗口作为更新后的目标时间窗口,所述目标时间窗口的初始值为所述初始时间窗口。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述确定目标序列的频繁项集,包括:
预先设置阈值th和标记索引间隔范围[M,N],M表示两条流量日志之间的最小索引间隔,N表示两条流量日志之间的最大索引间隔;
从所述目标序列S中选取k0个标记,生成长度为k0的k0项集,并将支持度大于所述阈值th的k0项集作为频繁k0项集;所述目标序列S={s1,s2,…,sL},st表示所述目标序列S中第t个流量日志的标记,t表示标记在所述目标序列S中的索引,且t=1,2,…,L;k0≥2;
循环执行确定频繁k+1项集的过程,直至不存在频繁k+1项集;k≥k0;
所述确定频繁k+1项集,包括:
确定长度为k的候选k项集,所述候选k项集包括至少部分k项集;
在所述候选k项集的基础上增加一个标记,生成长度为k+1的待定k+1项集;以及
将支持度大于所述阈值th的待定k+1项集作为频繁k+1项集;
其中,k项集的支持度为所述k项集的有效索引序列的数量与k索引序列总数量的比值;所述k索引序列为包含k个索引,且任意两个相邻索引之间的差值在所述标记索引间隔范围内的序列;所述k项集的有效索引序列为满足的k索引序列,di表示所述有效索引序列中第i个索引,pi表示所述k项集中的第i个标记,且i=1,2,…,k。
7.根据权利要求6所述的方法,其特征在于,所述确定长度为k的候选k项集,包括:
将支持度大于或等于的k项集作为候选k项集;Nk表示k索引序列的总数量。
8.一种攻击检测的装置,其特征在于,包括:
确定模块,用于确定包含多条流量日志的无攻击日志集和有攻击日志集,分别执行确定标记序列的过程,确定所述无攻击日志集所对应的标记序列以及所述有攻击日志集所对应的标记序列;所述标记序列为由多条按照时间顺序排列的流量日志所对应的标记所形成的序列,且每种流量日志对应唯一的所述标记;
第一处理模块,用于将所述无攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述无攻击日志集的频繁项集,并将所述无攻击日志集的频繁项集作为正常频繁序列;
第二处理模块,用于将所述有攻击日志集所对应的标记序列作为目标序列,执行确定目标序列的频繁项集的过程,确定所述有攻击日志集的频繁项集,并将所述有攻击日志集的频繁项集中与所述正常频繁序列不同的频繁项集作为异常频繁序列;
训练模块,用于基于所述正常频繁序列和所述异常频繁序列训练得到用于确定频繁序列是否异常的分类模型;
检测模块,用于基于所述分类模型检测多条当前流量日志所对应的频繁序列是否异常。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-7任意一项所述的攻击检测的方法。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7任意一项所述的攻击检测的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211397824.8A CN118018223A (zh) | 2022-11-09 | 2022-11-09 | 攻击检测的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211397824.8A CN118018223A (zh) | 2022-11-09 | 2022-11-09 | 攻击检测的方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118018223A true CN118018223A (zh) | 2024-05-10 |
Family
ID=90957004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211397824.8A Pending CN118018223A (zh) | 2022-11-09 | 2022-11-09 | 攻击检测的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118018223A (zh) |
-
2022
- 2022-11-09 CN CN202211397824.8A patent/CN118018223A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019128529A1 (zh) | Url攻击检测方法、装置以及电子设备 | |
Minnen et al. | Detecting subdimensional motifs: An efficient algorithm for generalized multivariate pattern discovery | |
US8041662B2 (en) | Domain name geometrical classification using character-based n-grams | |
US20090043720A1 (en) | Domain name statistical classification using character-based n-grams | |
CN111339293B (zh) | 告警事件的数据处理方法、装置和告警事件的分类方法 | |
WO2019136850A1 (zh) | 风险行为识别方法、存储介质、设备及系统 | |
CN112148305B (zh) | 一种应用检测方法、装置、计算机设备和可读存储介质 | |
CN111869176B (zh) | 用于恶意软件签名生成的系统和方法 | |
CN109213850B (zh) | 确定包含机密数据的文本的系统和方法 | |
CN107168891B (zh) | 一种i/o特征识别方法以及装置 | |
CN112637194A (zh) | 安全事件的检测方法、装置、电子设备及存储介质 | |
Karmous et al. | Iot real-time attacks classification framework using machine learning | |
CN109359481B (zh) | 一种基于bk树的反碰撞搜索约减方法 | |
CN110855635A (zh) | Url识别方法、装置及数据处理设备 | |
CN117473489B (zh) | 一种后门攻击方法和防御方法 | |
CN111783088B (zh) | 一种恶意代码家族聚类方法、装置和计算机设备 | |
CN118018223A (zh) | 攻击检测的方法、装置、存储介质及电子设备 | |
CN112070161A (zh) | 一种网络攻击事件分类方法、装置、终端及存储介质 | |
CN113157788B (zh) | 大数据挖掘方法及系统 | |
Xu et al. | Detecting topology attacks against graph neural networks | |
JP6508202B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
CN113094703B (zh) | 针对web入侵检测的输出内容过滤方法及系统 | |
CN116436649B (zh) | 基于云服务器密码机的网络安全系统和方法 | |
CN111581955A (zh) | 文本指纹提取和校验方法、装置 | |
CN115913706A (zh) | 一种异常数据检测方法、装置、电子设备及存储介质 |
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 |