接口异常访问识别方法、装置、计算机设备及存储介质与流程
未命名
09-22
阅读:68
评论:0
1.本技术涉及人工智能技术领域,尤其涉及一种接口异常访问识别方法、装置、计算机设备及存储介质。
背景技术:
2.随着互联网的不断发展,网络安全所带来的挑战也越来越严峻。接口异常访问识别是保证网络安全和信息安全的重要环节,该技术可以及时发现接口使用的异常威胁行为,防止网络攻击、病毒传播、信息泄露,从而保护网络空间和数据安全。特别是金融行业,因为业务必要,企业需要向客户、员工、合作伙伴或互联网游客开放一些查询接口,其中存在一些接口提供的是敏感数据。企业既需要提供这种接口,又要避免接口被滥用,这就需要对接口的使用情况进行监控,从而识别异常的访问,并为阻断访问提供判断依据。
3.目前业内监控和判断大多是基于具体的规则或人工辅助判断的。人工能够识别异常特征,但需要投入大量人力;而部分异常访问的特征,是难以使用明确的规则进行表达的,即使能找到一些统计量,但设置的规则阈值也很主观。
技术实现要素:
4.本技术实施例的目的在于提出一种接口异常访问识别方法、装置、计算机设备及存储介质,以解决现有技术中需要人工介入进行接口异常访问识别,造成大量人力成本投入,同时判断的主观性强,导致异常误报率高的技术问题。
5.为了解决上述技术问题,本技术实施例提供一种接口异常访问识别方法,采用了如下所述的技术方案:
6.获取目标接口的接口参数和历史访问日志数据,对所述日志数据进行清洗,得到访问样本数据集,所述访问样本数据集包括正常访问样本和异常访问样本;
7.获取所述访问样本数据集中每条日志数据的行为特征以及特征标签,基于所述行为特征、所述特征标签以及所述接口参数构建训练集和测试集,其中,所述特征标签为所述正常访问样本的正常标识或所述异常访问样本的异常标识;
8.将所述训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型;
9.将所述测试集输入所述预测分类模型进行验证,得到验证结果,若所述验证结果符合预设条件,输出所述预测分类模型作为异常访问识别模型;
10.获取待识别访问日志的行为特征数据,将所述行为特征数据输入所述异常访问识别模型,得到异常识别结果。
11.进一步的,,所述获取所述访问样本数据集中每条日志数据的行为特征以及特征标签,基于所述行为特征、所述特征标签以及所述接口参数构建训练集和测试集的步骤包括:
12.提取每条所述日志数据中的字段数据;
13.利用所述字段数据构造多维行为特征和对应的特征标签;
14.将所述行为特征和所述接口参数组成统计特征样本集;
15.按照预设比例将所述统计特征样本集划分为第一特征样本集和第二特征样本集,将所述第一特征样本集和第二特征样本集对应的特征标签分别作为第一目标分类样本集和第二目标分类样本集;
16.将所述第一特征样本集和所述第一目标分类样本集组成训练集,所述第二特征样本集和所述第二目标分类样本集组成测试集。
17.进一步的,所述将所述训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型的步骤包括:
18.将所述第一特征样本集输入逻辑回归模型中进行计算,得到预测结果;
19.根据所述预测结果和所述第一目标分类样本集中对应的特征标签,计算得到偏移量;
20.基于所述偏移量和所述第一特征样本集进行计算,得到调整量;
21.根据所述调整量更新所述逻辑回归模型的模型参数,继续训练,直至模型收敛,输出预测分类模型。
22.进一步的,所述根据所述预测结果和所述第一目标分类样本集中对应的特征标签,计算得到偏移量的步骤包括:
23.使用激活函数对所述预测结果进行归一化处理,得到归一化预测值;
24.计算所述特征标签与所述归一化预测值的差值,所述差值为偏移量。
25.进一步的,所述基于所述偏移量和所述第一特征样本集进行计算,得到调整量的步骤包括:
26.将所述第一特征样本集转换为特征矩阵,并将所述特征矩阵进行转置,得到特征转置矩阵;
27.将所述偏移量转换为偏移向量,对所述特征转置矩阵和所述偏移向量进行矩阵计算,得到特征向量;
28.将所述特征向量和预设学习率进行向量计算,得到调整向量;
29.基于所述调整向量获得所述模型参数的调整量。
30.进一步的,所述将所述测试集输入所述预测分类模型进行验证,得到验证结果的步骤包括:
31.将所述第二特征样本集输入所述预测分类模型中进行计算,得到验证预测结果;
32.使用激活函数对所述验证预测结果进行归一化处理,得到归一化验证预测值;
33.根据所述归一化验证预测值和所述第二目标分类样本集中对应的特征标签,计算得到预测误差值,将所述预测误差值作为所述验证结果。
34.进一步的,在所述将所述测试集输入所述预测分类模型进行验证,得到验证结果的步骤之后还包括:
35.若所述验证结果不符合预设条件,则获取增量学习样本作为新增样本添加至所述训练集,得到更新后的训练集;
36.使用所述更新后的训练集重新训练所述逻辑回归模型,得到新的异常访问识别模型。
37.为了解决上述技术问题,本技术实施例还提供一种接口异常访问识别装置,采用
了如下所述的技术方案:
38.获取模块,用于获取目标接口的接口参数和历史访问日志数据,对所述日志数据进行清洗,得到访问样本数据集,所述访问样本数据集包括正常访问样本和异常访问样本;
39.构建模块,用于获取所述访问样本数据集中每条日志数据的行为特征以及特征标签,基于所述行为特征、所述特征标签以及所述接口参数构建训练集和测试集,所述特征标签为所述正常访问样本的正常标识或所述异常访问样本的异常标识;
40.训练模块,用于将所述训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型;
41.验证模块,用于将所述测试集输入所述预测分类模型进行验证,得到验证结果,若所述验证结果符合预设条件,输出所述预测分类模型作为异常访问识别模型;
42.识别模块,用于获取待识别访问日志的行为特征数据,将所述行为特征数据输入所述异常访问识别模型,得到异常识别结果。
43.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:
44.该计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的接口异常访问识别方法的步骤。
45.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
46.所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的接口异常访问识别方法的步骤。
47.与现有技术相比,本技术实施例主要有以下有益效果:
48.本技术通过获取目标接口的接口参数和历史访问日志数据,对日志数据进行清洗,得到访问样本数据集,访问样本数据集包括正常访问样本和异常访问样本,可以获得不同类型接口的访问样本数据,从而实现对接口访问数据进行批量处理;获取访问样本数据集中每条日志数据的行为特征以及特征标签,基于行为特征、特征标签以及接口参数构建训练集和测试集,特征标签为正常访问样本的正常标识或异常访问样本的异常标识,可以构建针对不同接口训练集和测试集,使得后续构建的异常访问识别模型能够识别不同接口的异常访问;将训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型;将测试集输入预测分类模型进行验证,得到验证结果,若验证结果符合预设条件,输出预测分类模型作为异常访问识别模型;获取待识别访问日志的行为特征数据,将行为特征数据输入异常访问识别模型,得到异常识别结果,通过训练得到的异常访问识别模型进行异常访问识别,能够批量处理大量的访问数据,节省大量的人力成本,同时规避了设置复杂且不确定的规则的难题,只需要将与异常可能相关的行为特征输入模型即可,提高识别效率,此外,模型参数自动调整适配,可以避免人为设置规则参数的主观性,提高异常识别的准确率。
附图说明
49.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1是本技术可以应用于其中的示例性系统架构图;
51.图2是根据本技术的接口异常访问识别方法的一个实施例的流程图;
52.图3是根据本技术的接口异常访问识别装置的一个实施例的结构示意图;
53.图4是根据本技术的计算机设备的一个实施例的结构示意图。
具体实施方式
54.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
55.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
56.为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
57.本技术提供了一种接口异常访问识别方法,涉及人工智能,可以应用于如图1所示的系统架构100中,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
58.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
59.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
60.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
61.需要说明的是,本技术实施例所提供的接口异常访问识别方法一般由服务器/终端设备执行,相应地,接口异常访问识别装置一般设置于服务器/终端设备中。
62.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
63.继续参考图2,示出了根据本技术的接口异常访问识别方法的一个实施例的流程图,包括以下步骤:
64.步骤s201,获取目标接口的接口参数和历史访问日志数据,对日志数据进行清洗,
object notation,js对象简谱)结构。然后,根据结构信息对日志数据进行拆解,得到的日志字段对应的字段数据,即日志特征。
79.在一些可选的实现方式中,也可以采用正则表达式匹配的方式提取每条日志数据中的字段数据,其中,正则表达式是根据日志数据的字段特点设置的正则表达式。日志数据的字段特点可以是较高频率出现的字段内容,也可以是特定的字段内容,还可以是特定的字符串标识。正则表达式的设置方式并不唯一,在此不作具体限定。
80.在本实施例中,利用字段数据构造多维行为特征,行为特征应满足以下要求:基于经验、易于统计、针对设计。首先,特征的选取应是基于对过往异常样本和正常样本差别的经验;其次,应选择易于计算的统计量,减少未来潜在的计算负荷;最后,针对不同类型功能的接口可设计不完全相同的统计特征。
81.具体的,行为特征可以包括:总访问量、预设时间范围访问量(如0-6点间访问量)、连续访问的小时数、访问来源的ip数量、访问来源ip是否来自公有云(0代表否,1代表是)、批量请求的条目数、被请求客体的变化情况以及最高访问频率等。其中,以上述日志数据为例,其中sensitivedatahash字段的值是指用户手机号的哈希,一般情况该值不会变化,如果一天中该值有变化则记录为1,无变化为0。
82.需要说明的是,每条日志数据为正常访问样本还是异常访问样本样本是已知,特征标签为正常访问样本的正常标识或异常访问样本的异常标识,用于表征一条日志数据为正常访问样本还是异常访问样本,如果是正常访问样本,特征标签为正常标识,可以用1表示;如果是异常访问样本,特征标签为异常标识,可以用0表示。
83.其中,特征标签可以根据日志字段中的访问情况进行确认,以上述日志为例,result字段的字段数据为successful,说明响应成功,即为正常访问样本。
84.在一些实施方式中,基于行为特征、特征标签以及接口参数构建训练集和测试集的步骤包括:
85.将行为特征和接口参数组成统计特征样本集;按照预设比例将统计特征样本集划分为第一特征样本集和第二特征样本集,将第一特征样本集和第二特征样本集对应的特征标签分别作为第一目标分类样本集和第二目标分类样本集;将第一特征样本集和第一目标分类样本集组成训练集,第二特征样本集和所述第二目标分类样本集组成测试集。
86.根据所有日志数据对应的行为特征和接口参数构造为统计特征样本集,然后按照预设比例划分为训练集和测试集,其中,预设比例可以根据经验进行设置,具体的,训练集和样本集之间的比例大于等于5:1;训练集和测试集中分别包含正常样本和异常样本,训练集和测试集两个集合交集为空。
87.第一特征样本集用x_train表示,第二特征样本集用x_test表示,第一目标分类样本集用y_train表示,第二目标分类样本集用y_test表示。假设x_train有m条样本,并选定了n个统计量(行为特征),那么更新后的x_train∈r(m
×
n);同理有x_test∈r(h
×
n)。因为已知每条样本数据是否为异常,设1代表正常,0代表异常,则有y_train∈r(m
×
1),代表了x_train每条样本的正常与否;同理,有y_test∈r(h
×
1),代表y_test每条样本的正常与否。其中,m、n和h均为大于0的自然数。
88.需要说明的是,将接口参数作为样本集的一个特征进行模型训练,可以避免将不同类型接口的访问样本数据混合,同时模型可以对不同接口的访问数据进行判别。
89.步骤s203,将训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型。
90.在本实施例中,通过学习判断异常,属于二分类问题,可以采用逻辑回归模型,计算逻辑为:
91.y=x
·
k,k∈r(n
×
1);
92.其中,x代表第一特征样本集或第二特征样本集;k代表模型参数的集合。
93.在本实施例的一些实施方式中,将训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型的步骤包括:
94.将第一特征样本集输入逻辑回归模型中进行计算,得到预测结果;
95.根据预测结果和第一目标分类样本集中对应的特征标签,计算得到偏移量;
96.基于偏移量和第一特征样本集进行计算,得到调整量;
97.根据调整量更新逻辑回归模型的模型参数,继续训练,直至模型收敛,输出预测分类模型。
98.在本实施例中,将训练数据集输入逻辑回归模型中,得到预测结果(即预测样本数据的分类为正常或异常的概率),根据预测结果和对应的特征标签得到偏移量,基于偏移量得到每个模型参数对应的调整量,使用调整量调整对应的模型参数。具体的,根据调整量调整模型参数,继续进行迭代训练,模型训练到一定程度,模型的性能达到最优状态,达到最优状态可以通过模型是否收敛进行判断。其中,判断收敛的方式包括:(1)需要计算前后两轮迭代中的调整量,若调整量仍在变化,则继续进行迭代训练;若调整量没有显著变化,则可认为模型收敛;(2)预先设置迭代次数,按照预设迭代次数进行迭代训练,达到预设的迭代次数则认为模型收敛。模型收敛后,则停止训练,输出训练完成的逻辑回归模型作为预测分类模型。
99.本实施例通过训练模型用于异常访问识别判定,使用机器学习的方法,替代了传统的规则判断的方法,并且利用了传统方式的产出,作为模型的输入,不需要额外挖掘数据,此外,还避免了设置复杂且不确定的规则的难题,只需要将与异常可能相关的统计量输入模型即可,提高识别的效率和准确率。
100.步骤s204,将测试集输入所述预测分类模型进行验证,得到验证结果,若验证结果符合预设条件,输出预测分类模型作为异常访问识别模型。
101.将测试集的第二特征样本集输入预测分类模型中进行验证,将得到的验证结果(即每条样本数据为正常或异常的概率)与特征标签(样本数据实际正常或异常的概率)进行比较,得到预测误差值,若预测误差值落入预设误差范围,则预测结果与实际结果一致,表示模型的识别准确度高,则输出该预测分类模型作为异常访问识别模型;若预测误差值不在预设误差范围,则模型的准确度不能满足要求,可以考虑增加样本、调整迭代次数或学习率,如果仍不理想,调整构造的多维行为特征,重新进行逻辑回归模型训练。
102.步骤s205,获取待识别访问日志的行为特征数据,将行为特征数据输入异常访问识别模型,得到异常识别结果。
103.在学习到可接受的模型参数后,将训练得到的异常访问识别模型在监控平台中实现。对目标敏感接口的访问日志,每天计算所有访问日志的n个行为特征数据,然后输入模型计算该访问为正常(或异常)的概率。
104.理论上,pi》0.5即为正常概率较高,但也可以根据判断的谨慎程度,仅将pi《0.1(可调整的较小的数字)的样本视为异常。
105.在本实施例中,可以将得到异常识别结果的待识别访问日志的日志数据作为训练样本增加至训练集中,还可以通过人工核实模型对真实新增数据的判断准确情况,核实准确的数据或其他途径验证的数据,可以继续投入模型中学习,更新模型参数。这样,通过不断更新的训练集对模型进行训练,以更新异常访问识别模型,使得模型不断自我修正和进化,从而提高异常识别的准确度。
106.本技术通过接口的历史访问日志数据和接口参数进行逻辑回归模型训练,并对新的访问日志进行识别,使得异常访问识别方式不再局限于固有规则的设定,异常识别机制能不断自我修正和进化,从而提升访问意图的判断能力,提高不同接口访问的安全性;通过机器学习进行自我“进化”的异常识别手段,以对层出不穷的异常访问或恶意请求进行判别和拦截,从而不断改善安全防护能力;通过异常访问识别模型进行异常访问识别,能够批量处理大量的访问数据,节省大量的人力成本,同时规避了设置复杂且不确定的规则的难题,只需要将与异常可能相关的行为特征输入模型即可,提高识别效率,此外,模型参数自动调整适配,可以避免人为设置规则参数的主观性,提高异常识别的准确率。
107.在本实施例的一些可选的实现方式中,上述根据预测结果和第一目标分类样本集中对应的特征标签,计算得到偏移量的步骤包括:
108.使用激活函数对预测结果进行归一化处理,得到归一化预测值;
109.计算特征标签与归一化预测值的差值,差值为偏移量。
110.通过逻辑回归模型直接输出的预测结果符合归一化原则,因此使用激活函数,即sigmoid函数将(负无穷,正无穷)上的预测结果映射到(0,1)。定义为第i个样本是否正常的(未归一化的)模型预测;定义zi为对应的sigmoid函数归一化处理后的预测值,对比zi和y_train中对应样本的真实值(特征标签)的差值,即为偏移量。
111.其中,sigmoid函数的公式如下:
[0112][0113]
式中,k1、k2……kn
表示模型参数,n为大于0的自然数。
[0114]
本技术通过利用偏移量可以评价模型对此样本预测的准确程度,以便后续对模型参数进行优化。
[0115]
在一些可选的实现方式中,基于偏移量和第一特征样本集进行计算,得到调整量的步骤包括:
[0116]
将第一特征样本集转换为特征矩阵,并将特征矩阵进行转置,得到特征转置矩阵;
[0117]
将偏移量转换为偏移向量,对特征转置矩阵和所述偏移向量进行矩阵计算,得到特征向量;
[0118]
将特征向量和预设学习率进行向量计算,得到调整向量;
[0119]
基于调整向量获得所述模型参数的调整量。
[0120]
其中,将第一特征样本集x_train转换为特征矩阵(m
×
n),将特征矩阵转置为特征转置矩阵(n
×
m),将偏移量转换为偏移向量(m
×
1),将特征转置矩阵(n
×
m)和偏移向量(m
×
1)相乘,得到特征向量(n
×
1);将特征向量(n
×
1)中每个元素乘以预设学习率r得到调整向量mo,调整向量mo中每个元素对应模型参数的调整量,根据调整量更新模型参数。
[0121]
本实施例通过向量计算获得调整量,然后根据调整量更新模型参数,可以更高效地训练出满足需要的模型。
[0122]
在本实施例的一些可选的实现方式中,上述将测试集输入预测分类模型进行验证,得到验证结果的步骤包括:
[0123]
将第二特征样本集输入预测分类模型中进行计算,得到验证预测结果;
[0124]
使用激活函数对验证预测结果进行归一化处理,得到归一化验证预测值;
[0125]
根据归一化验证预测值和第二目标分类样本集中对应的特征标签,计算得到预测误差值,将预测误差值作为验证结果。
[0126]
具体的,将第二特征样本集x_test输入预测分类模型计算得到验证预测结果,计算过程如下:
[0127][0128]
其中,表示测试集中第i个样本是否正常的模型预测概率(未归一化),i=1,2,
……
,h。
[0129]
使用激活函数sigmoid函数对进行归一化处理,得到归一化验证预测值,计算公式如下:
[0130][0131]
计算得到h个归一化验证预测值,将每个归一化验证预测值与第二目标分类样本集y_test中对应的特征标签,即该样本真是概率值进行比较,计算得到预测误差值,根据预测误差值判断训练得到的模型是否满足预测准确性需求,可以保证模型识别的准确度。
[0132]
在一些可选的实现方式中,在上述将测试集输入预测分类模型进行验证,得到验证结果的步骤之后还包括:
[0133]
若验证结果不符合预设条件,则获取增量学习样本作为新增样本添加至训练集,得到更新后的训练集;
[0134]
使用更新后的训练集重新训练逻辑回归模型,得到新的异常访问识别模型。
[0135]
验证结果不符合预设条件,即预测误差值不在预设范围内,则说明当前得到的异常访问识别模型预测准确度较低,不符合要求,则获取增量学习样本添加至训练集,重新训练逻辑回归模型,得到收敛的待验证模型;对待验证模型进行验证,若验证结果符合预设条件,则输出该待验证模型作为新的异常访问识别模型;若验证结果还是不符合预设条件,可以调整迭代次数或学习率进行重新训练,若结果仍不理想,调整统计的行为特征。
[0136]
下面结合一个具体示例对本技术的模型训练过程进行进一步说明。
[0137]
初始化模型参数k1、k2
……
kn=0.1(可调节);初始化学习率r=0.01(可调节);初始化迭代次数t=200(可调节)。
[0138]
构造的多维行为特征包括:总访问量、0-6点间访问量、连续访问的小时数、访问来源的ip数量和被请求客体的变化情况,则假设x_train的m个样本数据为(100,10,15,2,0)、(20,10,10,1,0)
……
(50,2,10,5,1);y_train的m个特征标签为(1,1,
…
,0)。
[0139]
1)对m个样本分别计算具体如下:
[0140][0141][0142]
……
[0143][0144]
2)对m个样本分别计算zi=sigmoid具体如下:
[0145]
z1=0.999996948883751;
[0146]
z2=0.983697500428559;
[0147]
……
[0148]
zm=0.99888744396714。
[0149]
3)对m个样本分别计算偏移量bias(i)=y_train(i)-zi
[0150]
bias(1)=1-0.999996948883751=0.000003051114249;
[0151]
bias(2)=1-0.983697500428559=0.014302499371441;
[0152]
……
[0153]
bias(m)=0-0.99888744396714=-0.99888744396714。
[0154]
4)计算调整量
[0155]
x_train矩阵(m
×
n)转置后为(n
×
m),乘bias向量(m
×
1),得到特征向量(n
×
1),再将特征向量(n
×
1)中的每个元素乘以学习率r得到调整向量mo。
[0156]
示例的,原x_train矩阵为{(100,10,15,2,0)(20,10,10,1,0)
……
(50,2,10,5,1)},转置后为{(100,20,
…
,50)(10,10,
…
,2)(15,10,
…
,10)(2,1,
…
,5)(0,0,
…
,1)},乘以bias向量(0.000003051114249,0.014302499371441,
…
,-0.99888744396714),再乘以学习率0.01,得到的调整向量mo。
[0157]
5)更新模型参数
[0158]
更新5个模型参数,kj=kj+moj;
[0159]
式中,kj表示第j个行为特征对应的初始化模型参数;moj表示调整向量mo中第j个模型参数的调整量。
[0160]
循环以上5个步骤共t次,输出最终的k1至kn即为最终的模型结果。
[0161]
本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0162]
本技术可以应用于金融科技领域中,历史访问日志数据可以是调用获取保单数据的接口的访问日志,提取该访问日志的行为特征数据,并将其输入到异常访问识别模型中
进行预测分类,从而识别该访问是否正常,以保证接口数据调用的安全性,避免隐私泄露。
[0163]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
[0164]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0165]
进一步参考图3,作为对上述图2所示方法的实现,本技术提供了一种接口异常访问识别装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0166]
如图3所示,本实施例所述的接口异常访问识别装置300包括:获取模块301、构建模块302、训练模块303、验证模块304以及识别模块305。其中:
[0167]
获取模块301用于获取目标接口的接口参数和历史访问日志数据,对所述日志数据进行清洗,得到访问样本数据集,所述访问样本数据集包括正常访问样本和异常访问样本;
[0168]
构建模块302用于获取所述访问样本数据集中每条日志数据的行为特征以及特征标签,基于所述行为特征、所述特征标签以及所述接口参数构建训练集和测试集,所述特征标签为所述正常访问样本的正常标识或所述异常访问样本的异常标识;
[0169]
训练模块303用于将所述训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型;
[0170]
验证模块304用于将所述测试集输入所述预测分类模型进行验证,得到验证结果,若所述验证结果符合预设条件,输出所述预测分类模型作为异常访问识别模型;
[0171]
识别模块305用于获取待识别访问日志的行为特征数据,将所述行为特征数据输入所述异常访问识别模型,得到异常识别结果。
[0172]
需要强调的是,为进一步保证日志数据的私密和安全性,上述日志数据还可以存储于一区块链的节点中。
[0173]
基于上述接口异常访问识别装置,通过获得不同类型接口的访问样本数据,可以实现对接口访问数据进行批量处理;通过构建针对不同接口训练集和测试集,使得后续构建的异常访问识别模型能够识别不同接口的异常访问;通过训练得到的异常访问识别模型进行异常访问识别,能够批量处理大量的访问数据,节省大量的人力成本,同时规避了设置复杂且不确定的规则的难题,只需要将与异常可能相关的行为特征输入模型即可,提高识别效率,此外,模型参数自动调整适配,可以避免人为设置规则参数的主观性,提高异常识别的准确率。
[0174]
在本实施例中,构建模块302包括提取子模块、构造子模块、特征样本组成子模块、
划分子模块以及数据集组成模块,其中:
[0175]
提取子模块用于提取每条所述日志数据中的字段数据;
[0176]
构造子模块用于利用所述字段数据构造多维行为特征和对应的特征标签;
[0177]
特征样本组成子模块用于将所述行为特征和所述接口参数组成统计特征样本集;
[0178]
划分子模块用于按照预设比例将所述统计特征样本集划分为第一特征样本集和第二特征样本集,将所述第一特征样本集和第二特征样本集对应的特征标签分别作为第一目标分类样本集和第二目标分类样本集;
[0179]
数据集组成模块用于将所述第一特征样本集和所述第一目标分类样本集组成训练集,所述第二特征样本集和所述第二目标分类样本集组成测试集。
[0180]
在一些可选的实现方式中,训练模块303包括预测子模块、偏移计算子模块、调整计算子模块以及更新子模块,其中:
[0181]
预测子模块用于将所述第一特征样本集输入逻辑回归模型中进行计算,得到预测结果;
[0182]
偏移计算子模块用于根据所述预测结果和所述第一目标分类样本集中对应的特征标签,计算得到偏移量;
[0183]
调整计算子模块用于基于所述偏移量和所述第一特征样本集进行计算,得到调整量;
[0184]
更新子模块用于根据所述调整量更新所述逻辑回归模型的模型参数,继续训练,直至模型收敛,输出预测分类模型。
[0185]
通过训练模型用于异常访问识别判定,使用机器学习的方法,替代了传统的规则判断的方法,并且利用了传统方式的产出,作为模型的输入,不需要额外挖掘数据,此外,还避免了设置复杂且不确定的规则的难题,只需要将与异常可能相关的统计量输入模型即可,提高识别的效率和准确率。
[0186]
在本实施例的一些可选的实现方式中,偏移计算子模块进一步用于:
[0187]
用激活函数对所述预测结果进行归一化处理,得到归一化预测值;
[0188]
计算所述特征标签与所述归一化预测值的差值,所述差值为偏移量。
[0189]
通过利用偏移量可以评价模型对此样本预测的准确程度,以便后续对模型参数进行优化。
[0190]
在本实施例的一些可选的实现方式中,调整计算子模块包括转置单元、矩阵计算单元、向量计算单元和获取单元,其中:
[0191]
转置单元用于将所述第一特征样本集转换为特征矩阵,并将所述特征矩阵进行转置,得到特征转置矩阵;
[0192]
矩阵计算单元用于将所述偏移量转换为偏移向量,对所述特征转置矩阵和所述偏移向量进行矩阵计算,得到特征向量;
[0193]
向量计算单元用于将所述特征向量和预设学习率进行向量计算,得到调整向量;
[0194]
获取单元用于基于所述调整向量获得所述模型参数的调整量。
[0195]
通过向量计算获得调整量,然后根据调整量更新模型参数,可以更高效地训练出满足需要的模型。
[0196]
在本实施例中,验证模块304进一步用于:
[0197]
将所述第二特征样本集输入所述预测分类模型中进行计算,得到验证预测结果;
[0198]
使用激活函数对所述验证预测结果进行归一化处理,得到归一化验证预测值;
[0199]
根据所述归一化验证预测值和所述第二目标分类样本集中对应的特征标签,计算得到预测误差值,将所述预测误差值作为所述验证结果。
[0200]
本实施例通过预测误差值判断训练得到的模型是否满足预测准确性需求,可以保证模型识别的准确度。
[0201]
在一些可选的实现方式中,接口异常访问识别装置300还包括增量学习模块,用于:
[0202]
若所述验证结果不符合预设条件,则获取增量学习样本作为新增样本添加至所述训练集,得到更新后的训练集;
[0203]
使用所述更新后的训练集重新训练所述逻辑回归模型,得到新的异常访问识别模型。
[0204]
为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
[0205]
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
[0206]
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
[0207]
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如接口异常访问识别方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0208]
所述处理器42在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述接口异常访问识别方法的计算机可读指令。
[0209]
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
[0210]
本实施例通过处理器执行存储在存储器的计算机可读指令时实现如上述实施例接口异常访问识别方法的步骤,通过训练异常访问识别模型进行异常访问识别,能够批量处理大量的访问数据,节省大量的人力成本,同时规避了设置复杂且不确定的规则的难题,只需要将与异常可能相关的行为特征输入模型即可,提高识别效率,此外,模型参数自动调整适配,可以避免人为设置规则参数的主观性,提高异常识别的准确率。
[0211]
本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的接口异常访问识别方法的步骤,通过训练异常访问识别模型进行异常访问识别,能够批量处理大量的访问数据,节省大量的人力成本,同时规避了设置复杂且不确定的规则的难题,只需要将与异常可能相关的行为特征输入模型即可,提高识别效率,此外,模型参数自动调整适配,可以避免人为设置规则参数的主观性,提高异常识别的准确率。
[0212]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
[0213]
显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
技术特征:
1.一种接口异常访问识别方法,其特征在于,包括下述步骤:获取目标接口的接口参数和历史访问日志数据,对所述日志数据进行清洗,得到访问样本数据集,所述访问样本数据集包括正常访问样本和异常访问样本;获取所述访问样本数据集中每条日志数据的行为特征以及特征标签,基于所述行为特征、所述特征标签以及所述接口参数构建训练集和测试集,其中,所述特征标签为所述正常访问样本的正常标识或所述异常访问样本的异常标识;将所述训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型;将所述测试集输入所述预测分类模型进行验证,得到验证结果,若所述验证结果符合预设条件,输出所述预测分类模型作为异常访问识别模型;获取待识别访问日志的行为特征数据,将所述行为特征数据输入所述异常访问识别模型,得到异常识别结果。2.根据权利要求1所述的接口异常访问识别方法,其特征在于,所述获取所述访问样本数据集中每条日志数据的行为特征以及特征标签,基于所述行为特征、所述特征标签以及所述接口参数构建训练集和测试集的步骤包括:提取每条所述日志数据中的字段数据;利用所述字段数据构造多维行为特征和对应的特征标签;将所述行为特征和所述接口参数组成统计特征样本集;按照预设比例将所述统计特征样本集划分为第一特征样本集和第二特征样本集,将所述第一特征样本集和第二特征样本集对应的特征标签分别作为第一目标分类样本集和第二目标分类样本集;将所述第一特征样本集和所述第一目标分类样本集组成训练集,所述第二特征样本集和所述第二目标分类样本集组成测试集。3.根据权利要求2所述的接口异常访问识别方法,其特征在于,所述将所述训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型的步骤包括:将所述第一特征样本集输入逻辑回归模型中进行计算,得到预测结果;根据所述预测结果和所述第一目标分类样本集中对应的特征标签,计算得到偏移量;基于所述偏移量和所述第一特征样本集进行计算,得到调整量;根据所述调整量更新所述逻辑回归模型的模型参数,继续训练,直至模型收敛,输出预测分类模型。4.根据权利要求3所述的接口异常访问识别方法,其特征在于,所述根据所述预测结果和所述第一目标分类样本集中对应的特征标签,计算得到偏移量的步骤包括:使用激活函数对所述预测结果进行归一化处理,得到归一化预测值;计算所述特征标签与所述归一化预测值的差值,所述差值为偏移量。5.根据权利要求3所述的接口异常访问识别方法,其特征在于,所述基于所述偏移量和所述第一特征样本集进行计算,得到调整量的步骤包括:将所述第一特征样本集转换为特征矩阵,并将所述特征矩阵进行转置,得到特征转置矩阵;将所述偏移量转换为偏移向量,对所述特征转置矩阵和所述偏移向量进行矩阵计算,得到特征向量;
将所述特征向量和预设学习率进行向量计算,得到调整向量;基于所述调整向量获得所述模型参数的调整量。6.根据权利要求2所述的接口异常访问识别方法,其特征在于,所述将所述测试集输入所述预测分类模型进行验证,得到验证结果的步骤包括:将所述第二特征样本集输入所述预测分类模型中进行计算,得到验证预测结果;使用激活函数对所述验证预测结果进行归一化处理,得到归一化验证预测值;根据所述归一化验证预测值和所述第二目标分类样本集中对应的特征标签,计算得到预测误差值,将所述预测误差值作为所述验证结果。7.根据权利要求1至6中任一项所述的接口异常访问识别方法,其特征在于,在所述将所述测试集输入所述预测分类模型进行验证,得到验证结果的步骤之后还包括:若所述验证结果不符合预设条件,则获取增量学习样本作为新增样本添加至所述训练集,得到更新后的训练集;使用所述更新后的训练集重新训练所述逻辑回归模型,得到新的异常访问识别模型。8.一种接口异常访问识别装置,其特征在于,包括:获取模块,用于获取目标接口的接口参数和历史访问日志数据,对所述日志数据进行清洗,得到访问样本数据集,所述访问样本数据集包括正常访问样本和异常访问样本;构建模块,用于获取所述访问样本数据集中每条日志数据的行为特征以及特征标签,基于所述行为特征、所述特征标签以及所述接口参数构建训练集和测试集,所述特征标签为所述正常访问样本的正常标识或所述异常访问样本的异常标识;训练模块,用于将所述训练集输入逻辑回归模型进行训练,模型收敛后,输出预测分类模型;验证模块,用于将所述测试集输入所述预测分类模型进行验证,得到验证结果,若所述验证结果符合预设条件,输出所述预测分类模型作为异常访问识别模型;识别模块,用于获取待识别访问日志的行为特征数据,将所述行为特征数据输入所述异常访问识别模型,得到异常识别结果。9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的接口异常访问识别方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的接口异常访问识别方法的步骤。
技术总结
本申请属于人工智能领域,涉及一种接口异常访问识别方法,包括获取目标接口的访问样本数据集;获取访问样本数据集的行为特征以及特征标签,基于行为特征、特征标签以及接口参数构建训练集和测试集;将训练集输入逻辑回归模型进行训练,得到预测分类模型;将测试集输入预测分类模型进行验证,输出符合预设条件预测分类模型作为异常访问识别模型;将待识别访问日志的行为特征数据输入异常访问识别模型进行识别。本申请还提供一种接口异常访问识别装置、计算机设备及存储介质。此外,本申请还涉及区块链技术,日志数据可存储于区块链中。本申请能够批量处理大量的访问数据,节省大量的人力成本,同时模型参数自动调整适配,提高异常识别的准确率。识别的准确率。识别的准确率。
技术研发人员:宁晟宇
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2023.06.20
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/