首页 / 专利库 / 人工智能 / 异常检测 / 一种Web站点安全防护方法及装置

一种Web站点安全防护方法及装置

阅读:400发布:2020-05-08

专利汇可以提供一种Web站点安全防护方法及装置专利检索,专利查询,专利分析的服务。并且本 申请 提供一种Web 站点 安全防护方法及装置。该方法包括,基于用户针对目标Web站点的会话数据构建会话特征;其中,上述会话数据包括用户 访问 上述目标Web站点所发起的访问 请求 数据;上述会话特征包括从上述访问请求数据中提取出的若干访问行为特征。将上述会话特征输入 异常检测 模型进行计算,并基于计算结果确定上述用户针对上述目标Web站点的用户访问行为是否异常;其中,上述异常检测模型为,基于若干被标注了用于指示用户的访问行为是否异常的样本标签的会话特征样本训练出的 机器学习 模型。如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护。,下面是一种Web站点安全防护方法及装置专利的具体信息内容。

1.一种Web站点安全防护方法,应用于网络安全设备;所述方法包括:
基于用户针对目标Web站点的会话数据构建会话特征;其中,所述会话数据包括用户访问所述目标Web站点所发起的访问请求数据;所述会话特征包括从所述访问请求数据中提取出的若干访问行为特征;
将所述会话特征输入异常检测模型进行计算,并基于计算结果确定所述用户针对所述目标Web站点的用户访问行为是否异常;其中,所述异常检测模型为,基于若干被标注了用于指示用户的访问行为是否异常的样本标签的会话特征样本训练出的机器学习模型;
如果确定所述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护。
2.根据权利要求1所述的方法,所述网络安全设备中维护了与用户对应的特征集;其中,所述特征集用于记录用户的访问行为特征;
所述基于用户针对目标Web站点的会话数据构建会话特征,包括:
响应于用户发起的针对目标Web站点的访问请求,从所述访问请求对应的访问日志中,获取所述访问请求对应的访问请求数据;
从所述访问请求数据中提取所述用户的访问行为特征;
将提取的所述用户的访问行为特征加入与所述用户对应的特征集,以构建所述用户对应的会话特征。
3.根据权利要求2所述的方法,所述访问行为特征包括以下示出的特征中的一个或多个的组合:
访问Web站点的访问时间间隔、访问的Web站点的URL地址、会话中包含的访问请求的请求类型、Web站点响应访问请求后与用户之间的连接状态、Web站点对用户的访问请求的响应时长、Web站点响应访问请求后返回的状态码、Web站点是否存储了访问请求中携带的SessionID、Web站点存储的SessionID与访问请求中携带的cookie值是否相等。
4.根据权利要求2所述的方法,还包括:
从所述目标Web站点的历史访问日志中筛选出具有相同SessionID的若干访问日志;
从筛选出的所述具有相同SessionID的若干访问日志中提取会话特征,基于提取出的所述会话特征构建会话特征样本,并基于构建的会话特征样本生成会话特征样本集;
将所述会话特征样本集中的会话特征样本作为训练样本进行机器学习训练,得到所述异常检测模型。
5.根据权利要求4所述的方法,所述异常检测模型为基于深度学习网络的分类模型。
6.根据权利要求5所述的方法,所述深度学习网络为基于LSTM模型构建的分类器模型;
所述会话特征包括从所述访问请求数据中提取出的按照访问行为的发生时刻排序的若干访问行为特征。
7.根据权利要求6所述的方法,所述基于LSTM模型构建的分类器模型,包括:
输入层、至少一LSTM层、至少一RNN层和输出层;其中,所述LSTM层的输出为所述RNN层的输入。
8.根据权利要求1所述的方法,还包括:
基于针对所述用户的用户访问行为是否异常的判断结果,为所述用户对应的会话特征进行打标;
将打标后的所述会话特征加入会话特征样本集中,作为训练样本。
9.一种Web站点安全防护装置,应用于网络安全设备;所述装置包括:
构建模,基于用户针对目标Web站点的会话数据构建会话特征;其中,所述会话数据包括用户访问所述目标Web站点所发起的访问请求数据;所述会话特征包括从所述访问请求数据中提取出的若干访问行为特征;
检测模块,将所述会话特征输入异常检测模型进行计算,并基于计算结果确定所述用户针对所述目标Web站点的用户访问行为是否异常;其中,所述异常检测模型为,基于若干被标注了用于指示用户的访问行为是否异常的样本标签的会话特征样本训练出的机器学习模型;
防护模块,如果确定所述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护。
10.根据权利要求9所述的装置,所述网络安全设备中维护了与用户对应的特征集;其中,所述特征集用于记录用户的访问行为特征;
所述构建模块,包括:
获取模块,响应于用户发起的针对目标Web站点的访问请求,从所述访问请求对应的访问日志中,获取所述访问请求对应的访问请求数据;
提取模块,从所述访问请求数据中提取所述用户的访问行为特征;
加入模块,将提取的所述用户的访问行为特征加入与所述用户对应的特征集,以构建所述用户对应的会话特征。
11.根据权利要求10所述的装置,所述访问行为特征包括以下示出的特征中的一个或多个的组合:
访问Web站点的访问时间间隔、访问的Web站点的URL地址、会话中包含的访问请求的请求类型、Web站点响应访问请求后与用户之间的连接状态、Web站点对用户的访问请求的响应时长、Web站点响应访问请求后返回的状态码、Web站点是否存储了访问请求中携带的SessionID、Web站点存储的SessionID与访问请求中携带的cookie值是否相等。
12.根据权利要求10所述的装置,还包括:
训练模块,从所述目标Web站点的历史访问日志中筛选出具有相同SessionID的若干访问日志;
从筛选出的所述具有相同SessionID的若干访问日志中提取会话特征,基于提取出的所述会话特征构建会话特征样本,并基于构建的会话特征样本生成会话特征样本集;
将所述会话特征样本集中的会话特征样本作为训练样本进行机器学习训练,得到所述异常检测模型。
13.根据权利要求12所述的装置,所述异常检测模型为基于深度学习网络的分类模型。
14.根据权利要求13所述的装置,所述深度学习网络为基于LSTM模型构建的分类器模型;
所述会话特征包括从所述访问请求数据中提取出的按照访问行为的发生时刻排序的若干访问行为特征。
15.根据权利要求14所述的装置,所述基于LSTM模型构建的分类器模型,包括:
输入层、至少一LSTM层、至少一RNN层和输出层;其中,所述LSTM层的输出为所述RNN层的输入。
16.根据权利要求9所述的装置,还包括:
基于针对所述用户的用户访问行为是否异常的判断结果,为所述用户对应的会话特征进行打标;
将打标后的所述会话特征加入会话特征样本集中,作为训练样本。

说明书全文

一种Web站点安全防护方法及装置

技术领域

[0001] 本申请涉及通信领域,尤其涉及一种Web站点安全防护方法及装置。

背景技术

[0002] 随着互联网的发展,传统的C/S设计模式逐渐被新型的B/S设计模式代替。越来越多的企业和软件制造商选用更便捷、更轻量级的Web应用为客户提供服务,因此,Web站点的安全问题成为了关注的重点。
[0003] 可见,如何进行Web站点安全防护是亟待解决的问题。发明内容
[0004] 本申请提出一种Web站点安全防护方法,应用于网络安全设备,该方法包括:
[0005] 基于用户针对目标Web站点的会话数据构建会话特征;其中,上述会话数据包括用户访问上述目标Web站点所发起的访问请求数据;上述会话特征包括从上述访问请求数据中提取出的若干访问行为特征;
[0006] 将上述会话特征输入异常检测模型进行计算,并基于计算结果确定上述用户针对上述目标Web站点的用户访问行为是否异常;其中,上述异常检测模型为,基于若干被标注了用于指示用户的访问行为是否异常的样本标签的会话特征样本训练出的机器学习模型;
[0007] 如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护。
[0008] 在示出的一实施例中,上述网络安全设备中维护了与用户对应的特征集;其中,上述特征集用于记录用户的访问行为特征;
[0009] 上述基于用户针对目标Web站点的会话数据构建会话特征,包括:
[0010] 响应于用户发起的针对目标Web站点的访问请求,从上述访问请求对应的访问日志中,获取上述访问请求对应的访问请求数据;
[0011] 从上述访问请求数据中提取上述用户的访问行为特征;
[0012] 将提取的上述用户的访问行为特征加入与上述用户对应的特征集,以构建上述用户对应的会话特征。
[0013] 在示出的一实施例中,上述访问行为特征包括以下示出的特征中的一个或多个的组合:
[0014] 访问Web站点的访问时间间隔、访问的Web站点的URL地址、会话中包含的访问请求的请求类型、Web站点响应访问请求后与用户之间的连接状态、Web站点对用户的访问请求的响应时长、Web站点响应访问请求后返回的状态码、Web站点是否存储了访问请求中携带的Session ID、Web站点存储的Session ID与访问请求中携带的cookie值是否相等。
[0015] 在示出的一实施例中,上述方法还包括从上述目标Web站点的历史访问日志中筛选出具有相同SessionID的若干访问日志;
[0016] 从筛选出的上述具有相同SessionID的若干访问日志中提取会话特征,基于提取出的上述会话特征构建会话特征样本,并基于构建的会话特征样本生成会话特征样本集;
[0017] 将上述会话特征样本集中的会话特征样本作为训练样本进行机器学习训练,得到上述异常检测模型。
[0018] 在示出的一实施例中,上述异常检测模型为基于深度学习网络的分类模型。
[0019] 在示出的一实施例中,上述深度学习网络为基于LSTM模型构建的分类器模型;
[0020] 上述会话特征包括从上述访问请求数据中提取出的按照访问行为的发生时刻排序的若干访问行为特征。
[0021] 在示出的一实施例中,上述基于LSTM模型构建的分类器模型,包括:
[0022] 输入层、至少一LSTM层、至少一RNN层和输出层;其中,上述LSTM层的输出为上述RNN层的输入。
[0023] 在示出的一实施例中,上述方法还包括基于针对上述用户的用户访问行为是否异常的判断结果,为上述用户对应的会话特征进行打标;
[0024] 将打标后的上述会话特征加入会话特征样本集中,作为训练样本。
[0025] 本申请提出一种Web站点安全防护装置,应用于网络安全设备;该装置包括:
[0026] 构建模,基于用户针对目标Web站点的会话数据构建会话特征;其中,上述会话数据包括用户访问上述目标Web站点所发起的访问请求数据;上述会话特征包括从上述访问请求数据中提取出的若干访问行为特征;
[0027] 检测模块,将上述会话特征输入异常检测模型进行计算,并基于计算结果确定上述用户针对上述目标Web站点的用户访问行为是否异常;其中,上述异常检测模型为,基于若干被标注了用于指示用户的访问行为是否异常的样本标签的会话特征样本训练出的机器学习模型;
[0028] 防护模块,如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护。
[0029] 在示出的一实施例中,上述网络安全设备中维护了与用户对应的特征集;其中,上述特征集用于记录用户的访问行为特征;
[0030] 上述构建模块,包括:
[0031] 获取模块,响应于用户发起的针对目标Web站点的访问请求,从上述访问请求对应的访问日志中,获取上述访问请求对应的访问请求数据;
[0032] 提取模块,从上述访问请求数据中提取上述用户的访问行为特征;
[0033] 加入模块,将提取的上述用户的访问行为特征加入与上述用户对应的特征集,以构建上述用户对应的会话特征。
[0034] 在示出的一实施例中,上述访问行为特征包括以下示出的特征中的一个或多个的组合:
[0035] 访问Web站点的访问时间间隔、访问的Web站点的URL地址、会话中包含的访问请求的请求类型、Web站点响应访问请求后与用户之间的连接状态、Web站点对用户的访问请求的响应时长、Web站点响应访问请求后返回的状态码、Web站点是否存储了访问请求中携带的Session ID、Web站点存储的Session ID与访问请求中携带的cookie值是否相等。
[0036] 在示出的一实施例中,上述装置还包括训练模块,从上述目标Web站点的历史访问日志中筛选出具有相同SessionID的若干访问日志;
[0037] 从筛选出的上述具有相同SessionID的若干访问日志中提取会话特征,基于提取出的上述会话特征构建会话特征样本,并基于构建的会话特征样本生成会话特征样本集;
[0038] 将上述会话特征样本集中的会话特征样本作为训练样本进行机器学习训练,得到上述异常检测模型。
[0039] 在示出的一实施例中,上述异常检测模型为基于深度学习网络的分类模型。
[0040] 在示出的一实施例中,上述深度学习网络为基于LSTM模型构建的分类器模型;
[0041] 上述会话特征包括从上述访问请求数据中提取出的按照访问行为的发生时刻排序的若干访问行为特征。
[0042] 在示出的一实施例中,上述基于LSTM模型构建的分类器模型,包括:
[0043] 输入层、至少一LSTM层、至少一RNN层和输出层;其中,上述LSTM层的输出为上述RNN层的输入。
[0044] 在示出的一实施例中,上述装置还包括基于针对上述用户的用户访问行为是否异常的判断结果,为上述用户对应的会话特征进行打标;
[0045] 将打标后的上述会话特征加入会话特征样本集中,作为训练样本。
[0046] 在以上技术方案中,一方面,提出的防护规则是将基于用户针对目标Web站点的会话数据构建的会话特征输入异常检测模型中进行计算,并基于计算结果确定上述用户的访问行为是否异常;如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护;而由于上述防护规则可以重复使用,并且很少被重新制定,因此,本申请可以减少开发人员更新安全防护策略的工作量,从而降低Web站点安全防护的成本和难度;
[0047] 另一方面,在对用户针对目标Web站点的访问行为进行异常检测时,是将该用户访问该目标Web站点所发起的多个访问请求行为结合起来进行检测,替代了相关技术中仅对该用户的单一访问请求(单一流量)行为进行检测,因此,本申请中提出的异常检测规则更全面,使攻击者不容易绕过,从而提升了Web站点安全防护的效果。附图说明
[0048] 图1为本申请示出的一种Web站点安全防护场景示意图;
[0049] 图2为本申请示出的一种Web站点安全防护方法的方法流程图
[0050] 图3为本申请示出的一种LSTM模型的架构图;
[0051] 图4为本申请示出的一种RNN和LSTM混合架构的异常检测模型的架构图;
[0052] 图5为本申请示出的一种Web站点安全防护装置的结构图;
[0053] 图6为本申请示出的一种Web站点安全防护设备的结构图。

