CN116070206B - 一种异常行为检测方法、系统、电子设备及存储介质 - Google Patents
一种异常行为检测方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116070206B CN116070206B CN202310313397.9A CN202310313397A CN116070206B CN 116070206 B CN116070206 B CN 116070206B CN 202310313397 A CN202310313397 A CN 202310313397A CN 116070206 B CN116070206 B CN 116070206B
- Authority
- CN
- China
- Prior art keywords
- behavior
- data
- algorithm model
- session
- user
- 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.)
- Active
Links
Images
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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种异常行为检测方法、系统、电子设备及存储介质,涉及大数据安全用户实体行为分析技术领域。该方法基于操作日志数据,创建行为会话,提取行为会话特征数据;基于行为会话特征数据训练得到行为序列算法模型;使用包含行为序列算法模型和统计算法模型的联合算法模型对待检测数据进行联合异常检测,生成异常检测结果;展示异常检测结果。本申请实施例通过行为会话的引入,加速了行为会话特征数据的提取,提升了行为序列算法模型训练和检测的速度;并且通过联合算法模型,不仅可以追踪异常行为轨迹,还可以从统计特征上面抓取异常行为,两者共同印证,大大提升了检测结果的准确率,且具有良好的解释性。
Description
技术领域
本申请涉及大数据安全用户实体行为分析技术领域,具体涉及一种异常行为检测方法、系统、电子设备及存储介质。
背景技术
近年来,网络安全事件频发。因此如何在各种安全设备产生的海量原始日志数据或者告警数据中找出黑客的异常行为显得格外迫切且重要。然而,黑客日益狡猾,所使用的攻击手段花样繁多,其攻击行为日益隐蔽且没有明显的规律性。
当前,异常行为的检测手段按照数理逻辑大致分为四类:1)基于人工经验形成的规则法;2)基于一定规则的统计方法,如分位数算法、HBOS(基于直方图的异常值得分)算法等;3)基于神经网络等有监督类的算法,如CNN(卷积神经网络)、LSTM(长短期记忆人工神经网络)等;4)基于类群算法或树形算法等无监督类的算法,如聚类算法、孤立森林算法、频繁模式树算法等。这四类方法各有优点:第一类方法简便易用;第二类方法鲜明直观非常具有说服力;第三类方法考虑因素周全,函数描述和表达能力强;第四类方法不仅具有良好的抽象表征能力并且可解释性也相对较强。由于黑客攻击行为的日益隐蔽性和进化性,当前存在的方法或多或少离及时告警输出异常用户行为还存在着不小的差距,简单来说,上述第一类方法不仅存在很多误报还有不少漏报;第二类方法,虽然能发现很多的异常行为但是对于复杂行为或者非常隐蔽的行为几乎无能为力;第三类方法,只要选择的特征足够多就能表达万物,即有抓获任何可疑行为的能力,但是该类方法往往过于复杂,实现起来非常痛苦,与对大数据的实时检测相去甚远,并且非常抽象得出的检测结果可解释性很差;第四类方法,目前在安全领域异常行为检测中应用最广,其伸缩性非常大,因此实现起来也相对简便灵活,但是该类检测方法很难兼顾异常行为检测的准确性、及时性以及可解释性。
总而言之,当前严峻的安全形势对异常行为检测方法提出了新的更高要求,兼具准确性、及时性以及可解释性于一身的新的检测手法呼之欲出。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的异常行为检测方法、系统、电子设备及存储介质。所述技术方案如下:
第一方面,提供了一种异常行为检测方法,包括:
采集操作日志数据;
基于所述操作日志数据,创建行为会话,提取行为会话特征数据;
基于所述行为会话特征数据训练得到行为序列算法模型;
获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对所述待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于所述待检测数据来确定;
展示所述异常检测结果。
在一种可能的实现方式中,基于所述操作日志数据,创建行为会话,提取行为会话特征数据,包括:
基于所述操作日志数据,配置行为会话的参数;
根据所述行为会话的参数和所述操作日志数据,将用于提取行为会话特征数据的多个处理函数封装成行为会话;
定期执行行为会话,提取行为会话特征数据。
在一种可能的实现方式中,所述定期执行行为会话,提取行为会话特征数据,包括:
定期从所述操作日志数据所在的源表中,提取包括用户、操作类型和操作时间的字段数据的数据集,并对操作时间使用时间戳转换函数转化为时间戳格式,数据集按照时间戳从小到大排序得到排序后的数据集,其中排序后的数据集包括用户、操作类型和操作时间戳的字段数据,操作类型为用户的操作行为的类型;
在排序后的数据集中,将操作类型映射成单个字符的操作标识,得到映射后的数据集,并生成表示操作类型和操作标识的映射关系的操作类型映射表;
在映射后的数据集中,按用户进行分组聚合得到各用户的操作标识数组字段以及操作时间戳数组字段;
根据各用户的操作标识数组字段以及操作时间戳数组字段,计算各用户的相邻操作行为之间的时间差,得到各用户的操作行为间隔数组字段;
对各用户的操作行为间隔数组字段进行处理,得到各用户的新会话标识数组字段;
对各用户的新会话标识数组字段中的第一个元素进行修正处理,得到修正处理后的各用户的新会话标识数组字段;
确定修正处理后的各用户的新会话标识数组中每个元素的位置值,生成各用户的会话索引数组字段;
将各用户的会话索引数组字段进行行转列展开操作,得到各用户的行转列展开操作结果;
根据各用户的行转列展开操作结果,生成由会话索引位置决定的切片数组,并对切片数组进行求和,得到各用户的行为会话标识,进而基于各用户的行为会话标识和映射后的数据集得到包含各用户的行为会话标识的数据集;
从包含各用户的行为会话标识的数据集中,选择用户、操作时间戳、操作标识和行为会话标识的字段数据,并与操作类型映射表关联再次获取操作类型;
基于从包含各用户的行为会话标识的数据集中选择的用户、操作时间戳、操作标识和行为会话标识的字段数据,以及与操作类型映射表关联再次获取的操作类型,进行聚合操作,生成包含用户、行为会话标识、行为会话起始时间戳、行为会话截止时间戳、操作标识序列、实际操作类型序列、行为序列创建时间的字段数据的行为序列数据,并作为行为会话特征数据,其中行为会话起始时间戳和行为会话截止时间戳由时间戳格式转换成日期时间型格式。
在一种可能的实现方式中,所述联合算法模型包括由行为序列算法模型和统计算法模型构建的串并联混合结构;
获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对所述待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于所述待检测数据来确定,包括:
从所述行为会话特征数据获取第一类待检测数据,使用行为序列算法模型对第一类待检测数据进行异常检测,判定异常用户行为序列;
基于训练得到的行为序列算法模型确定重点关注序列;
从所述操作日志数据所在的源表中,提取每个用户重点关注序列发生次数这个单维度特征值作为第二类待检测数据;
基于第二类待检测数据确定统计算法模型;
将第二类待检测数据经过确定的统计算法模型进行异常检测,判定异常的用户;
根据行为序列算法模型判定的异常用户行为序列和统计算法模型判定的异常的用户,联合判定最终的异常用户,生成包含最终的异常用户的异常检测结果。
在一种可能的实现方式中,所述基于第二类待检测数据确定统计算法模型,包括:
若第二类待检测数据不满足正态分布,则确定统计算法模型为四分位算法模型;
若第二类待检测数据满足正态分布,则确定统计算法模型为3σ准则算法模型。
在一种可能的实现方式中,所述联合算法模型包括由行为序列算法模型和统计算法模型构建的并联结构;
获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对所述待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于所述待检测数据来确定,包括:
从所述行为会话特征数据获取第一类待检测数据,使用行为序列算法模型对第一类待检测数据进行异常检测,判定异常用户行为序列;
从业务需求信息确定目标操作类型;
从所述操作日志数据所在的源表中,提取每个用户目标操作类型的次数这个单维度特征值作为第三类待检测数据;
基于第三类待检测数据确定统计算法模型;
将第三类待检测数据经过确定的统计算法模型进行异常检测,判定异常的用户;
根据行为序列算法模型判定的异常用户行为序列和统计算法模型判定的异常的用户,联合判定最终的异常用户,生成包含最终的异常用户的异常检测结果。
在一种可能的实现方式中,所述基于第三类待检测数据确定统计算法模型,包括:
若第三类待检测数据不满足正态分布,则确定统计算法模型为四分位算法模型;
若第三类待检测数据满足正态分布,则确定统计算法模型为3σ准则算法模型。
在一种可能的实现方式中,若行为序列算法模型包括概率后缀树算法模型,基于所述行为会话特征数据训练得到行为序列算法模型,包括:
从所述行为会话特征数据中提取操作标识序列字段数据;
设置从根节点到最后一层节点的概率后缀树深度;
初始化根节点,根据操作标识序列字段数据,计算每个操作标识符号在所有序列中出现的概率得到根节点概率分布,所有操作标识符号作为候选子节点集合;
针对每一个候选子节点,计算候选子节点所有子序列出现的概率得到候选子节点概率分布,该节点下一步选择的所有操作标识符号作为新的候选子节点集合;
对计算候选子节点概率分布的过程进行递归,直到当前分支上的树深度达到了设置的概率后缀树深度或者候选子节点集为空为止,从而得到训练的概率后缀树算法模型;
定期更新训练的概率后缀树算法模型。
第二方面,提供了一种异常行为检测系统,包括:
数据采集模块,用于采集操作日志数据;
行为会话模块,用于基于所述操作日志数据,创建行为会话,提取行为会话特征数据;
行为序列算法训练模块,用于基于所述行为会话特征数据训练得到行为序列算法模型;
联合检测模块,用于获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对所述待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于所述待检测数据来确定;
展示模块,用于展示所述异常检测结果。
第三方面,提供了一种电子设备,该电子设备包括处理器和存储器,其中,所述存储器中存储有计算机程序,所述处理器被配置为运行所述计算机程序以执行上述任一项所述的异常行为检测方法。
第四方面,提供了一种存储介质,所述存储介质存储有计算机程序,其中,所述计算机程序被配置为运行时执行上述任一项所述的异常行为检测方法。
借由上述技术方案,本申请实施例提供的异常行为检测方法、系统、电子设备及存储介质,该方法可以采集操作日志数据;基于操作日志数据,创建行为会话,提取行为会话特征数据;进而基于行为会话特征数据训练得到行为序列算法模型;获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于待检测数据来确定;展示异常检测结果。可以看到,本申请实施例基于操作日志数据创建行为会话,通过行为会话的引入,把行为会话特征数据的提取从行为序列算法模型的训练和检测剥离开来,不仅加速了行为会话特征数据的提取,而且大大提升了行为序列算法模型训练和检测的速度;并且,选择了行为序列算法和统计算法作为联合算法模型的构成算法,不仅可以追踪异常行为轨迹,还可以从统计特征上面抓取异常行为,两者共同印证,大大提升了检测结果的准确率,从而使得检测结果更贴近业务,因而具有良好的解释性。
进一步地,本申请实施例创造性地将行为序列算法模型与统计算法模型进行了深度的组合,不仅在组合方式上表现出巨大的灵活性,而且可以从不同的角度大大提升单一算法模型的综合性能,并且这两种算法模型有机结合形成的联合算法模型表现出了良好的适应性,能有效捕获十分隐蔽或复杂的异常业务系统操作行为。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1示出了本申请实施例提供的异常行为检测方法流程图;
图2示出了本申请另一实施例提供的异常行为检测方法整体流程图;
图3示出了本申请实施例提供的实现行为会话功能的流程图;
图4示出了本申请实施例提供的行为会话定期执行流程图;
图5示出了本申请实施例提供的行为会话提取程序流程图;
图6a示出了本申请实施例提供的联合算法模型串并联混合结构整体流程图;
图6b示出了本申请实施例提供的联合算法模型并联结构整体流程图;
图7示出了本申请实施例提供的概率后缀树算法模型异常检测整体流程图;
图8示出了本申请实施例提供的概率后缀树算法模型训练流程图;
图9示出了本申请实施例提供的使用训练的概率后缀树算法模型检测异常流程图;
图10示出了本申请实施例提供的训练出的概率后缀树模型部分展示图;
图11示出了本申请实施例提供的四分位算法模型检测流程图;
图12示出了本申请实施例提供的3σ准则算法模型检测流程图;
图13示出了本申请实施例提供的异常行为检测系统结构图;
图14示出了本申请实施例提供的一种电子设备结构图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。
如前面介绍,现有技术的算法要么较为复杂、运算量大、时间复杂度大,对于大数据检测效率较低;要么运行速度较快,但是准确性不高;要么工程上不容易实现,代码十分庞杂;要么综合性能还可以,但是对于极其隐蔽或者复杂的行为不敏感;要么就是检测结果不接地气,没有将算法、业务逻辑、操作行为有机地融合在一起,即算法检测结果不能很好地解释业务行为。
为了解决上述技术问题,本申请实施例提供了一种异常行为检测方法,如图1所示,该异常行为检测方法可以包括以下步骤S101至S105。
步骤S101,采集操作日志数据。
该步骤中,可以对数据库系统、业务系统等类型操作日志数据进行解析、转换和采集。其中,数据库系统的操作日志数据通常可以包括堡垒机sql(structured querylanguage,结构化查询语言)请求日志以及数据库审计sql请求日志等;业务系统的操作日志数据种类繁多,诸如决策系统操作日志数据、合作伙伴结算系统操作日志数据等,本申请实施例对此不作限制。
步骤S102,基于操作日志数据,创建行为会话,提取行为会话特征数据。
步骤S103,基于行为会话特征数据训练得到行为序列算法模型。
步骤S104,获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于待检测数据来确定。
步骤S105,展示异常检测结果。
本申请实施例基于操作日志数据创建行为会话,通过行为会话的引入,把行为会话特征数据的提取从行为序列算法模型的训练和检测剥离开来,不仅加速了行为会话特征数据的提取,而且大大提升了行为序列算法模型训练和检测的速度;并且,选择了行为序列算法和统计算法作为联合算法模型的构成算法,不仅可以追踪异常行为轨迹,还可以从统计特征上面抓取异常行为,两者共同印证,大大提升了检测结果的准确率,从而使得检测结果更贴近业务,因而具有良好的解释性。
本申请实施例中提供了一种可能的实现方式,上面步骤S102基于操作日志数据,创建行为会话,提取行为会话特征数据,具体可以包括以下步骤a1至a3。
步骤a1,基于操作日志数据,配置行为会话的参数。
该步骤中,行为会话的参数可以包括源表、数据源过滤条件、运行间隔时间、数据时间范围、会话间隔、会话对象、行为会话表名、操作类型、操作类型映射表等,还可以根据实际需求配置其它的参数,本实施例对此不作限制。
步骤a2,根据行为会话的参数和操作日志数据,将用于提取行为会话特征数据的多个处理函数封装成行为会话。
该步骤中,以用于联机分析的列式数据库管理系统clickhouse为例,可以使用clickhouse强大的函数功能,例如group by函数、grouparray函数、arraydifference函数、arrayMap函数等,将这些处理函数封装成行为会话,用来提取行为会话特征数据。需要说明的是,此处举例的数据库和函数仅是示意性的,并不对本实施例进行限制。
步骤a3,定期执行行为会话,提取行为会话特征数据。
本实施例根据行为会话的参数和操作日志数据,将用于提取行为会话特征数据的多个处理函数封装成行为会话,代码量少,大大降低了工程应用的难度,从而通过行为会话的引入,把行为会话特征数据的提取从行为序列算法模型的训练和检测剥离开来,不仅加速了行为会话特征数据的提取,而且大大提升了行为序列算法模型训练和检测的速度。
本申请实施例中提供了一种可能的实现方式,上面步骤a3定期执行行为会话,提取行为会话特征数据,具体可以包括以下步骤a301至a311。
a301,定期从操作日志数据所在的源表中,提取包括用户、操作类型和操作时间的字段数据的数据集,并对操作时间使用时间戳转换函数转化为时间戳格式,数据集按照时间戳从小到大排序得到排序后的数据集,其中排序后的数据集包括用户、操作类型和操作时间戳的字段数据,操作类型为用户的操作行为的类型。
该步骤中,操作日志数据所在的源表可以根据行为会话的参数来获得,这里操作类型的字段数据可以是查询、页面加载、导出等,本实施例对此不作限制。
a302,在排序后的数据集中,将操作类型映射成单个字符的操作标识,得到映射后的数据集,并生成表示操作类型和操作标识的映射关系的操作类型映射表。
该步骤中,单个字符集容易让人想到英文字母,考虑大小写英文字母一共才52个,但是操作行为也即操作类型数量可能非常多,因此考虑使用汉字字符集,目前在计算机中通用的汉字字符集大概有6万多个,足以使用。映射逻辑为只要遇到一个新的操作类型就按顺序分配一个未被使用的汉字字符给它,也即每一条新的映射数据包含两个字段,分别是操作类型和操作标识,并将该条数据插入到操作类型映射表中。
a303,在映射后的数据集中,按用户进行分组聚合得到各用户的操作标识数组字段以及操作时间戳数组字段。
该步骤中,映射后的数据集可以包括用户、操作标识和操作时间戳的字段数据,因而可以在映射后的数据集中,按用户进行分组聚合得到各用户的操作标识数组字段以及操作时间戳数组字段。
a304,根据各用户的操作标识数组字段以及操作时间戳数组字段,计算各用户的相邻操作行为之间的时间差,得到各用户的操作行为间隔数组字段。
a305,对各用户的操作行为间隔数组字段进行处理,得到各用户的新会话标识数组字段。
a306,对各用户的新会话标识数组字段中的第一个元素进行修正处理,得到修正处理后的各用户的新会话标识数组字段。
a307,确定修正处理后的各用户的新会话标识数组中每个元素的位置值,生成各用户的会话索引数组字段。
a308,将各用户的会话索引数组字段进行行转列展开操作,得到各用户的行转列展开操作结果。
a309,根据各用户的行转列展开操作结果,生成由会话索引位置决定的切片数组,并对切片数组进行求和,得到各用户的行为会话标识,进而基于各用户的行为会话标识和映射后的数据集得到包含各用户的行为会话标识的数据集。
a310,从包含各用户的行为会话标识的数据集中,选择用户、操作时间戳、操作标识和行为会话标识的字段数据,并与操作类型映射表关联再次获取操作类型。
a311,基于从包含各用户的行为会话标识的数据集中选择的用户、操作时间戳、操作标识和行为会话标识的字段数据,以及与操作类型映射表关联再次获取的操作类型,进行聚合操作,生成包含用户、行为会话标识、行为会话起始时间戳、行为会话截止时间戳、操作标识序列、实际操作类型序列、行为序列创建时间的字段数据的行为序列数据,并作为行为会话特征数据,其中行为会话起始时间戳和行为会话截止时间戳由时间戳格式转换成日期时间型格式。
本实施例可以定期执行行为会话,对数据集进行多个步骤的处理,提取行为会话特征数据,从而通过行为会话的引入,把行为会话特征数据的提取从行为序列算法模型的训练和检测剥离开来,不仅加速了行为会话特征数据的提取,而且大大提升了行为序列算法模型训练和检测的速度。
本申请实施例中提供了一种可能的实现方式,上面步骤S104提及的联合算法模型可以包括由行为序列算法模型和统计算法模型构建的串并联混合结构。在联合算法模型的串并联混合结构中,具体可以对行为序列算法模型检测出的异常序列再进行单维度特征提取,然后送入单维度的统计算法模型检测异常,再联合行为序列算法模型检测出的异常判定最终的异常。通过这种方式的组合,不仅对长序列比较敏感而且对短序列的检测比较灵敏,其具体可以包括以下步骤b1至b6。
步骤b1,从行为会话特征数据获取第一类待检测数据,使用行为序列算法模型对第一类待检测数据进行异常检测,判定异常用户行为序列。
步骤b2,基于训练得到的行为序列算法模型确定重点关注序列。
步骤b3,从操作日志数据所在的源表中,提取每个用户重点关注序列发生次数这个单维度特征值作为第二类待检测数据。
步骤b4,基于第二类待检测数据确定统计算法模型。
步骤b5,将第二类待检测数据经过确定的统计算法模型进行异常检测,判定异常的用户。
步骤b6,根据行为序列算法模型判定的异常用户行为序列和统计算法模型判定的异常的用户,联合判定最终的异常用户,生成包含最终的异常用户的异常检测结果。
本申请实施例中提供了一种可能的实现方式,上面步骤b4基于第二类待检测数据确定统计算法模型,具体可以是若第二类待检测数据不满足正态分布,则确定统计算法模型为四分位算法模型;若第二类待检测数据满足正态分布,则确定统计算法模型为3σ准则算法模型,这样可以进一步提高检测的准确性。
本申请实施例中提供了另一种可能的实现方式,上面步骤S104提及的联合算法模型可以包括由行为序列算法模型和统计算法模型构建的并联结构。在联合算法模型并联结构中,行为序列算法模型和单维度统计算法模型没有上下游关系,两者各自独立检测,最后关联检测结果输出最终异常。其中,单维度特征提取的数据源来自于数据采集入库的相应操作数据。通过单维度统计算法模型的引入,不仅提高了行为序列算法模型检测的准确度,还使得检测结果具备良好的解释性,其具体可以包括以下步骤c1至c6。
步骤c1,从行为会话特征数据获取第一类待检测数据,使用行为序列算法模型对第一类待检测数据进行异常检测,判定异常用户行为序列。
步骤c2,从业务需求信息确定目标操作类型。
步骤c3,从操作日志数据所在的源表中,提取每个用户目标操作类型的次数这个单维度特征值作为第三类待检测数据。
步骤c4,基于第三类待检测数据确定统计算法模型。
步骤c5,将第三类待检测数据经过确定的统计算法模型进行异常检测,判定异常的用户。
步骤c6,根据行为序列算法模型判定的异常用户行为序列和统计算法模型判定的异常的用户,联合判定最终的异常用户,生成包含最终的异常用户的异常检测结果。
本申请实施例中提供了一种可能的实现方式,上面步骤c4基于第三类待检测数据确定统计算法模型,具体可以是若第三类待检测数据不满足正态分布,则确定统计算法模型为四分位算法模型;若第三类待检测数据满足正态分布,则确定统计算法模型为3σ准则算法模型,这样可以进一步提高检测的准确性。
本申请实施例中提供了一种可能的实现方式,上面步骤S103提及的行为序列算法模型可以包括PST(Probabilistic Suffix Tree,概率后缀树)算法模型。这里的概率后缀树算法,可以看作是一种可变阶的马尔科夫链模型,它将后缀树作为索引结构。概率后缀树是由根节点和各子序列对应的节点构成的,任何一个子节点序列发生的概率都可以由其母节点进行预测,也就说可通过每个节点预测该节点序列之后下一个行为发生的概率。简而言之,有预测能力的子序列及其对应节点构成的一棵后缀树便是概率后缀树,在这棵树中,每个节点代表一个元素,从根节点到每个节点的路径也就是入树的一个子序列,因此每个节点实际上都对应一个子序列;当每个节点元素生成时,会统计出该节点之后下一个行为发生的概率也即概率分布(实际上对应该节点下所有子节点序列出现的概率集合),则基于行为会话特征数据训练得到行为序列算法模型,即是基于行为会话特征数据训练得到PST算法模型,具体可以包括以下步骤d1至d6。
步骤d1,从行为会话特征数据中提取操作标识序列字段数据。
步骤d2,设置从根节点到最后一层节点的概率后缀树深度。
步骤d3,初始化根节点,根据操作标识序列字段数据,计算每个操作标识符号在所有序列中出现的概率得到根节点概率分布,所有操作标识符号作为候选子节点集合。
步骤d4,针对每一个候选子节点,计算候选子节点所有子序列出现的概率得到候选子节点概率分布,该节点下一步选择的所有操作标识符号作为新的候选子节点集合。
步骤d5,对计算候选子节点概率分布的过程进行递归,直到当前分支上的树深度达到了设置的概率后缀树深度或者候选子节点集为空为止,从而得到训练的概率后缀树算法模型。
步骤d6,定期更新训练的概率后缀树算法模型。
本实施例可以基于行为会话特征数据训练得到PST算法模型,以便进行后续的联合检测。
以上介绍了图1所示实施例的各个环节的多种实现方式,下面将通过具体实施例对本申请实施例的异常行为检测方法做进一步说明。
在本申请的具体实施例中,创造性地将用于联机分析的列式数据库管理系统clickhouse强大的多参高阶函数、行为会话、行为序列算法、统计算法以及spark(专为大规模数据处理而设计的快速通用的计算引擎,可以用它来完成各种各样的运算,包括sql查询、文本处理、机器学习等)这五大元素有机融合在一起,从而构建了一种精妙的异常行为检测方法,其创新点具体体现在以下几个方面:
1)通过clickhouse强大的多参高阶函数实现了行为会话功能,并将行为会话用于行为序列算法模型,不仅加速了行为序列数据(即行为会话特征数据)的提取,而且大大提升了行为序列算法模型检测的速度;
2)选择了行为序列算法和统计算法作为联合算法模型的构成算法,不仅可以追踪异常行为轨迹,还可以从统计特征上面抓取异常行为,两者共同印证,从而使得检测结果更贴近业务,因而具有良好的解释性;
3)创造性地将行为序列算法模型与统计算法模型进行了深度的组合,不仅在组合方式上表现出巨大的灵活性,而且可以从不同的角度大大提升单一算法的综合性能;
4)将clickhouse sql与spark-sql以及spark算子完美结合,大大降低了工程实现上的难度,也大大减少了代码量(低代码),并通过行为会话和联合算法模型的引入,从而近乎完美地兼顾了异常行为检测的准确性、及时性以及可解释性。
为便于使用者更加清楚地了解本申请,将从以下步骤进行说明。
图2示出了本申请另一实施例提供的异常行为检测方法整体流程图,具体涉及以下步骤S01至S04。
步骤S01,操作日志数据采集,对应数据采集模块。例如,可以通过UEBA(User andEntity Behavior Analytics,用户实体行为分析)产品或态势产品的数据采集模块对数据库系统、业务系统等类型操作日志数据进行解析、转换和采集。其中,数据库系统的操作日志数据通常可以包括堡垒机sql请求日志以及数据库审计sql请求日志等;业务系统的操作日志数据种类繁多,诸如决策系统操作日志数据、合作伙伴结算系统操作日志数据等,本申请实施例对此不作限制。
步骤S02,创建行为会话,对应行为会话模块。创建行为会话的目的在于提取行为序列数据,即行为会话特征数据,可供后续行为序列算法模型使用,其流程如图3所示。
步骤S021,配置行为会话。基于操作日志数据,行为会话的参数可以配置如下:
源表:security_log(大宽表);
数据源过滤条件:dst_app_name(应用名称)=决策支持专家系统&&netflow_dns_rrtype(日志类型)=操作日志;
运行隔间时间:1天(一天运行一次);
数据时间范围:1天(每次取最近1天数据);
会话间隔:5分钟(同一对象相邻操作时间间隔在此间隔范围内视为同一会话);
会话对象:dst_account(分析对象一般指用户,当然也可为其他对象如src_device_ip(对应某台源设备));
行为会话表名:session_pst;
操作类型:generic_opt_type。
这里的参数配置可根据实际情况做出调整,比如某业务系统正常业务操作过于频繁可将会话间隔调短至2分钟,若该业务系统不太繁忙可将会话间隔上调至10分钟,会话间隔应大于等于1分钟小于等于20分钟,通常情况下以5分钟为宜。另外,考虑到后续行为序列算法模型训练的准确性(充足的数据)、检测的速度以及数据库TTL(Time To Live,生存时间值)等因素,也可以配置两个行为会话,分别是session_pst_train和session_pst_test,session_pst_train用来定时跑训练数据,session_pst_test用来定时跑检测数据,这里不做具体介绍。
步骤S022,定期执行行为会话。根据行为会话的参数和操作日志数据,将用于提取行为会话特征数据的多个处理函数封装成行为会话,这样执行行为会话,行为会话可以定期提取行为序列数据,即行为会话特征数据,可供后续模型训练或者检测使用,其流程如图4所示。
步骤S0221,提取行为会话特征数据的提取程序。根据行为会话的参数和操作日志数据,将基于clickhouse数据库的基本sql语句、多参聚合函数以及高阶函数等封装成行为会话,也即行为会话模块,行为会话模块通过基于clickhouse数据库的基本sql语句、多参聚合函数以及高阶函数来提取行为会话特征数据,其提取程序流程如图5示,包括以下步骤:
步骤S02211,从数据库大宽表中提取相应字段数据。通过基本sql语句从大宽表中获取所需字段数据,具体提取字段为用户(dst_account)、操作类型(generic_opt_type)、操作时间(generic_create_time)。其中,操作时间需要使用时间戳转换函数toUnixTimestamp转化为时间戳格式,且数据集按照时间戳从小到大排序得到排序后的数据集,这样排序后的数据集可以包括用户(dst_account)、操作类型(generic_opt_type)和操作时间戳(generic_create_time)的字段数据。
步骤S02212,将操作类型映射成单个字符从而生成操作类型映射表。单个字符集容易让人想到英文字母,考虑大小写英文字母一共才52个,但是操作行为也即操作类型数量可能非常多,因此考虑使用汉字字符集,目前在计算机中通用的汉字字符集大概有6万多个,足以使用。
映射逻辑为只要遇到一个新的操作类型就按顺序分配一个未被使用的汉字字符给它,也即每一条新的映射数据可以包含两个字段generic_opt_type(操作类型)和oper_id(操作标识),并将该条数据插入到操作类型映射表(表名为session_pst_generic_opt_type(表名默认行为会话表名_操作类型))中。映射结果如表1所示,这里需要说明的是,表1列举的操作标识、操作类型及两者的映射关系仅是示意性的,并不对本实施例进行限制:
表1 操作类型映射表(session_pst_generic_opt_type)
步骤S02213,按用户进行分组聚合得到操作标识数组字段以及操作时间戳数组字段。映射后的数据集按照用户(dst_account)进行group by聚合,并使用groupArray函数将操作标识字段(oper_id)和操作时间戳字段(generic_create_time)分别汇聚成操作标识数组字段、操作时间戳数组字段。其中,两个字段对应的数组中的数据是一一对应的,分别代表某个用户操作行为(操作标识)和与之对应的操作时间(操作时间戳)。
步骤S02214,使用arrayDifference函数得到相邻动作时间差数组。该函数计算数组内相邻元素之间的差值,即一个用户相邻操作行为之间的间隔秒数,那么得到的数组即为该用户操作行为间隔数组字段。
步骤S02215,使用arrayMap函数对操作行为间隔数组字段进行处理得到新会话标识数组字段。arrayMap函数是一个高阶函数,可接收两个参数,第一参数为lambda函数,第二个参数为要处理的间隔数组字段。该函数的计算逻辑为将间隔数组中的每一个操作间隔,用一个比较函数进行处理,即与之前配置的行为会话间隔300(单位是秒)作比较,若小于等于该阈值则返回0说明是同一会话,若大于该阈值则返回1表明是新会话,最终得到一个由0和1组成的数组字段,即新会话标识数组字段(每一个1的出现表明一个新会话)。
步骤S02216,对新会话标识数组字段中的第一个元素进行修正处理。事实上,该新会话标识数组字段中的第一个元素是0,这显然不对,每一个新会话应该都是以1开头以0结尾,因此需要将0设置成1。于是,需要先使用arrayPopFront函数删除第一个元素0,然后使用arrayPushFront函数将1填充在该数组字段的最前面。
步骤S02217,使用arrayEnumerate函数生成会话索引数组字段。arrayEnumerate函数返回数组下标,即数组中每个元素的位置值,如对于数组[1,0,1,0,0,1,1],arrayEnumerate([1,0,1,0,0,1,1])的返回值是[1,2,3,4,5,6,7]。假设源数据如表2所示,需要说明的是,表2的列举仅是示意性的,并不对本实施例进行限制:
表2 原始数据
那么,arrayEnumerate函数处理后的结果如表3所示:
表3 arrayEnumerate函数处理后的结果
步骤S02218,将相应数组进行行转列展开操作。经过上述步骤处理之后,数据集包括用户字段、操作标识数组字段、操作时间戳数组字段、新会话标识数组字段以及会话索引数组字段。除了新会话标识数组字段以外,其他三个数组字段通过ARRAY JOIN语法进行展开,展开后的结果如表4所示:
表4 行转列展开操作结果(操作标识和操作时间戳不做展示)
步骤S02219,使用arraySlice函数以及arraySum函数生成会话id(标识)。arraySlice是一个切片函数,使用arraySlice(is_new_session_array,1,session_index)即可以得到一个由索引位置决定的切片数组(slice_array),然后使用arraySum(slice_array)对切片数组进行求和,就可以得到行为会话id(session_id)。数据处理结果,如表5所示:
表5 行为会话id生成结果
从表5最后一列可以看出,1、2属于会话1,3、4、5属于会话2,6属于会话3,7属于会话4,正好与第二列新会话标识数组字段值代表含义一致。
步骤S022110,与操作类型映射表关联再次获取操作类型。经过上述步骤处理之后,基于各用户的行为会话id和映射后的数据集得到包含各用户的行为会话id的数据集,从包含各用户的行为会话id的数据集中选择dst_account(用户)、generic_create_time(操作时间戳)、oper_id(操作标识)、session_id(会话id)这四个字段,考虑到后续可能还会用到操作类型字段,所以再与操作类型映射表(session_pst_generic_opt_type)关联,可再次拿回generic_opt_type(操作类型)字段。
步骤S022111,min函数、max函数、groupArray函数以及arrayStringConcat函数一起进行聚合操作生成行为序列数据,即行为会话特征数据。包含各用户的行为会话id数据集按照dst_account(用户)和generic_create_time(操作时间戳)进行升序排序,然后根据dst_account和session_id(会话id)进行groupby操作,对generic_create_time分别使用min函数、max函数得到session_start(行为会话起始时间戳)以及session_end(行为会话截止时间戳),对oper_id和generic_opt_type先使用groupArray函数再在其外包一层arrayStringConcat函数(arrayStringConcat(groupArray(oper_id),’’)和arrayStringConcat(groupArray(generic_opt_type),’-’))分别汇聚得到oper_chain(操作标识序列)以及generic_opt_type_chain(实际操作类型序列)。
这里需要注意的是,操作标识序列也就是后续行为序列算法模型要用到的行为序列,操作类型序列主要用于展示,正因如此操作标识序列中不能出现连接符,而操作类型序列由连接符“-”进行连接。
步骤S022112,再将行为会话起始时间戳和行为会话截止时间戳由时间戳格式转换成日期时间型格式。可以使用fromUnixTimestamp函数分别将session_start和session_end两个字段由时间戳格式转换为通常的DateTime64格式。
步骤S0222,定期执行提取程序提取行为序列数据,即行为会话特征数据。如前面介绍,根据行为会话的参数和操作日志数据,将基于clickhouse数据库的基本sql语句、多参聚合函数以及高阶函数等封装成行为会话,也即行为会话模块,行为会话模块通过基于clickhouse数据库的基本sql语句、多参聚合函数以及高阶函数来提取行为会话特征数据,因而可以按照配置的行为会话参数定期运行上述步骤S02211至步骤S022112的提取程序,最终提取的行为会话特征数据如表6所示:
表6 行为会话表session_pst存放的部分数据结果
步骤S03,使用联合算法模型检测异常。由于行为会话的特征提取是为了使用行为序列算法模型,所以联合算法其中之一种算法为行为序列算法,行为序列算法使用无监督类的概率后缀树模型进行实现,为了提高算法检测的准确度和可解释性,结合统计算法模型进行联合检测。同时,还考虑到算法模型检测的速度,统计算法模型采用单维度四分位算法模型或3σ准则算法模型实现。根据联结方式的不同,联合检测又可以分为两种结构(如下所述)。这两种结构不仅在串并联组合方式上不同,而且在单维度特征的选取方面存在很大的差异,正是因为结构上的巨大差异性,大大增强了联合算法模型的灵活性。
A)串并联混合结构。通过clickhouse的高阶事件函数对行为序列算法模型检测出的异常序列再进行单维度特征提取,然后送入单维度的统计算法模型检测异常,再联合行为序列算法模型检测出的异常判定最终的异常。通过这种方式的组合,算法模型不仅对长序列比较敏感而且对短序列的检测比较灵敏,其整体流程如图6a所示,包括以下步骤:
步骤S03A1,行为序列算法(PST算法)模型检测异常。其检测流程和逻辑后面会介绍。
步骤S03A2,从训练出的树模型中找出重点关注序列。从训练完的树模型中,找出最后一层(对应树的深度)子序列中发生概率最低的行为序列,然后通过关联操作类型映射表,即可找到重点关注序列(这里指的是原始操作类型序列,不是操作标识序列),这里假设重点关注序列为导出-导出-导出。
步骤S03A3,使用高阶sequenceCount函数提取每个用户重点关注序列发生次数这个单维度特征值。根据筛选条件(where条件)从security_log(大宽表)中选取选择dst_account(用户)、generic_create_time(操作时间戳)、generic_opt_type(操作类型)字段数据作为数据集,然后按照用户进行分组,再使用高阶聚合函数sequenceCount('(?1)(?t<=300)(?2)(?t<=300)(?3)')(generic_create_time,generic_opt_type='导出',generic_opt_type='导出',generic_opt_type='导出')即可统计出用户重点关注序列出现的次数。其中,sequenceCount函数的一阶参数是一个正则表达式,表示操作行为发生的先后顺序以及相邻操作时间间隔要求(t<=300表示相邻操作要在300秒以内,与行为会话中的间隔时间保持一致);sequenceCount函数的二阶参数中第一个参数为时间字段,后面的参数为相应的操作行为条件表达式,注意其顺序要与一阶参数中的正则表达式保持一致。
步骤S03A4,统计算法模型检测异常。上述提取的单维度特征值数据经过统计算法模型检测,就可以给出异常的用户。
步骤S03A5,根据行为序列算法模型与统计算法模型两种算法模型的检测结果,联合给出最终检测结果。行为序列算法模型检测出来的结果,结合统计算法模型检测出来的结果,共同判定最终的异常用户。例如,行为序列算法模型的检测结果是用户1的行为序列异常和用户2的行为序列异常;统计算法模型的检测结果是用户1、用户3、用户4为异常用户;则可以联合给出最终检测结果为用户1为异常用户,同时还可以给出异常用户1的行为序列。需要说明的是,此处列举仅是示意性的,并不对本实施例进行限制。
这里的统计算法模型检测从某种程度上代表了对短序列的检测,而行为序列算法模型实际上是对完整序列进行检测,这样通过两者的结合形成的联合算法模型不仅对短序列较为敏感,而且对长序列的检测也较为灵敏。这里的统计算法模型包括四分位算法以及3σ准则算法,此处选择的是四分位算法。
B)并联结构。并联结构中行为序列算法模型和单维度统计算法模型没有上下游关系,两者各自独立检测,最后关联检测结果输出最终异常。其中,单维度特征提取的数据源来自于数据采集入库的相应操作数据。通过单维度统计算法模型的引入,不仅提高了行为序列算法模型检测的准确度,还使得算法模型具备良好的解释性,其整体流程如图6b所示,包括以下步骤:
步骤S03B1,从业务意义上提取单维度特征值。例如,在决策系统中,可能很在意用户的导出操作行为,于是将用户导出操作的次数作为要提取的单维度特征值。这里,按照用户进行分组(group by),然后统计(count)操作类型为导出的次数即可得到用户导出次数这个单维度特征值。
步骤S03B2,统计算法模型检测异常。上述提取的单维度特征值数据经过统计算法模型检测,就可以给出异常的用户。这里的统计算法还是包括四分位算法以及3σ准则算法,此处选择的是四分位算法。
步骤S03B3,行为序列算法(PST算法)模型检测异常。
步骤S03B4,根据统计算法模型与行为序列算法模型两种算法模型的检测结果,联合给出最终检测结果。例如,统计算法模型的检测结果是用户1、用户3、用户4为异常用户;行为序列算法模型的检测结果是用户1的行为序列异常,则可以联合给出最终检测结果为用户1为异常用户,同时还可以给出异常用户1的行为序列。需要说明的是,此处列举仅是示意性的,并不对本实施例进行限制。
这里的统计算法模型和行为序列算法模型之间并不存在依赖关系,行为序列算法模型比较抽象,但从某种程度上来说给出的是异常序列(低概率序列)与正常序列之间的差异;而统计算法模型根据单维度业务特征来检测异常,非常具有可解释性。两者相结合形成的联合算法模型,综合了两种算法模型的检测结果,不仅提升了算法(相比单一算法)的准确率,还使得算法具有良好的解释性。
上述联合算法模型检测算法中存在两种结构A和B,两者都包含了行为序列算法(PST算法)模型检测异常。这里所说的行为序列算法模型,采用PST(概率后缀树)算法。概率后缀树算法,可以看作是一种可变阶的马尔科夫链模型,它将后缀树作为索引结构。概率后缀树是由根节点和各子序列对应的节点构成的,任何一个子节点序列发生的概率都可以由其母节点进行预测,也就说可通过每个节点预测该节点序列之后下一个行为发生的概率。简而言之,有预测能力的子序列及其对应节点构成的一棵后缀树便是概率后缀树,在这棵树中,每个节点代表一个元素,从根节点到每个节点的路径也就是入树的一个子序列,因此每个节点实际上都对应一个子序列;当每个节点元素生成时,会统计出该节点之后下一个行为发生的概率也即概率分布(实际上对应该节点下所有子节点序列出现的概率集合)。其整体流程图如图7所示,具体包括以下步骤:
步骤S03P1,训练PST算法模型。模型训练实际上就是构造一棵具有强大子序列预测能力的概率后缀树,其整体流程图如图8所示,具体包括以下步骤:
步骤S03P11,获取训练数据。从行为会话表session_pst中获取最近一个月的数据,并从该数据集中提取出oper_chain字段数据。
步骤S03P12,设置概率后缀树深度L。树深度是指从根节点到最后一层节点的步长,也对应树中最后一层任意一个子节点序列长度。一般来说,深度设置大一点模型预测准确度会相对高一点,但是深度最好不应超过操作行为的类型数,加之深度越大复杂度就会越大导致模型训练运行效率降低,因此这里设置深度为3。
步骤S03P13,计算根节点概率分布。初始化根节点(root),根节点的概率分布为每个操作标识符号在所有序列中出现的概率,所有操作标识符号作为候选子节点集合。
步骤S03P14,计算候选子节点概率分布。针对每一个候选子节点,计算候选子节点所有子序列出现的概率,该节点下一步选择的所有操作标识符号作为新的候选子节点集合。
步骤S03P15,递归计算概率分布。对以上过程进行递归,直到当前分支上的树深度达到了预设的概率后缀树深度或者候选子节点集为空为止。
步骤S03P16,定期更新训练模型。为了使得模型的预测能力有良好的适应性,需要定期更新模型,定期训练模型的周期为一周,即一周跑一次,训练好的模型保存为json格式文件(pst.json)。
步骤S03P2,使用训练模型检测异常。使用最新的模型就可以对检测数据进行异常检测,流程图如图9所示,具体包括以下步骤:
步骤S03P21,获取测试数据。使用基本的sql语句,就可以从行为会话表session_pst中获取最近一天的数据作为检待测数据。
步骤S03P22,设置算法检测阈值。这里需要设定两个阈值子序列阈值(prob_threshold)和完整序列判定阈值(threshold),prob_threshold最好不大于0.3,这里设定为0.2;threshold必须大于0.5,这里设置为0.8。
步骤S03P23,加载模型判定异常用户行为序列。加载pst.json文件即可得到最新的模型(如图10所示),然后根据该模型就可以对用户行为序列进行异常检测。假设某用户操作序列为丌丌丌主主主,经过检测可得到子序列概率集为[0.5, 0.11, 0.05, 0.13,0.01,0.003],该集合中小于0.2(prob_threshold)的子序列有5个,因此该完整序列的预测分值score为0.833(5/6),再将分值与判定阈值threshold进行比较,若score大于threshold则判定为异常,反之为正常;这里由于0.833>0.8,所以该用户操作序列判定为异常。
这里需要注意的是,考虑到算法检测的稳定性和及时性,在代码层面是通过spark将PST算法封装成spark算子实现的,pst算子有训练和检测两种参数模式。
上述所说的四分位算法属于统计算法中的一种,并且是一种单维度算法,其整体流程图如图11所示,具体包括以下步骤:
假设待检测的数据集为D,选取的单维度特征用cnt表示。
S03Q1)根据分位数算法计算四分位数值。
四分位算子用clickhouse或spark-sql的quartile()算子来实现:
四分之一分位数:Q1=quartile(cnt, 0.25);
四分之三分位数:Q3=quartile(cnt, 0.75);
S03Q2)根据四分位数计算异常边界阈值。
异常边界阈值计算公式如下:
outlier_value= Q3+γ(Q3-Q1)
此处,2≤γ≤8,其中优选正整数,更优选取3。
S03Q3)根据异常边界阈值判定异常。
如果某数据对象的特征值cnt大于outlier_value,那么四分位算法对该数据对象的检测结果即为异常;反之为正常。
上述所说的3σ准则算法也属于统计算法中的一种,也是一种单维度算法,其整体流程图如图12所示,具体包括以下步骤:
假设待检测的数据集为D,选取的单维度特征用cnt表示。
S03S1)根据统计函数计算均值和标准差。
均值和标准差分别用clickhouse或spark-sql的avg()和stddev_pop()算子来实现:
均值:U=avg(cnt);
标准差:P=stddev_pop(cnt);
S03S2)根据3σ准则计算边界阈值。
异常边界阈值计算公式如下:
上边界值:top_value = U+3P
下边界值:bottom_value = U-3P
S03S3)根据边界阈值判定异常。
如果某数据对象的特征值cnt大于top_value或者小于bottom_value即可判定为异常,但是通常情况下结合实际场景考虑只取上边界值,即大于top_value才判定为异常,反之为正常。
应注意的是,当单维度特征不满足正态分布(比较离散),宜采用四分位算法;当单维度特征满足正态分布(分布较为密集),宜采用3σ准则算法。
步骤S04,展示异常检测结果。上述联合算法模型输出异常用户,还需要展示一些具体的告警细节,比如具体的操作行为序列以及对应的操作时间明细,还有异常行为序列的可信度以及用户正常的操作序列等等。展示的目的和意义就是形成告警,最终用于安全决策或者治理。
本申请实施例为异常行为检测提供了一种检测方法,创新性地将clickhouse多参高阶函数、行为会话、行为序列算法、统计算法以及spark(spark-sql和spark算子封装)有机结合起来,产生了非常有益的加成效果,主要体现在四个方面:
1)整个异常行为检测在工程上是通过clickhouse sql、spark sql和spark封装算子实现的,及其简单,代码量少,大大提升了整个检测系统运行的稳定性和效率,也大大降低了工程应用的难度,几乎能做到实时响应。
2)通过行为会话的引入把行为序列数据的提取剥离开来,加之在联合算法模型中使用了简约而不简单的单维度统计算法,并且使用spark将联合检测算法封装成了spark算子,不仅将联合算法模型中的行为序列算法模型的训练和检测分离开来,而且最终大大加快了算法模型的检测速度。
3)通过行为序列算法模型和统计算法模型的融合,大大提升了检测结果的准确率,并且这两种算法模型有机结合形成的联合算法模型表现出了良好的适应性,能有效捕获十分隐蔽或复杂的异常业务系统操作行为。
4)机智地选择了行为序列算法和单维度的统计算法作为联合检测算法的组成算法,从而使得检测算法更接地气;算法输入从业务行为中来,算法检测结果到异常业务行为中去,因此具有良好的解释性,从而使得该检测方法具有非常广泛的应用价值。
需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。实际应用中,上述所有可能的实施方式可以采用结合的方式任意组合,形成本申请的可能的实施例,在此不再一一赘述。
基于上文各个实施例提供的异常行为检测方法,基于同一发明构思,本申请实施例还提供了一种异常行为检测系统。
图13是本申请实施例提供的异常行为检测系统的结构图。如图13所示,该异常行为检测系统具体可以包括数据采集模块1310、行为会话模块1320、行为序列算法训练模块1330、联合检测模块1340、展示模块1350。
数据采集模块1310,用于采集操作日志数据;
行为会话模块1320,用于基于所述操作日志数据,创建行为会话,提取行为会话特征数据;
行为序列算法训练模块1330,用于基于所述行为会话特征数据训练得到行为序列算法模型;
联合检测模块1340,用于获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对所述待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于所述待检测数据来确定;
展示模块1350,用于展示所述异常检测结果。
本申请实施例中提供了一种可能的实现方式,所述行为会话模块1320还用于:
基于所述操作日志数据,配置行为会话的参数;
根据所述行为会话的参数和所述操作日志数据,将用于提取行为会话特征数据的多个处理函数封装成行为会话;
定期执行行为会话,提取行为会话特征数据。
本申请实施例中提供了一种可能的实现方式,所述行为会话模块1320还用于:
定期从所述操作日志数据所在的源表中,提取包括用户、操作类型和操作时间的字段数据的数据集,并对操作时间使用时间戳转换函数转化为时间戳格式,数据集按照时间戳从小到大排序得到排序后的数据集,其中排序后的数据集包括用户、操作类型和操作时间戳的字段数据,操作类型为用户的操作行为的类型;
在排序后的数据集中,将操作类型映射成单个字符的操作标识,得到映射后的数据集,并生成表示操作类型和操作标识的映射关系的操作类型映射表;
在映射后的数据集中,按用户进行分组聚合得到各用户的操作标识数组字段以及操作时间戳数组字段;
根据各用户的操作标识数组字段以及操作时间戳数组字段,计算各用户的相邻操作行为之间的时间差,得到各用户的操作行为间隔数组字段;
对各用户的操作行为间隔数组字段进行处理,得到各用户的新会话标识数组字段;
对各用户的新会话标识数组字段中的第一个元素进行修正处理,得到修正处理后的各用户的新会话标识数组字段;
确定修正处理后的各用户的新会话标识数组中每个元素的位置值,生成各用户的会话索引数组字段;
将各用户的会话索引数组字段进行行转列展开操作,得到各用户的行转列展开操作结果;
根据各用户的行转列展开操作结果,生成由会话索引位置决定的切片数组,并对切片数组进行求和,得到各用户的行为会话标识,进而基于各用户的行为会话标识和映射后的数据集得到包含各用户的行为会话标识的数据集;
从包含各用户的行为会话标识的数据集中,选择用户、操作时间戳、操作标识和行为会话标识的字段数据,并与操作类型映射表关联再次获取操作类型;
基于从包含各用户的行为会话标识的数据集中选择的用户、操作时间戳、操作标识和行为会话标识的字段数据,以及与操作类型映射表关联再次获取的操作类型,进行聚合操作,生成包含用户、行为会话标识、行为会话起始时间戳、行为会话截止时间戳、操作标识序列、实际操作类型序列、行为序列创建时间的字段数据的行为序列数据,并作为行为会话特征数据,其中行为会话起始时间戳和行为会话截止时间戳由时间戳格式转换成日期时间型格式。
本申请实施例中提供了一种可能的实现方式,所述联合算法模型包括由行为序列算法模型和统计算法模型构建的串并联混合结构;所述联合检测模块1340还用于:
从所述行为会话特征数据获取第一类待检测数据,使用行为序列算法模型对第一类待检测数据进行异常检测,判定异常用户行为序列;
基于训练得到的行为序列算法模型确定重点关注序列;
从所述操作日志数据所在的源表中,提取每个用户重点关注序列发生次数这个单维度特征值作为第二类待检测数据;
基于第二类待检测数据确定统计算法模型;
将第二类待检测数据经过确定的统计算法模型进行异常检测,判定异常的用户;
根据行为序列算法模型判定的异常用户行为序列和统计算法模型判定的异常的用户,联合判定最终的异常用户,生成包含最终的异常用户的异常检测结果。
本申请实施例中提供了一种可能的实现方式,所述联合检测模块1340还用于:
若第二类待检测数据不满足正态分布,则确定统计算法模型为四分位算法模型;
若第二类待检测数据满足正态分布,则确定统计算法模型为3σ准则算法模型。
本申请实施例中提供了一种可能的实现方式,所述联合算法模型包括由行为序列算法模型和统计算法模型构建的并联结构;所述联合检测模块1340还用于:
从所述行为会话特征数据获取第一类待检测数据,使用行为序列算法模型对第一类待检测数据进行异常检测,判定异常用户行为序列;
从业务需求信息确定目标操作类型;
从所述操作日志数据所在的源表中,提取每个用户目标操作类型的次数这个单维度特征值作为第三类待检测数据;
基于第三类待检测数据确定统计算法模型;
将第三类待检测数据经过确定的统计算法模型进行异常检测,判定异常的用户;
根据行为序列算法模型判定的异常用户行为序列和统计算法模型判定的异常的用户,联合判定最终的异常用户,生成包含最终的异常用户的异常检测结果。
本申请实施例中提供了一种可能的实现方式,所述联合检测模块1340还用于:
若第三类待检测数据不满足正态分布,则确定统计算法模型为四分位算法模型;
若第三类待检测数据满足正态分布,则确定统计算法模型为3σ准则算法模型。
本申请实施例中提供了一种可能的实现方式,若行为序列算法模型包括概率后缀树算法模型,所述行为序列算法训练模块1330还用于:
从所述行为会话特征数据中提取操作标识序列字段数据;
设置从根节点到最后一层节点的概率后缀树深度;
初始化根节点,根据操作标识序列字段数据,计算每个操作标识符号在所有序列中出现的概率得到根节点概率分布,所有操作标识符号作为候选子节点集合;
针对每一个候选子节点,计算候选子节点所有子序列出现的概率得到候选子节点概率分布,该节点下一步选择的所有操作标识符号作为新的候选子节点集合;
对计算候选子节点概率分布的过程进行递归,直到当前分支上的树深度达到了设置的概率后缀树深度或者候选子节点集为空为止,从而得到训练的概率后缀树算法模型;
定期更新训练的概率后缀树算法模型。
基于同一发明构思,本申请实施例还提供了一种电子设备,包括处理器和存储器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任意一个实施例的异常行为检测方法。
在示例性的实施例中,提供了一种电子设备,如图14所示,图14所示的电子设备1400包括:处理器1401和存储器1403。其中,处理器1401和存储器1403相连,如通过总线1402相连。可选地,电子设备1400还可以包括收发器1404。需要说明的是,实际应用中收发器1404不限于一个,该电子设备1400的结构并不构成对本申请实施例的限定。
处理器1401可以是CPU(Central Processing Unit,中心处理器),通用处理器,DSP(DigitalSignal Processor,数据信号处理器),ASIC(ApplicationSpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1402可包括一通路,在上述组件之间传送信息。总线1402可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线1402可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1403可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(RandomAccess Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器1403用于存储执行本申请方案的计算机程序代码,并由处理器1401来控制执行。处理器1401用于执行存储器1403中存储的计算机程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图14示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
基于同一发明构思,本申请实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任意一个实施例的异常行为检测方法。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置、模块的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
本领域普通技术人员可以理解:本申请的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干程序指令,用以使得一电子设备(例如个人计算机,服务器,或者网络设备等)在运行所述程序指令时执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的电子设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被电子设备的处理器执行时,所述电子设备执行本申请各实施例所述方法的全部或部分步骤。
以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:在本申请的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本申请的保护范围。
Claims (9)
1.一种异常行为检测方法,其特征在于,包括:
采集操作日志数据;
基于所述操作日志数据,创建行为会话,提取行为会话特征数据;
基于所述行为会话特征数据训练得到行为序列算法模型,其中,行为序列算法模型为概率后缀树算法模型,模型训练是构造一棵具有子序列预测能力的概率后缀树;
获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对所述待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于所述待检测数据来确定;
展示所述异常检测结果;
其中,所述联合算法模型包括由行为序列算法模型和统计算法模型构建的串并联混合结构;获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对所述待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于所述待检测数据来确定,包括:
从所述行为会话特征数据获取第一类待检测数据,使用行为序列算法模型对第一类待检测数据进行异常检测,判定异常用户行为序列;
从训练完的树模型中,找出最后一层子序列中发生概率最低的行为序列,然后通过关联操作类型映射表确定重点关注序列,重点关注序列是操作类型序列,从而基于训练得到的行为序列算法模型确定重点关注序列;
从所述操作日志数据所在的源表中,提取每个用户重点关注序列发生次数这个单维度特征值作为第二类待检测数据;
基于第二类待检测数据确定统计算法模型;
将第二类待检测数据经过确定的统计算法模型进行异常检测,判定异常的用户;
根据行为序列算法模型判定的异常用户行为序列和统计算法模型判定的异常的用户,联合判定最终的异常用户,生成包含最终的异常用户的异常检测结果。
2.根据权利要求1所述的方法,其特征在于,基于所述操作日志数据,创建行为会话,提取行为会话特征数据,包括:
基于所述操作日志数据,配置行为会话的参数;
根据所述行为会话的参数和所述操作日志数据,将用于提取行为会话特征数据的多个处理函数封装成行为会话;
定期执行行为会话,提取行为会话特征数据。
3.根据权利要求2所述的方法,其特征在于,所述定期执行行为会话,提取行为会话特征数据,包括:
定期从所述操作日志数据所在的源表中,提取包括用户、操作类型和操作时间的字段数据的数据集,并对操作时间使用时间戳转换函数转化为时间戳格式,数据集按照时间戳从小到大排序得到排序后的数据集,其中排序后的数据集包括用户、操作类型和操作时间戳的字段数据,操作类型为用户的操作行为的类型;
在排序后的数据集中,将操作类型映射成单个字符的操作标识,得到映射后的数据集,并生成表示操作类型和操作标识的映射关系的操作类型映射表;
在映射后的数据集中,按用户进行分组聚合得到各用户的操作标识数组字段以及操作时间戳数组字段;
根据各用户的操作标识数组字段以及操作时间戳数组字段,计算各用户的相邻操作行为之间的时间差,得到各用户的操作行为间隔数组字段;
对各用户的操作行为间隔数组字段进行处理,得到各用户的新会话标识数组字段;
对各用户的新会话标识数组字段中的第一个元素进行修正处理,得到修正处理后的各用户的新会话标识数组字段;
确定修正处理后的各用户的新会话标识数组中每个元素的位置值,生成各用户的会话索引数组字段;
将各用户的会话索引数组字段进行行转列展开操作,得到各用户的行转列展开操作结果;
根据各用户的行转列展开操作结果,生成由会话索引位置决定的切片数组,并对切片数组进行求和,得到各用户的行为会话标识,进而基于各用户的行为会话标识和映射后的数据集得到包含各用户的行为会话标识的数据集;
从包含各用户的行为会话标识的数据集中,选择用户、操作时间戳、操作标识和行为会话标识的字段数据,并与操作类型映射表关联再次获取操作类型;
基于从包含各用户的行为会话标识的数据集中选择的用户、操作时间戳、操作标识和行为会话标识的字段数据,以及与操作类型映射表关联再次获取的操作类型,进行聚合操作,生成包含用户、行为会话标识、行为会话起始时间戳、行为会话截止时间戳、操作标识序列、实际操作类型序列、行为序列创建时间的字段数据的行为序列数据,并作为行为会话特征数据,其中行为会话起始时间戳和行为会话截止时间戳由时间戳格式转换成日期时间型格式。
4.根据权利要求1所述的方法,其特征在于,所述基于第二类待检测数据确定统计算法模型,包括:
若第二类待检测数据不满足正态分布,则确定统计算法模型为四分位算法模型;
若第二类待检测数据满足正态分布,则确定统计算法模型为3σ准则算法模型。
5.根据权利要求1所述的方法,其特征在于,所述基于第三类待检测数据确定统计算法模型,包括:
若第三类待检测数据不满足正态分布,则确定统计算法模型为四分位算法模型;
若第三类待检测数据满足正态分布,则确定统计算法模型为3σ准则算法模型。
6.根据权利要求1所述的方法,其特征在于,若行为序列算法模型包括概率后缀树算法模型,基于所述行为会话特征数据训练得到行为序列算法模型,包括:
从所述行为会话特征数据中提取操作标识序列字段数据;
设置从根节点到最后一层节点的概率后缀树深度;
初始化根节点,根据操作标识序列字段数据,计算每个操作标识符号在所有序列中出现的概率得到根节点概率分布,所有操作标识符号作为候选子节点集合;
针对每一个候选子节点,计算候选子节点所有子序列出现的概率得到候选子节点概率分布,该节点下一步选择的所有操作标识符号作为新的候选子节点集合;
对计算候选子节点概率分布的过程进行递归,直到当前分支上的树深度达到了设置的概率后缀树深度或者候选子节点集为空为止,从而得到训练的概率后缀树算法模型;
定期更新训练的概率后缀树算法模型。
7.一种异常行为检测系统,其特征在于,包括:
数据采集模块,用于采集操作日志数据;
行为会话模块,用于基于所述操作日志数据,创建行为会话,提取行为会话特征数据;
行为序列算法训练模块,用于基于所述行为会话特征数据训练得到行为序列算法模型,其中,行为序列算法模型为概率后缀树算法模型,模型训练是构造一棵具有子序列预测能力的概率后缀树;
联合检测模块,用于获取待检测数据,使用包含行为序列算法模型和统计算法模型的联合算法模型对所述待检测数据进行联合异常检测,生成异常检测结果,其中统计算法模型基于所述待检测数据来确定;
展示模块,用于展示所述异常检测结果;
其中,所述联合算法模型包括由行为序列算法模型和统计算法模型构建的串并联混合结构;所述联合检测模块还用于:
从所述行为会话特征数据获取第一类待检测数据,使用行为序列算法模型对第一类待检测数据进行异常检测,判定异常用户行为序列;
从训练完的树模型中,找出最后一层子序列中发生概率最低的行为序列,然后通过关联操作类型映射表确定重点关注序列,重点关注序列是操作类型序列,从而基于训练得到的行为序列算法模型确定重点关注序列;
从所述操作日志数据所在的源表中,提取每个用户重点关注序列发生次数这个单维度特征值作为第二类待检测数据;
基于第二类待检测数据确定统计算法模型;
将第二类待检测数据经过确定的统计算法模型进行异常检测,判定异常的用户;
根据行为序列算法模型判定的异常用户行为序列和统计算法模型判定的异常的用户,联合判定最终的异常用户,生成包含最终的异常用户的异常检测结果。
8.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器中存储有计算机程序,所述处理器被配置为运行所述计算机程序以执行权利要求1至6中任一项所述的异常行为检测方法。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被配置为运行时执行权利要求1至6中任一项所述的异常行为检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310313397.9A CN116070206B (zh) | 2023-03-28 | 2023-03-28 | 一种异常行为检测方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310313397.9A CN116070206B (zh) | 2023-03-28 | 2023-03-28 | 一种异常行为检测方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116070206A CN116070206A (zh) | 2023-05-05 |
CN116070206B true CN116070206B (zh) | 2023-06-30 |
Family
ID=86175293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310313397.9A Active CN116070206B (zh) | 2023-03-28 | 2023-03-28 | 一种异常行为检测方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116070206B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389166B (zh) * | 2023-05-29 | 2023-08-04 | 天翼云科技有限公司 | 一种恶意dos流量的检测方法、装置、电子设备及存储介质 |
CN117150403B (zh) * | 2023-08-22 | 2024-05-28 | 国网湖北省电力有限公司营销服务中心(计量中心) | 一种决策节点行为异常检测方法和系统 |
CN117744076B (zh) * | 2024-02-06 | 2024-04-16 | 江苏开博科技有限公司 | 一种银行数据库系统入侵检测方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021139235A1 (zh) * | 2020-06-30 | 2021-07-15 | 平安科技(深圳)有限公司 | 系统异常检测方法、装置、设备及存储介质 |
CN113518011A (zh) * | 2021-09-10 | 2021-10-19 | 阿里云计算有限公司 | 异常检测方法和装置、电子设备及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120016633A1 (en) * | 2010-07-16 | 2012-01-19 | Andreas Wittenstein | System and method for automatic detection of anomalous recurrent behavior |
CN112738088B (zh) * | 2020-12-28 | 2023-03-21 | 上海观安信息技术股份有限公司 | 一种基于无监督算法的行为序列异常检测方法及系统 |
CN114117421A (zh) * | 2021-11-29 | 2022-03-01 | 上海观安信息技术股份有限公司 | 用户访问行为的异常检测方法及装置 |
CN114238360A (zh) * | 2021-12-24 | 2022-03-25 | 上海观安信息技术股份有限公司 | 一种用户行为分析系统 |
-
2023
- 2023-03-28 CN CN202310313397.9A patent/CN116070206B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021139235A1 (zh) * | 2020-06-30 | 2021-07-15 | 平安科技(深圳)有限公司 | 系统异常检测方法、装置、设备及存储介质 |
CN113518011A (zh) * | 2021-09-10 | 2021-10-19 | 阿里云计算有限公司 | 异常检测方法和装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116070206A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116070206B (zh) | 一种异常行为检测方法、系统、电子设备及存储介质 | |
CN107992746B (zh) | 恶意行为挖掘方法及装置 | |
Nguyen et al. | Fake news detection using deep markov random fields | |
CN111930547A (zh) | 一种故障定位方法、装置及存储介质 | |
CN112165462A (zh) | 基于画像的攻击预测方法、装置、电子设备及存储介质 | |
CN117473571B (zh) | 一种数据信息安全处理方法及系统 | |
Yu et al. | Brain: Log parsing with bidirectional parallel tree | |
CN111782637A (zh) | 一种模型构建方法、装置及设备 | |
CN113688240B (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
Jain et al. | A review of unstructured data analysis and parsing methods | |
CN116756327B (zh) | 基于知识推断的威胁情报关系抽取方法、装置和电子设备 | |
CN115718846A (zh) | 用于智能化交互网络的大数据挖掘方法及系统 | |
CN115396147A (zh) | 一种融合云网端日志与威胁知识的apt检测方法 | |
CN110011990A (zh) | 内网安全威胁智能分析方法 | |
CN113722719A (zh) | 针对安全拦截大数据分析的信息生成方法及人工智能系统 | |
Meira et al. | Fast anomaly detection with locality-sensitive hashing and hyperparameter autotuning | |
CN117874662A (zh) | 基于图模式的微服务日志异常检测方法 | |
CN115048913B (zh) | 一种命令处理方法、装置和电子设备 | |
Guan et al. | The design and implementation of a multidimensional and hierarchical web anomaly detection system | |
CN116227916A (zh) | 一种基于规则引擎的实时风控系统及方法 | |
CN112149121A (zh) | 一种恶意文件识别方法、装置、设备及存储介质 | |
CN114328818A (zh) | 文本语料处理方法、装置、存储介质及电子设备 | |
Dong et al. | Security situation assessment algorithm for industrial control network nodes based on improved text simhash | |
Jin | Network Data Detection for Information Security Using CNN-LSTM Model | |
CN114971110A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |