风险模型构建方法、风险检测方法、装置、计算机设备转让专利

申请号 : CN202210750362.7

文献号 : CN114816964B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡文锴史晓婧范阳阳

申请人 : 深圳竹云科技股份有限公司

摘要 :

本公开涉及一种风险模型构建方法、风险检测方法、装置、计算机设备。所述风险模型构建方法包括:获取行为日志数据和风险日志数据,所述行为日志数据包括使用系统的行为产生的日志数据,所述风险日志数据包括所述系统产生风险时记录的日志数据;对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据;根据所述风险的触发条件确定风险特征维度;根据所述行为日志数据和预先确定的行为聚类模型,确定行为偏离度;根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型。采用本方法能够减少风险确认的难度以及时间成本。

权利要求 :

1.一种风险检测模型构建方法,其特征在于,所述方法包括:获取行为日志数据和风险日志数据,所述行为日志数据包括使用系统的行为产生的日志数据,所述风险日志数据包括所述系统产生风险时记录的日志数据;

对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据;所述对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据,包括:根据标识信息对所述行为日志数据和风险日志数据进行整合,得到整合数据;

根据风险的类型对所述整合数据进行第一筛选,得到第一整合数据,所述第一筛选包括:删除所述整合数据中根据时间周期确定风险的整合数据;

根据所述第一整合数据中风险的分布情况,进行第二筛选,得到风险行为数据,所述第二筛选包括:删除所述第一整合数据中风险次数低于预设的风险次数阈值的第一整合数据;

根据所述风险的触发条件确定风险特征维度;

根据所述行为日志数据和预先确定的行为聚类模型,确定行为偏离度,所述行为聚类模型的构建过程,包括:对系统日志数据进行筛选,得到行为分析数据;

根据用户使用系统的行为,确定特征维度和衍生特征维度;其中,所述衍生特征维度是通过衍生所述特征维度得到的;

对所述特征维度和衍生特征维度进行相关性分析,确定聚类特征维度;

根据所述聚类特征维度和所述行为对应的行为分析数据建立行为聚类模型;

根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型,所述根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型,包括:根据所述风险特征维度确定衍生风险特征维度;

对所述风险特征维度和衍生风险特征维度进行相关性分析,确定建模特征;

根据所述建模特征、行为偏离度和所述风险行为数据并利用聚类算法构建风险检测模型。

2.根据权利要求1所述的方法,其特征在于,所述根据所述风险特征维度确定衍生风险特征维度,包括:对风险特征维度进行衍生处理,得到衍生风险特征维度;

对风险特征维度和衍生风险特征维度通过特征工程的方式进行标准化,归一化方式进行处理。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在对风险行为数据进行处理时,对风险行为数据中建模特征通过降维方法进行降维处理,在对行为分析数据进行处理时,对行为分析数据中聚类特征维度通过降维方法进行降维处理,所述降维方法包括:主成分分析方法。

4.一种风险检测方法,其特征在于,所述方法包括:

获取行为日志数据;

将所述行为日志数据输入至权利要求1‑3中任一项构建的风险检测模型中,得到预测点和预测点对应的预测分类;

根据所述预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度;所述根据所述预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度,包括:计算所述预测点和所述预测质心的第一距离;

计算所述预测分类中每个分类点与所述预测质心的第二距离;

确定所述第二距离小于或等于所述第一距离的分类点的目标数量;

根据所述目标数量和所述预测分类中所有分类点的数量计算风险近似度;

根据所述风险近似度确定风险等级。

5.一种风险检测模型构建装置,其特征在于,所述装置包括:数据获取模块,用于获取行为日志数据和风险日志数据,所述行为日志数据包括使用系统的行为产生的日志数据,所述风险日志数据包括所述系统产生风险时记录的日志数据;

数据处理模块,用于对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据;数据处理模块包括:整合模块,用于根据标识信息对所述行为日志数据和风险日志数据进行整合,得到整合数据;

第一筛选模块,用于根据风险的类型对所述整合数据进行第一筛选,得到第一整合数据,所述第一筛选包括:删除所述整合数据中根据时间周期确定风险的整合数据;

第二筛选模块,用于根据所述第一整合数据中风险的分布情况,进行第二筛选,得到风险行为数据,所述第二筛选包括:删除所述第一整合数据中风险次数低于预设的风险次数阈值的第一整合数据;

特征确定模块,用于根据所述风险的触发条件确定风险特征维度;

偏离度计算模块,用于根据所述行为日志数据和预先确定的行为聚类模型,确定行为偏离度;

行为聚类模型构建模块,用于对系统日志数据进行筛选,得到行为分析数据;根据用户使用系统的行为,确定特征维度和衍生特征维度;其中,所述衍生特征维度是通过衍生所述特征维度得到的;对所述特征维度和衍生特征维度进行相关性分析,确定聚类特征维度;根据所述聚类特征维度和所述行为对应的行为分析数据建立行为聚类模型;

