基于AI的白名单生成方法、装置、电子设备、可读介质与流程

文档序号:25991907发布日期:2021-07-23 21:04阅读:118来源:国知局
基于AI的白名单生成方法、装置、电子设备、可读介质与流程

本发明涉及一种通信技术领域,尤其是涉及一种基于ai的白名单生成方法、装置、电子设备、可读介质。



背景技术:

为了防止web应用程序受到漏洞攻击,目前的web应用防火墙(webapplicationfirewall,简称waf)产品中都配置有黑白名单。现在的白名单由安全运维手工维护,成本高且时效性差。成本高的原因在于:手工维护,白名单的长度和精细度都受到显著限制,无法将全部的正常业务纳入到白名单,从而保护正常业务不被waf所中断。而时效性差的原因是:当业务变化非常迅速时,白名单往往事后添加到web应用防火墙,即发生了web应用防火墙影响正常业务后才手工添加白名单来进行故障恢复。

中国专利202010786161.3公开了一种白名单生成方法,该方法中对统一资源定位符url提取url的路径部分,并对url的路径部分进行泛化替换,得到url的第一泛化路径信息;再将初始模式相似的url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息;基于url的第二泛化路径信息生成与目标网站对应的白名单。

该方法虽然达到了白名单生成的低成本、时效性强等技术效果,但是,在黑白名单的配置时,仍然存在准确性不高的普遍性问题,会经常出现误报的情况,从而影响web防护的准确性。



技术实现要素:

针对现有技术存在的问题,本发明的目的在于提供一种基于ai的白名单生成方法,该方法能够形成准确性高的白名单;本发明的另一目的是提供一种实施上述方法的装置、电子设备、可读介质。

为实现上述目的,本发明一种基于ai的白名单生成方法,具体为:

1)获取目标网站的流量数据;该流量数据包含所述目标网站下多个网页的统一资源定位符url;

2)针对每一个所述url,提取url的路径部分,并对所述url的路径部分进行泛化替换,得到url的第一泛化路径信息;所述url的第一泛化路径信息用于表征url的初始模式;

3)将所述初始模式相似的url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息;所述url的第二泛化路径信息用于表征url的最终模式;

4)根据第一泛化路径信息、第二泛化路径信息,进行变量解析,获得变量参数;

5)获取变量参数对应的ai模型,ai模型为基于人工智能学习的表征变量安全的模型;

6)对变量参数进行判断,判断变量参数是否符合ai模型;

7)若变量参数符合ai模型,基于所述url的第二泛化路径信息生成与目标网站对应的白名单;

8)若变量参数不符合ai模型,基于该检测结果对相应的web数据进行防护。

进一步,对所述url的路径部分进行泛化替换,得到url的第一泛化路径信息,包括:计算所述url的路径部分的相似度;若所述相似度大于或等于预设阈值,则基于预设泛化规则对所述url的路径部分进行泛化替换,得到所述url的第一泛化路径信息。

进一步,计算所述url的路径部分的相似度,包括:将所述url的路径部分解析为多层级的目录;记录所述目录的总层数和最长公共层数;基于所述目录的总层数和所述最长公共层数,计算所述url的路径部分的相似度。

进一步,基于预设泛化规则对所述url的路径部分进行泛化替换,得到所述url的第一泛化路径信息,包括:确定所述url的路径部分中的待泛化目录;所述待泛化目录为所述url的路径部分中的任一层级的目录;基于预设泛化规则对所述url的路径部分中的待泛化目录进行泛化处理,得到所述url的第一泛化路径信息。

进一步,将所述初始模式相似的url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息,包括:基于所述相似度,判断多个url的初始模式是否相似;若相似,则将所述初始模式相似的所述多个url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息。

进一步,所述步骤5)中,所述基于人工智能学习的表征变量安全的模型,具体为:获取已知安全网站对应的白名单的第一泛化路径信息、第二泛化路径信息,对该已知的第一泛化路径信息、第二泛化路径信息进行变量解析,得到实时变量参数;将实时变量参数输入至预先训练的机器学习模型;获取所述机器学习模型基于所述实时变量输出的ai模型。

进一步,所述变量参数包括参数类型、参数关键词、参数名、关键词编码、请求参数值、路径信息。

一种基于ai的白名单生成装置,包括:

获取单元,用于获取目标网站的流量数据;其中,流量数据包含目标网站下多个网页的统一资源定位符url;

泛化替换单元,用于针对每一个url,提取url的路径部分,并对url的路径部分进行泛化替换,得到url的第一泛化路径信息;其中,url的第一泛化路径信息用于表征url的初始模式;

