CN109325193B - 基于机器学习的waf正常流量建模方法以及装置 - Google Patents

基于机器学习的waf正常流量建模方法以及装置 Download PDF

Info

Publication number
CN109325193B
CN109325193B CN201811206594.6A CN201811206594A CN109325193B CN 109325193 B CN109325193 B CN 109325193B CN 201811206594 A CN201811206594 A CN 201811206594A CN 109325193 B CN109325193 B CN 109325193B
Authority
CN
China
Prior art keywords
target
url
waf
characters
probability
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.)
Active
Application number
CN201811206594.6A
Other languages
English (en)
Other versions
CN109325193A (zh
Inventor
唐瑶
范渊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN201811206594.6A priority Critical patent/CN109325193B/zh
Publication of CN109325193A publication Critical patent/CN109325193A/zh
Application granted granted Critical
Publication of CN109325193B publication Critical patent/CN109325193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于机器学习的WAF正常流量建模方法以及装置,涉及流量检测技术领域,获取目标URL,并对所述目标URL中的字符进行分类,得到多个类别;基于所述目标URL中的字符,计算目标切换概率,其中,所述目标切换概率表示所述多个类别中的一个类别切换到另外一个类别的概率;结合所述目标URL中的字符和所述目标切换概率,通过机器学习算法建立WAF正常流量模型,其中,所述WAF正常流量为非网络入侵流量,解决了现有技术中存在的WAF识别异常流量方法的准确性较低的技术问题。

Description

基于机器学习的WAF正常流量建模方法以及装置
技术领域
本发明涉及流量检测技术领域,尤其是涉及一种基于机器学习的WAF正常流量建模方法以及装置。
背景技术
目前,全球广域网或万维网(World Wide Web,简称WEB)应用越来越丰富,但由于WEB服务器的强大的计算能力、处理性能及蕴含的较高价值,使之逐渐成为主要的攻击目。例如,结构化查询语言(Structured Query Language,简称SQL)注入、网页篡改、网页挂马等安全事件频繁发生。
对于现有的网站应用级入侵防御系统(Web Application Firewall,简称:WAF)识别异常流量的方法,通常采用与异常流量规则集相匹配的方式来识别异常流量。但是,通过该方法进行识别很容易导致异常流量的误报、漏报等情况,因此,现有的WAF识别异常流量方法的准确性较低。
发明内容
有鉴于此,本发明的目的在于提供一种基于机器学习的WAF正常流量建模方法以及装置,以解决现有技术中存在的WAF识别异常流量方法的准确性较低的技术问题。
第一方面,本发明实施例提供了一种基于机器学习的WAF正常流量建模方法,应用于服务器,包括:
获取目标统一资源定位符(Uniform Resource Locator,简称URL),并对所述目标URL中的字符进行分类,得到多个类别;
基于所述目标URL中的字符,计算目标切换概率,其中,所述目标切换概率表示所述多个类别中的一个类别切换到另外一个类别的概率;
结合所述目标URL中的字符和所述目标切换概率,通过机器学习算法建立WAF正常流量模型,其中,所述WAF正常流量为非网络入侵流量。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,对所述目标URL中的字符进行分类,得到多个类别,包括:
基于所述目标URL中字符的所属状态,对所述字符进行分类,得到多个类别,其中,所述所属状态包括以下至少之一:数字状态、文字状态、符号状态、结束状态、开始状态。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,基于所述目标URL中的字符,计算目标切换概率,包括:
根据预设格式条件与所述目标URL中的请求内容,确定所述目标URL的字符中多个类别之间的切换事件,其中,所述切换事件表示所述多个类别中的一个类别切换到另外一个类别的事件;
计算每个所述切换事件的发生概率,并根据所述发生概率确定目标切换概率。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,结合所述目标URL中的字符和所述目标切换概率,通过机器学习算法建立WAF正常流量模型,包括:
根据所述目标URL中字符的顺序,计算多个所述目标切换概率的乘积,得到目标计算式,其中,所述目标计算式用于计算所述目标URL的总概率值;
结合所述目标计算式和机器学习算法建立所述WAF正常流量模型。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:
通过所述WAF正常流量模型进行计算,得到待计算URL的总概率值;
将预设阈值与所述待计算URL的总概率值进行对比;
若所述待计算URL的总概率值大于所述预设阈值,则确定所述待计算URL的第一WAF流量检测结果为通过。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述方法还包括:
若所述待计算URL的总概率值小于或等于所述预设阈值,则确定所述待计算URL的第一WAF流量检测结果为不通过。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述方法还包括:
若所述待计算URL的第一WAF流量检测结果为通过,则根据预设异常流量集合对所述待计算URL进行异常流量检测,得到第二WAF流量检测结果,其中,所述预设异常流量集合包括至少一个网络入侵流量。
第二方面,本发明实施例还提供一种基于机器学习的WAF正常流量建模装置,应用于服务器,包括:
分类模块,用于获取目标URL,并对所述目标URL中的字符进行分类,得到多个类别;
计算模块,用于基于所述目标URL中的字符,计算目标切换概率,其中,所述目标切换概率表示所述多个类别中的一个类别切换到另外一个类别的概率;
建立模块,用于结合所述目标URL中的字符和所述目标切换概率,通过机器学习算法建立WAF正常流量模型,其中,所述WAF正常流量为非网络入侵流量。
第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述如第一方面所述的方法的步骤。
第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行如第一方面所述的方法。
本发明实施例提供的技术方案带来了以下有益效果:本发明实施例提供的基于机器学习的WAF正常流量建模方法以及装置。首先,获取目标URL,并对目标URL中的字符进行分类从而得到多个类别,然后,基于目标URL中的字符计算目标切换概率,其中,目标切换概率表示多个类别中的一个类别切换到另外一个类别的概率,之后,结合目标URL中的字符和目标切换概率,通过机器学习算法建立WAF正常流量模型,其中,WAF正常流量为非网络入侵流量,因此,通过计算目标URL的字符类别中的一个类别切换到另外一个类别的概率,再利用机器学习算法来建立WAF正常流量模型,使待检测的流量可以通过WAF正常流量模型来进行检测,识别出待检测流量是否符合WAF正常流量模型,与现有技术相比,能够从另一方面、角度来识别出待检测的流量是否为异常流量,从而减少异常流量的误报、漏报等情况,以提高异常流量识别的准确率,从而解决了现有技术中存在的WAF识别异常流量方法的准确性较低的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例一所提供的基于机器学习的WAF正常流量建模方法的流程图;
图2示出了本发明实施例二所提供的基于机器学习的WAF正常流量建模方法的流程图;
图3示出了本发明实施例二所提供的URL请求参数的示意图;
图4示出了本发明实施例二所提供的各个状态之间进行切换的概率示意图;
图5示出了本发明实施例三所提供的一种基于机器学习的WAF正常流量建模装置的结构示意图;
图6示出了本发明实施例四所提供的一种电子设备的结构示意图。
图标:3-基于机器学习的WAF正常流量建模装置;31-分类模块;32-计算模块;33-建立模块;4-电子设备;41-存储器;42-处理器;43-总线;44-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,企业等用户一般采用防火墙作为安全保障体系的第一道防线,但是,在现实中,他们存在诸多问题,例如传统的防火墙体系无法对当前快速爆发和蔓延的0DAY漏洞进行快速响应和对抗,而要彻底解决此类漏洞的代码审计和代码修补往往需要较长的时间,由此产生了WAF,即Web应用防护系统。目前,基于规则的WAF的原理是每一个会话都要经过一系列的测试,每一项测试都由一个或多个检测规则组成,如果测试没通过,请求就会被认为非法并拒绝。目前WAF识别异常流量的方法是规则集匹配的方式,但该方式存在以下不足:首先,硬规则很容易被黑客绕过,其次,黑客攻击的方式逐年在变化和新增,需要时间积累规则集才能不断完善;再者,规则匹配大多采用正则,正则存在一定的局限性。因此,现有的WAF识别异常流量方法的准确性较低。
基于此,本发明实施例提供的一种基于机器学习的WAF正常流量建模方法以及装置,可以解决现有技术中存在的WAF识别异常流量方法的准确性较低的技术问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于机器学习的WAF正常流量建模方法以及装置进行详细介绍。
实施例一:
本发明实施例提供的一种基于机器学习的WAF正常流量建模方法,应用于服务器,如图1所示,包括:
S11:获取目标URL,并对目标URL中的字符进行分类,得到多个类别。
具体的,类别可以按照状态进行分类,具体的,分析请求需要数据的样本,不同输入条件下要求的请求内容格式有一定的规范。例如,可以建立自定义状态,根据请求数据的不同,自定义不同的标识绑定不同类型的数据,如数字用N、中文用zh、英文小写用a等来表示。
S12:基于目标URL中的字符计算目标切换概率,其中,目标切换概率表示多个类别中的一个类别切换到另外一个类别的概率。
作为本实施例的优选实施方式,采用统计的方式计算每个状态切换到下一个状态的概率,即目标切换概率。
S13:结合目标URL中的字符和目标切换概率,通过机器学习算法建立WAF正常流量模型,其中,WAF正常流量为非网络入侵流量。
其中,机器学习(Machine Learning,简称ML)涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多个方面,主要是计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
作为一个优选方案,本步骤中采用机器学习,分析系统日志收集的大量请求数据,针对每一个目标URL进行具体分析,抽象出能够描述的机器学习模型。
对于现有技术而言,传统WAF防护的规则集匹配具有一定的局限性。通过本实施例中对系统日志的大量请求进行分析,将具体URL的原始数据转换为状态,并通过统计学方法,获取每种状态切换到下一个状态的概率,通过机器学习得出大量请求的状态概率值,由此得出不同状态概率值出现的概率,然后便可以设置合理阈值用以区分正常流量和异常流量,建立正常流量模型。
本实施例中,基于机器学习能够基于大量数据进行自动化学习和训练,针对大量正确日志建立模型,即与正确流量不符的则被识别为异常。因此,通过建立的正常流量模型识别出正确行为,从而使入侵行为更难被绕过。
实施例二:
本发明实施例提供的一种基于机器学习的WAF正常流量建模方法,应用于服务器,如图2所示,包括:
S21:获取目标URL,并基于目标URL中字符的所属状态,对字符进行分类,得到多个类别。
需要说明的是,其中,所属状态包括以下至少之一:数字状态、文字状态、符号状态、结束状态、开始状态。
例如,推出取值的样本模式为数字、字母、数字,可将数字状态设定为N,字母为a,如图3所示,对于URL请求参数的四组字符中的第一组字符,从“=”后开始分析,则该样本要求输入格式由状态表示为:“^NNNN_aaa_NNNN$”,其中“^”代表起始,“$”代表终止。
在对URL进行分析的过程中,异常流量和正常流量在参数、取值长度、字符等分布模式上并不完全相同,进一步看,正常流量尽管每个都不相同,但有共同的模式,而异常流量并不符合,如图3所示,在URL请求参数的四组字符中,最后一组字符为异常流量。
此外,通过自定义模态信息,将服务器各种请求转换成状态来表示,使得原始数据得到归一化,其结果使得原始数据的状态空间被有效压缩,正常样本间的差距也进一步得到减小。
S22:根据预设格式条件与目标URL中的请求内容,确定目标URL的字符中多个类别之间的切换事件,其中,切换事件表示多个类别中的一个类别切换到另外一个类别的事件。
S23:计算每个切换事件的发生概率,并根据发生概率确定目标切换概率,其中,目标切换概率表示多个类别中的一个类别切换到另外一个类别的概率。
在实际应用中,采用统计的方法对不同状态切换概率进行统计,例如,如图2所示,在不同状态切换的概率中:从起始“^”转移到数字N的概率为1,从起始“^”转移到字母a的概率为0;数字N下一个状态还是N的概率为0.8,数字N转移到“_”的概率为0.1,数字N转移到终止“$”的概率为0.1,数字N转移到字母a状态的概率为0。
S24:根据目标URL中字符的顺序,计算多个目标切换概率的乘积,得到目标计算式,其中,目标计算式用于计算目标URL的总概率值。
例如,根据步骤S23中计算的概率值,如图3所示,其中的第一组正常流量,即参数为2376_cdx_8578的状态概率值为:1.0×0.8×0.8×0.8×0.1×0.5×0.8×0.8×0.8×0.2×0.8×0.8×0.8×0.1。而其中的第四组异常流量,即参数为base64_decode的状态概率值为:0.0×0.8×0.8×0.8×0.0×0.8×0.1×0.5×0.8×0.8×0.8×0.8×0.8×0.0。
S25:结合目标计算式和机器学习算法建立WAF正常流量模型。
其中,WAF正常流量为非网络入侵流量。本步骤中,作为一个优选方案,通过大量数据进行分析,利用机器学习建立模型,从而得出正常流量的机器学习模型。
S26:通过WAF正常流量模型进行计算,得到待计算URL的总概率值。
S27:将预设阈值与待计算URL的总概率值进行对比,根据对比结果判断待计算URL的总概率值是否大于预设阈值。如果是,则进行步骤S28;如果否,则进行步骤S29。
本步骤中,通过分析机器学习模型,总结一个请求下不同状态切换概率值的比重,从而设置合理的阈值,以达到正常流量和异常流量辨别的效果。
S28:确定待计算URL的第一WAF流量检测结果为通过,并进行步骤S30。
S29:确定待计算URL的第一WAF流量检测结果为不通过。
S30:根据预设异常流量集合对待计算URL进行异常流量检测,得到第二WAF流量检测结果,其中,预设异常流量集合包括至少一个网络入侵流量。
现有的WAF防护的web入侵检测主要是通过维护规则集对入侵访问进行拦截,硬规则很容易被黑客绕过;而且,规则维护的成本高,黑客攻击的方式逐年在变化和新增,需要时间积累规则集才能不断完善;此外,规则匹配大多采用正则即,仅对比异常流量规则集中的异常流量,正则存在一定的局限性。
本实施例中,在规则集防护之外,增加一道“关卡”,即通过机器学习建立正常流量的模型,以此辨别大部分正常流量和异常流量,通过该模型的正常流量才会进行与规则集进行匹配的过程。
因此,本发明实施例提供的基于机器学习的WAF正常流量建模方法,针对现有规则集存在的不足,在规则集外增加一道防护,具体的,在匹配规则集的步骤之前添加一层数据过滤层,即WAF正常流量模型,只有通过该模型识别为正常流量的数据请求才可以进行规则集匹配的过程,从而确保识别的准确性,以减少误报率与漏报率,同时提高了安全性。
实施例三:
本发明实施例提供的一种基于机器学习的WAF正常流量建模装置,应用于服务器,如图1所示,基于机器学习的WAF正常流量建模装置3包括:分类模块31、计算模块32以及建立模块33。
进一步的是,分类模块用于获取目标URL,并对目标URL中的字符进行分类,得到多个类别。计算模块用于基于目标URL中的字符,计算目标切换概率,其中,目标切换概率表示多个类别中的一个类别切换到另外一个类别的概率。
优选的,建立模块用于结合目标URL中的字符和目标切换概率,通过机器学习算法建立WAF正常流量模型,其中,所述WAF正常流量为非网络入侵流量。
实施例四:
本发明实施例提供的一种电子设备,如图4所示,电子设备4包括存储器41、处理器42,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一或实施例二提供的方法的步骤。
参见图4,电子设备还包括:总线43和通信接口44,处理器42、通信接口44和存储器41通过总线43连接;处理器42用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口44(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线43可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器42在接收到执行指令后,执行所述程序,前述本发明任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器42中,或者由处理器42实现。
作为本实施例的另一种实施方式,处理器42可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器42中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器42可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器42读取存储器41中的信息,结合其硬件完成上述方法的步骤。
实施例五:
本发明实施例提供的一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述实施例一或实施例二提供的方法。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例提供的具有处理器可执行的非易失的程序代码的计算机可读介质,与上述实施例提供的基于机器学习的WAF正常流量建模方法、装置以及电子设备具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明实施例所提供的进行基于机器学习的WAF正常流量建模方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (5)

1.一种基于机器学习的WAF正常流量建模方法,应用于服务器,其特征在于,包括:
获取目标统一资源定位符URL,并对所述目标URL中的字符进行分类,得到多个类别;
基于所述目标URL中的字符,计算目标切换概率,其中,所述目标切换概率表示所述多个类别中的一个类别切换到另外一个类别的概率;
结合所述目标URL中的字符和所述目标切换概率,通过机器学习算法建立WAF正常流量模型,其中,所述WAF正常流量为非网络入侵流量;
结合所述目标URL中的字符和所述目标切换概率,通过机器学习算法建立WAF正常流量模型,包括:
根据所述目标URL中字符的顺序,计算多个所述目标切换概率的乘积,得到目标计算式,其中,所述目标计算式用于计算所述目标URL的总概率值;
结合所述目标计算式和机器学习算法建立所述WAF正常流量模型;
所述方法还包括:
通过所述WAF正常流量模型进行计算,得到待计算URL的总概率值;
将预设阈值与所述待计算URL的总概率值进行对比;
若所述待计算URL的总概率值大于所述预设阈值,则确定所述待计算URL的第一WAF流量检测结果为通过;
所述方法还包括:
若所述待计算URL的总概率值小于或等于所述预设阈值,则确定所述待计算URL的第一WAF流量检测结果为不通过;
所述方法还包括:
若所述待计算URL的第一WAF流量检测结果为通过,则根据预设异常流量集合对所述待计算URL进行异常流量检测,得到第二WAF流量检测结果,其中,所述预设异常流量集合包括至少一个网络入侵流量。
2.根据权利要求1所述的方法,其特征在于,对所述目标URL中的字符进行分类,得到多个类别,包括:
基于所述目标URL中字符的所属状态,对所述字符进行分类,得到多个类别,其中,所述所属状态包括以下至少之一:数字状态、文字状态、符号状态、结束状态、开始状态。
3.根据权利要求1所述的方法,其特征在于,基于所述目标URL中的字符,计算目标切换概率,包括:
根据预设格式条件与所述目标URL中的请求内容,确定所述目标URL的字符中多个类别之间的切换事件,其中,所述切换事件表示所述多个类别中的一个类别切换到另外一个类别的事件;
计算每个所述切换事件的发生概率,并根据所述发生概率确定目标切换概率。
4.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至3任一项所述的方法的步骤。
5.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至3任一所述方法。
CN201811206594.6A 2018-10-16 2018-10-16 基于机器学习的waf正常流量建模方法以及装置 Active CN109325193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811206594.6A CN109325193B (zh) 2018-10-16 2018-10-16 基于机器学习的waf正常流量建模方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811206594.6A CN109325193B (zh) 2018-10-16 2018-10-16 基于机器学习的waf正常流量建模方法以及装置

Publications (2)

Publication Number Publication Date
CN109325193A CN109325193A (zh) 2019-02-12
CN109325193B true CN109325193B (zh) 2021-02-26

Family

ID=65262696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811206594.6A Active CN109325193B (zh) 2018-10-16 2018-10-16 基于机器学习的waf正常流量建模方法以及装置

Country Status (1)

Country Link
CN (1) CN109325193B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314291A (zh) * 2020-01-15 2020-06-19 北京小米移动软件有限公司 网址安全性检测方法及装置、存储介质
CN113259303B (zh) * 2020-02-12 2023-01-20 网宿科技股份有限公司 一种基于机器学习技术的白名单自学习方法和装置
CN111465055B (zh) * 2020-03-30 2020-10-09 广西民族大学 一种数据挖掘算法受控切换消息的传输方法及系统
CN113839904B (zh) * 2020-06-08 2023-08-22 北京梆梆安全科技有限公司 基于智能网联汽车的安全态势感知方法和系统
CN112351012A (zh) * 2020-10-28 2021-02-09 杭州安恒信息技术股份有限公司 一种网络安全防护方法、装置及系统
CN112738109A (zh) * 2020-12-30 2021-04-30 杭州迪普科技股份有限公司 一种Web攻击的检测方法及装置
CN113660244B (zh) * 2021-08-11 2023-02-24 杭州安恒信息技术股份有限公司 网站可用性检测方法、系统、可读存储介质及装置
CN115622810B (zh) * 2022-12-14 2023-05-16 深圳市永达电子信息股份有限公司 一种基于机器学习算法的业务应用识别系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103171B (zh) * 2016-02-19 2020-09-25 阿里巴巴集团控股有限公司 机器学习模型的建模方法及装置
CN107294993B (zh) * 2017-07-05 2021-02-09 重庆邮电大学 一种基于集成学习的web异常流量监测方法
CN107241352B (zh) * 2017-07-17 2020-01-21 浙江鹏信信息科技股份有限公司 一种网络安全事件分类与预测方法及系统

Also Published As

Publication number Publication date
CN109325193A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
CN109325193B (zh) 基于机器学习的waf正常流量建模方法以及装置
CN109922052B (zh) 一种结合多重特征的恶意url检测方法
CN109933984B (zh) 一种最佳聚类结果筛选方法、装置和电子设备
CN109246064B (zh) 安全访问控制、网络访问规则的生成方法、装置及设备
CN108520180B (zh) 一种基于多维度的固件Web漏洞检测方法及系统
CN103279710B (zh) Internet信息系统恶意代码的检测方法和系统
US11847214B2 (en) Machine learning systems and methods for reducing the false positive malware detection rate
KR101858620B1 (ko) 기계 학습을 이용한 자바스크립트 분석 장치 및 방법
CN109101815B (zh) 一种恶意软件检测方法及相关设备
CN108600172B (zh) 撞库攻击检测方法、装置、设备及计算机可读存储介质
CN110633211A (zh) 对于多接口的测试方法、装置、服务器及介质
CN113935033A (zh) 特征融合的恶意代码家族分类方法、装置和存储介质
US11423099B2 (en) Classification apparatus, classification method, and classification program
CN113378161A (zh) 一种安全检测方法、装置、设备及存储介质
CN112966264A (zh) Xss攻击检测方法、装置、设备及机器可读存储介质
CN117077153A (zh) 基于大规模语言模型的静态应用安全检测误报判别方法
CN110852091A (zh) 错别字的监测方法、装置、电子设备和计算机可读介质
CN111431883A (zh) 一种基于访问参数的web攻击检测方法及装置
WO2019235074A1 (ja) 生成方法、生成装置および生成プログラム
CN108573148B (zh) 一种基于词法分析的混淆加密脚本识别方法
CN107844702B (zh) 基于云防护环境下网站木马后门检测方法及装置
CN115643044A (zh) 数据处理方法、装置、服务器及存储介质
EP3964987A1 (en) Learning device, determination device, learning method, determination method, learning program, and determination program
CN111832030A (zh) 一种基于国产密码数据标识的数据安全审计装置及方法
CN113051565B (zh) 恶意脚本的检测方法及装置、设备、存储介质

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: No. 188, Lianhui street, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Anheng Information Technology Co.,Ltd.

Address before: 310000 15-storey Zhejiang Zhongcai Building, No. 68 Tonghe Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Hangzhou Anheng Information Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant