CN115700526A - 一种行为检测方法、装置、设备以及介质 - Google Patents
一种行为检测方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN115700526A CN115700526A CN202110858618.1A CN202110858618A CN115700526A CN 115700526 A CN115700526 A CN 115700526A CN 202110858618 A CN202110858618 A CN 202110858618A CN 115700526 A CN115700526 A CN 115700526A
- Authority
- CN
- China
- Prior art keywords
- behavior
- data
- behavior data
- historical
- detected
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种行为检测方法、装置、设备以及介质,该方法包括:获取目标账号对应的待检测行为数据;获取目标账号对应的历史行为数据;确定待检测行为数据和/或历史行为数据所属的目标数据类型;若目标数据类型为连续数值类型,采用聚类算法对待检测行为数据和历史行为数据进行聚类,获得至少一个聚类簇,并根据待检测行为数据与至少一个聚类簇之间的关联关系,确定目标账号的当前行为是否为非常用行为;若目标数据类型为离散字符串类型,根据待检测行为数据与历史行为数据的匹配关系,确定目标账号的当前行为是否为非常用行为。采用本申请实施例,可以降低非常用行为检测的误判率,提高检测结果的准确率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种行为检测方法、装置、设备以及介质。
背景技术
随着信息科技的发展,人们对电子设备的依赖程度日益增加。然而,由于信息系统的复杂性、网络的广泛可接入性等因素,用户使用电子设备时面临着许多的安全威胁,比如,用户的账号可能被恶意登录,因此可以采取非常用行为检测等检测手段来保障信息安全。非常用行为检测包括多种维度的检测,如非常用地点检测、非常用时间检测、非常用设备检测等。通过非常用行为检测,可以在不同应用场景下,识别用户是否在非常用地点、非常用时间或非常用设备进行了相关操作,进而及时发现潜在的安全风险(如用户的账号信息可能被盗取等)。
现有的非常用行为检测方法,一般是通过数据匹配的方式确定用户的当前行为是否为非常用行为。如当前操作设备和历史常用设备不同,则认为当前行为是非常用行为。这种非常用行为检测方法比较简单,容易产生误判,例如,在一个月内用户多次在M时间登录应用账号,那么若当前用户在N时间(非常接近M时间)登录,会判定用户在非常用时间登录账号,这样实际上产生了误判,因而导致检测结果准确率低。
发明内容
本申请实施例提供一种行为检测方法、装置、设备以及介质,可以降低非常用行为检测的误判率,提高检测结果的准确率。
本申请实施例一方面提供了一种行为检测方法,包括:
获取目标账号对应的待检测行为数据,所述待检测行为数据用于表示所述目标账号的当前行为特征;
获取所述目标账号对应的历史行为数据,所述历史行为数据用于表示所述目标账号的历史行为特征;
确定所述待检测行为数据和/或所述历史行为数据所属的目标数据类型,所述目标数据类型为连续数值类型或离散字符串类型,所述待检测行为数据所属的数据类型与所述历史行为数据所属的数据类型相同;
若所述目标数据类型为连续数值类型,采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类,获得至少一个聚类簇,并根据所述待检测行为数据与所述至少一个聚类簇之间的关联关系,确定所述目标账号的所述当前行为是否为非常用行为;
若所述目标数据类型为离散字符串类型,根据所述待检测行为数据与所述历史行为数据的匹配关系,确定所述目标账号的所述当前行为是否为非常用行为。
其中,所述获取所述目标账号对应的历史行为数据,包括:
根据所述待检测行为数据,获取所述目标账号对应的历史行为数据,其中,所述待检测行为数据所表示的所述当前行为特征的类别与所述历史行为数据所表示的所述历史行为特征的类别相同。
其中,所述根据所述待检测行为数据与所述至少一个聚类簇之间的关联关系,确定所述目标账号的所述当前行为是否为非常用行为,包括:
若所述待检测数据被包含在所述至少一个聚类簇的一个聚类簇中,确定所述目标账号的所述当前行为是常用行为;
若所述待检测数据不在所述至少一个聚类簇的任意一个聚类簇中,确定所述目标账号的所述当前行为是非常用行为。
其中,所述待检测行为数据包括所述目标账号对应的当前操作时间,所述历史行为数据包括所述目标账号对应的至少一个历史操作时间,所述目标数据类型为连续数值类型;
所述采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类之前,还包括:
确定所述历史行为数据中包括的历史操作时间的个数大于第一阈值;
对所述历史行为数据进行预处理,获得预处理后的历史行为数据,其中,所述预处理后的历史行为数据中包含的历史操作时间的个数小于预处理前的所述历史行为数据中包含的历史操作时间的个数;
所述采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类,包括:
采用聚类算法对所述待检测行为数据和所述预处理后的历史行为数据进行聚类。
其中,所述对所述历史行为数据进行预处理,获得预处理后的历史行为数据,包括:
对所述至少一个历史操作时间进行统计,获得至少一个统计时间点中每个统计时间点所对应的第一频次,所述第一频次用于表示与所述统计时间点关联的历史操作时间在所述至少一个历史操作时间中出现的次数;
按照预设缩小比例,对每个统计时间点所对应的第一频次进行缩小处理,获得每个统计时间点对应的第二频次;
根据每个所述统计时间点对应的所述第二频次,获得与所述统计时间点关联的至少一个更新后的历史操作时间,与所述统计时间点关联的更新后的历史操作时间的个数等于所述第二频次;
将所述至少一个统计时间点中每个统计时间点关联的至少一个更新后的历史操作时间确定为所述预处理后的历史行为数据。
其中,所述待检测行为数据包括所述目标账号对应的当前操作时间,所述历史行为数据包括所述目标账号对应的至少一个历史操作时间,所述采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类之前,还包括:
针对所述至少一个历史操作时间中的每个历史操作时间,根据所述每个历史操作时间所属时间区间对应的时间偏移量,对所述每个历史操作时间进行偏移处理,获得至少一个偏移后的历史操作时间;
根据所述当前操作时间所属时间区间对应的时间偏移量,对所述当前操作时间进行偏移处理,获得偏移后的当前操作时间;
所述采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类,包括:
采用聚类算法对所述至少一个偏移后的历史操作时间和所述偏移后的当前操作时间进行聚类。
其中,所述待检测行为数据包括所述目标账号对应的第一字符串,所述历史行为数据包括所述目标账号对应的至少一个第二字符串,所述第一字符串用于标识所述目标账号的当前操作地理位置或当前操作设备,所述第二字符串用于标识所述目标账号的历史操作地理位置或历史操作设备,所述目标数据类型为离散字符串类型;
所述根据所述待检测行为数据与所述历史行为数据的匹配关系,确定所述目标账号的所述当前行为是否为非常用行为之前,还包括:
确定所述至少一个第二字符串中所包含的至少一个字符串种类,并统计所述至少一个字符串种类中每个字符串种类对应的第三频次,所述第三频次用于表示所述字符串种类在所述至少一个第二字符串中出现的次数;
从所述至少一个字符串种类中确定所述第三频次最大的K个字符串种类,所述K为预设整数;
根据所述K个字符串种类,确定常用列表,所述常用列表包括M个目标字符串,所述M为小于或者等于K的整数,所述目标字符串满足以下条件中的一项或两项:所述目标字符串对应的第三频次大于第二阈值;所述目标字符串对应的第三频次与所述至少一个第二字符串的字符串总数之间的比值大于第三阈值;
所述根据所述待检测行为数据与所述历史行为数据的匹配关系,确定所述目标账号的所述当前行为是否为非常用行为,包括:
将所述第一字符串与所述M个目标字符串进行匹配;
若所述M个目标字符串中存在与所述第一字符串匹配的字符串,则确定所述目标账号的所述当前行为是常用行为;
若所述M个目标字符串中不存在与所述第一字符串匹配的字符串,则确定所述目标账号的所述当前行为是非常用行为。
本申请实施例一方面提供了一种行为检测装置,包括:
第一获取单元,用于获取目标账号对应的待检测行为数据,所述待检测行为数据用于表示所述目标账号的当前行为特征;
第二获取单元,用于获取所述目标账号对应的历史行为数据,所述历史行为数据用于表示所述目标账号的历史行为特征;
第一判断单元,用于确定所述待检测行为数据和/或所述历史行为数据所属的目标数据类型,所述目标数据类型为连续数值类型或离散字符串类型,所述待检测行为数据所属的数据类型与所述历史行为数据所属的数据类型相同;
聚类单元,用于若所述目标数据类型为连续数值类型,采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类,获得至少一个聚类簇;
第二判断单元,用于根据所述待检测行为数据与所述至少一个聚类簇之间的关联关系,确定所述目标账号的所述当前行为是否为非常用行为;
第三判断单元,用于若所述目标数据类型为离散字符串类型,根据所述待检测行为数据与所述历史行为数据的匹配关系,确定所述目标账号的所述当前行为是否为非常用行为。
其中,所述第二获取单元,具体用于:
根据所述待检测行为数据,获取所述目标账号对应的历史行为数据,其中,所述待检测行为数据所表示的所述当前行为特征的类别与所述历史行为数据所表示的所述历史行为特征的类别相同。
其中,所述第二判断单元,具体用于:
若所述待检测数据被包含在所述至少一个聚类簇的一个聚类簇中,确定所述目标账号的所述当前行为是常用行为;
若所述待检测数据不在所述至少一个聚类簇的任意一个聚类簇中,确定所述目标账号的所述当前行为是非常用行为。
其中,所述待检测行为数据包括所述目标账号对应的当前操作时间,所述历史行为数据包括所述目标账号对应的至少一个历史操作时间,所述目标数据类型为连续数值类型;
所述装置还包括:
确定单元,用于确定所述历史行为数据中包括的历史操作时间的个数大于第一阈值;
预处理单元,用于对所述历史行为数据进行预处理,获得预处理后的历史行为数据,其中,所述预处理后的历史行为数据中包含的历史操作时间的个数小于预处理前的所述历史行为数据中包含的历史操作时间的个数;
所述聚类单元,具体用于:
采用聚类算法对所述待检测行为数据和所述预处理后的历史行为数据进行聚类。
其中,所述预处理单元,具体用于:
对所述至少一个历史操作时间进行统计,获得至少一个统计时间点中每个统计时间点所对应的第一频次,所述第一频次用于表示与所述统计时间点关联的历史操作时间在所述至少一个历史操作时间中出现的次数;
按照预设缩小比例,对每个统计时间点所对应的第一频次进行缩小处理,获得每个统计时间点对应的第二频次;
根据每个所述统计时间点对应的所述第二频次,获得与所述统计时间点关联的至少一个更新后的历史操作时间,与所述统计时间点关联的更新后的历史操作时间的个数等于所述第二频次;
将所述至少一个统计时间点中每个统计时间点关联的至少一个更新后的历史操作时间确定为所述预处理后的历史行为数据。
其中,所述待检测行为数据包括所述目标账号对应的当前操作时间,所述历史行为数据包括所述目标账号对应的至少一个历史操作时间,所述目标数据类型为连续数值类型;
所述装置还包括:
偏移单元,用于针对所述至少一个历史操作时间中的每个历史操作时间,根据所述每个历史操作时间所属时间区间对应的时间偏移量,对所述每个历史操作时间进行偏移处理,获得至少一个偏移后的历史操作时间;
根据所述当前操作时间所属时间区间对应的时间偏移量,对所述当前操作时间进行偏移处理,获得偏移后的当前操作时间;
所述聚类单元,还用于:
采用聚类算法对所述至少一个偏移后的历史操作时间和所述偏移后的当前操作时间进行聚类。
其中,所述待检测行为数据包括所述目标账号对应的第一字符串,所述历史行为数据包括所述目标账号对应的至少一个第二字符串,所述第一字符串用于标识所述目标账号的当前操作地理位置或当前操作设备,所述第二字符串用于标识所述目标账号的历史操作地理位置或历史操作设备,所述目标数据类型为离散字符串类型;
所述装置还包括:
生成单元,用于确定所述至少一个第二字符串中所包含的至少一个字符串种类,并统计所述至少一个字符串种类中每个字符串种类对应的第三频次,所述第三频次用于表示所述字符串种类在所述至少一个第二字符串中出现的次数;
从所述至少一个字符串种类中确定所述第三频次最大的K个字符串种类,所述K为预设整数;
根据所述K个字符串种类,确定常用列表,所述常用列表包括M个目标字符串,所述M为小于或者等于K的整数,所述目标字符串满足以下条件中的一项或两项:所述目标字符串对应的第三频次大于第二阈值;所述目标字符串对应的第三频次与所述至少一个第二字符串的字符串总数之间的比值大于第三阈值;
所述第三判断单元,具体用于:
将所述第一字符串与所述M个目标字符串进行匹配;
若所述M个目标字符串中存在与所述第一字符串匹配的字符串,则确定所述目标账号的所述当前行为是常用行为;
若所述M个目标字符串中不存在与所述第一字符串匹配的字符串,则确定所述目标账号的所述当前行为是非常用行为。
本申请实施例一方面提供了一种电子设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该电子设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的电子设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述一方面提供的方法。
本申请实施例通过确定待检测行为数据和历史行为数据所属的目标数据类型,在该目标数据类型为连续数值类型或离散字符串类型的情况下,分别采用不同的方法进行行为检测,对于离散字符串类型的历史行为数据,根据待检测行为数据和历史行为数据的匹配关系确定当前行为是否为非常用行为,能够在保证检测结果准确率的前提下,提高检测效率;而对于连续数值类型的历史行为数据,采用聚类算法对待检测行为数据和历史行为数据进行聚类,根据待检测行为数据和获得的聚类簇之间的关联关系确定当前行为是否为非常用行为。由于聚类考虑了连续数值类型的数据之间的关联关系对检测结果的影响,从而可以降低非常用行为检测的误判率,提高检测结果的准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种行为检测场景示意图;
图3是本申请实施例提供的一种行为检测方法的流程示意图;
图4是本申请实施例提供的一种行为检测方法的过程示意图;
图5是一种DBSCAN算法聚类效果示意图;
图6a是本申请实施例提供的一种检测结果界面图;
图6b是本申请实施例提供的另一种检测结果界面图;
图7是本申请实施例提供的一种用户检测装置的结构示意图;
图8是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及人工智能(Artificial Intelligence,AI)技术。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本申请具体涉及人工智能技术下属的机器学习技术。
其中,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习包括监督式学习和无监督学习。监督式学习根据已知的输入和输出训练模型,让模型能够预测未来输出;监督式学习采用分类和回归技术开发预测模型。而无监督学习可发现数据中隐藏的模式或内在结构。这种技术可根据未做标记的输入数据集得到推论。聚类是一种最常用的无监督学习技术。这种技术可通过探索性数据分析发现数据中隐藏的模式或分组。本申请具体涉及机器学习技术下属的聚类技术,通过确定待检测行为数据和/或历史行为数据为连续数值类型数据后,对待检测行为数据和历史行为数据进行聚类,根据聚类结果判断当前行为是否为非常用行为,完成行为检测过程。
本申请还可以应用于网络安全领域,如在用户针对其个人账号进行如登录等各种操作时,需要对该个人账号的操作数据(也即行为数据)进行检测,当检测结果表示该操作数据为常用操作数据时,说明该操作在一定程度上是安全的;而当检测结果表示该操作数据为非常用操作数据时,说明该操作可能是不安全的,需要进行告警通知,或者采取其他安全验证措施等,以保障该账号及用户的安全。此行为检测过程可以通过本申请实施例实现。如可以在用户对目标账号进行操作后,获取目标账号的当前行为数据和历史行为数据,将当前行为数据作为待检测行为数据,然后根据上述行为数据所属的数据类型,采用相应的方法对待检测行为数据进行检测,若确定当前行为是常用行为,则不进行告警,若确定当前行为是非常用行为,则进行告警。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括服务器10和用户终端11,该用户终端的数量可以为一个或者多个,这里不进行限制。如图1所示,服务器10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。用户终端11可以包括:智能手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)以及智能电视等具有多媒体数据识别功能的智能终端。如图1所示,用户终端11可以与服务器10进行网络连接,通过该网络连接进行数据交互。
如图2所示,图2是本申请实施例提供的一种行为检测场景图,如图2所示的客户端可以为上述图1所示的用户终端11中所集成的具有目标账号操作权限的客户端,服务设备可以为上述图1所示的服务器10。如图2所示,客户端可以将目标账号对应的待检测行为数据和历史行为数据发送给服务设备,服务设备根据待检测行为数据和历史行为数据进行非常用行为检测,获得检测结果后,可以将检测结果发送给客户端。
请参见图3,图3是本申请实施例提供的一种行为检测方法的流程示意图。如图3所示,该行为检测方法可以包括以下步骤:
步骤110、获取目标账号对应的待检测行为数据,上述待检测行为数据用于表示上述目标账号的当前行为特征;
具体的,待检测行为数据表示用户的行为特征的类别包括多种类别,如当前操作地理位置、当前操作设备或当前操作时间等。利用本申请,可以对以上多种类别的数据进行处理,从而实现不同维度的非常用行为的检测。
步骤120、获取上述目标账号对应的历史行为数据,上述历史行为数据用于表示上述目标账号的历史行为特征;
具体的,获取上述目标账号对应的历史行为数据,包括:根据上述待检测行为数据,获取上述目标账号对应的历史行为数据,其中,上述待检测行为数据所表示的上述当前行为特征的类别与上述历史行为数据所表示的上述历史行为特征的类别相同。
也就是说,目标账号对应的历史行为数据和待检测行为数据为同一类别的数据,例如,待检测行为数据包括当前操作地理位置,那么相应获取的历史行为数据包括历史操作地理位置。这样可以保证获取的待检测行为数据和历史行为数据是匹配的,便于获得准确的检测结果,减少检测过程出现的异常。
步骤130、确定上述待检测行为数据和/或上述历史行为数据所属的目标数据类型,上述目标数据类型为连续数值类型或离散字符串类型,上述待检测行为数据所属的数据类型与上述历史行为数据所属的数据类型相同;
具体的,待检测行为数据可以包括多种类别的数据,那么不同类别的数据所属的数据类型存在区别,示例性的,待检测行为数据包括当前操作地理位置,如“北京”或“shanghai”,这种数据为字符串类型的数据,不同的数据即为不同的字符串,因而数据本身之间不存在关联关系,可以认为这种数据是离散的;而当待检测行为数据包括当前操作时间时,如“14”,即表示14时,这种数据为数值类型的数据,而多个时间数据的数值之间存在关联关系,可以认为这种数据是连续的。因此,可以将待检测行为数据所属的数据类型分为连续数值类型和离散字符串类型。如表示地理位置的数据“北京”,属于离散字符串类型数据,表示时间的数据“14”,属于连续数值类型数据。另外,若用数字编号“1”、“2”等数据来表示数值不具有上述关联关系的行为数据,那么这种数据仍属于离散字符串类型数据。针对不同的目标数据类型,分别采用相应的方法进行行为检测。
步骤140、若上述目标数据类型为连续数值类型,采用聚类算法对上述待检测行为数据和上述历史行为数据进行聚类,获得至少一个聚类簇,并根据上述待检测行为数据与上述至少一个聚类簇之间的关联关系,确定上述目标账号的上述当前行为是否为非常用行为;
在本申请实施例中,若待检测行为数据为连续数值类型数据,对应的,获取的历史行为数据也为连续数值类型数据,因而待检测行为数据和历史行为数据中的不同数据的数值之间存在关联关系。那么可以采用聚类算法对待检测行为数据和历史行为数据进行聚类,聚类完成获得至少一个聚类簇,根据待检测行为数据与该至少一个聚类簇的关联关系,来确定待检测行为数据是否为为非常用行为数据,也即确定目标账号对应的当前行为是否为非常用行为。即通过对数据进行聚类来获得检测结果,考虑数据的数值之间的关联关系对检测结果的影响,可以减少误判的产生,提高检测结果的准确率。
通过聚类可以把不同的数据点,按照它们的相似与相异度分割成不同的簇(簇,是指把数据划分后的子集),确保每个簇中的数据都是尽可能相似,使不同簇的数据尽可能的相异。而聚类包括多种不同类型的聚类算法,如基于划分的聚类算法、基于密度的聚类算法和基于层次的聚类算法等。在本申请中,进行聚类时可以采用基于密度的聚类算法,此类型的聚类算法主要从样本密度的角度来考察样本之间的可连续性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。因而和其他类型的聚类算法相比,基于密度的聚类算法不仅仅只能发现“类圆形”的聚类,还可以发现各种不规则形状的簇,进一步的,基于密度的聚类算法还能识别出噪声点。示例性的,本申请采用的聚类算法可以是具有噪声的基于密度的聚类DBSCAN算法。可理解的,该聚类算法还可以是对点排序确定簇结构的聚类OPTICS算法或基于密度峰值的聚类DP算法等,或者,该聚类算法不限制为基于密度的聚类算法,还可以是其他合适的算法,本申请对此不作限制。下面将以采用DBSCAN算法对数据进行聚类为例,介绍相关步骤。
具体的,根据上述待检测行为数据与上述至少一个聚类簇之间的关联关系,确定上述目标账号的上述当前行为是否为非常用行为,包括以下过程:若上述待检测数据被包含在上述至少一个聚类簇的一个聚类簇中,则确定上述目标账号的上述当前行为是常用行为;若上述待检测数据不在上述至少一个聚类簇的任意一个聚类簇中,则确定上述目标账号的上述当前行为是非常用行为。
即对待检测行为数据和历史行为数据进行聚类,获得至少一个聚类簇后,若待检测行为数据对应的数据点被包含在聚类簇中,不是离散点,则说明待检测行为数据和大部分历史行为数据均存在关联关系,因而当前行为是常用行为;若待检测行为数据对应的数据点不被包含在聚类簇中,而是离散点,则说明待检测行为数据与大部分历史行为数据均无关联关系,因此当前行为是非常用行为。这样可以清晰快速地获得检测结果。
在一个实施例中,上述待检测行为数据包括上述目标账号对应的当前操作时间,上述历史行为数据包括上述目标账号对应的至少一个历史操作时间,上述采用聚类算法对上述待检测行为数据和上述历史行为数据进行聚类之前,还可以进行以下步骤:
针对上述至少一个历史操作时间中的每个历史操作时间,根据上述每个历史操作时间所属时间区间对应的时间偏移量,对上述每个历史操作时间进行偏移处理,获得至少一个偏移后的历史操作时间;
根据上述当前操作时间所属时间区间对应的时间偏移量,对上述当前操作时间进行偏移处理,获得偏移后的当前操作时间;
可以理解的是,表示时间的数据的数值在一定的数值范围内,例如,时间数据以小时为粒度,那么时间数据的范围为0-23,其中,23时和0时实际上是相邻的时间数据,但是在从数值上来看,两者的距离较远。而通常用户在这两个时间内活跃度较高,即这两个时间对应的时间数据的个数较多。因而如果不对数据进行处理,可能会对聚类结果产生较大影响。具体的,聚类时这两种数据的距离较远,无法聚在一个簇中,可能使得聚类效果较差。所以可以考虑将时间数据进行偏移处理,而一般的,用户在3时和4时活跃度较低(与23时和0时相比),即这两个时间对应的时间数据的个数较少,若进行偏移,即将3时和4时偏移至23时和0时(其他时间数据也相应进行偏移),聚类后的聚类效果应该比进行偏移前的聚类效果更好。因此,可以将位于4-23时范围的数据对应偏移至0-19时,将0-3时范围的数据对应偏移至20-23时。这样可以进一步提高聚类结果的准确性,从而提高检测结果的准确率。
具体的,针对获取的历史操作时间,确定每个历史操作时间所属的时间区间,再按照上述偏移规则,可获取每个时间区间对应的时间偏移量。根据该时间偏移量对历史操作时间进行偏移处理,可以获得偏移后的历史操作时间。例如,获取的历史操作时间为“14”,该历史操作时间属于4时至23时之间,对应的时间偏移量为-4,进行偏移处理后,对应的偏移后的历史操作时间为“10”。而待检测行为数据也参与聚类,因而需要按照同样的规则对待检测行为数据进行偏移处理。即确定当前操作时间所属时间区间对应的时间偏移量,根据该时间偏移量进行偏移获得偏移后的当前操作时间。
可以理解的是,在该实施例中,上述采用聚类算法对上述待检测行为数据和上述历史行为数据进行聚类,即采用聚类算法对上述至少一个偏移后的历史操作时间和上述偏移后的当前操作时间进行聚类。
在一个实施例中,上述待检测行为数据包括上述目标账号对应的当前操作时间,上述历史行为数据包括上述目标账号对应的至少一个历史操作时间,上述目标数据类型为连续数值类型;上述采用聚类算法对上述待检测行为数据和上述历史行为数据进行聚类之前,还可以进行以下操作:
确定上述历史行为数据中包括的历史操作时间的个数大于第一阈值;
对上述历史行为数据进行预处理,获得预处理后的历史行为数据,其中,上述预处理后的历史行为数据中包含的历史操作时间的个数小于预处理前的上述历史行为数据中包含的历史操作时间的个数;
具体的,若历史行为数据包括的数据量太大,那么进行聚类时样本太多,会占用大量的计算资源,影响检测效率。因此可以对历史行为数据进行预处理,使得聚类时样本数量减少,从而保证检测效率。其中,第一阈值可以根据实施该行为检测方法的装置的计算能力和处理能力、网络资源条件等来设置,示例性的,可以将第一阈值设为2000,本申请对此不作限制。
可以理解的是,在该实施例中,上述采用聚类算法对上述待检测行为数据和上述历史行为数据进行聚类,即采用聚类算法对上述待检测行为数据和上述预处理后的历史行为数据进行聚类。
而具体的,上述对上述历史行为数据进行预处理,获得预处理后的历史行为数据,可以包括以下步骤:
对上述至少一个历史操作时间进行统计,获得至少一个统计时间点中每个统计时间点所对应的第一频次,上述第一频次用于表示与上述统计时间点关联的历史操作时间在上述至少一个历史操作时间中出现的次数;
按照预设缩小比例,对每个统计时间点所对应的第一频次进行缩小处理,获得每个统计时间点对应的第二频次;
根据每个上述统计时间点对应的上述第二频次,获得与上述统计时间点关联的至少一个更新后的历史操作时间,与上述统计时间点关联的更新后的历史操作时间的个数等于上述第二频次;
将上述至少一个统计时间点中每个统计时间点关联的至少一个更新后的历史操作时间确定为上述预处理后的历史行为数据。
在该实施例中,历史操作时间的粒度小于或等于统计时间点的粒度,例如,历史操作时间为“10:23:50”,该时间数据为秒粒度,而统计时间点可以为“10”,此时间数据为小时粒度,因而对历史操作时间进行统计后,可以获得统计时间点及该统计时间点对应的第一频次。按照预设缩小比例,等比例缩小所有的第一频次,得到对应的第二频次。其中,预设缩小比例可以是固定的值,也可以根据公式确定,示例性的,该公式可以为,预设缩小比例=上限值/历史行为数据中包括的历史操作时间的个数,其中,历史行为数据中包括的历史操作时间的个数为所有第一频次的和,上限值可以设为小于或等于第一阈值的数。此外,为了避免对数据进行缩小后获得的第二频次太小,还可以设置一个下限值,若第二频次小于该下限值,则将第二频次的值更新为此下限值。这样可以保证聚类时的数据量在一定范围内,既不会因为数据量太大而占用大量的处理资源,影响检测效率,也不会因为数据量太小而使得聚类效果变差,影响检测结果,从而保证了检测结果的准确性。
对第一频次进行缩小处理后,再根据第二频次获得更新后的历史操作时间,该更新后的历史操作时间的粒度可以等于统计时间点的粒度,并且更新后的历史操作时间的个数为所有第二频次的和。具体的,进行缩小处理后,获得的数据可以是字典类型的数据,即键值对形式的数据,键值对中的键表示统计时间点,键值对中的值表示第二频次,例如,进行缩小处理后,获得的数据“14:3,15:5,16:8”,其中14、15、16表示统计时间点,而3、5、8表示第二频次。根据第二频次获得更新后的历史操作时间,可以理解为,将上述字典类型的数据按照键值对中的值拆开,获得数值类型的数据。其中,该数值类型数据中的每个具体数据均表示与统计时间点关联的更新后的历史操作时间,此时,该更新后的历史操作时间的粒度等于统计时间点的粒度。例如,将“14:3,15:5,16:8”中的每组键值对数据按照键值对中的值拆开,得到3个14,5个15和8个16,再组合后得到的数据为“14,14,14,15,15,15,15,15,16,16,16,16,16,16,16,16”,其中,14、15、16均为与统计时间点关联的更新后的历史操作时间,而得到的更新后的历史操作时间的个数为3+5+8=16,为所有第二频次3、5、8的和。之后,可以对待检测数据和更新后的历史操作时间进行聚类。
步骤150、若上述目标数据类型为离散字符串类型,根据上述待检测行为数据与上述历史行为数据的匹配关系,确定上述目标账号的上述当前行为是否为非常用行为。
在一个实施例中,上述待检测行为数据包括上述目标账号对应的第一字符串,上述历史行为数据包括上述目标账号对应的至少一个第二字符串,上述第一字符串用于标识上述目标账号的当前操作地理位置或当前操作设备,上述第二字符串用于标识上述目标账号的历史操作地理位置或历史操作设备,上述目标数据类型为离散字符串类型;上述根据上述待检测行为数据与上述历史行为数据的匹配关系,确定上述目标账号的上述当前行为是否为非常用行为之前,还可以包括:
确定上述至少一个第二字符串中所包含的至少一个字符串种类,并统计上述至少一个字符串种类中每个字符串种类对应的第三频次,上述第三频次用于表示上述字符串种类在上述至少一个第二字符串中出现的次数;
从上述至少一个字符串种类中确定上述第三频次最大的K个字符串种类,上述K为预设整数;
根据上述K个字符串种类,确定常用列表,上述常用列表包括M个目标字符串,上述M为小于或者等于K的整数,上述目标字符串满足以下条件中的一项或两项:上述目标字符串对应的第三频次大于第二阈值;上述目标字符串对应的第三频次与上述至少一个第二字符串的字符串总数之间的比值大于第三阈值;
具体的,目标数据类型为离散字符串类型,那么当前行为数据可以是表示当前操作地理位置或者当前操作设备的字符串,而相应的,历史行为数据是表示历史操作地理位置或者历史操作设备的字符串。根据历史行为数据可以获得常用列表,其过程是:相同的第二字符串对应为一个字符串种类,相同的字符串出现的次数是该字符串种类对应的第三频次。将第三频次最大的K个字符串种类选出来,并从该K个字符串种类中确定常用列表包括的字符串。其中,K的值可以根据需要调整,当K设为0或者负整数时,即不对常用列表进行限制。进一步的,将K个字符串种类中符合条件的目标字符串选出来,该目标字符串需要满足一定条件,如该目标字符串的出现次数较大(即大于第二阈值),和/或者该目标字符串出现次数与所有字符串的总数的比值较大(即大于第三阈值)等。该目标字符串即为常用列表包括的字符串。这样获得的常用列表,其包括的字符串是在所有第二字符串中相对较常出现的字符串,并且出现次数、出现次数占比也较大,因而常用列表中的行为数据是目标账号的常用行为数据。这样可以保证生成的常用列表中包括的行为数据具有代表性,能够为待检测行为数据是否为常用数据提供可靠的标准,从而提高了检测结果的准确率。
所以,上述根据上述待检测行为数据与上述历史行为数据的匹配关系,确定上述目标账号的上述当前行为是否为非常用行为,可以包括:
将上述第一字符串与上述M个目标字符串进行匹配;
若上述M个目标字符串中存在与上述第一字符串匹配的字符串,则确定上述目标账号的上述当前行为是常用行为;
若上述M个目标字符串中不存在与上述第一字符串匹配的字符串,则确定上述目标账号的上述当前行为是非常用行为。
即待检测行为数据不在常用列表中,则该待检测行为数据是非常用行为数据,对应的当前行为是非常用行为。这样能方便快速地获得检测结果。
下面以一个具体的场景为例,介绍实施本申请提供的行为检测方法的具体过程。如图4所示,图4是本申请实施例提供的一种行为检测方法的过程示意图,该行为检测方法包括以下步骤210、220、230、240和250:
步骤210,获取待检测行为数据和用户画像数据;
该待检测行为数据和用户画像数据可以由客户端发送给服务设备,而服务设备中可以通过调度系统定时把上述数据发送为行为检测系统进行检测。待检测行为检测数据可以包括当前操作时间、当前操作设备或当前操作地理位置中的一种,用户画像数据包括用户的静态数据和用户的动态行为数据,而动态行为数据包括用户历史操作地理位置、用户历史操作时间、用户历史首次使用某ip、用户历史首次使用某设备等字段数据。在本申请实施例中选择部分需要的字段数据作为历史行为数据。
步骤220,进行数据处理,该步骤可以具体包括以下步骤221、222和223;
步骤221,获取与待检测行为数据匹配的历史行为数据;
根据获取的待检测行为数据,从用户画像数据中确定可以在本次行为检测过程中使用的历史行为数据,即待检测行为数据为时间数据“14”,相应获取历史操作时间作为历史行为数据。历史行为数据可以包括过去某时间区间内的行为数据,本申请不对时间区间的长度进行限制。
步骤222,将获取的历史行为数据处理成标准的key:value形式;
对历史行为数据进行频次统计,处理后得到键值对形式(即key:value形式)的历史行为数据。例如“北京:10,上海:15,深圳:8”,key代表检测字段的数值,value代表历史上该数值出现的累计次数。
步骤223,确定历史行为数据的key是否为连续数值类型数据;
判断历史行为数据的key是否为连续数值类型数据,或者判断待检测行为数据是否为连续数值类型数据。例如,历史行为数据为“北京:10,上海:15,深圳:8”,其中key为“北京”、“上海”、“深圳”,表示历史操作地理位置,属于离散字符串类型数据;而历史行为数据“6:5,7:3,12:20”中的key为6、7、12,表示历史操作时间,属于连续数值类型数据。
若判断结果为是,执行步骤230,若判断结果为否,执行步骤240。
步骤230,基于聚类算法进行非常用行为检测,该步骤可以具体包括以下步骤231、232、233和234;
步骤231,若value的和太大则对value进行缩小,否则value不变;
判断value的和是否大于总量阈值,若大于不利于继续聚类,需要对value进行缩小。或者,可以判断是否存在一个value大于次数阈值,若大于则对value进行缩小。还可以结合上述两种条件进行判断,本申请对此不作限制。而在一种可选的实施方式中,可以根据key的数量或者value的大小,对用户(或者说用户的账号)进行筛选,仅对满足筛选要求的用户执行步骤230,若不满足筛选要求,执行步骤240。其中,筛选要求可以包括,key的数量大于A,和/或,value大于B,和/或,value的和大于C,等等,本申请对此不作限制。
进行缩小时,缩小比例可以根据预设公式确定。示例性的,value的和为a,设置缩小后value的上限值为b,则缩小比例可以为b/a,即将每个value缩小为原值的b/a。为了防止缩小后的value差异太大,还可以设置缩小后value的下限值为c。例如,历史行为数据为“14:100000,15:150,16:80000”。此时对value进行等比例缩小,a=100000+150+80000=180150,设置b=1000,设置c=10,则缩放后的数据为“14:555,15:10,16:444”。
步骤232,将key:value形式拆分成value个key的数,并和当前待检测数据组成一组数;
例如,原数据为“14:3,15:5,16:8”,则拆分后的数据为“14,14,14,15,15,15,15,15,16,16,16,16,16,16,16,16”。如果待检测行为数据为“17”,则将其和拆分后的数据进行合并,得到一组不分先后顺序的数据“14,14,14,15,15,15,15,15,16,16,16,16,16,16,16,16,17”。
在待检测行为数据表示时间数据的情况下,还可以对数据进行偏移处理。具体的,按照图1所述的步骤140中提到的预设规则,可以将4-23时的数据偏移至0-19,将0-3时的数据偏移至20-23。例如对于以上拆分好的数据“14,14,14,15,15,15,15,15,16,16,16,16,16,16,16,16,17”,进行数据偏移后变为“10,10,10,11,11,11,11,11,12,12,12,12,12,12,12,12,13”。与此对应,在对数据进行聚类完成后,需要将聚类结果中的数据恢复为偏移前的值。
步骤233,用基于密度的聚类算法对该组数进行聚类;
示例性的,可以采用DBSCAN算法来进行聚类。DBSCAN算法能够将密度较大的区域划分为任意形状的簇,从而将密度较大的区域与密度较小的区域分隔开。在基于密度的聚类算法中,若一个区域中的点的密度大于某个阈值,就把它加到与之相近的聚类中去。对于用户的常用行为数据和非常用行为数据对应的数据点集合,应用该算法可以这些数据点将基于密度划分为簇,同一簇中的数据可以是相邻的但是值不同的key。
DBSCAN算法需要设定两个参数,分别是密度半径eps和密度阈值minpts。该算法不同于k-means算法,无需提前定义聚类获得的簇的个数,而是根据eps和minpts获得聚类簇。DBSCAN算法通过检查数据点集合中的每个点的eps邻域来寻找聚类,如果一个点p的eps邻域包含的点个数大于或等于minpts,则创建一个p作为核心点的新簇。然后,反复寻找这些核心点直接密度可达的点,这个过程可能涉及密度可达簇的合并。当没有新的点可以被添加到任何簇时,该过程结束。具体过程如下:
1)将未被遍历的任一点确定为目标点,找到该点的eps邻域内的点;
2)如果目标点的eps邻域内的点的数量大于或等于minpts,则将目标点确定为核心点并开始聚类。(如果不是则标记为噪声);
3)目标点的eps邻域内的所有点也属于同一簇,将该目标点的eps邻域内的任一点确定为新的目标点,重复步骤2);
4)重复步骤2)、3)直到遍历完所有核心点的邻域点;
5)此聚类簇中的点都找到,然后重复步骤1)至步骤4),直到所有数据点都被处理,最终每个数据点都被包括在某聚类簇中或者属于噪声(也即离散点)。
在本申请中,DBSCAN算法中的密度半径eps和密度阈值minpts可以根据具体场景进行设置,例如,在非常用时间检测的场景下,由于key值为0-23,因此eps可以设置为1或2,minpts可以设置为100(当p的eps邻域包含的点个数大于或等于100时p才为核心点)。
如图5所示,图5为一种DBSCAN算法聚类效果图,由图可知,采用DBSCAN算法进行聚类,可以自动将密度大的区域和密度小的区域划分开,聚集成不同的簇。而距离聚类簇均较远的点则为离散点,不会被划分到任何一个簇中。图5中的数据点是二维数据点,点之间的距离一般采用欧式距离。而在本申请实施例中,在非常用时间检测场景下,数据点是一维数据点即时间点,点之间的距离通过采用计算绝对值得到。
步骤234,若待检测行为数据包含在聚类结果的簇中则为常用值,若为离散点则为非常用值;
根据待检测行为数据对应的数据点是否为离散点,可以相应确定其是否为非常用值。因为常用值及其临近值在历史上出现的次数多,因此密度较大,反之非常用值及其临近值在历史上出现的次数少,密度较小。
需要注意的是,聚类结果中的数据点对应的可能是步骤232中经过偏移处理后的数据,因此需要将聚类结果中的数据点对应的数据恢复为偏移前的数据。
接着继续执行步骤250。
步骤240,基于多阈值方法进行非常用行为检测,该步骤可以具体包括以下步骤241、242、243和244;
步骤241,确定所有value的和大于数据量阈值;
在待检测行为数据和历史行为数据为离散字符串类型数据时,基于多阈值方法进行非常用行为检测。先判断历史行为数据中包括的数据个数是否大于数据量阈值,若否,可以退出检测,不继续检测流程,也不输出结果。若是,才继续进行检测。
步骤242,根据value的大小取value最大的K个key;
为了构建包括常用行为数据的常用列表,可以先筛选出value最大的K个key。K可以设为正整数,则常用列表中包括的数据的数量有限,只有K个数据可能加入常用列表。而当K设为0或者负整数时,则历史行为数据均可能加入常用列表。
步骤243,若value大于频次阈值且value的占比大于占比阈值,则将该key加入常用列表;
进一步对K个key进行筛选,在value大于频次阈值且value的占比(即)大于占比阈值时,将该value对应的key加入常用列表。可选的,还可以设置其他条件,来筛选加入常用列表的key,本申请对此不作限制。
步骤244,若待检测行为数据在常用列表中则为常用值,否则为非常用值;
具体的,若待检测行为数据与常用列表中的任一个数据匹配,则确定该待检测行为数据为常用值,否则为非常用值。
步骤250,输出待检测行为数据是否为非常用值和对应的非常用类型;
在本申请中,可以根据待检测行为数据所属的数据类型,选择基于聚类算法进行非常用行为检测或者基于多阈值方法进行非常用行为检测,获得检测结果后,可以输出待检测行为数据是否为非常用值以及非常用检测类型。检测结果可以定时输出和展示。可理解的是,本申请实施例提供的行为检测方法是一套完整通用的行为检测方法,可以进行不同维度的非常用行为检测如非常用时间检测、非常用设备检测、非常用地点检测等,该方法可以自动根据获取的待检测行为数据的类别和所属的数据类型,选择相应维度的非常用行为检测过程,并采用对应的方法如聚类算法或者多阈值方法,来完成此次行为检测。
下面可以介绍两个具体检测场景下的检测结果。
1)该场景下,待检测数据为时间数据“14”,基于聚类算法进行行为检测后,确定“14”为非常用时间,对应的非常用检测类型为非常用时间检测。进一步的,该场景的数据源类型为vpn,该场景的用户操作是登录操作,那么输出的检测结果可以为“vpn用户在非常用时间登录”。
2)该场景下,待检测数据为地点数据“北京”,基于多阈值方法进行行为检测后,确定“北京”为非常用地点,对应的非常用检测类型为非常用地点检测。进一步的,该场景的用户操作是linux权限变更操作,那么输出的检测结果为“linux用户在非常用地点进行权限变更”。
如图6a和图6b所示,图6a和图6b均为一种可能的检测结果界面图,在此界面可以展示检测结果,如展示“vpn用户在非常用时间登录”、“linux用户在非常用地点进行权限变更”等具体检测场景的描述,还可以展示更多对应的详细信息。
本申请实施例通过确定待检测行为数据和历史行为数据所属的目标数据类型,在该目标数据类型为连续数值类型或离散字符串类型的情况下,分别采用不同的方法进行行为检测,对于离散字符串类型的历史行为数据,根据待检测行为数据和历史行为数据的匹配关系确定当前行为是否为非常用行为,能够在保证检测结果准确率的前提下,提高检测效率;而对于连续数值类型的历史行为数据,采用聚类算法对待检测行为数据和历史行为数据进行聚类,根据待检测行为数据和获得的聚类簇之间的关联关系确定当前行为是否为非常用行为。由于聚类考虑了连续数值类型的数据之间的关联关系对检测结果的影响,从而可以降低非常用行为检测的误判率,提高检测结果的准确率。
请参见图7,图7是本申请实施例提供的一种行为检测装置的结构示意图。如图7所示,上述行为检测装置可以是应用于上述图1所示用户终端上的客户端,该客户端可以是电子设备中的一个计算机程序(包括程序代码)。该行为检测装置可以包括:第一获取单元20,第二获取单元21,第一判断单元22,聚类单元23,第二判断单元24,第三判断单元25;可选的,该行为检测装置还可以包括:确定单元26,预处理单元27,偏移单元28,生成单元29。
第一获取单元20,用于获取目标账号对应的待检测行为数据,上述待检测行为数据用于表示上述目标账号的当前行为特征;
第二获取单元21,用于获取上述目标账号对应的历史行为数据,上述历史行为数据用于表示上述目标账号的历史行为特征;
第一判断单元22,用于确定上述待检测行为数据和/或上述历史行为数据所属的目标数据类型,上述目标数据类型为连续数值类型或离散字符串类型,上述待检测行为数据所属的数据类型与上述历史行为数据所属的数据类型相同;
聚类单元23,用于若上述目标数据类型为连续数值类型,采用聚类算法对上述待检测行为数据和上述历史行为数据进行聚类,获得至少一个聚类簇;
第二判断单元24,用于根据上述待检测行为数据与上述至少一个聚类簇之间的关联关系,确定上述目标账号的上述当前行为是否为非常用行为;
第三判断单元25,用于若上述目标数据类型为离散字符串类型,根据上述待检测行为数据与上述历史行为数据的匹配关系,确定上述目标账号的上述当前行为是否为非常用行为。
其中,上述第二获取单元21,具体用于:
根据上述待检测行为数据,获取上述目标账号对应的历史行为数据,其中,上述待检测行为数据所表示的上述当前行为特征的类别与上述历史行为数据所表示的上述历史行为特征的类别相同。
其中,上述第二判断单元24,具体用于:
若上述待检测数据被包含在上述至少一个聚类簇的一个聚类簇中,确定上述目标账号的上述当前行为是常用行为;
若上述待检测数据不在上述至少一个聚类簇的任意一个聚类簇中,确定上述目标账号的上述当前行为是非常用行为。
其中,上述待检测行为数据包括上述目标账号对应的当前操作时间,上述历史行为数据包括上述目标账号对应的至少一个历史操作时间,上述目标数据类型为连续数值类型;
上述装置还包括:
确定单元26,用于确定上述历史行为数据中包括的历史操作时间的个数大于第一阈值;
预处理单元27,用于对上述历史行为数据进行预处理,获得预处理后的历史行为数据,其中,上述预处理后的历史行为数据中包含的历史操作时间的个数小于预处理前的上述历史行为数据中包含的历史操作时间的个数;
上述聚类单元23,具体用于:
采用聚类算法对上述待检测行为数据和上述预处理后的历史行为数据进行聚类。
其中,上述预处理单元27,具体用于:
对上述至少一个历史操作时间进行统计,获得至少一个统计时间点中每个统计时间点所对应的第一频次,上述第一频次用于表示与上述统计时间点关联的历史操作时间在上述至少一个历史操作时间中出现的次数;
按照预设缩小比例,对每个统计时间点所对应的第一频次进行缩小处理,获得每个统计时间点对应的第二频次;
根据每个上述统计时间点对应的上述第二频次,获得与上述统计时间点关联的至少一个更新后的历史操作时间,与上述统计时间点关联的更新后的历史操作时间的个数等于上述第二频次;
将上述至少一个统计时间点中每个统计时间点关联的至少一个更新后的历史操作时间确定为上述预处理后的历史行为数据。
其中,上述待检测行为数据包括上述目标账号对应的当前操作时间,上述历史行为数据包括上述目标账号对应的至少一个历史操作时间,上述目标数据类型为连续数值类型;
上述装置还包括:
偏移单元28,用于针对上述至少一个历史操作时间中的每个历史操作时间,根据上述每个历史操作时间所属时间区间对应的时间偏移量,对上述每个历史操作时间进行偏移处理,获得至少一个偏移后的历史操作时间;
根据上述当前操作时间所属时间区间对应的时间偏移量,对上述当前操作时间进行偏移处理,获得偏移后的当前操作时间;
上述聚类单元23,还用于:
采用聚类算法对上述至少一个偏移后的历史操作时间和上述偏移后的当前操作时间进行聚类。
其中,上述待检测行为数据包括上述目标账号对应的第一字符串,上述历史行为数据包括上述目标账号对应的至少一个第二字符串,上述第一字符串用于标识上述目标账号的当前操作地理位置或当前操作设备,上述第二字符串用于标识上述目标账号的历史操作地理位置或历史操作设备,上述目标数据类型为离散字符串类型;
上述装置还包括:
生成单元29,用于确定上述至少一个第二字符串中所包含的至少一个字符串种类,并统计上述至少一个字符串种类中每个字符串种类对应的第三频次,上述第三频次用于表示上述字符串种类在上述至少一个第二字符串中出现的次数;
从上述至少一个字符串种类中确定上述第三频次最大的K个字符串种类,上述K为预设整数;
根据上述K个字符串种类,确定常用列表,上述常用列表包括M个目标字符串,上述M为小于或者等于K的整数,上述目标字符串满足以下条件中的一项或两项:上述目标字符串对应的第三频次大于第二阈值;上述目标字符串对应的第三频次与上述至少一个第二字符串的字符串总数之间的比值大于第三阈值;
上述第三判断单元26,具体用于:
将上述第一字符串与上述M个目标字符串进行匹配;
若上述M个目标字符串中存在与上述第一字符串匹配的字符串,则确定上述目标账号的上述当前行为是常用行为;
若上述M个目标字符串中不存在与上述第一字符串匹配的字符串,则确定上述目标账号的上述当前行为是非常用行为。
本申请实施例通过区分历史行为数据所属的数据类型,分别采用与该数据类型对应的方法进行行为检测,考虑了不同数据类型的数据之间的关联关系的强弱对检测结果的影响,有针对性的减少了检测过程中误判的产生,从而可以降低非常用行为检测的误判率,提高检测结果的准确率。
请参见图8,图8是本申请实施例提供的一种电子设备的结构示意图。如图8所示,该电子设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述电子设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。可选的,网络接口1004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图8所示的电子设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:获取目标账号对应的待检测行为数据,上述待检测行为数据用于表示上述目标账号的当前行为特征;
获取上述目标账号对应的历史行为数据,上述历史行为数据用于表示上述目标账号的历史行为特征;
确定上述待检测行为数据和/或上述历史行为数据所属的目标数据类型,上述目标数据类型为连续数值类型或离散字符串类型,上述待检测行为数据所属的数据类型与上述历史行为数据所属的数据类型相同;
若上述目标数据类型为连续数值类型,采用聚类算法对上述待检测行为数据和上述历史行为数据进行聚类,获得至少一个聚类簇,并根据上述待检测行为数据与上述至少一个聚类簇之间的关联关系,确定上述目标账号的上述当前行为是否为非常用行为;
若上述目标数据类型为离散字符串类型,根据上述待检测行为数据与上述历史行为数据的匹配关系,确定上述目标账号的上述当前行为是否为非常用行为。
应当理解,本申请实施例中所描述的电子设备1000可执行前文图3所对应实施例中对行为检测方法的描述,也可执行前文图7所对应实施例中对行为检测装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的行为检测装置所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3所对应实施例中对行为检测方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该电子设备执行前文图3所对应实施例中对行为检测方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种行为检测方法,其特征在于,包括:
获取目标账号对应的待检测行为数据,所述待检测行为数据用于表示所述目标账号的当前行为特征;
获取所述目标账号对应的历史行为数据,所述历史行为数据用于表示所述目标账号的历史行为特征;
确定所述待检测行为数据和/或所述历史行为数据所属的目标数据类型,所述目标数据类型为连续数值类型或离散字符串类型,所述待检测行为数据所属的数据类型与所述历史行为数据所属的数据类型相同;
若所述目标数据类型为连续数值类型,采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类,获得至少一个聚类簇,并根据所述待检测行为数据与所述至少一个聚类簇之间的关联关系,确定所述目标账号的所述当前行为是否为非常用行为;
若所述目标数据类型为离散字符串类型,根据所述待检测行为数据与所述历史行为数据的匹配关系,确定所述目标账号的所述当前行为是否为非常用行为。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标账号对应的历史行为数据,包括:
根据所述待检测行为数据,获取所述目标账号对应的历史行为数据,其中,所述待检测行为数据所表示的所述当前行为特征的类别与所述历史行为数据所表示的所述历史行为特征的类别相同。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待检测行为数据与所述至少一个聚类簇之间的关联关系,确定所述目标账号的所述当前行为是否为非常用行为,包括:
若所述待检测数据被包含在所述至少一个聚类簇的一个聚类簇中,确定所述目标账号的所述当前行为是常用行为;
若所述待检测数据不在所述至少一个聚类簇的任意一个聚类簇中,确定所述目标账号的所述当前行为是非常用行为。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述待检测行为数据包括所述目标账号对应的当前操作时间,所述历史行为数据包括所述目标账号对应的至少一个历史操作时间,所述目标数据类型为连续数值类型;
所述采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类之前,还包括:
确定所述历史行为数据中包括的历史操作时间的个数大于第一阈值;
对所述历史行为数据进行预处理,获得预处理后的历史行为数据,其中,所述预处理后的历史行为数据中包含的历史操作时间的个数小于预处理前的所述历史行为数据中包含的历史操作时间的个数;
所述采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类,包括:
采用聚类算法对所述待检测行为数据和所述预处理后的历史行为数据进行聚类。
5.根据权利要求4所述的方法,所述对所述历史行为数据进行预处理,获得预处理后的历史行为数据,包括:
对所述至少一个历史操作时间进行统计,获得至少一个统计时间点中每个统计时间点所对应的第一频次,所述第一频次用于表示与所述统计时间点关联的历史操作时间在所述至少一个历史操作时间中出现的次数;
按照预设缩小比例,对每个统计时间点所对应的第一频次进行缩小处理,获得每个统计时间点对应的第二频次;
根据每个所述统计时间点对应的所述第二频次,获得与所述统计时间点关联的至少一个更新后的历史操作时间,与所述统计时间点关联的更新后的历史操作时间的个数等于所述第二频次;
将所述至少一个统计时间点中每个统计时间点关联的至少一个更新后的历史操作时间确定为所述预处理后的历史行为数据。
6.根据权利要求1或2所述的方法,所述待检测行为数据包括所述目标账号对应的当前操作时间,所述历史行为数据包括所述目标账号对应的至少一个历史操作时间,所述采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类之前,还包括:
针对所述至少一个历史操作时间中的每个历史操作时间,根据所述每个历史操作时间所属时间区间对应的时间偏移量,对所述每个历史操作时间进行偏移处理,获得至少一个偏移后的历史操作时间;
根据所述当前操作时间所属时间区间对应的时间偏移量,对所述当前操作时间进行偏移处理,获得偏移后的当前操作时间;
所述采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类,包括:
采用聚类算法对所述至少一个偏移后的历史操作时间和所述偏移后的当前操作时间进行聚类。
7.根据权利要求2所述的方法,其特征在于,所述待检测行为数据包括所述目标账号对应的第一字符串,所述历史行为数据包括所述目标账号对应的至少一个第二字符串,所述第一字符串用于标识所述目标账号的当前操作地理位置或当前操作设备,所述第二字符串用于标识所述目标账号的历史操作地理位置或历史操作设备,所述目标数据类型为离散字符串类型;
所述根据所述待检测行为数据与所述历史行为数据的匹配关系,确定所述目标账号的所述当前行为是否为非常用行为之前,还包括:
确定所述至少一个第二字符串中所包含的至少一个字符串种类,并统计所述至少一个字符串种类中每个字符串种类对应的第三频次,所述第三频次用于表示所述字符串种类在所述至少一个第二字符串中出现的次数;
从所述至少一个字符串种类中确定所述第三频次最大的K个字符串种类,所述K为预设整数;
根据所述K个字符串种类,确定常用列表,所述常用列表包括M个目标字符串,所述M为小于或者等于K的整数,所述目标字符串满足以下条件中的一项或两项:所述目标字符串对应的第三频次大于第二阈值;所述目标字符串对应的第三频次与所述至少一个第二字符串的字符串总数之间的比值大于第三阈值;
所述根据所述待检测行为数据与所述历史行为数据的匹配关系,确定所述目标账号的所述当前行为是否为非常用行为,包括:
将所述第一字符串与所述M个目标字符串进行匹配;
若所述M个目标字符串中存在与所述第一字符串匹配的字符串,则确定所述目标账号的所述当前行为是常用行为;
若所述M个目标字符串中不存在与所述第一字符串匹配的字符串,则确定所述目标账号的所述当前行为是非常用行为。
8.一种行为检测装置,其特征在于,包括:
第一获取单元,用于获取目标账号对应的待检测行为数据,所述待检测行为数据用于表示所述目标账号的当前行为特征;
第二获取单元,用于获取所述目标账号对应的历史行为数据,所述历史行为数据用于表示所述目标账号的历史行为特征;
第一判断单元,用于确定所述待检测行为数据和/或所述历史行为数据所属的目标数据类型,所述目标数据类型为连续数值类型或离散字符串类型,所述待检测行为数据所属的数据类型与所述历史行为数据所属的数据类型相同;
聚类单元,用于若所述目标数据类型为连续数值类型,采用聚类算法对所述待检测行为数据和所述历史行为数据进行聚类,获得至少一个聚类簇;
第二判断单元,用于根据所述待检测行为数据与所述至少一个聚类簇之间的关联关系,确定所述目标账号的所述当前行为是否为非常用行为;
第三判断单元,用于若所述目标数据类型为离散字符串类型,根据所述待检测行为数据与所述历史行为数据的匹配关系,确定所述目标账号的所述当前行为是否为非常用行为。
9.一种电子设备,其特征在于,包括:存储器、处理器,其中,所述存储器存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序;当所述计算机程序在一个或多个处理器上运行时,执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110858618.1A CN115700526A (zh) | 2021-07-28 | 2021-07-28 | 一种行为检测方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110858618.1A CN115700526A (zh) | 2021-07-28 | 2021-07-28 | 一种行为检测方法、装置、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115700526A true CN115700526A (zh) | 2023-02-07 |
Family
ID=85120618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110858618.1A Pending CN115700526A (zh) | 2021-07-28 | 2021-07-28 | 一种行为检测方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115700526A (zh) |
-
2021
- 2021-07-28 CN CN202110858618.1A patent/CN115700526A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106992994B (zh) | 一种云服务的自动化监控方法和系统 | |
CN107992746B (zh) | 恶意行为挖掘方法及装置 | |
CN105426356B (zh) | 一种目标信息识别方法和装置 | |
CN110443274B (zh) | 异常检测方法、装置、计算机设备及存储介质 | |
CN111614690B (zh) | 一种异常行为检测方法及装置 | |
CN111178380B (zh) | 数据分类方法、装置及电子设备 | |
KR20190109427A (ko) | 침입 탐지를 위한 지속적인 학습 | |
CN109033408B (zh) | 信息推送方法及装置、计算机可读存储介质、电子设备 | |
CN106874253A (zh) | 识别敏感信息的方法及装置 | |
CN112311803B (zh) | 一种规则库更新方法、装置、电子设备及可读存储介质 | |
CN110245714B (zh) | 图像识别方法、装置及电子设备 | |
CN110730164B (zh) | 安全预警方法及相关设备、计算机可读存储介质 | |
CN112231592A (zh) | 基于图的网络社团发现方法、装置、设备以及存储介质 | |
CN113726784A (zh) | 一种网络数据的安全监控方法、装置、设备及存储介质 | |
CN113297393A (zh) | 基于态势感知和大数据的情报生成方法及信息安全系统 | |
CN112667979A (zh) | 密码生成方法及装置、密码识别方法及装置、电子设备 | |
Ni et al. | Spectrum sensing via temporal convolutional network | |
CN113610156A (zh) | 用于大数据分析的人工智能模型机器学习方法及服务器 | |
CN115545103A (zh) | 异常数据识别、标签识别方法和异常数据识别装置 | |
CN115374950A (zh) | 样本检测方法、样本检测装置、电子设备及存储介质 | |
CN113746780B (zh) | 基于主机画像的异常主机检测方法、装置、介质和设备 | |
CN116707859A (zh) | 特征规则提取方法和装置、网络入侵检测方法和装置 | |
CN117081941A (zh) | 基于注意力机制的流量预测方法及其装置、电子设备 | |
CN116523622A (zh) | 对象风险预测方法和装置、电子设备及存储介质 | |
Fei et al. | Real-time detection of COVID-19 events from Twitter: A spatial-temporally Bursty-Aware method |
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 |