合并处理单元,用于将初始模式相似的url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息;其中,url的第二泛化路径信息用于表征url的最终模式;

变量解析单元,根据第一泛化路径信息、第二泛化路径信息,进行变量解析,获得变量参数;

ai模型,通过变量参数对应的ai模型,对变量参数进行判断,判断变量参数是否符合ai模型;

生成单元,若变量参数符合ai模型,用于基于url的第二泛化路径信息生成与目标网站对应的白名单。若变量参数不符合ai模型,基于该检测结果对相应的web数据进行防护。

一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如权利要求1至7任一项所述的方法。

一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行如权利要求1至7任一项所述的方法。

本发明可以实现对获取的目标网站的流量数据进行泛化替换和合并处理,该方式能够自动生成白名单,关键在上述生成白名单的程序中增加了ai模型判断的过程,大大的提高了白名单的准确性,可及时应用于web应用防火墙,因此本发明实施例具有准确性高、成本低,时效性强的有益效果。

附图说明

图1为本发明基于ai的白名单生成方法的流程框架图;

图2为本发明基于ai的白名单生成装置的框架图。

具体实施方式

下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

为便于对本发明进行理解,首先对本发明实施例所公开的一种白名单生成方法进行详细描述。

实施例1:

如图1所示,根据本发明实施例,提供了一种基于ai的白名单生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

如图1所示,本发明一种基于ai的白名单生成方法,具体包括以下步骤:

1)获取目标网站的流量数据;该流量数据包含所述目标网站下多个网页的统一资源定位符url;

在本实施例中,目标网站可以称为web站点,包含主网站和子网站;其中,主网站可以指网站的首页,子网站可以指该网站下的其他子页面。因此目标网站的多个网站之间存在级联关系,作为首页的主网站其级别最高,可以指一级网站,而子网站又可以包含二级网站、三级网站等不同级别的多个网站。上述流量数据可以指多个客户端向该目标网站发送的用户请求,也可以指其他信息,本发明实施例对此不做具体限定。另外,本实施例获取目标网站的流量数据的方式可以是实时导入,还可以是从历史访问日志导入,本发明实施例对获取目标网站的流量数据的方式也不做具体限定。

2)针对每一个所述url,提取url的路径部分,并对所述url的路径部分进行泛化替换,得到url的第一泛化路径信息;所述url的第一泛化路径信息用于表征url的初始模式;

在本发明实施例中,url包括:host,path和query。其中,上述path表示本实施例中的路径部分。url的第一泛化路径信息用于表征url的初始模式。该初始模式是指初次进行泛化替换得到的模式,初始模式可以用pattern表示。初始模式的数量小于该目标网站下多个页面的url的数量。需要注意的是,泛化替换的目的是利用少量的第一泛化路径信息即可表示该目标网站下多个页面的url的路径部分。本步骤中url的泛化替换方法简单高效,非常适合url对应的白名单生成。

对所述url的路径部分进行泛化替换,得到url的第一泛化路径信息,包括:计算所述url的路径部分的相似度;若所述相似度大于或等于预设阈值,则基于预设泛化规则对所述url的路径部分进行泛化替换,得到所述url的第一泛化路径信息。

计算所述url的路径部分的相似度,包括:将所述url的路径部分解析为多层级的目录;记录所述目录的总层数和最长公共层数;基于所述目录的总层数和所述最长公共层数,计算所述url的路径部分的相似度。

基于预设泛化规则对所述url的路径部分进行泛化替换,得到所述url的第一泛化路径信息,包括:确定所述url的路径部分中的待泛化目录;其中,所述待泛化目录为所述url的路径部分中的任一层级的目录;基于预设泛化规则对所述url的路径部分中的待泛化目录进行泛化处理,得到所述url的第一泛化路径信息。

3)将所述初始模式相似的url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息;所述url的第二泛化路径信息用于表征url的最终模式;

在本发明实施例中,url的第二泛化路径信息用于表征url的最终模式。该最终模式是指进行了多次泛化替换之后得到的模式,最终模式可以用toppattern表示。最终模式的数量小于初始模式的数量。需要注意的是,合并处理的目的是利用少于第一泛化路径信息的第二泛化路径信息来表示该目标网站下多个页面的url的路径部分。本步骤是对相似pattern的合并,该合并机制通过对pattern的反复泛化替换,使格式类似的url不断的被合并到相同的pattern上,得到toppattern。

将所述初始模式相似的url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息,包括:基于所述相似度,判断多个url的初始模式是否相似;若相似,则将所述初始模式相似的所述多个url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息。

4)根据第一泛化路径信息、第二泛化路径信息,进行变量解析,获得变量参数;

所述变量参数包括参数类型、参数关键词、参数名、关键词编码、请求参数值、路径信息等。

url参数可将用户提供的信息从浏览器传递到服务器。当服务器收到请求,而且参数被追加到请求的url上时,服务器在将请求的页提供给浏览器之前,于处理该页时放置这些参数。url参数包括根据用户的喜好对web站点进行个性化设置,例如,由用户名和密码组成的url参数可用于验证用户身份,并只显示该用户已经订阅的信息。通常通过url参数将值传递给应用程序内的变量。例如,可以将搜索语句传递给web应用程序中的sql变量以产生搜索结果。

实际应用中,目标网站可以称为web站点,包含主网站和子网站;其中,主网站可以指网站的首页,子网站可以指该网站下的其他子页面。因此目标网站的多个网站之间存在级联关系,作为首页的主网站其级别最高,可以指一级网站,而子网站又可以包含二级网站、三级网站等不同级别的多个网站。因此一个web请求中会携带多个变量参数,在获取第一泛化路径信息、第二泛化路径信息之后,可以对其进行变量解析,得到变量参数,以便后续根据变量参数的安全与否来初步判断待检测web请求的安全与否。本实施例中变量参数也可为待检测web请求中携带的变量。

5)获取变量参数对应的ai模型,ai模型为基于人工智能学习的表征变量安全的模型;

基于人工智能学习的表征变量安全的模型,具体为:获取已知安全网站对应的白名单,并获取该已知的白名单的第一泛化路径信息、第二泛化路径信息,对上述已知的第一泛化路径信息、第二泛化路径信息进行变量解析,得到实时变量参数;将实时变量参数输入至预先训练的机器学习模型;获取所述机器学习模型基于所述实时变量输出的ai模型。

6)对变量参数进行判断,判断变量参数是否符合ai模型;

本实施例中,ai模型为基于人工智能学习的表征变量安全的模型,可以为blp模型。本实施例中,为了提高判断目标网站是否安全的准确性,通过变量参数安全与否的ai模型来对变量参数的安全性进行判定,也即在对待检测目标网站的第一泛化路径信息、第二泛化路径信息进行变量解析,得到变量参数之后,根据相应的ai模型准确判断该变量参数是否安全。

基于人工智能学习的表征变量安全的模型具有自动学习能力,并且适应性强,也可以借助机器学习模型来自动生成ai模型,将已知变量参数输入至预先训练的机器学习模型;获取机器学习模型基于已知变量输出的ai模型。

7)若变量参数符合ai模型,基于所述url的第二泛化路径信息生成与目标网站对应的白名单;

基于前述步骤,本实施例中可以形成高准确性、搞安全性的第一泛化路径信息、第二泛化路径信息,进一步,在此基础上,本实施例可以通过统计url的第二泛化路径信息的方式来确定最终模式的访问量大小,进而可以确定该目标网站的主要业务,以此来保证生成的白名单覆盖面大、精度高。

实际应用中,在根据变量参数判断目标网站是否安全时,可以直接判断变量参数是否符合ai模型。若是,则生成目标网站对应的白名单。

8)若变量参数不符合ai模型,基于该检测结果对相应的web数据进行防护。

实际应用中,在根据变量参数判断目标网站是否安全时,可以直接判断变量参数是否符合ai模型。若否,则基于web防护策略集对待检测目标网站进行安全性检测,得到目标网站检测结果,以基于检测结果对待检测目标网站请求进行防护,或者添加至黑名单。

在变量参数不符合ai模型的情况下,变量参数为不安全,此时待检测目标网站请求可能为危险web请求,为了确定待检测web请求的安全与否,可以启动实施进行后续安全性检测。在变量参数符合ai模型的情况下,变量参数安全,此时待检测web请求属于安全web请求,无需进行其他安全性检测,从而可以有效的减少误报率,提高web防护的准确性。

实施例2:

本发明实施例提供了一种基于ai的白名单生成装置,该白名单生成装置主要用于执行实施例1上述内容所提供的基于ai的白名单生成方法,以下对本发明实施例提供的基于ai的白名单生成装置做具体介绍。

图2为本发明实施例提供的一种基于ai的白名单生成装置的结构示意图。如图2所示,该基于ai的白名单生成装置,主要包括:获取单元11、泛化替换单元12、合并处理单元13、变量解析单元14、ai模型15、生成单元16,其中:

获取单元11,用于获取目标网站的流量数据;其中,流量数据包含目标网站下多个网页的统一资源定位符url;

泛化替换单元12,用于针对每一个url,提取url的路径部分,并对url的路径部分进行泛化替换,得到url的第一泛化路径信息;其中,url的第一泛化路径信息用于表征url的初始模式;

合并处理单元13,用于将初始模式相似的url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息;其中,url的第二泛化路径信息用于表征url的最终模式;

变量解析单元14,根据第一泛化路径信息、第二泛化路径信息,进行变量解析,获得变量参数;

ai模型15,通过变量参数对应的ai模型,对变量参数进行判断,判断变量参数是否符合ai模型;

生成单元16,若变量参数符合ai模型,用于基于url的第二泛化路径信息生成与目标网站对应的白名单。若变量参数不符合ai模型,基于该检测结果对相应的web数据进行防护。

本发明实施例提供的一种基于ai的白名单生成装置,先利用获取单元11获取目标网站的流量数据;其中,流量数据包含目标网站下多个网页的统一资源定位符url;然后利用泛化替换单元12针对每一个url,提取url的路径部分,并对url的路径部分进行泛化替换,得到url的第一泛化路径信息;其中,url的第一泛化路径信息用于表征url的初始模式;再利用合并处理单元13将初始模式相似的url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息;其中,url的第二泛化路径信息用于表征url的最终模式;再通过变量解析单元14,根据第一泛化路径信息、第二泛化路径信息,进行变量解析,获得变量参数;关键步骤为:通过变量参数对应的ai模型15,对变量参数进行判断,判断变量参数是否符合ai模型,若变量参数符合ai模型,最后利用生成单元16基于url的第二泛化路径信息生成与目标网站对应的白名单。

本发明实施例通过各个单元可以实现对获取的目标网站的流量数据进行泛化替换和合并处理,该方式能够自动生成白名单,关键在上述生成白名单的程序中增加了ai模型判断的过程,大大的提高了白名单的准确性,可及时应用于web应用防火墙,因此本发明实施例具有准确性高、成本低,时效性强的有益效果。

可选地,泛化替换单元12包括计算模块和泛化替换模块,其中:计算模块,用于计算url的路径部分的相似度;泛化替换模块,用于若相似度大于或等于预设阈值,则基于预设泛化规则对url的路径部分进行泛化替换,得到url的第一泛化路径信息。

可选地,计算模块包括解析子模块,记录子模块和计算子模块,其中:解析子模块,用于将url的路径部分解析为多层级的目录;记录子模块,用于记录目录的总层数和最长公共层数;计算子模块,用于基于目录的总层数和最长公共层数,计算url的路径部分的相似度。

可选地,泛化替换模块包括:确定子模块和泛化处理子模块,其中;确定子模块,用于确定url的路径部分中的待泛化目录;其中,待泛化目录为url的路径部分中的任一层级的目录;泛化处理子模块,用于基于预设泛化规则对url的路径部分中的待泛化目录进行泛化处理,得到url的第一泛化路径信息。

可选地,变量解析单元,包括:第一解析单元、第二解析单元,其中:第一解析单元用于对第一泛化路径信息进行变量解析,第二解析单元用于对第二泛化路径信息进行变量解析。

可选地,ai模型,包括:学习单元、判断单元、第一输入单元、第二输入单元,第一输入单元用于输入已知安全网站对应的白名单、已知的白名单的第一泛化路径信息和第二泛化路径信息,通过学习单元进行学习;第二输入单元输入待判断的目标网站泛化路径信息、变量参数,通过判断单元判断变量参数是否符合ai模型。

可选地,合并处理单元,包括:判断模块和合并处理模块,判断模块,用于基于相似度,判断多个url的初始模式是否相似;合并处理模块,用于若相似,则将初始模式相似的多个url的第一泛化路径信息进行合并处理,得到url的第二泛化路径信息。

可选地,所述装置还包括预处理单元,其中:预处理单元,用于对url进行预处理;预处理包括以下一种或几种:解码处理,过滤处理和标准化处理。

可选地,生成单元包括统计模块和生成模块,其中:统计模块,用于统计每个url的第二泛化路径信息的出现次数;生成模块,用于将出现次数达到预设条件的第二泛化路径信息转化为正则表达式作为与目标网站对应的白名单输出。

在一个可选的实施例中,本实施例还提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法实施例方法的步骤。

在一个可选的实施例中,本实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,其中,所述程序代码使所述处理器执行上述方法实施例方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1