模型构建模块,用于根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型;所述模型构建模块包括:特征衍生模块,用于根据所述风险特征维度确定衍生风险特征维度;

相关性分析模块,用于对所述风险特征维度和衍生风险特征维度进行相关性分析,确定建模特征;

模型构建子模块,用于根据所述建模特征、行为偏离度和所述风险行为数据并利用聚类算法构建风险检测模型。

6.根据权利要求5所述的装置,其特征在于,所述特征衍生模块,还用于对风险特征维度进行衍生处理,得到衍生风险特征维度;对风险特征维度和衍生风险特征维度通过特征工程的方式进行标准化,归一化方式进行处理。

7.根据权利要求5所述的装置,其特征在于,所述装置还包括,降维处理模块,用于在对风险行为数据进行处理时,对风险行为数据中建模特征通过降维方法进行降维处理,在对行为分析数据进行处理时,对行为分析数据中聚类特征维度通过降维方法进行降维处理,所述降维方法包括:主成分分析方法。

8.一种风险检测装置,其特征在于,所述装置包括:

行为数据获取模块,用于获取行为日志数据;

模型输入模块,用于将所述行为日志数据输入至权利要求1至3中任一项构建的风险检测模型,得到预测点和预测点对应的预测分类;

风险近似度计算模块,用于根据所述预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度;

风险近似度计算模块,还用于计算所述预测点和所述预测质心的第一距离;计算所述预测分类中每个分类点与所述预测质心的第二距离;确定所述第二距离小于或等于所述第一距离的分类点的目标数量;根据所述目标数量和所述预测分类中所有分类点的数量计算偏离度;

风险等级确定模块,用于根据所述风险近似度确定风险等级。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3或4中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3或4中任一项所述的方法的步骤。

说明书 :

风险模型构建方法、风险检测方法、装置、计算机设备

技术领域

[0001] 本公开涉及安全技术领域,特别是涉及一种风险模型构建方法、风险检测方法、装置、计算机设备。

背景技术

[0002] 随着科学技术的发展,人们工作和生活中越来越多使用业务系统。因此,对业务系统的安全性进行风险检测是极为重要的。
[0003] 目前,进行风险检测方式通常是通过风险防控系统对业务系统的线上日志文件进行风险检测,进而实现对存在风险的业务事件进行拦截、管控。
[0004] 然而,目前通过风险防控系统进行风险检测时,难以找到真正的风险点,因为每个风险事件都是相对独立的,如IP风险,使用时间风险等等。无法从单一的风险事件中判断出最终的是否产生风险。此外,使用业务系统时还可能会产生误操作,给最终的风险确认带来了较大的难度以及时间成本。

发明内容