具体实施方式

[0054] 在相关技术中,通常可以将防火墙作为Web站点安全防护的安全防线,以保证Web站点不被攻击。例如,在实际应用中,可以将防火墙与目标Web站点串联,使互联网上对该目标Web站点的访问流量先经过该防火墙分析处理;如果该防火墙分析确定某流量可能是攻击流量,则可以阻断该流量进入上述目标Web站点,实现对上述目标Web站点的安全防护。
[0055] 在实际应用中,上述防火墙通常可以是WAF(Web Application Firewall,Web应用防护墙,是通过执行一系列针对HTTP/HTTPS的安全策略来专为Web应用提供保护的一款产品)。
[0056] 以下介绍WAF在相关技术中采用的三种安全防护策略。
[0057] 方式一:WAF中可以维护一个记录若干攻击者特征的特征库。上述特征库中的攻击者特征可以是攻击流量可能具有的流量特征(例如,五元组信息)。例如,上述攻击者特征可以是开发人员针对容易被攻击者攻击的目的端口(例如,容易被共享入侵的445端口)构建的流量特征。
[0058] 在上述情形下,当WAF接收到流量后,可以解析该流量的流量特征,并将解析出的流量特征与自身维护的特征库进行匹配,如果该流量的流量特征命中上述特征库中的任一攻击者特征,则阻断该流量进入Web站点,从而实现对上述目标Web站点的安全防护。
[0059] 方式二:WAF中可以维护一个记录了若干识别攻击方式的识别算法库。上述识别算法库中的算法可以是开发人员识破攻击者的攻击方式后,针对该攻击方式开发出的识别算法,例如,开发人员可以针对SQL注入(在事先定义好的查询语句的结尾上添加额外的SQL语句,来实现欺骗数据库服务器执行非授权的任意查询)、DDOS(Distributed Denial of Service,分布式拒绝服务攻击)、XSS(Cross Site Scripting,跨站脚本攻击)等攻击方式开发相应的识别算法,并将开发出的算法加入上述识别算法库。
[0060] 在上述情形下,当WAF接收到流量后,可以基于上述识别算法库中的算法确定上述流量是否是攻击流量,如果确定上述流量是攻击流量,则阻断该流量进入Web站点,从而实现对上述目标Web站点的安全防护。
[0061] 方式三:WAF中可以维护一个入侵行为特征库。上述入侵行为特征库中的特征可以是开发人员通过对若干历史入侵行为分析后,得到的入侵行为特征。例如,开发人员可以通过特征发掘算法对若干历史入侵行为进行分析,从而得出相关的入侵行为特征,并将得到的入侵行为特征加入上述入侵行为特征库。
[0062] 在上述情形下,当WAF接收到流量后,可以确定该流量的行为特征是否命中上述入侵行为特征库中的特征;如果该流量的行为特征命中上述入侵行为特征库中的任一特征,则阻断该流量进入Web站点,从而实现对上述目标Web站点的安全防护。
[0063] 不难发现相关技术中WAF采用的技术有如下缺陷
[0064] (1)由于Web攻击的形式千变万化,同一种攻击方式经过细微的变化就可以衍生成为新的攻击行为,因此,开发人员需要不断的更新WAF中安全防护策略,从而导致Web站点安全防护的成本高,难度大。
[0065] (2)由于WAF中的检测方式是对单一流量进行检测,因此,这种检测方式很容易被攻击者绕过。
[0066] 基于此,本申请提出一种Web站点安全防护方法,应用于网络安全设备;该方法由大量用户访问行为训练出的异常检测模型对用户针对目标Web站点的多个访问行为进行检测,并对检测出的用户异常访问行为进行安全防护,从而一方面,使对用户访问行为的异常检测更全面;另一方面,降低了Web站点安全防护的成本和难度。
[0067] 具体地,可以基于用户针对目标Web站点的会话数据构建会话特征;其中,上述会话数据包括用户访问上述目标Web站点所发起的访问请求数据;上述会话特征包括从上述访问请求数据中提取出的若干访问行为特征;在获取用户对应的会话特征后,可以将上述会话特征输入异常检测模型进行计算,并基于计算结果确定上述用户针对上述目标Web站点的用户访问行为是否异常;其中,上述异常检测模型为,基于若干被标注了用于指示用户的访问行为是否异常的样本标签的会话特征样本训练出的机器学习模型;如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护。
[0068] 在以上技术方案中,一方面,提出的防护规则是将基于用户针对目标Web站点的会话数据构建的会话特征输入异常检测模型中进行计算,并基于计算结果确定上述用户的访问行为是否异常;如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护;而由于上述防护规则可以重复使用,并且很少被重新制定,因此,本申请可以减少开发人员更新安全防护策略的工作量,从而降低Web站点安全防护的成本和难度;
[0069] 另一方面,在对用户针对目标Web站点的访问行为进行异常检测时,是将该用户访问该目标Web站点所发起的多个访问请求行为结合起来进行检测,替代了相关技术中仅对该用户的单一访问请求(单一流量)行为进行检测,因此,本申请中提出的异常检测规则更全面,使攻击者不容易绕过,从而提升了Web站点安全防护的效果。
[0070] 以下结合具体实施例对本申请进行说明。
[0071] 请参见图1,图1为本申请示出的一种Web站点安全防护场景示意图。如图1所示,网络安全设备(例如,防火墙)与Web站点的Web服务器串联。互联网对Web站点发起的访问请求需先经过上述网络安全设备进行检测,如果检测结果为正常,该访问请求才会进入上述Web服务器进行处理。
[0072] 上述互联网,是指可以访问上述Web站点的任意网络,在此不作限定。例如,处于上述互联网网络中的用户通过客户端(例如,Web程序)可以对上述Web站点进行访问。
[0073] 上述Web站点,具体是指可以提供一定服务的网络站点。该Web站点中可以维护若干关联网页。
[0074] 例如,上述Web站点可以是提供考试报名服务的站点,该Web站点中可以维护登录页面,注册页面,报名信息填写页面,报名材料上传页面,报名费用缴纳页面等。
[0075] 上述登录页面,用于用户输入登录信息,完成站点登录。当用户首次访问时,该Web站点通常可以自动为该用户提供上述登录页面,并在用户完成登录后提供其他服务。
[0076] 上述注册页面,用于待注册用户输入注册信息,完成站点注册。当用户完成注册后,Web站点可以自动跳转至上述登录页面使用户完成登录。可选地,用户也可以通过重新访问Web站点或点击上述注册页面中预先设置的链接,来重新访问上述登录页面,从而完成站点登录。
[0077] 上述报名信息填写页面,用于用户填写报名信息。
[0078] 上述报名材料上传页面,用于用户上传报名相关材料。
[0079] 上述报名费用缴纳页面,用于用户完成费用缴纳,以完成考试报名。
[0080] 在上述情形下,当某一用户需要报名参加考试时,可以向上述Web站点发送首次访问请求。上述Web站点在接收到用户的首次访问请求后,可以向该用户提供登录页面。该用户在接收到上述登录页面后可以在该登录页面中输入预先注册的登录信息以完成站点登录。如果该用户还没有进行预先注册,则可以通过该登录页面向上述Web站点发起访问注册页面的请求;当上述Web站点接收到用户的上述请求后,可以向该用户提供上述注册页面;该用户接收到上述注册页面后,可以基于该页面完成注册,并在Web站点提供的登录页面中输入登录信息完成站点登录。用户完成站点登录后,可以发起报名考试请求,当Web站点接收到上述请求后,可以向该用户提供上述报名信息填写页面,供用户填写报名信息。当用户在接收到的上述报名信息特细页面中完成报名信息填写后,可以发起报名材料上传请求,当Web站点接收到上述请求后,可以向该用户提供上述报名材料上传页面,供用户上传报名材料(例如,毕业证书,工作证明等)。当用户在接收到的报名材料上传页面中完成报名材料上传后,可以发起报名费用缴纳请求,当Web站点接收到上述请求后,可以向该用户提供上述报名费用缴纳页面,供用户缴纳报名费用。等到用户完成报名费用缴纳后,上述Web站点可以向用户提供完成考试报名的提示信息。
[0081] 可见,在用户进行考试报名的过程中,用户向Web站点发起访问各页面的访问请求,Web站点相应于用户发起的访问各页面的页面访问请求提供相应的页面,二者多次进行交互,从而完成用户考试报名操作。
[0082] 上述Web服务器,可以用于对外提供服务。上述服务器可以是服务器、服务器集群或者基于服务器集群构建的平台。
[0083] 上述网络安全设备(以下简称设备),可以用于进行Web站点安全防护。需要说明的是,上述网络安全设备可以是防火墙,带有安全防护功能的网关等设备,在此不作限定。
[0084] 请参见图2,图2为本申请示出的一种Web站点安全防护方法的方法流程图。上述方法可以应用在图1示出的网络安全设备中。如图2所示,该方法可以包括:
[0085] S201,基于用户针对目标Web站点的会话数据构建会话特征;其中,上述会话数据包括用户访问上述目标Web站点所发起的访问请求数据;上述会话特征包括从上述访问请求数据中提取出的若干访问行为特征;
[0086] S202,将上述会话特征输入异常检测模型进行计算,并基于计算结果确定上述用户针对上述目标Web站点的用户访问行为是否异常;其中,上述异常检测模型为,基于若干被标注了用于指示用户的访问行为是否异常的样本标签的会话特征样本训练出的机器学习模型;
[0087] S203,如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护。
[0088] 上述会话数据,具体是上述网络安全设备为用户创建的会话,所记录的该用户访问上述目标Web站点所发起的访问请求数据集合。例如,上述网络安全设备中维护了与用户(IP地址为1.1.1.1)对应的会话日志,上述会话日志中记录了该用户(IP地址为1.1.1.1)针对上述目标Web站点所发起的访问请求数据,上述访问请求数据集合则是上述会话数据。
[0089] 上述会话特征,具体是从上述访问请求数据中提取出的若干访问行为特征。上述访问行为特征可以是以下示出的特征中的一个或多个的组合:
[0090] 访问Web站点的访问时间间隔、访问的Web站点的URL地址、会话中包含的访问请求的请求类型、Web站点响应访问请求后与用户之间的连接状态、Web站点对用户的访问请求的响应时长、Web站点响应访问请求后返回的状态码、Web站点是否存储了访问请求中携带的Session ID、Web站点存储的Session ID与访问请求中携带的cookie值是否相等。
[0091] 在一实施例中,上述会话特征以特征集的形式存储于网络安全设备中。
[0092] 上述特征集,具体是记录用户访问行为特征的数据集。当用户针对目标Web站点发起一次访问请求后,上述网络安全设备可以从该访问请求对应的请求数据中提取用户的访问行为特征,并把上述用户的访问行为特征加入与该用户对应的特征集中。
[0093] 具体地,当用户针对目标Web站点发起一次访问请求后,上述网络安全设备可以响应于接收到的上述访问请求,从与该访问请求对应的访问日志(会话日志)中,获取该请求对应的访问请求数据。在获取上述访问请求对应的访问请求数据后,上述网络安全设备可以从上述访问请求数据中提取用户访问行为特征,并把上述用户访问行为特征加入与该用户对应的特征集中。
[0094] 可见,用户针对该目标Web站点每发起一次请求,该用户的访问行为特征均会被存储至与该用户对应的特征集中,从而形成与该用户对应的会话特征。
[0095] 上述异常检测模型,用于根据用户对应的会话特征检测用户的访问行为是否异常。在一实施例中,上述异常检测模型可以是基于深度学习网络的分类模型。例如,上述异常检测模型可以是基于RNN或LSTM(Long-Short Term Memory,长短期记忆)模型构建的分类模型。
[0096] 在本例中,可以预先提供大量被标注了用于指示用户的访问行为是否异常的样本标签的会话特征样本;其中,上述任一会话特征包括的若干访问行为特征具有时序上的关联,然后将上述会话特征样本作为训练样本进行深度学习训练,来构建上述基于RNN或LSTM(Long-Short Term Memory,长短期记忆)模型构建的分类模型。
[0097] 当上述分类模型构建完成后,在对用户访问行为进行检测时,可以将用户针对目标Web站点的某次访问行为形成会话特征,然后将上述会话特征输入上述异常检测模型中进行计算,并基于计算结果确定上述用户针对上述目标Web站点的用户访问行为是否异常;如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护,从而实现对目标Web站点的安全防护。
[0098] 请参见图3,图3为本申请示出的一种LSTM模型的架构图。
[0099] 本例中示出的该LSTM模型,是一种基于LSTM网络搭建的,可以在模型中对具有时序关系的连续的特征样本进行记忆的深度学习模型,在实际应用中,可以作为异常检测模型对用户的访问行为进行异常检测。
[0100] 请继续参见图3,在本例中,该LSTM模型为一种三层模型,可以包括输入层、记忆层(也称为隐藏层)和输出层。
[0101] 需要说明的是,在实际应用中,该LSTM模型的层数并不限定为三层,本领域技术人员可以根据实际的深度学习需求,在本例中示出的三层架构的基础上适当增加模型的层数。
[0102] 1)输入层
[0103] 上述输入层,用于接收基于用户针对目标Web站点的会话数据构建的会话特征,可以包括若干个数据节点,其中,每一个数据节点都可以作为输入层的一个数据输入源。在本实施例中,每一个数据节点可以对应会话特征中包括的一组用户访问行为特征。例如,假设会话特征由从5条具有时序的访问请求中提取的用户访问行为特征(包括访问行为特征1至访问行为特征5)构成时,上述访问行为特征1至访问行为特征5可以分别对应图3中的数据节点1至数据节点5。
[0104] 其中,对于输入层来说,包含的数据节点的个数,以及各数据节点需要输入的用户的访问行为特征,均可以由LSTM模型的设计者根据具体的访问行为异常检测需求来进行设计。
[0105] 上述输入层的数据节点的个数,通常取决于上述Web站点设计的网页跳转逻辑。
[0106] 例如,假设上述Web站点提供的服务为考试报名服务,并且如果按照Web站点设计的网页跳转逻辑,用户从登陆Web站点至完成报名需要经过5次访问,那么上述输入层的数据节点的个数可以设置为5。
[0107] 在上述情形下,假设Web站点设计的用户完成上述Web站点服务需要访问的次数过多,在一实施例中,可以将用户发起的访问请求中较为重要访问请求的数量作为上述输入层的数据节点的数量。其中,上述较为重要的访问请求可以指对Web站点安全防护较为重要的访问动作,例如,登录页面访问请求,个人信息填写页面访问请求等。
[0108] 2)记忆层
[0109] 上述记忆层,用于调用LSTM模型中的算法对输入层上各数据节点的访问行为特征进行计算。
[0110] 请继续参见图3,记忆层在进行计算时,可以按照各访问行为特征对应的访问请求发生时间顺序,对输入层上各数据节点的访问行为特征依次进行计算,并采用递归计算的方式,将前一数据节点的计算结果与下一数据节点输入的访问行为特征进行加权求和后继续进行计算,直到各数据节点的访问行为特征在上述LSTM模型中均计算完成。
[0111] 例如,记忆层可以按照各访问行为特征对应的访问请求发生时间的先后顺序,首先对发生时间最早的数据节点进行计算,当计算完成后将计算结果与下一个数据节点输入的访问行为特征进行加权求和继续进行计算,以此递归,直到上述数据节点的访问行为特征均计算完成。
[0112] 可见,通过这种方式,可以将会话特征中的各访问行为特征按照发生时间在模型中完成记忆。
[0113] 其中,记忆层在将前一数据节点的计算结果与后一数据节点的险识别特征进行加权求和时,还可以通过设定加权比例,对前一数据节点计算结果中的部分信息进行筛除,以降低计算的数据处理量。
[0114] 在一实施例中,由于会话特征中各行为访问特征可能携带大量的特征信息,而模型在处理较长的会话特征,可能会存在处理耗时较长的问题,因此,在模型融合会话特征时,可以限定待融合的会话特征的长度,例如,在该实施例中,假设会话特征中包括10组访问行为特征,在模型融合会话特征时,可以筛选其中的前5组访问行为特征作为模型输入来进行融合。
[0115] 3)输出层
[0116] 上述输出层,可以用于基于记忆层针对会话特征中各访问行为特征的计算结果,输出用户访问行为异常检测的检测结果。例如,在一实施例中,假设通过二维向量指示用户访问行为的检测结果为正常或是异常,如果上述LSTM模型针对用户的某次访问行为的检测结果为异常,则可以通过上述输出层输出用于指示检测结果为异常的二维向量。
[0117] 在一实施例中,上述异常检测模型可以基于LSTM模型构建的分类器模型。例如,上述异常检测模型可以在LSTM模型的基础上接入基于RNN模型构建的二分类器模型。在上述情形下,上述LSTM模型的输出可以作为上述RNN模型的输入。
[0118] 请参见图4,图4为本申请示出的一种基于LSTM模型构建的异常检测模型的架构图。
[0119] 如图4所示,所述异常检测模型的输入层可以作为LSTM层的输入,所述二分类层的输出可以作为所述异常检测模型的输出;其中,所述二分类层是基于RNN层构建的。
[0120] 上述LSTM层的输入是用户的会话特征。上述LSTM层的输出是上述二分类层的输入。上述二分类层的输出是上述异常检测模型的检测结果。以下结合图1示出的场景对图4示出的神经网络模型的训练步骤进行说明。
[0121] 第一步,构建特征样本集。
[0122] 首先,可以从图1示出的目标Web站点的历史访问日志中筛选出具有相同Session ID的若干访问日志;
[0123] 然后,从筛选出的上述具有相同Session ID的若干访问日志中提取会话特征,基于提取出的上述会话特征构建会话特征样本,并基于构建的会话特征样本生成会话特征样本集。
[0124] 在实际应用中,在构建特征样本集时可以先构建正样本集。在构建正样本集时,可以先利用日志抓取工具从图1示出的网络安全设备维护的Tomcat日志中抓取用户访问请求数据;
[0125] 在抓取到用户访问请求数据后,可以继续通过预先设置的过滤规则,筛选出如表1所示的信息。需要说明的是,通过过滤规则从访问请求数据中筛选信息的过程可以参照相关技术,在此不作说明。
[0126]
[0127]
[0128] 表1
[0129] 在获取到表1所示的信息后,可以基于上述筛选出的信息构建出以下访问行为特征:
[0130] 访问Web站点的访问时间间隔(可以将当前抓取到的访问请求对应的访问时间上一次访问请求对应的访问时间相减得到上述访问Web站点的访问时间间隔)、访问的Web站点的URL地址、会话中包含的访问请求的请求类型、Web站点响应访问请求后与用户之间的连接状态、Web站点对用户的访问请求的响应时长、Web站点响应访问请求后返回的状态码、Web站点是否存储了访问请求中携带的Session ID、Web站点存储的Session ID与访问请求中携带的cookie值是否相等。
[0131] 当从各访问请求数据中提取出上述访问行为特征后,可以将具有相同Session ID的访问行为特征加入同一数据集(例如,队列)中,构成会话特征,并为各会话特征打上访问行为正常的正样本标签,构成正样本集。
[0132] 当正样本集构建完毕后,可以继续构建负样本集。在构建负样本集时,可以从上述网络安全设备中维护的用于记录被拦截用户访问行为的日志中,按照上述构建正样本集时使用的方法,完成会话特征的构建,然后,对上述各会话特征打上访问行为异常的负样本标签,构成负样本集。在一实施例中,如果负样本集中的样本数量不够,还可以通过人工构造异常访问行为的方式增加负样本。例如,在实际应用中,开发人员可以使用jmeter(压测试工具)模拟SQL注入、XSS等常规的攻击方法,从而增加负样本数量。
[0133] 在一实施例中,开发人员还可以将正常使用上述异常检测模型进行用户访问行为检测时检测出的结果加入相应的正负样本集。
[0134] 具体的,可以基于针对上述用户的用户访问行为是否异常的判断结果,为上述用户对应的会话特征进行打标;
[0135] 将打标后的上述会话特征加入会话特征样本集中,作为训练样本。
[0136] 第二步,模型训练。
[0137] 在开始训练图4示出的异常检测模型前,开发人员可以先准备DeepLearning4J(Java语言的神经网络工具包)的开发环境。
[0138] 在上述开发环境中,开发人员可以将上述异常检测模型的输入层的节点数调整为5;将每一节点输入的特征维度调整为8维;将LSTM层的输出层(RNN的输入层)的每一节点调整为16维;将RNN模型输出层的节点数调整为1,该节点输出的结果维度为2维。
[0139] 然后,开发人员可以将正负样本集中的会话特征包括的访问行为特征转换为8维的访问行为向量,将会话特征对应的标签转化为2维的标签向量,并将每一会话特征,与其对应的标签特征向量关联起来。
[0140] 在完成上述工作后,开发人员可以设置为模型训练设置合适的批大小(例如,50条),合适的循环次数(例如,10次),然后,将上述正负样本集中的各会话特征,以及与上述各会话特征对应的标签输入上述异常检测模型中,实现上述异常检测模型参数的迭代调整,完成上述异常检测模型的训练。
[0141] 第三步,模型评价。
[0142] 需要说明的是,此步骤是可选步骤,在一实施例中,也可以不进行此步骤直接使用上述异常检测模型进行用户访问行为的检测。
[0143] 在此步骤中,用户可以获取若干已被标注正负标签的会话特征样本集,然后将上述会话特征输入上述异常检测模型确定上述会话特征对应的用户访问行为是否异常,再将上述确定出的结果与会话特征对应的标签进行比较,确定上述异常检测模型检测结果的准确性。如果经过统计上述异常检测模型检测结果的准确性达到预设值(例如,90%),则认为上述异常检测模型可以上线使用,否则,重复上述第二步,直至训练到满足上述条件的异常检测模型。
[0144] 至此,上述异常检测模型已完成训练。在一实施例中,上述异常检测模型在训练完毕后可以加载至图1示出的网络安全设备中进行用户访问行为的异常检测。
[0145] 第四步,模型使用。
[0146] 在此步骤中,当用户针对目标Web站点发起一次访问请求后,上述网络安全设备可以先响应于接收到的上述访问请求,从与该访问请求对应的访问日志(会话日志)中,获取该请求对应的访问请求数据。在获取上述访问请求对应的访问请求数据后,上述网络安全设备可以从上述访问请求数据中提取上述用户的访问行为特征,并把上述用户的访问行为特征加入与该用户对应的特征集中,构成与该用户对应的会话特征。
[0147] 然后,上述网络安全设备可以将用户对应的会话特征输入上述异常检测模型中进行计算,并基于计算结果确定上述用户针对上述目标Web站点的用户访问行为是否异常;如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护,从而实现对目标Web站点的安全防护。
[0148] 与上述方法实施例相对应,本申请还提供了装置的实施例。
[0149] 请参见图5,图5为本申请示出的一种Web站点安全防护装置50,应用于网络安全设备;其中,请参见图6,作为承载上述Web站点安全防护装置50的网络安全设备所涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,上述Web站点安全防护装置50通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置,上述装置50包括:
[0150] 构建模块501,基于用户针对目标Web站点的会话数据构建会话特征;其中,上述会话数据包括用户访问上述目标Web站点所发起的访问请求数据;上述会话特征包括从上述访问请求数据中提取出的若干访问行为特征;
[0151] 检测模块502,将上述会话特征输入异常检测模型进行计算,并基于计算结果确定上述用户针对上述目标Web站点的用户访问行为是否异常;其中,上述异常检测模型为,基于若干被标注了用于指示用户的访问行为是否异常的样本标签的会话特征样本训练出的机器学习模型;
[0152] 防护模块503,如果确定上述用户的用户访问行为异常,则对用户针对目标Web站点的访问会话进行安全防护。
[0153] 在示出的一实施例中,上述构建模块501,包括:
[0154] 获取模块,响应于用户发起的针对目标Web站点的访问请求,从上述访问请求对应的访问日志中,获取上述访问请求对应的访问请求数据;
[0155] 提取模块,从上述访问请求数据中提取上述用户的访问行为特征;
[0156] 加入模块,将提取的上述用户的访问行为特征加入与上述用户对应的特征集,以构建上述用户对应的会话特征。
[0157] 在示出的一实施例中,上述访问行为特征包括以下示出的特征中的一个或多个的组合:
[0158] 访问Web站点的访问时间间隔、访问的Web站点的URL地址、会话中包含的访问请求的请求类型、Web站点响应访问请求后与用户之间的连接状态、Web站点对用户的访问请求的响应时长、Web站点响应访问请求后返回的状态码、Web站点是否存储了访问请求中携带的Session ID、Web站点存储的Session ID与访问请求中携带的cookie值是否相等。
[0159] 在示出的一实施例中,上述装置50还包括:
[0160] 训练模块,从上述目标Web站点的历史访问日志中筛选出具有相同SessionID的若干访问日志;
[0161] 从筛选出的上述具有相同SessionID的若干访问日志中提取会话特征,基于提取出的上述会话特征构建会话特征样本,并基于构建的会话特征样本生成会话特征样本集;
[0162] 将上述会话特征样本集中的会话特征样本作为训练样本进行机器学习训练,得到上述异常检测模型。
[0163] 在示出的一实施例中,上述异常检测模型为基于深度学习网络的分类模型。
[0164] 在示出的一实施例中,上述深度学习网络为基于LSTM模型构建的分类器模型;
[0165] 上述会话特征包括从上述访问请求数据中提取出的按照访问行为的发生时刻排序的若干访问行为特征。
[0166] 在示出的一实施例中,上述基于LSTM模型构建的分类器模型,包括:
[0167] 输入层、至少一LSTM层、至少一RNN层和输出层;其中,上述LSTM层的输出为上述RNN层的输入。
[0168] 在示出的一实施例中,上述装置50还包括:
[0169] 基于针对上述用户的用户访问行为是否异常的判断结果,为上述用户对应的会话特征进行打标;
[0170] 将打标后的上述会话特征加入会话特征样本集中,作为训练样本。
[0171] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
[0172] 应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
[0173] 以上上述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