CN117370969A - 数据异常检测方法、装置、计算机设备和存储介质 - Google Patents
数据异常检测方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117370969A CN117370969A CN202311241483.XA CN202311241483A CN117370969A CN 117370969 A CN117370969 A CN 117370969A CN 202311241483 A CN202311241483 A CN 202311241483A CN 117370969 A CN117370969 A CN 117370969A
- Authority
- CN
- China
- Prior art keywords
- data
- detected
- result
- model
- detection result
- 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 154
- 230000002159 abnormal effect Effects 0.000 claims abstract description 56
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 100
- 230000005856 abnormality Effects 0.000 claims description 42
- 238000013528 artificial neural network Methods 0.000 claims description 27
- 238000010586 diagram Methods 0.000 claims description 24
- 238000011156 evaluation Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000001914 filtration Methods 0.000 claims description 17
- 230000006399 behavior Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000035515 penetration Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 206010000117 Abnormal behaviour Diseases 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000012098 association analyses Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013450 outlier detection Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
Abstract
本申请涉及一种数据异常检测方法、装置、计算机设备和存储介质。所述方法包括:获取待检测数据;基于待检测数据构建待检测图模型,将待检测图模型输入至训练完备的目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果;其中,目标数据预测模型是基于正常图模型数据集对预设的初始数据预测模型进行训练处理得到的;基于预测结果与待检测数据之间的比对结果得到异常检测结果。采用本方法能够提高针对数据异常检测的效率和准确性。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据异常检测方法、装置、计算机设备和存储介质。
背景技术
图神经网络已经在多个领域有了显著的表现,如医疗领域、生物领域以及社交网络分析,图神经网络可以在节点、边、还有子图的水平上进行预测和相似度匹配,同时也可以进行多种类似的搜索和预测任务。
目前,在安全领域,图相关的技术已经用在了异常检测、APT检测、攻击溯源等领域,其中,在异常检测领域中扮演着重要的检测和防御作用,相较于主要基于签名和规则的WAF和IDS系统,异常检测为基础的方案在发现新变种攻击、0day漏洞的方面有显著的优势,但现有技术仍受限于大数据量和大量警告导致的审查疲劳,导致异常检测的系统在响应速度和准确性上都低于前两种系统,进一步地,目前的异常检测系统也高度依赖于分析人员的专业水平和知识去排除可能的误报,因此多个方面都有可能导致有偏差的结论输出。
目前,针对数据异常检测的效率和准确性较低的问题,尚未提出有效地解决方案。
发明内容
基于此,有必要针对上述技术问题,提供一种数据异常检测方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种数据异常检测方法。该方法包括:
获取待检测数据;
基于待检测数据构建待检测图模型,将待检测图模型输入至训练完备的目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果;其中,目标数据预测模型是基于正常图模型数据集对预设的初始数据预测模型进行训练处理得到的;
基于预测结果与待检测数据之间的比对结果得到异常检测结果。
在一个实施例中,待检测数据包括系统数据和地址通信数据,目标数据预测模型包括系统数据预测模型和通信数据预测模型;基于预测结果与待检测数据之间的比对结果得到异常检测结果,包括:
基于系统数据中的系统行为构建系统瞬时图;将系统瞬时图输入至系统数据预测模型中,得到系统行为预测结果;基于系统行为预测结果与系统行为进行对比,得到第一异常检测结果;
基于地址通信数据中的实体因子得到地址图模型,将地址图模型输入至通信数据预测模型中,得到针对实体因子类型的类别预测结果,将类别预测结果与实体因子类型进行对比,得到第二异常检测结果;
基于第一异常检测结果以及第二异常检测结果得到异常检测结果。
在一个实施例中,基于第一异常检测结果以及第二异常检测结果得到异常检测结果,包括:
获取分别对应于第一异常检测结果以及第二异常检测结果的预设权重值;
基于预设权重值,对第一异常检测结果、第二异常检测结果进行加权计算,得到针对待检测数据的异常检测结果。
在一个实施例中,目标数据预测模型包括图神经网络和序列神经网络;将待检测图模型输入至训练完备的目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果,包括:
将待检测图模型输入至图神经网络中,根据图神经网络对待检测图模型进行编码并预测,得到拓扑特征结果;
将拓扑特征结果输入至序列神经网络中,根据序列神经网络对拓扑特征结果进行编码并预测,得到预测结果。
在一个实施例中,待检测数据还包括头部通信数据以及流量数据;方法还包括:
对头部通信数据进行筛选得到目标通信数据,并基于预设的过滤检测模型对目标通信数据进行检测,得到异常概率结果,基于异常概率结果得到针对头部通信数据的第三异常检测结果;
基于获取到的历史路径集以及对应于历史路径集的评价结果,对流量数据进行评分,基于流量数据评分结果得到针对流量数据的第四异常检测结果;
基于第三异常检测结果以及第四异常检测结果得到目标异常检测结果。
在一个实施例中,对头部通信数据进行筛选得到目标通信数据,并基于预设的过滤检测模型对目标通信数据进行检测,得到异常概率结果,包括:
基于头部通信数据建立地址请求图,并根据地址请求图得到剩余通信数据;其中,地址请求图包括正常通信数据;
对比正常通信数据与剩余通信数据之间的相似度,从剩余通信数据中获取目标通信数据,将目标通信数据输入至训练完备的过滤检测模型中,得到针对目标通信数据的异常概率结果;其中,过滤检测模型是基于预设的正常流量训练集完成训练的。
在一个实施例中,基于获取到的历史路径集以及对应于历史路径集的评价结果,对流量数据进行评分,包括:
建立历史路径集;
基于历史路径集中的历史登录信息以及历史登录路径,对历史路径集进行评价,得到评价结果,基于历史路径集以及评价结果完成对于流量数据的评分。
第二方面,本申请还提供了一种数据异常检测装置。所述装置包括:
获取模块,用于获取待检测数据;
计算模块,用于基于待检测数据构建待检测图模型,将待检测图模型输入至训练完备的目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果;其中,目标数据预测模型是基于正常图模型数据集对预设的初始数据预测模型进行训练处理得到的;
生成模块,用于基于预测结果与待检测数据之间的比对结果得到异常检测结果。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待检测数据;
基于待检测数据构建待检测图模型,将待检测图模型输入至训练完备的目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果;其中,目标数据预测模型是基于正常图模型数据集对预设的初始数据预测模型进行训练处理得到的;
基于预测结果与待检测数据之间的比对结果得到异常检测结果。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待检测数据;
基于待检测数据构建待检测图模型,将待检测图模型输入至训练完备的目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果;其中,目标数据预测模型是基于正常图模型数据集对预设的初始数据预测模型进行训练处理得到的;
基于预测结果与待检测数据之间的比对结果得到异常检测结果。
上述数据异常检测方法、装置、计算机设备和存储介质,一方面,基于训练完备的预测模型实现对待检测图模型的拓扑结构以及序列结构的预测,针对图模型的预测可以更为全面高效的反映待检测数据信息;另一方面,本申请还基于多种方法对待检测数据进行异常检测,形成对一个事件所产生的数据的多维度分析,从而得到更为准确的检测结果。
附图说明
图1为一个实施例中数据异常检测方法的应用环境图;
图2为一个实施例中数据异常检测方法的流程示意图;
图3为一个实施例中构建地址图模型的流程示意图;
图4为另一个实施例中目标数据预测模型的结构示意图;
图5为现有技术中的网络模型;
图6为一个优选实施例中数据异常检测方法的流程示意图;
图7为一个实施例中数据异常检测装置结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据异常检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。首先基于获取到的待检测数据构建待检测图模型,而后将该待检测图模型输入至目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果,最后基于预测结果和待检测数据之间的比对结果得到异常检测结果。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和物联网设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据异常检测方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202,获取待检测数据。
其中,该待检测数据包括在一段时间内从由多个主机构成的网络系统中收集到的多种数据,如HTTP相关的流量数据以及系统数据等,主要通过多个以ELK架构为基础的结构器来收集信息。如HTTP相关的流量数据可通过web服务器来收集,该HTTP流量是面向web的数据;系统数据主要通过ELK系统收集,该系统数据是面对系统层面的数据源,其中包括很多文件执行、进程的信息、文件层面的操作等。
步骤S204,基于待检测数据构建待检测图模型,将待检测图模型输入至训练完备的目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果;其中,目标数据预测模型是基于正常图模型数据集对预设的初始数据预测模型进行训练处理得到的。
其中,基于待检测数据中的所有实体构成上述待检测图模型中的节点,而点与点之间连接的边则可反映实体之间的操作,如交互关系等,即待检测图模型即为,包括有实体对应的多个节点以及反映了节点与节点之间操作的图模型,例如,当待检测数据为上述HTTP相关的流量数据时,该实体为url中的实体,如连接词、操作、用户等;当待检测数据为系统数据时,该实体可以为系统数据中的name数据等。在实际应用中,基于上述待检测数据可以获取到多张待检测图模型,需要说明的是,本申请中的目标数据预测模型为分布式模型,可以实现同时学习处理多个待检测图模型,上述目标数据预测模型中主要由RNN网络及GNN网络组成,基于GNN网络学习并预测上述拓扑结构,基于RNN网络学习并预测上述序列结构,其中,具体的RNN网络类型和GNN网络类型可由技术人员根据实际应用场景决定。
步骤S206,基于预测结果与待检测数据之间的比对结果得到异常检测结果。
其中,上述预测结果为通过对历史操作的学习,基于待检测数据的正常操作的一些预测,若预测结果和待检测数据的真实情况之间会有一个误差值,通过该误差值判断该待检测数据是否正常,即得到上述异常检测结果。可以理解的是,基于误差值对待检测数据的判断可由本领域技术人员根据实际情况完成。
通过步骤S202至步骤S206,一方面,本申请将待检测数据构建为图模型的形式,从而基于神经网络可以准确实现在节点、边还有子图的水平上对待检测图模型进行预测,进一步地,本申请中的分布式结构的目标数据预测模型可以大幅提升计算速度;另一方面,可以理解的是,上述目标数据预测模型适用性较高,可以对待检测数据中的多种数据类型进行预测,并根据预测结果得到上述异常检测结果,从而实现更为准确地完成对于待检测数据的检测。
在一个实施例中,待检测数据包括系统数据和地址通信数据,目标数据预测模型包括系统数据预测模型和通信数据预测模型;基于预测结果与待检测数据之间的比对结果得到异常检测结果,包括:
基于系统数据中的系统行为构建系统瞬时图;将系统瞬时图输入至系统数据预测模型中,得到系统行为预测结果;基于系统行为预测结果与系统行为进行对比,得到第一异常检测结果;
基于地址通信数据中的实体因子得到地址图模型,将地址图模型输入至通信数据预测模型中,得到针对实体因子类型的类别预测结果,将类别预测结果与实体因子类型进行对比,得到第二异常检测结果;
基于第一异常检测结果以及第二异常检测结果得到异常检测结果。
具体地,上述系统数据为基于系统日志得到的数据,针对系统日志的处理主要在于提取其中的事件或实体,如下面所示的一段系统日志的例子:
Date/Time:2022-03-14 13:45:02Event:Application Error ApplicationName:MyApp.exe Fault Module Name:kernel32.dll Exception Code:0xc0000005Exception Offset:0x00012abc Process ID:452Thread ID:2816
其中,Name就可作为图中的实体,上述系统瞬时图则是一个时间戳的网络快照,优选的,其中的数据可以以logs的形式呈现,操作在图中会以边的形式成像,通过构建每个时间戳对应的上述系统瞬时图,系统瞬时图可以指示某个时间中哪些实体之间有操作。优选的,上述预测结果为针对边的预测结果。
上述地址通信数据为url中的parameters参数,即请求行中url后面的参数,基于地址通信数据中的实体因子得到地址图模型包括,图3为一个实施例中构建地址图模型的流程示意图,获取地址通信数据中的词序列,如图3中的S1序列,该序列包含多个参数,然后删除掉其中的stop words,删除后的结果即为图3中的S2序列,再将序列变为无向图模型,即为图3中的B模型,针对该无向图模型进行整合从而得到上述地址图模型,即为图3中的A模型,其中,上述词序列的获取可以为针对地址通信数据使用sliding window技术实现。
具体地,以该utl为例:http://example.com/login?email=”OR'a'='a';DROPTABLE users;--&password=123。其中,email=”OR'a'='a';DROP TABLE users;--&password=123作为parameter会被预处理后得到一些上述实体因子,其中email(实体),or(连接词),a,a,drop(操作),table(实体),users(用户)这些token会有各自的实体属性,训练完备的通信数据预测模型会对基于上述地址图模型对正常操作进行分布式预测,如预测的是一个数据类型(date),但实际为一长串字符(string类型)这个就是异常,基于预测和实际情况之间的对比,得到上述第二异常检测结果。综合上述第一异常检测结果和第二异常检测结果,得到最终的异常检测结果。通过上述方法,基于上述目标数据预测模型可以高效完成对多种数据的预测,并且综合多种检测结果,可以得到更准确的判断结果。
在一个实施例中,基于第一异常检测结果以及第二异常检测结果得到异常检测结果,包括:
获取分别对应于第一异常检测结果以及第二异常检测结果的预设权重值;
基于预设权重值,对第一异常检测结果、第二异常检测结果进行加权计算,得到针对待检测数据的异常检测结果。
具体地,在实际应用中,针对上述地址通信数据的检测,主要可以定位攻击节点中的渗透阶段,针对上述系统数据的检测,主要可以定位横向移动阶段,而在一般情况下,横向移动阶段的风险往往大于渗透阶段的风险,第二异常检测结果的权重一般设置为大于第一异常检测结果的权重。同理,预设权重值的大小往往与异常检测结果的危害性成正比。通过上述方法,可以得到更为全面的异常检测结果。
在一个实施例中,目标数据预测模型包括图神经网络和序列神经网络;将待检测图模型输入至训练完备的目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果,包括:
将待检测图模型输入至图神经网络中,根据图神经网络对待检测图模型进行编码并预测,得到拓扑特征结果;
将拓扑特征结果输入至序列神经网络中,根据序列神经网络对拓扑特征结果进行编码并预测,得到预测结果。
具体地,图4为一个实施例中目标数据预测模型的结构示意图,其中,worker X代表不同的多个待检测图模型,节点映射(node embedding)代表将自然语言中的数据映射到向量空间的结果,即转换为计算机可以处理的形式,同时尽可能的保留词汇之间的语义关系。上述图神经网络多为GNN、GCN等模型,序列神经网络多为RNN、Bi-LSTM等模型,优选的,本申请中的上述目标数据预测模型应用编码器-解码器结构以分布式方式集成图神经网络和序列神经网络,编码器部分用于将图模型中的节点映射到低维嵌入向量的GNN和用于编码连接之间自动变化的RNN,而后解码器将以最小的损失重建输入。根据图4可知,待检测图模型首先通过图神经网络,得到拓扑特征结果,再输入至序列神经网络中,得到上述预测结果。现有技术中,针对图相关的处理非常消耗时间和资源,如图5为现有技术中的网络模型,以时间顺序串联连接多个计算预测模块的形式进行计算,该方法使得计算速度较慢,而本申请中则可以同时处理多个图模型结构,大大节省了内存消耗,同时使得可拓展性极强。
在一个实施例中,待检测数据还包括头部通信数据以及流量数据;方法还包括:
对头部通信数据进行筛选得到目标通信数据,并基于预设的过滤检测模型对目标通信数据进行检测,得到异常概率结果,基于异常概率结果得到针对头部通信数据的第三异常检测结果;
基于获取到的历史路径集以及对应于历史路径集的评价结果,对流量数据进行评分,基于流量数据评分结果得到针对流量数据的第四异常检测结果;
基于第三异常检测结果以及第四异常检测结果得到目标异常检测结果。
具体地,上述头部通信数据多为请求头部referer字段,对头部通信数据的筛选包括但不限于,referer字段的值为空,以及referer字段指向高风险地址等,在初步筛选后,将剩余的数据输入至过滤检测模型中进行检测,得到异常概率结果,其中,该过滤检测模型一般是基于正常的referer训练得到的。
流量数据一般反应了内部机器之间的登录活动,确定可疑的日志序列,通过基于规范的异常检测算法,能够以较低的误报率检测到真实的攻击场景,其中也是主要采用了图的因果分析发现IP和登录的主机之间的关系,发现异常的登录行为。主要包括采集主机的历史路径集,并对历史路径集进行评价,而后针对历史路径集以及评价结果,对待检测流量数据进行评分,得到上述第四异常检测结果。可以理解的是,综合第三异常检测结果和第四异常检测结果得到的目标异常检测结果,也可融合针对第三异常检测结果和第四异常检测结果的权重值,进行加权计算,使得检测结果更加准确。通过上述方法,可以从与系统数据和地址通信数据不同的角度进一步完成对待检测数据的检测,基于多维度、多方面完成对于数据的检测,降低误报率。
在一个实施例中,对头部通信数据进行筛选得到目标通信数据,并基于预设的过滤检测模型对目标通信数据进行检测,得到异常概率结果,包括:
基于头部通信数据建立地址请求图,并根据地址请求图得到剩余通信数据;其中,地址请求图包括正常通信数据;
对比正常通信数据与剩余通信数据之间的相似度,从剩余通信数据中获取目标通信数据,将目标通信数据输入至训练完备的过滤检测模型中,得到针对目标通信数据的异常概率结果;其中,过滤检测模型是基于预设的正常流量训练集完成训练的。
具体地,上述头部通信数据一般指向当前页面之前访问的页面地址,从而通过头部通信数据和当前的地址作为节点,访问的顺序作为连接关系的有向边来构建上述地址请求图,该地址请求图为由正常通信数据构成的访问拓扑结构。而后基于地址请求图得到的剩余通信数据包括有正常数据以及异常数据,即分别对应于正常的剩余通信数据和上述目标通信数据,基于正常通信数据和剩余通信数据之间的相似度对比从剩余通信数据中获取正常剩余通信数据补充至地址请求图中,其中,相似度大于阈值的则判定为正常数据。其中具体的,相似度对比的计算表达式为:
其中,A和B是两个不同的url,y(A,B)是A和B公共元素的个数,β(A)、β(B)分别是请求urlA和urlB的元素个数,max((β(A),β(B))是指β(A)、β(B)之间的最大值,如果最大值相似度值大于相似度阈值v,则正常剩余通信数据可以在请求图中找到其相似的对等的正常通信数据,正常剩余通信数据与其在请求图中的相似兄弟url共享相同的父url,然后将其父url连接到此正常剩余通信数据上,通过这种方式可以将不相关请求的正常剩余通信数据添加到地址请求图中。将正常剩余通信数据补充至地址图后,将剩余通信数据中的目标通信数据输入至训练完备的过滤检测模型中,得到针对目标通信数据的异常概率结果,该过滤检测模型可以为现有的outlier等检测算法。通过上述方法,可以在图推理的逻辑下发现恶意行为,并且进一步地,通过相似度计算以及过滤检测模型的筛选,可以大幅提升检测的准确率,从而得到更为准确的检测结果。
在一个实施例中,基于获取到的历史路径集以及对应于历史路径集的评价结果,对流量数据进行评分,包括:
建立历史路径集;
基于历史路径集中的历史登录信息以及历史登录路径,对历史路径集进行评价,得到评价结果,基于历史路径集以及评价结果完成对于流量数据的评分。
具体地,基于每个登录生成的所有路径的聚合集来生成历史路径集,为了提高效率,在实际应用中可以在每个计算周期开始时将这组历史数据集作为批处理作业进行计算,在实际应用中,上述历史登录路径用于指示历史登录的集合,可以以ip地址有向图的形式进行表达,历史登录信息即为对应于历史登录路径的历史警报集合。基于上述历史登录信息以及历史登录路径得到评价结果,该评价结果由计算周期内的B×H个最可疑的路径组成,其中H是历史计算周期窗口中的天数,B是用户提供的警报预算,该警报预算控制的是每天产生的报警数据,如一天的报警量必须在1k以内,通过历史路径集以及评价结果得到针对流量数据的评分,包括基于流量数据和历史登录路径的相似度来得到针对流量数据的评分等。而后进一步的,可以将针对流量数据的评分与评价结果进行比较,若流量数据的评分超过评价结果中任何警报的分数,则为流量数据生成警报,即如果流量数据至少与先前警报的路径一样可以,则发出警报。通过上述方法,通过建立历史登录集合及其对应的评价分数,得到针对待检测的流量数据的评分结果,进一步地,可以针对不同的用户或主机建立不同的历史路径集和对应的评价结果,从而使得对流量数据的评分更有针对性、更准确。
本实施例还提供了一种数据异常检测方法的优选实施例,如图6所示,图6为一个优选实施例中数据异常检测方法的流程示意图。
首先,进行数据收集,在数据收集阶段,所收集的数据源包括多种类型的数据,主要通过多个以ELK架构为基础的接收器来接收信息,例如系统数据主要通过ELK系统,流量数据则通过ELK+Zeek的结构来实现收集,其中可以理解的是,通过zeek处理后的网络流量数据会被解析成各种logs,包括http、des、conn等,包括有地址通信数据和头部通信数据的通信数据则通过web服务器来收集,其中,通信数据是面向web的数据,系统数据是面向系统层面的数据,其中包括很多文件执行、程序的信息、文件层面的操作,流量数据倾向于网络层的ip和通讯协议、访问等信息。
而后针对提取到的数据进行检测,提取到的数据分为四个方面,头部通信数据、地址通信数据、系统数据以及流量数据。其中,针对头部通信数据的检测以针对referer参数为主,可以理解的是,一般通过恶意软件产生的访问中,referer字段的值是空的,referer的值一般指向当前页面之前访问的页面地址,通过将流量中的referer和当前的url作为节点,访问的顺序作为连接节点的有向边来构建图,通过基于相似度对referer字段的计算实现图的优化,从而可以构建正常流量的访问拓扑,优选的,对剩余字段可以基于outlier检测算法进一步进行过滤,剩下的数据则会被判定为异常请求,从而得到上述第三异常检测结果。针对地址通信数据的检测以针对Parameters字段为主,先提取出Parameters字段中的多个实体因子如token等,将每个实体因子转换成单词词组的列表,同时确定每个实体因子的实体类别,对每个实体因子进行分布式预测,看预测结果和实际情况之间的差异,如预测的是一个数据类型(date),但实际是一长串字符(string类型)则这个就是异常值,从而得到上述第二异常检测结果。针对系统数据的检测主要以针对系统日志的检测为主,系统日志的处理出要在提取其中的事件或实体,如下面所示的一段系统日志的例子:Date/Time:2022-03-1413:45:02Event:Application Error Application Name:MyApp.exeFault Module Name:kernel32.dll Exception Code:0xc0000005Exception Offset:0x00012abc Process ID:452Thread ID:2816。
其中,Name就可以作为图里面的实体,处理的数据是一个时间戳的网络快照,其中的数据以logs的形式呈现,即通过构建每个时间戳的暂时图,即上述系统瞬时图,来表示指明了某个时间哪些实体之间有那些操作,通过将多个系统瞬时图输入至训练完备的系统数据预测模型中,分布式学习并预测每个时间错的状态,基于预测结果与实际情况进行对比,判断结果是否异常,从而得到上述第一异常检测结果。其中,针对流量数据的检测通常以针对网络流量的检测为主,通过从网络流量中发掘内部机器之间的登录活动图,确定可疑的日志序列,优选的,可以采用图的因果分析发现IP和登录的主机之间的关系,发现异常的登录行为,该检测方法包括,先获取三个输入,流量数据(P)、历史路径集(L)以及对应于历史路径集的评价结果(A),其中,可以通过迭代历史训练数据中的每个登录并运行因果关系引擎为每个登录生成所有路径的聚合集来生成上述历史路径集L,为了提高效率,可以设置一个计算周期,在计算周期开始时将这组历史路径集作为批处理作业进行计算,并将其重新用于整个周期的评分。上述评价结果A由一个计算周期内的B×H个最可疑路径组成,其中H是历史窗口中的天数,B是用户提供的警报预算,通过这三个输入,计算上述流量数据P的异常分数,表示P具有更多(或同等)可疑特征值的历史路径部分,即这条路径会有一个异常分数,而后将针对流量数据P的异常分数与历史警报的分数进行比较,如果流量数据的分数超过任何警报的分数,则为流量数据P生成警报,即如果流量数据P至少于先前警报的路径一样可疑,则发出警报,基于上述历史路径集以及对应的评价结果,完成对于流量数据的评分,即得到上述第四异常检测结果。
而后,基于上述检测结果进行分析,一般情况下,基于上述头部通信数据的检测及分析可以发现攻击链中使用malware的阶段,比如malware可以用来建立C2通讯,进行渗透和数据外泄,而参数的分析则可以定位攻击阶段中的渗透(infiltration)阶段,进一步地,针对上述系统数据以及流量数据的检测都是针对横向移动阶段,只不过是从不同的角度设计的检测逻辑。
最后可以根据上述异常行为的检测结果得到一个综合的异常检测结果,针对不同的检测角度设置不同的权重值,优选的,可以参考CVSS的评分方式对报告的异常行为进行分析评级等规划,通过信息融合,所筛选出来的异常事件或IP会进行事件链上的融合。本申请给出一个考虑多种因素的异常分数算法,这里跌多种因素包括,攻击所处的阶段P(越往后异常分数越高),攻击的类型a(不同的攻击类型代表不同的分析):
其中,k代表的是整个攻击链还原之后的检测到的攻击的总数,这样算出来的值能够得到最后的异常分数,用于研判和应急响应,分数的计算会根据每个阶段所算的分数的加权平均(异常事件出现的概率和威胁分数的积)以及和关联分析算法结合起来(单个检测逻辑为了更好地匹配不同的阶段)计算一个最终的异常分数。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据异常检测方法的数据异常检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据异常检测装置实施例中的具体限定可以参见上文中对于数据异常检测方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种数据异常检测装置,包括:获取模块71、计算模块72和生成模块73,其中:
获取模块71,用于获取待检测数据;
计算模块72,用于基于待检测数据构建待检测图模型,将待检测图模型输入至训练完备的目标数据预测模型中,根据目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果;其中,目标数据预测模型是基于正常图模型数据集对预设的初始数据预测模型进行训练处理得到的;
生成模块73,用于基于预测结果与待检测数据之间的比对结果得到异常检测结果。
具体地,上述获取模块71获取到待检测数据,将该待检测数据传送至计算模块72中,计算模块72基于该待检测数据构建待检测图模型,并将该待检测图模型输入至训练完备的目标数据预测模型汇总,根据该目标数据预测模型对待检测图模型的拓扑结构以及序列结构进行预测,得到针对待检测数据的预测结果,而后,计算模型将该计算结果输入至生成模块73,生成模块73基于预测结果和待检测数据之间的对比结果得到异常检测结果。
通过上述装置,一方面,将待检测数据构建为图模型的形式,从而基于神经网络可以准确实现在节点、边还有子图的水平上对待检测图模型进行预测,进一步地,本申请中的分布式结构的目标数据预测模型可以大幅提升计算速度;另一方面,可以理解的是,上述目标数据预测模型适用性较高,可以对待检测数据中的多种数据类型进行预测,并根据预测结果得到上述异常检测结果,从而实现更为准确地完成对于待检测数据的检测。
上述数据异常检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储计算机程序数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据异常检测方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据异常检测方法,其特征在于,所述方法包括:
获取待检测数据;
基于所述待检测数据构建待检测图模型,将所述待检测图模型输入至训练完备的目标数据预测模型中,根据所述目标数据预测模型对所述待检测图模型的拓扑结构以及序列结构进行预测,得到针对所述待检测数据的预测结果;其中,所述目标数据预测模型是基于正常图模型数据集对预设的初始数据预测模型进行训练处理得到的;
基于所述预测结果与所述待检测数据之间的比对结果得到异常检测结果。
2.根据权利要求1所述的方法,其特征在于,所述待检测数据包括系统数据和地址通信数据,所述目标数据预测模型包括系统数据预测模型和通信数据预测模型;所述基于所述预测结果与所述待检测数据之间的比对结果得到异常检测结果,包括:
基于所述系统数据中的系统行为构建系统瞬时图;将所述系统瞬时图输入至所述系统数据预测模型中,得到系统行为预测结果;基于所述系统行为预测结果与所述系统行为进行对比,得到第一异常检测结果;
基于所述地址通信数据中的实体因子得到地址图模型,将所述地址图模型输入至所述通信数据预测模型中,得到针对所述实体因子类型的类别预测结果,将所述类别预测结果与所述实体因子类型进行对比,得到第二异常检测结果;
基于所述第一异常检测结果以及所述第二异常检测结果得到所述异常检测结果。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一异常检测结果以及所述第二异常检测结果得到所述异常检测结果,包括:
获取分别对应于所述第一异常检测结果以及所述第二异常检测结果的预设权重值;
基于所述预设权重值,对所述第一异常检测结果、所述第二异常检测结果进行加权计算,得到针对所述待检测数据的所述异常检测结果。
4.根据权利要求1所述的方法,其特征在于,所述目标数据预测模型包括图神经网络和序列神经网络;所述将所述待检测图模型输入至训练完备的目标数据预测模型中,根据所述目标数据预测模型对所述待检测图模型的拓扑结构以及序列结构进行预测,得到针对所述待检测数据的预测结果,包括:
将所述待检测图模型输入至所述图神经网络中,根据所述图神经网络对所述待检测图模型进行编码并预测,得到拓扑特征结果;
将所述拓扑特征结果输入至所述序列神经网络中,根据所述序列神经网络对所述拓扑特征结果进行编码并预测,得到所述预测结果。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述待检测数据还包括头部通信数据以及流量数据;所述方法还包括:
对所述头部通信数据进行筛选得到目标通信数据,并基于预设的过滤检测模型对所述目标通信数据进行检测,得到异常概率结果,基于所述异常概率结果得到针对所述头部通信数据的第三异常检测结果;
基于获取到的历史路径集以及对应于所述历史路径集的评价结果,对所述流量数据进行评分,基于流量数据评分结果得到针对所述流量数据的第四异常检测结果;
基于所述第三异常检测结果以及所述第四异常检测结果得到目标异常检测结果。
6.根据权利要求5所述的方法,其特征在于,所述对所述头部通信数据进行筛选得到目标通信数据,并基于预设的过滤检测模型对所述目标通信数据进行检测,得到异常概率结果,包括:
基于所述头部通信数据建立地址请求图,并根据所述地址请求图得到剩余通信数据;其中,所述地址请求图包括正常通信数据;
对比所述正常通信数据与所述剩余通信数据之间的相似度,从所述剩余通信数据中获取目标通信数据,将所述目标通信数据输入至训练完备的过滤检测模型中,得到针对所述目标通信数据的异常概率结果;其中,所述过滤检测模型是基于预设的正常流量训练集完成训练的。
7.根据权利要求5所述的方法,其特征在于,所述基于获取到的历史路径集以及对应于所述历史路径集的评价结果,对所述流量数据进行评分,包括:
建立所述历史路径集;
基于所述历史路径集中的历史登录信息以及历史登录路径,对所述历史路径集进行评价,得到所述评价结果,基于所述历史路径集以及所述评价结果完成对于所述流量数据的评分。
8.一种数据异常检测装置,其特征在于,所述装置包括:
获取模块,用于获取待检测数据;
计算模块,用于基于所述待检测数据构建待检测图模型,将所述待检测图模型输入至训练完备的目标数据预测模型中,根据所述目标数据预测模型对所述待检测图模型的拓扑结构以及序列结构进行预测,得到针对所述待检测数据的预测结果;其中,所述目标数据预测模型是基于正常图模型数据集对预设的初始数据预测模型进行训练处理得到的;
生成模块,用于基于所述预测结果与所述待检测数据之间的比对结果得到异常检测结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311241483.XA CN117370969A (zh) | 2023-09-22 | 2023-09-22 | 数据异常检测方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311241483.XA CN117370969A (zh) | 2023-09-22 | 2023-09-22 | 数据异常检测方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370969A true CN117370969A (zh) | 2024-01-09 |
Family
ID=89399374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311241483.XA Pending CN117370969A (zh) | 2023-09-22 | 2023-09-22 | 数据异常检测方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370969A (zh) |
-
2023
- 2023-09-22 CN CN202311241483.XA patent/CN117370969A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Talukder et al. | A dependable hybrid machine learning model for network intrusion detection | |
Han et al. | Unicorn: Runtime provenance-based detector for advanced persistent threats | |
US10909241B2 (en) | Event anomaly analysis and prediction | |
US20210019674A1 (en) | Risk profiling and rating of extended relationships using ontological databases | |
CN108494810B (zh) | 面向攻击的网络安全态势预测方法、装置及系统 | |
CN110958220B (zh) | 一种基于异构图嵌入的网络空间安全威胁检测方法及系统 | |
US20210021616A1 (en) | Method and system for classifying data objects based on their network footprint | |
Wang et al. | Graph-based security and privacy analytics via collective classification with joint weight learning and propagation | |
US20160203316A1 (en) | Activity model for detecting suspicious user activity | |
CN112800116B (zh) | 一种业务数据的异常检测方法及装置 | |
US20210092160A1 (en) | Data set creation with crowd-based reinforcement | |
US11159564B2 (en) | Detecting zero-day attacks with unknown signatures via mining correlation in behavioral change of entities over time | |
CN110855648B (zh) | 一种网络攻击的预警控制方法及装置 | |
JP2022533552A (ja) | システムレベルセキュリティのための階層的挙動行動のモデル化および検出システムおよび方法 | |
US20200334498A1 (en) | User behavior risk analytic system with multiple time intervals and shared data extraction | |
WO2018071356A1 (en) | Graph-based attack chain discovery in enterprise security systems | |
Shi et al. | A framework of intrusion detection system based on Bayesian network in IoT | |
CN117061254B (zh) | 异常流量检测方法、装置和计算机设备 | |
Dubey et al. | Investigating the Impact of Feature Reduction through Information Gain and Correlation on the Performance of Error Back Propagation Based IDS | |
Ghimeş et al. | Neural network models in big data analytics and cyber security | |
CN114039837B (zh) | 告警数据处理方法、装置、系统、设备和存储介质 | |
US11544123B1 (en) | Systems and methods for detecting partitioned and aggregated novel network, user, device and application behaviors | |
CN117370969A (zh) | 数据异常检测方法、装置、计算机设备和存储介质 | |
CN115225359A (zh) | 蜜罐数据溯源方法、装置、计算机设备和存储介质 | |
CN114915485A (zh) | 基于ueba的异常行为分析方法及装置 |
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 |