[0005] 基于此,有必要针对上述技术问题,提供一种能够减少风险确认的难度以及时间成本的风险模型构建方法、风险检测方法、装置、计算机设备。
[0006] 第一方面,本公开提供了一种风险检测模型构建方法。所述方法包括:
[0007] 获取行为日志数据和风险日志数据,所述行为日志数据包括使用系统的行为产生的日志数据,所述风险日志数据包括所述系统产生风险时记录的日志数据;
[0008] 对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据;
[0009] 根据所述风险的触发条件确定风险特征维度;
[0010] 根据所述行为日志数据和预先确定的行为聚类模型,确定行为偏离度;
[0011] 根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型。
[0012] 在其中一个实施例中,所述对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据,包括:
[0013] 根据标识信息对所述行为日志数据和风险日志数据进行整合,得到整合数据;
[0014] 根据风险的类型对所述整合数据进行第一筛选,得到第一整合数据,所述第一筛选包括:删除所述整合数据中根据时间周期确定风险的整合数据;
[0015] 根据所述第一整合数据中风险的分布情况,进行第二筛选,得到风险行为数据,所述第二筛选包括:删除所述第一整合数据中风险次数低于预设的风险次数阈值的第一整合数据。
[0016] 在其中一个实施例中,所述根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型,包括:
[0017] 根据所述风险特征维度确定衍生风险特征维度;
[0018] 对所述风险特征维度和衍生风险特征维度进行相关性分析,确定建模特征;
[0019] 根据所述建模特征、行为偏离度和所述风险行为数据并利用聚类算法构建风险检测模型。
[0020] 在其中一个实施例中,所述行为聚类模型的构建过程,包括:
[0021] 对系统日志数据进行筛选,得到行为分析数据;
[0022] 根据用户使用系统的行为,确定特征维度和衍生特征维度;其中,所述衍生特征维度是通过衍生所述特征维度得到的;
[0023] 对所述特征维度和衍生特征维度进行相关性分析,确定聚类特征维度;
[0024] 根据所述聚类特征维度和所述行为对应的行为分析数据建立行为聚类模型。
[0025] 在其中一个实施例中,所述方法还包括:
[0026] 在对风险行为数据进行处理时,对风险行为数据中建模特征通过降维方法进行降维处理,
[0027] 在对行为分析数据进行处理时,对行为分析数据中聚类特征维度通过降维方法进行降维处理,所述降维方法包括:主成分分析方法。
[0028] 第二方法,本公开还提供了一种风险检测方法,方法包括:
[0029] 获取行为日志数据;
[0030] 将所述行为日志数据输入至上述任一实施例构建的风险检测模型中,得到预测点和预测点对应的预测分类;
[0031] 根据所述预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度;
[0032] 根据所述风险近似度确定风险等级。
[0033] 在其中一个实施例中,所述根据所述预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度,包括:
[0034] 计算所述预测点和所述预测质心的第一距离;
[0035] 计算所述预测分类中每个分类点与所述预测质心的第二距离;
[0036] 确定所述第二距离小于或等于所述第一距离的分类点的目标数量;
[0037] 根据所述目标数量和所述预测分类中所有分类点的数量计算风险近似度。
[0038] 第三方面,本公开还提供了一种风险检测模型构建装置。所述装置包括:
[0039] 数据获取模块,用于获取行为日志数据和风险日志数据,所述行为日志数据包括使用系统的行为产生的日志数据,所述风险日志数据包括所述系统产生风险时记录的日志数据;
[0040] 数据处理模块,用于对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据;
[0041] 特征确定模块,用于根据所述风险的触发条件确定风险特征维度;
[0042] 偏离度计算模块,用于根据所述行为日志数据和预先确定的行为聚类模型,确定行为偏离度;
[0043] 模型构建模块,用于根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型。
[0044] 第四方面,本公开还提供了一种风险检测装置,所述装置包括:
[0045] 行为数据获取模块,用于获取行为日志数据;
[0046] 模型输入模块,用于将所述行为日志数据输入至任一实施例构建的风险检测模型中,得到预测点和预测点对应的预测分类;
[0047] 风险近似度计算模块,用于根据所述预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度
[0048] 风险等级确定模块,用于根据所述风险近似度确定风险等级。
[0049] 第五方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现各方法实施例的步骤。
[0050] 第六方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现各方法实施例的步骤。
[0051] 第七方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例的步骤。
[0052] 上述各实施例中,通过整合筛选行为日志数据和风险日志数据能够得到符合构建风险检测模型的数据。通过风险行为数据在构建模型时,能够使风险检测模型具有较好的聚类效果。而风险行为数据中通常包括了多种不同类型的风险,根据风险的触发条件确定风险特征维度,能够确定每个风险其对应的特征维度,因此在存在单一风险事件时,可以通过风险检测模型对单一风险事件进行判断。另外,根据所述行为日志数据和预先确定的行为聚类模型,确定行为偏离度。将行为偏离度带入建模过程中,能够根据用户的行为进一步增加风险检测模型的聚类效果。由于用户的行为得到的行为偏离度仅作为一个特征,因此当产生误操作时,不会对风险检测模型的检测结果产生较大的影响。

附图说明

[0053] 为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0054] 图1为一个实施例中风险检测模型构建方法的应用环境示意图;
[0055] 图2为一个实施例中风险检测模型构建方法的流程示意图;
[0056] 图3为一个实施例中用户操作的行为特征示意图;
[0057] 图4为一个实施例中S204步骤的示意图;
[0058] 图5为一个实施例中S204风险次数分布示意图;
[0059] 图6为一个实施例中S210步骤的流程示意图;
[0060] 图7为一个实施例中行为聚类模型的构建过程的流程示意图;
[0061] 图8为一个实施例中风险近似度计算的流程示意图;
[0062] 图9为一个实施例中确定目标数量的示意图;
[0063] 图10为一个实施例中风险检测模型构建装置的结构框图;
[0064] 图11为一个实施例中风险检测装置的结构框图;
[0065] 图12为一个实施例中计算机设备的内部结构示意图。

具体实施方式

[0066] 为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
[0067] 需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0068] 在本文中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0069] 本公开实施例提供了一种风险检测模型构建方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与日志服务器104进行通信。终端102获取日志服务器中行为日志数据和风险日志数据。所述行为日志数据包括使用系统的行为产生的日志数据,所述风险日志数据包括所述系统产生风险时记录的日志数据。终端102对行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据。终端102根据风险的触发条件确定风险特征维度。终端102根据行为日志数据和预先确定的行为聚类模型,确定行为偏离度。终端102根据风险特征维度、行为偏离度和风险行为数据构建风险检测模型。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0070] 在一个实施例中,如图2所示,提供了一种风险检测模型构建方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
[0071] S202,获取行为日志数据和风险日志数据,
[0072] 其中,所述行为日志数据包括使用系统的行为产生的日志数据,行为日志数据通常可以是用户使用系统进行的某些行为操作,如登录、查询和删除等等操作产生的对应的日志数据。所述风险日志数据包括所述系统产生风险时记录的日志数据。风险日志数据通常是上述系统产生风险时系统中记录的日志数据。风险可以包括:异地登录风险、多账号登录风险、账号破解风险等等。该系统可以是用户公司的OA系统、管理系统、工资系统或者等等其他应用系统。风险通常指用户在认证、登录某个应用系统的时候由于存在某点或多点异常所触发的事件。
[0073] 具体地,用户在使用系统时,其某些使用行为会使系统产生对应的行为日志数据。而某些使用行为可能会产生风险。或者在使用系统的过程中,由于外部因素,也可能会产生风险,系统会产生对应的风险日志数据。获取产生的行为日志数据和风险日志数据。
[0074] S204,对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据。
[0075] 其中,整合筛选处理通常可以是将行为日志数据和风险日志数据整合在一起,并对整合后得到的日志数据进行筛选,以满足构建风险检测模型的建模数据要求的处理方式。
[0076] 具体地,可以根据标识信息或者其他可以将行为日志数据和风险日志数据以某些关系绑定在一起的数据,将行为日志数据和风险日志数据整合。并对整合后的得到的数据进行筛选处理,得到符合构建风险检测模型的数据,该数据可以为风险行为数据。
[0077] S206,根据所述风险的触发条件确定风险特征维度。
[0078] 其中,风险的触发条件通常可以包括:时间条件、登录地点条件等等。风险特征维度通常可以是根据风险触发条件通过特征工程的方式筛选出的特征。
[0079] 在一些示例性的实施例中,结合上述风险日志数据触发的风险来看,风险的触发条件可以分为如下几部分:用户在系统中的行为触发的风险,用户终端的不同产生的风险和用户使用的网络的不同产生的风险。因此,风险特征维度通常可以包括行为特征、终端特征和网络特征。
[0080] 通常情况下,用户终端的不同产生的风险和用户使用的网络的不同产生的风险通常可以由第三方,如终端厂家或者网络厂商提供对应的风险等级。该风险等级通常代表终端特征和网络特征。
[0081] 在一些具体的实施例中,通常风险特征维度中行为触发的风险中涉及的维度可以包括:时间维度(如登录时间)、IP类型维度(如内网(公司、分公司、部门)、外网(省、市、区/县))、地理位置维度(如国内(内网、外网)、国外、)、终端维度(如浏览器品牌、版本)、操作系统维度(如操作系统版本)、客户端维度(如网页、应用等)。
[0082] S208,根据所述行为日志数据和预先确定的行为聚类模型,确定行为偏离度。
[0083] 其中,预先确定的行为聚类模型通常可以是通过行为日志数据计算出某些行为和群体行为之前的偏离度,进而来确定是否该行为是否可能产生风险的模型。行为聚类模型通常可以通过行为日志数据以及某些行为对应的特征维度建立。行为偏离度通常可以是评估该行为在系统产生的风险的一个指标,以此来确定某些行为是否和群体行为存在偏差。
[0084] 具体地,如图3所示,反映的是用户操作系统的行为,其中大圈,如图中A、B、C代表符合群体行为的操作的特征。即未产生风险。图3中的点代表风险对应的行为。它的特征正如图3中的分布一样,离散与稀疏。最终的需要通过风险检测模型确定最终的聚类结果,因此只会筛选风险数据,如图3中的点。而这些点,通常都是通过各种行为触发的,因此需要引入行为偏离度作为构建风险检测模型的建模特征。
[0085] S210,根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型。
[0086] 其中,风险检测模型本质上可以是一种聚类模型,用来确定处理的数据属于那种分类的模型。
[0087] 具体地,上述确定行为偏离度仅可以确定某个行为相较群体行为的偏离度,仅可以大致判断是否产生风险。但是,有一些行为相较群体行为的偏离度较大,其可能也未产生风险。此时,通过行为偏离度进行判断会产生错误,因此,将行为偏离度作为建模特征带入建模中。并利用上述确定的风险特征维度也作为建模时的建模特征,利用风险行为数据作为建模时的建模数据,根据建模特征和建模数据构建风险检测模型。
[0088] 上述风险检测模型构建方法中,通过整合筛选行为日志数据和风险日志数据能够得到符合构建风险检测模型的数据。通过风险行为数据在构建模型时,能够使风险检测模型具有较好的聚类效果。而风险行为数据中通常包括了多种不同类型的风险,根据风险的触发条件确定风险特征维度,能够确定每个风险其对应的特征维度,因此在存在单一风险事件时,可以通过风险检测模型对单一风险事件进行聚类,进而根据聚类的结果进行判断。另外,根据所述行为日志数据和预先确定的行为聚类模型,确定行为偏离度。将行为偏离度带入建模过程中,能够根据用户的行为进一步增加风险检测模型的聚类效果。由于用户的行为得到的行为偏离度仅作为一个特征,因此当产生误操作时,降低误操作时对风险检测模型的聚类效果的影响。
[0089] 在一个实施例中,如图4所示,所述对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据,包括:
[0090] S302,根据标识信息对所述行为日志数据和风险日志数据进行整合,得到整合数据。
[0091] 其中,标识信息可以为认证ID(Identity document),认证ID通常可以是将行为日志数据和风险日志数据以某些关系绑定在一起的数据。标识信息还可以为用户的用户名或者用户ID,该用户名或者用户ID与认证ID通常都是唯一的。
[0092] 具体地,通常情况下一次操作行为有可能会触发多个风险,因此可以根据认证ID中将行为日志数据和风险日志数据进行整合在一起,得到整合数据。因为风险检测模型会使用到行为偏离度进行建模,所以需要保证用户群体的一致,这里会通常还会使用用户名或者用户ID对行为日志数据和风险日志数据进行进一步整合。
[0093] 在一些示例性的实施例中,如一次操作行为A,对应的其认证ID为a,产生对应的存在行为日志数据A、B。又产生对应的存在风险日志数据C、D,则可以将相同的认证ID(a)的行为日志数据和风险日志数据进行整合在一起,得到包含A、B、C、D的数据。然后可以通过用户名或者用户ID对包含A、B、C、D的数据进行整合。得到相同用户,执行操作行为A后得到的数据。
[0094] S304,根据风险的类型对所述整合数据进行第一筛选,得到第一整合数据,所述第一筛选包括:删除所述整合数据中根据时间周期确定风险的整合数据。
[0095] 其中,风险的类型通常可以是风险日志数据中产生的风险具体地类型。根据时间周期确定风险的整合数据,通常可以是需要长时间观测才能确定是否产生风险的整合数据。
[0096] 具体地,确定整合数据中各种风险,以及各种风险对应的类型。根据风险的类型,对整合数据进行筛选,删除整合数据中通过长时间观测才能确定风险的整合数据。
[0097] 在一些示例性的实施方式中,具体风险的类型可以参见表1风险类型表。
[0098] 表1风险类型表
[0099]
[0100] 其中,管理类通常可以是某个用户行为习惯突然变化,而产生的风险的类型。可以理解的是,本公开的一些实施例中仅仅以上述表1中各个风险的类型进行距离说明,实际应用过程中还可能存在多种不同的风险的类型,在本公开不仅限制具体的风险的类型,[0101] 表1中各个风险的类型中一些类型对应的解释如下,管理类:使用时间限制,可以是用户使用系统的时间通常为8.00‑17.00。某个时间突然变为22.00登录。则可能会认为产生风险。特征类:IP(Internet Protocol)特征匹配,可以是用户使用系统的IP突然发生变化。浏览器特征匹配,可以是用户使用的浏览器类型突然发生变化。突然活跃检测,可以是用户在之前系统中操作并不频发,如查询,修改等等操作,突然频繁的进行各种操作。使用地点限制,可以是与IP特征匹配类似的情况,如通常在A市使用系统,突然变为在B市使用系统。
[0102] 其中,上述风险的类型通常都是突然某个时刻变化,从而可以确定的。即通过前面检测得到的数据中任一时刻的数据,和当前时刻检测得到数据进行对比判断,若差异较大,则可以确定产生风险,从而确定对应的风险的类型。而存在一些风险的类型需要长时间进行观测才可以确定。例如,某个系统长时间的CPU使用率在50%至70%之间波动,突然在某一时刻升至70%。根据此时的CPU使用率之前确定的CPU使用率在50%至70%之间任一时刻无法确定是否产生风险。如某一个时刻为50%,此时可以确定产生风险,但另一个时刻为69%,此时确定并未产生风险。此时会出现矛盾,无法确定是否产生风险。因此,需要将该时刻和长时间观测得到的CPU使用率进行对比,来判断升至70%时是否存在风险,根据上述判断,升至70%并不存在风险。而因此,该风险通常可以是根据时间周期才能够确定的。
[0103] S306,根据所述第一整合数据中风险的分布情况,进行第二筛选,得到风险行为数据,所述第二筛选包括:删除所述第一整合数据中风险次数低于预设的风险次数阈值的第一整合数据。
[0104] 其中,风险的分布情况通常可以是触发的各种风险的风险次数。
[0105] 具体地,上述对整合数据进行筛选后,得到第一整合数据,此时第一整合数据中存在各种风险。但有一些风险是对建模时无用的风险。如用户恶意的各种操作。上述恶意的各种操作通常情况下数量较少,因此可以设置风险次数阈值,删除所述第一整合数据中风险次数低于预设的风险次数阈值的第一整合数据,得到风险行为数据。
[0106] 在一些示例性的实施例中,如图5所示,可以看到风险次数呈长尾分布,有48种不同类型的风险。这里结合现实情况进行分析,一个用户在系统中的一次操作行为不可能触发48种风险,所以可以对如图5框中的数量较少的风险进行删除,从而得到风险行为数据。
[0107] 本实施例中,通过对行为日志数据和风险日志数据进行整合,以及对整合后的数据进行第一筛选和第二筛选,能够去除无用的数据,后续构建风险检测模型时,提高风险检测模型的聚类效果,使得聚类结果更加准确。
[0108] 在一个实施例中,如图6所示,所述根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型,包括:
[0109] S402,根据所述风险特征维度确定衍生风险特征维度。
[0110] 其中,衍生风险特征维度是风险特征维度进行衍生得到的,其通常与风险特征维度具有相关性。
[0111] 具体地,对风险特征维度进行衍生处理,得到衍生风险特征维度。对风险特征维度和衍生风险特征维度通过特征工程的方式进行标准化,归一化等等方式进行处理。
[0112] S404,对所述风险特征维度和衍生风险特征维度进行相关性分析,确定建模特征;
[0113] 其中,相关性分析在本实施中通常可以是确定风险特征维度之间、衍生风险特征维度之间,以及风险特征维度和衍生风险特征维度之间的相关性的一种方法。建模特征通常可以是相关性较高的风险特征维度和/或衍生风险特征维度。
[0114] 具体地,可以通过皮尔斯相关系数的方式,或spearman相关系数,或者其他计算相关性的算法,计算风险特征维度之间、衍生风险特征维度之间以及风险特征维度和衍生风险特征维度之间的相关性。可以根据预先设置的阈值确定相关性强的特征维度。当相关性大于预先设置的阈值时,证明各个特征维度之间相关性较强。若两个风险特征维度之间相关性都比较强,又因为风险特征维度通常是根据行为直接确定的,所以具有比较强的业务含义,因此可以将两个相关性强的风险特征维度都保留,最终保留后得到的特征维度可以是建模特征。
[0115] S406,根据所述建模特征、行为偏离度和所述风险行为数据并利用聚类算法构建风险检测模型。
[0116] 具体地,根据建模特征、行为偏离度和风险行为数据,通过聚类算法建立风险检测模型。建立风险检测模型后,通常情况下会风险检测模型中会存在多种分类结果,即预测分类。因此,该风险检测模型中包括了多个预测分类和所述多个预测分类对应的预测质心。
[0117] 在一些示例性的实施方式中,聚类算法可以包括:基于层次聚类算法如Divisive、划分式聚类算法如kmeans、基于密度聚类算法如DBSCAN、OPTICS、基于网格的聚类算法如STING,CLIQUE,WaveCluster、基于模型的聚类算法、Bisecting‑Kmeans聚类等等。在本实施例中,优选的为Bisecting‑Kmeans聚类算法,其聚类效果相较于其他的聚类算法得到的聚类结果更好。
[0118] 在一些示例性的实施例中,以登录行为为例,最终得到的特征可以如表2特征表所示。
[0119] 表2特征表
[0120]
[0121] 其中,时间可以是当前用户登录的时间。身份可以指的是当前用户的账号活跃度和在系统注册的时间(司龄)。行为通常指的是当前登录行为和群体的登录行为的偏离度。地点可以包括当前登录的IP类型(如国外、国内、内网、外网等等)和地理位置。用户状态是指当前用户登录的账号是否存在一些风险(如缓慢攻击、多账号登录和撞库登录等)。
[0122] 其中,缓慢攻击是 DoS 或 DDoS 攻击的一种,依赖一小串非常慢的流量,可以针对应用程序或服务器资源发起攻击。与更传统的蛮力攻击不同,缓慢攻击所需的带宽非常小,并且难以防护,因为它们生成的流量很难与正常流量区分开。大规模 DDoS 攻击可能会很快被注意到,而缓慢攻击可能会在很长一段时间内不被发现,同时拒绝或减慢对真实用户的服务。
[0123] 撞库登录是通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。
[0124] 在本实施例中,确定衍生风险特征维度,使用衍生风险特征维度可以得到更好的分析效果以及提升风险检测模型最终的聚类效果。因为使用风险特征维度和衍生风险特征维度多个维度进行处理,因此该风险检测模型可以将行为聚类到不同的风险种类中。在通过对风险特征维度和衍生风险特征维度进行相关性检验,确定建模特征,能够得到相关性强的特征,在后续构建风险检测模型时可以得到更好的预测聚类效果,能够进一步提升风险检测的准确性。
[0125] 在一个实施例中,如图7所示,所述行为聚类模型的构建过程,包括:
[0126] S502,对系统日志数据进行筛选,得到行为分析数据;
[0127] 其中,系统日志数据通常可以是上述一些实施例中提及的系统在运行时产生的所有日志数据。行为分析数据通常可以是系统日志数据中对应某种行为的日志数据,其通常具有一定的业务含义。
[0128] 具体地,在第一种实施方式中,获取系统运行时产生的所有系统日志数据,首先可以对日志数据进行筛选,得到某类行为产生的日志数据,在对某类行为产生的日志数据进行二次筛选,得到某类行为产生的日志数据中具有一定意义的日志数据,该日志数据可以为行为分析数据。
[0129] 在另一种实施方式中,获取系统运行时某类需要风险分析的行为产生的系统日志数据,对该系统日志数据进行筛选,得到该系统日志数据中具有一定意义的日志数据,该日志数据可以为行为分析数据。
[0130] S504,根据用户使用系统的行为,确定特征维度和衍生特征维度;
[0131] 其中,所述衍生特征维度是通过衍生所述特征维度得到的。特征维度通常可以是根据使用系统的行为确定的该行为涉及的特征维度。衍生特征维度通常可以是对特征维度进行衍生得到的,其通常与特征维度具有相关性。
[0132] 具体地,可以对用户使用系统的行为进行分析,确定该行为所涉及的特征维度。然后对该特征维度进行衍生处理,得到衍生特征维度。对特征维度和衍生特征维度通过特征工程的方式进行标准化,归一化等等方式进行处理。
[0133] S506,对所述特征维度和衍生特征维度进行相关性分析,确定聚类特征维度;
[0134] 其中,相关性检验在本实施中通常可以是确定特征维度之间、衍生特征维度之间以及特征维度和衍生特征维度之间的相关性的一种方法。聚类特征维度通常可以是相关性较高的特征维度和/或衍生特征维度。
[0135] 具体地,可以通过皮尔斯相关系数的方式,或spearman相关系数,或者其他计算相关性的算法,计算特征维度之间、衍生特征维度之间以及特征维度和衍生特征维度之间的相关性。根据上述计算得到的相关性确定聚类特征维度。
[0136] S508,根据所述聚类特征维度和所述行为对应的行为分析数据建立行为聚类模型。
[0137] 具体地,根据聚类特征维度和上述行为对应的行为分析数据,通过聚类算法建立行为聚类模型。建立聚类模型后,通常情况下根据不同的行为分析数据可以聚类为多种聚类结果。因此,该行为聚类模型中包括了多个聚类结果和所述多个聚类结果对应的聚类质心。
[0138] 在本实施例中,通过建立行为聚类模型,能够准确的对用户的行为日志数据进行分析,从而确定该行为的行为偏离度。进而将行为偏离度作为构建风险检测模型的一个建模特征,能够使得最终得到的风险检测模型检测效果更准确。
[0139] 在一个实施例中,所述方法还包括:
[0140] 在对风险行为数据进行处理时,对风险行为数据中建模特征通过降维方法进行降维处理,
[0141] 在对行为分析数据进行处理时,对行为分析数据中聚类特征维度通过降维方法进行降维处理,所述降维方法包括:主成分分析方法。
[0142] 其中,主成分分析方法通常可以是PCA(principal components analysis)将多个指标转化为少数几个综合指标的方式,在本公开中可以是将行为分析数据中聚类特征维度排除无关的特征维度的方式,以及将风险行为数据中建模特征排除无关的特征的方式。
[0143] 具体地,在对风险行为数据进行处理时,可以通过PCA对风险行为数据中建模数据进行降维处理。在对行为分析数据进行处理时,可以通过PCA对行为分析数据中行为分析数据中上述确定的聚类特征维度进行降维,保留信息量的同时排除无关特征的干扰,提升建立聚类模型时的速度,也便于效果展示。可以理解的是,本公开实施例中此处也可以使用其他的降维方法。
[0144] 在一个实施例中,本公开还提供了一种风险检测方法,方法包括:
[0145] 获取行为日志数据;
[0146] 将行为日志数据输入至上述任一实施例构建的风险检测模型中,得到预测点和预测点对应的预测分类。
[0147] 根据所述预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度;
[0148] 根据所述风险近似度确定风险等级。
[0149] 其中,风险检测模型通常是对行为日志数据进行聚类的模型。聚类通常指将物理或抽象对象的集合分成由类似的对象组成的多个类的过程,在本公开的一些实施例中指对相似的用户行为进行聚类。风险检测可以是在用户认证、登录某个应用系统的时候进行确认是否存在风险的过程。
[0150] 具体地,获取当前用户行为产生的行为日志数据,将行为日志数据输入至风险检测模型中,得到通过该风险检测模型输出行为日志数据对应的预测点,以及该预测点在风险检测模型中多个预测分类中对应的预测分类。可以通过预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度。然后可以通过预先设置的等级范围确定风险近似度的风险等级。预先设置的等级范围可以如表3等级范围表所示。
[0151] 表3等级范围表
[0152]
[0153] 在本实施例中,通过风险检测模型得到的预测点和预测点对应的预测分类计算风险近似度能够减少风险确认的难度以及时间成本。
[0154] 在一个实施例中,如图8所示,所述根据所述预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度,包括:
[0155] S602,计算所述预测点和所述预测质心的第一距离;
[0156] S604,计算所述预测分类中每个分类点与所述预测质心的第二距离;
[0157] S606,确定所述第二距离小于或等于所述第一距离的分类点的目标数量;
[0158] S608,根据所述目标数量和所述预测分类中所有分类点的数量计算风险近似度。
[0159] 具体地,确定预测点在预测分类中位置信息,计算预测点的位置信息和预测分类中预测质心的位置之间的第一距离。计算预测分类中每个分类点与预测质心的第二距离,找到第二距离小于或等于第一距离的分类点的数量,该数量可以为目标数量。根据目标数量和总数量计算风险近似度。
[0160] 在本实施例的另一些实施方式中,如图9所示,还可以采用如下方式确定目标数量,
[0161] 以第一距离为半径,以预测质心为圆心。规划一个圆平面,确定圆平面中分类点的数量,根据该数量确定目标数量。
[0162] 可以根据目标数量和总数量采用下述公式计算得到风险近似度:
[0163]
[0164] 其中, 为第二距离小于或等于第一距离的分类点的数量; 为预测分类中分类点的总数量。
[0165] 应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0166] 基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的风险检测模型构建方法的风险检测模型构建装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个风险检测模型构建装置实施例中的具体限定可以参见上文中对于风险检测模型构建方法的限定,在此不再赘述。
[0167] 在一个实施例中,如图10所示,提供了一种风险检测模型构建装置1000,包括:数据获取模块1002、数据处理模块1004、特征确定模块1006、偏离度计算模块1008和模型构建模块1010,其中:
[0168] 数据获取模块1002,用于获取行为日志数据和风险日志数据,所述行为日志数据包括使用系统的行为产生的日志数据,所述风险日志数据包括所述系统产生风险时记录的日志数据;
[0169] 数据处理模块1004,用于对所述行为日志数据和风险日志数据进行整合筛选处理,得到风险行为数据;
[0170] 特征确定模块1006,用于根据所述风险的触发条件确定风险特征维度;
[0171] 偏离度计算模块1008,用于根据所述行为日志数据和预先确定的行为聚类模型,确定行为偏离度;
[0172] 模型构建模块1010,用于根据所述风险特征维度、行为偏离度和风险行为数据构建风险检测模型。
[0173] 在所述装置的一个实施例中,数据处理模块1004包括:整合模块,用于根据标识信息对所述行为日志数据和风险日志数据进行整合,得到整合数据。
[0174] 第一筛选模块,用于根据风险的类型对所述整合数据进行第一筛选,得到第一整合数据,所述第一筛选包括:删除所述整合数据中根据时间周期确定风险的整合数据。
[0175] 第二筛选模块,用于根据所述第一整合数据中风险的分布情况,进行第二筛选,得到风险行为数据,所述第二筛选包括:删除所述第一整合数据中风险次数低于预设的风险次数阈值的第一整合数据。
[0176] 在所述装置的一个实施例中,所述模型构建模块1010包括:
[0177] 特征衍生模块,用于根据所述风险特征维度确定衍生风险特征维度。
[0178] 相关性分析模块,用于对所述风险特征维度和衍生风险特征维度进行相关性分析,确定建模特征。
[0179] 模型构建子模块,用于根据所述建模特征、行为偏离度和所述风险行为数据并利用聚类算法构建风险检测模型。
[0180] 在所述装置的一个实施例中,所述装置还包括:行为聚类模型构建模块,用于对系统日志数据进行筛选,得到行为分析数据;根据用户使用系统的行为,确定特征维度和衍生特征维度;其中,所述衍生特征维度是通过衍生所述特征维度得到的;对所述特征维度和衍生特征维度进行相关性分析,确定聚类特征维度;根据所述聚类特征维度和所述行为对应的行为分析数据建立行为聚类模型。
[0181] 在所述装置的一个实施例中,所述装置还包括,降维处理模块,用于在对风险行为数据进行处理时,对风险行为数据中建模特征通过降维方法进行降维处理,
[0182] 在对行为分析数据进行处理时,对行为分析数据中聚类特征维度通过降维方法进行降维处理,所述降维方法包括:主成分分析方法。
[0183] 在一个实施例中,如图11所示,还提供了一种风险检测装置1100,所述装置包括:
[0184] 行为数据获取模块1102,用于获取行为日志数据;
[0185] 模型输入模块1104,用于将所述行为日志数据输入至上述任一项实施例构建的风险检测模型,得到预测点和预测点对应的预测分类;
[0186] 风险近似度计算模块1106,用于根据所述预测点、预测分类和预测分类中对应的预测质心,确定产生所述行为日志数据的行为的风险近似度
[0187] 风险等级确定模块1108,用于根据所述风险近似度确定风险等级。
[0188] 风险近似度计算模块1106,还用于计算所述预测点和所述预测质心的第一距离;计算所述预测分类中每个分类点与所述预测质心的第二距离;确定所述第二距离小于或等于所述第一距离的分类点的目标数量;根据所述目标数量和所述预测分类中所有分类点的数量计算偏离度。
[0189] 上述风险检测模型构建装置和风险检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0190] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储行为日志数据和风险日志数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种风险模型构建方法、风险检测方法。
[0191] 本领域技术人员可以理解,图12中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0192] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0193] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0194] 在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0195] 需要说明的是,本公开所涉及的行为日志数据和风险日志数据以及用户名或者用户ID,均为经用户授权或者经过各方充分授权的信息和数据。
[0196] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,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 Random Access Memory,DRAM)等。本公开所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0197] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0198] 以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开的保护范围应以所附权利要求为准。