CN110602029B - 一种用于识别网络攻击的方法和系统 - Google Patents
一种用于识别网络攻击的方法和系统 Download PDFInfo
- Publication number
- CN110602029B CN110602029B CN201910401127.7A CN201910401127A CN110602029B CN 110602029 B CN110602029 B CN 110602029B CN 201910401127 A CN201910401127 A CN 201910401127A CN 110602029 B CN110602029 B CN 110602029B
- Authority
- CN
- China
- Prior art keywords
- detected
- detection
- rule
- request
- model
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Abstract
本申请的目的是提供用于识别网络攻击的方法和系统,本申请包括至少一个防护节点、大数据中心和防控中心,通过获取请求流量,对所述请求流量进行处理,得到待检测请求流量;根据数据特征维度选择所述待检测请求流量对应的检测方式,其中,所述检测方式包括词法分析模型以及从防控中心获取到的规则模型和机器学习模型;根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果;根据所述检测识别结果评估所述待检测请求流量是否为攻击数据。从而实时、全方位、高精度地识别网络攻击,同时减少了维护所需的资源成本与时间成本。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种用于识别网络攻击的方法和系统。
背景技术
随着互联网的发展,使用互联网应用的网民也越来越多,而在互联网应用提供的功能中往往包含网民的个人信息、资金、密码等资源信息,数据库信息被盗、卡中金钱被盗、网站挂马、网站篡改等安全事件频发,针对互联网的攻击持久存在。现今有许多针对防御互联网应用攻击的方案,例如使用互联网应用防火墙。伴随着防御手段的提升,黑客的攻击手段也日渐层出不穷,攻击语句能够出现在请求包的任意区域,比如统一资源定位符(URL)、请求头部、请求主体。现有互联网防火墙技术如下:
1.利用线上负责信息收集,利用线下使用机器学习模型预测,再把预测结果反馈到线上,这种方式具有滞后性,难以实时识别及阻断攻击。
2.在线上使用分类器进行分类,而分类器为了分类恶意攻击使用的分类特征维度基本由访客互联网协议地址、统一资源定位符(URL)、用户代理商、主机、referer语句、头部字段数目、头部长度、头部MD5值、协议版本、请求体长度、请求体MD5值、请求体参数个数、请求方法这些特征维度,而这些维度只是攻击行为或者访问行为的间接或次要维度,并不能作为攻击的直接维度,通常只能作为一种辅助维度,因此这种方案在实际使用中识别精度低。
3.基于日志训练异常检测模型,在线上使用异常检测模型实时预测。这种方式,通过日志训练,主要考虑的是统一资源定位符(URL)相关特征,未考虑请求头部、请求主体维度,所以检测的异常只局限在对统一资源定位符(URL)异常的检测,不能识别出攻击出现在请求头部、请求主体的情况,导致检测精度低。
而对于大多数互联网应用管理者,构建一套互联网应用防火墙防御系统的成本较高,还需要后期维护。
发明内容
本申请的一个目的是提供一种用于识别网络攻击的方法和系统,解决现有技术中识别阻断网络攻击滞后以及识别精度低的问题。
根据本申请的一个方面,提供了一种在防护节点端用于识别网络攻击的方法,该方法包括:
获取请求流量,对所述请求流量进行处理,得到待检测请求流量;
根据数据特征维度选择所述待检测请求流量对应的检测方式,其中,所述检测方式包括词法分析模型以及从防控中心获取到的规则模型和机器学习模型;
根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果;
根据所述检测识别结果评估所述待检测请求流量是否为攻击数据。
进一步地,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据之后,包括:
当所述待检测请求流量为攻击数据时,则阻断所述待检测请求流量;
当所述待检测请求流量为正常请求数据时,则将所述待检测请求流量进行放行。
进一步地,对所述请求流量进行处理,得到待检测请求流量,包括:
对所述请求流量进行解析处理以及数据解码处理,利用网络协议校验解码后的请求流量,得到协议校验结果;
根据所述协议校验结果确定待检测请求流量。
进一步地,根据所述协议校验结果确定待检测请求流量,包括:
当所述协议校验结果为校验失败时,阻断校验后的请求流量;
当所述协议校验结果为校验通过时,所述校验后的请求流量作为待检测请求流量。
进一步地,根据数据特征维度选择所述待检测请求流量对应的检测方式,包括:
扫描所述待检测请求流量以获取所述待检测请求流量的数据特征维度;
根据所述数据特征维度判断是否对所述待检测请求流量进行词法分析,若是,则所述检测方式包括使用词法分析模型的检测,确定所述词法分析模型中词法分析器的类型;
根据所述数据特征维度判断是否对所述待检测请求流量进行规则检测,若是,则所述检测方式包括使用规则模型的检测;
判断是否对所述待检测请求流量进行机器学习模型检测,若是,则所述检测方式包括使用语法分析模型的检测及使用规则模型的检测之后,使用所述机器学习模型的检测。
进一步地,根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果,包括:
利用确定类型的词法分析器对所述待检测请求流量进行词法分析检测,得到第一检测结果;
其中,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据,包括:
根据所述第一检测结果判断是否达到预设阈值,若是,则所述待检测请求流量为攻击数据;若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。
进一步地,根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果,包括:
从所述规则模型中确定目标规则,使用所述目标规则对所述待检测请求流量进行规则检测,得到第二检测结果;
其中,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据,包括:
根据所述第二检测结果判断是否达到预设阈值,若是,则所述待检测请求流量为攻击数据;若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。
进一步地,根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果,包括:
在进行所述词法分析检测以及规则检测之后,对所述待检测请求流量进行机器学习模型检测,得到第三检测结果;
其中,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据,包括:
根据所述第三检测结果判断是否达到预设阈值,若是,则所述待检测请求流量为攻击数据;若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。
进一步地,从所述规则模型中确定目标规则,包括:
根据所述数据特征维度建立一索引结构,利用所述索引结构从所述规则模型对应的规则库中筛选规则数据,将筛选后的规则数据作为目标规则。
进一步地,所述方法包括:
根据所述检测识别结果确定各防护节点上的访问日志数据;
将所述访问日志数据发送至大数据中心,以使所述大数据中心根据所述访问日志数据进行所述规则模型和机器学习模型的迭代更新。
根据本申请的另一个方面,提供了一种在防控中心端用于识别网络攻击方法的方法,该方法包括:
将用于检测请求流量的规则模型以及机器学习模型下发至各防护节点;
从大数据中心获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点。
根据本申请的又一个方面,提供了一种在大数据中心端用于识别网络攻击方法的方法,该方法包括:
获取各防护节点发送的访问日志数据,其中,所述访问日志数据由各防护节点利用防控中心下发的规则模型和机器学习模型进行检测得到的检测结果确定;
对所述访问日志数据进行清洗处理和降噪处理,得到攻击语句,通过所述攻击语句迭代优化机器学习模型;
分析所述访问日志数据以得到分析结果,根据所述分析结果更新调整规则模型中的规则数据;
将所述机器学习模型的迭代优化的信息以及所述规则模型的更新调整的信息通知所述防控中心。
根据本申请的再一个方面,提供了一种使用所述识别网络攻击的方法的系统,其中,所述系统包括:至少一个防护节点、大数据中心和防控中心,其中,
所述防控中心用于将规则模型以及机器学习模型下发至各防护节点,以及从大数据中心获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点;
所述防护节点用于利用所述规则模型以及机器学习模型对请求流量进行识别检测,得到检测结果;
所述大数据中心用于根据所述防护节点上的检测结果迭代优化所述机器学习模型以及更新调整所述规则模型。
进一步地,所述防护节点包括请求流量处理模块、选择模块、检测模块以及风险控制模块,
其中,所述请求流量处理模块用于获取请求流量,对所述请求流量进行处理,得到待检测请求流量;
所述选择模块用于根据数据特征维度选择所述待检测请求流量对应的检测方式,其中,所述检测方式包括词法分析模型以及从防控中心获取到的规则模型和机器学习模型;
所述检测模块用于根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果;
所述风险控制模块用于根据所述检测识别结果实时评估所述待检测请求流量是否为攻击数据。
进一步地,所述系统包括风险决策模块,用于判断当所述待检测请求流量为攻击数据时,则阻断所述待检测请求流量,当所述待检测请求流量为正常请求数据时,则将所述待检测请求流量进行放行。
进一步地,所述检测模块包括词法分析模块、规则模块和机器学习模型模块;
其中,所述词法分析模块用于根据所述数据特征维度判断是否对所述待检测请求流量进行词法分析,确定所述词法分析模型中词法分析器的类型,利用确定类型的词法分析器对所述待检测请求流量进行词法分析检测;
所述规则模块用于根据所述数据特征维度判断是否对所述待检测请求流量进行规则检测,若是,则从所述规则模型中确定目标规则,使用所述目标规则对所述待检测请求流量进行规则检测;
所述机器学习模块用于在进行所述词法分析检测以及规则检测之后,对所述待检测请求流量进行机器学习模型检测。
进一步地,其中,所述防护节点包括规则模型重载模块,用于将所述防控中心发布的迭代优化后的机器学习模型以及更新调整后的规则模型重新载入。
根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述任一项所述的方法。
与现有技术相比,本申请一方面通过获取请求流量,对所述请求流量进行处理,得到待检测请求流量;根据数据特征维度选择所述待检测请求流量对应的检测方式,其中,所述检测方式包括词法分析模型以及从防控中心获取到的规则模型和机器学习模型;根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果;根据所述检测识别结果评估所述待检测请求流量是否为攻击数据。本申请另一方面通过将用于检测请求流量的规则模型以及机器学习模型下发至各防护节点;从大数据中心获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点。本申请的又一个方面,通过获取各防护节点发送的访问日志数据,其中,所述访问日志数据由各防护节点利用防控中心下发的规则模型和机器学习模型进行检测得到的检测结果确定;对所述访问日志数据进行清洗处理和降噪处理,得到攻击语句,通过所述攻击语句迭代优化机器学习模型;分析所述访问日志数据以得到分析结果,根据所述分析结果更新调整规则模型中的规则数据;将所述机器学习模型的迭代优化的信息以及所述规则模型的更新调整的信息通知所述防控中心。从而实时、全方位、高精度地识别网络攻击,同时减少了维护所需的资源成本与时间成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面提供的一种在防护节点端用于识别网络攻击的方法流程示意图;
图2示出根据本申请的另一个方面提供的一种在防控中心端用于识别网络攻击方法的流程示意图;
图3示出根据本申请的又一方面提供的一种在大数据中心端用于识别网络攻击方法的流程示意图;
图4示出根据本申请的再一个方面提供的一种用于识别网络攻击的系统结构框架示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请的一个方面提供的一种在防护节点端用于识别网络攻击的方法流程示意图,所述方法包括:步骤S11~步骤S14,其中,步骤S11,获取请求流量,对所述请求流量进行处理,得到待检测请求流量;步骤S12,根据数据特征维度选择所述待检测请求流量对应的检测方式,其中,所述检测方式包括词法分析模型以及从防控中心获取到的规则模型和机器学习模型;步骤S13,根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果;步骤S14,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据。从而实时、全方位、高精度地识别网络攻击。
具体地,在步骤S11中,获取请求流量,对所述请求流量进行处理,得到待检测请求流量。在此,请求流量为互联网中传输的请求数据,比如访问网站的请求数据,对请求流量进行解析、数据解码、网络协议校验等处理,根据处理后的所述请求流量得到待检测请求流量,以便检测该待检测请求流量是否属于安全数据,对网站是否安全。
在步骤S12中,根据数据特征维度选择所述待检测请求流量对应的检测方式,其中,所述检测方式包括词法分析模型以及从防控中心获取到的规则模型和机器学习模型。在此,所述数据特征维度可以通过扫描所述待检测请求流量获得,所述数据特征维度可以为所述请求流量字符串中的字符、单词或由多个字符组成的字符串。将所述数据特征维度与多种检测方式进行匹配,其中,所述检测方式包括使用词法分析模型以及从防控中心获取到的规则模型和机器学习模型中任一或任几种组合的模型对待检测请求流量进行检测的方式,在此,通过所述数据特征维度与所述词法分析模型、所述规则模型以及所述机器学习模型的匹配选择所述请求流量的检测方式,例如通过对所述数据特征维度建立索引的方式来匹配所述数据特征维度中包含字符与所述词法分析模型、所述规则模型以及所述机器学习模型,得到选择结果,以获取所述请求流量的检测方式,此处举例为一优选实施例,本领域技术人员应理解其他匹配所述数据特征维度的方式均包含于此。在此,所述待检测请求流量对应的检测方式的排列组合与优先级均由所述数据特征维度确定。
在步骤S13中,根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果。在此,根据所述数据特征维度匹配得到所述待检测请求流量对应的检测方式,利用所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,根据不同组合的检测方式,将得到一个或多个检测识别结果。例如,一待检测请求流量对应的检测方式由词法分析和规则检测组成,经过所述对应检测方式获取的检测识别结果为词法分析通过和规则检测不通过这两个检测识别结果。
步骤S14,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据,在此,获取到一个或多个检测结果,根据所述一个或多个检测结果来评估所述待检测请求流量是否为攻击数据,用于评估所述待检测请求流量的评估机制可以自由设置,例如分值叠加评估机制,设置一预设阈值为攻击数据阈值,根据所述一个或多个检测结果得到的评估分值累加和在预设阈值内可判定所述待检测请求流量为攻击数据;又例如条件判定评估机制,根据单个检测结果预设攻击判定条件,当一个或多个检测结果中任意一项或多项符合所述预设攻击判定条件,即判定所述待检测请求流量为攻击数据。
优选地,在步骤S14之后,当所述待检测请求流量为攻击数据时,则阻断所述待检测请求流量;当所述待检测请求流量为正常请求数据时,则将所述待检测请求流量进行放行。
具体地,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据之后,根据所述评估结果对已完成检测的请求流量进行处理,在此处理方式为:当所述待检测请求流量为攻击数据时,阻断所述待检测请求流量以完成防护作用;当所述待检测请求流量为正常请求流量时,则将所述待检测请求流量进行放行,以完成网络访问。
优选地,在步骤S11中,对所述请求流量进行解析处理以及数据解码处理,利用网络协议校验解码后的请求流量,得到协议校验结果;根据所述协议校验结果确定待检测请求流量。
具体地,所述网络协议可以为超文本传输(HTTP)协议,所述协议校验结果包括所述请求流量校验通过和所述请求流量校验失败,接着通过所述网络协议校验的方式对所述解码后的请求流量进行筛选以得到待检测请求流量。
优选地,在步骤S11中,当所述协议校验结果为校验失败时,阻断校验后的请求流量;当所述协议校验结果为校验通过时,所述校验后的请求流量作为待检测请求流量。
具体地,在得到所述协议校验结果后根据所述协议校验结果对所述解码后的请求流量进行筛选以获取待检测请求流量,通过当所述协议校验结果为校验失败时所述校验后的请求流量的被阻断,以及当所述协议校验结果为校验通过时所述校验后的请求流量被作为待检测请求流量的方式来获取待检测请求流量。
优选地,在步骤S12中,扫描所述待检测请求流量以获取所述待检测请求流量的数据特征维度;根据所述数据特征维度判断是否对所述待检测请求流量进行词法分析,若是,则所述检测方式包括使用词法分析模型的检测,确定所述词法分析模型中词法分析器的类型;根据所述数据特征维度判断是否对所述待检测请求流量进行规则检测,若是,则所述检测方式包括使用规则模型的检测;判断是否对所述待检测请求流量进行机器学习模型检测,若是,则所述检测方式包括使用语法分析模型的检测及使用规则模型的检测之后,使用所述机器学习模型的检测。在此,所述数据特征维度包括所述待检测请求流量的一个或多个字符、单词或多个字符组成的字符串。接着,根据所述数据特征维度是否与词法分析库中包含的攻击特征匹配以判断是否对所述待检测请求流量进行词法分析。根据所述数据特征维度是否与用于检测攻击的规则模型匹配以判断是否对所述待检测请求流量进行规则检测,若是,则所述检测方式包括使用规则模型的检测。使用语法分析模型的检测及使用规则模型的检测之后,根据所述数据特征维度与所述机器学习模型进行匹配以判断是否对所述待检测请求流量进行及其学习模型检测,若是,则所述检测方式包含使用所述机器学习模型的检测。从而动态地构建对所述待检测流量的检测方式,节约时间成本的同时全方位高精度地完成对所述请求流量的检测。需要说明的是,语法分析和规则检测是否执行,以及执行顺序、次数,需要根据待检测的请求流量的数据特征确定,可能的情况比如:1)只执行语法分析;2)只执行规则检测;3)先执行语法分析,再执行规则检测;4)先执行规则检测,再执行语法分析;5)先执行规则检测,再执行语法分析,再执行规则检测。当然以上情况仅为举例。在本申请一具体实施例中,语法分析和规则检测一定先于机器学习模型检测发生。
在本申请一实施例中,当所述待检测请求流量包含结构化查询语言(SQL)注入攻击语句的关键词“select”时,判定所述检测方式中包含词法分析,并确定调用结构化查询语言(SQL)的词法分析器。同时根据所述关键词,确定包含所述关键词的规则存在时,调用所述关键词“select”对应的检测规则加入所述检测方式。在此,所述词法分析和所述规则检测的检测优先级由所述数据特征维度确定,可以在检测所述待检测请求流量时多次进行词法分析与规则检测。优选地,完成所述词法分析以及所述规则检测后,再判定是否对所述待检测流量进行机器学习模型的检测,从而简化检测流程,节约了时间成本。
优选地,在步骤S13中,利用确定类型的词法分析器对所述待检测请求流量进行词法分析检测,得到第一检测结果;其中,在步骤S14中:根据所述第一检测结果判断是否达到预设阈值,若是,则所述待检测请求流量为攻击数据,若否,使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。
根据所述一个或多个第一检测结果可实时得到对应的数值,实时判断所述第一检测结果对应数值是否达到阈值,若是,则判定所述待检测请求流量为攻击数据,若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。经过动态构建的所述待检测请求流量对应的检测方式,在实时检测评估过程中,若某个检测结果未达到预设阈值(比如第一检测结果未达到阈值),则需要进一步地根据构建的检测方式继续进行检测,当所有检测方式都结束后,根据所得到的所有检测方式对应的多个检测结果判定所述待检测请求流量是否为攻击数据,例如每一步检测方式得到的多个检测结果均不在预设阈值内,则判定待检测请求流量为正常请求数据。在执行语法分析的检测时,可进行一次或多次的检测,每一次检测都会有相应的检测结果的分值的变化,实时对每一次变化的检测结果的分值进行判定。
优选地,在步骤S13中,从所述规则模型中确定目标规则,使用所述目标规则对所述待检测请求流量进行规则检测,得到第二检测结果;其中,在步骤S14中,根据所述第二检测结果判断是否达到预设阈值,若是,则所述待检测请求流量为攻击数据;若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。
具体地,根据所述数据特征维度从所述一个或多个规则模型中确定一个或多个目标规则,使用所述一个或多个目标规则对所述待检测请求流量进行一次或多次规则检测,得到一个或多个第二检测结果。通过上述的目标规则的选择,将可能需要检测的规则从整体的规则库中挑选出来,即最终执行检测的规则集是动态地根据当前请求流量的数据特征挑选出可能命中的规则,对不可能命中的规则直接忽略掉,从而加速规则检测。根据一个或多个第二检测结果可实时得到对应的数值,实时判断所述第二检测结果对应数值是否达到阈值,若是,则判定所述待检测请求流量为攻击数据,若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。在执行规则检测时,可进行一次或多次的检测,每一次检测都会有相应的检测结果的分值的变化,实时对每一次变化的检测结果的分值进行判定。
优选地,在步骤S13中,在进行所述词法分析检测以及规则检测之后,对所述待检测请求流量进行机器学习模型检测,得到第三检测结果;其中,在步骤S14中,根据所述第三检测结果判断是否达到预设阈值,若是,则所述待检测请求流量为攻击数据;若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。
具体地,根据所述一个或多个第一检测结果以及一个或多个第二检测结果判定是否对所述待检测请求流量进行机器学习模型检测,若是,则通过机器学习模型检测得到第三检测结果;若否,则不对所述待检测请求流量进行机器学习模型检测,从而节省时间资源,相较现有技术更快地完成对所述待检测请求流量的检测。根据一个或多个第三检测结果可实时得到对应的数值,实时判断所述第三检测结果对应数值是否达到阈值,若是,则判定所述待检测请求流量为攻击数据,若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。在执行机器学习模型检测时,可进行一次或多次的检测,每一次检测都会有相应的检测结果的分值的变化,实时对每一次变化的检测结果的分值进行判定。当完成所述待检测请求流量对应的检测方式中所有检测步骤后,未判定所述待检测请求流量为攻击数据,则所述待检测请求流量为正常请求数据。
在本申请一实施例中,除了对每一次检测的结果进行实时评估外,还可以将上述三种检测方式的检测结果进行综合评估,具体为:根据所述第一检测结果确定第一评估分值,根据所述第二检测结果确定第二评估分值,根据所述第三检测结果确定第三评估分值;当所述第一评估分值、第二评估分值与第三评估分值中的累加和在预设阈值内时,则所述待检测请求流量为攻击数据;当所述第一评估分值、第二评估分值与第三评估分值的累加和未在预设阈值内时,则所述待检测请求流量为正常请求数据。在此,通过一次或多次词法分析检测得到对应的一个或多个第一检测结果,根据所述一个或多个第一检测结果得到对应的一个或多个第一评估分值;通过一次或多次规则检测得到对应的一个或多个第二检测结果,根据所述一个或多个第二检测结果得到对应的一个或多个第二评估分值;通过一次或多次机器学习模型检测得到对应的一个或多个第三检测结果,根据所述一个或多个第三检测结果得到对应的一个或多个第三评估分值。优选地,所述词法分析检测与所述规则检测优先于所述机器学习模型检测。
接上述实施例,当所述第一评估分值和所述第二评估分值的累加和大于等于某一值时,则判定需要进行所述机器学习模型检测,得到第三检测结果;当所述第一评估分值和所述第二评估分值的累加和小于某一值时,则判定不对所述待检测请求流量进行所述机器学习模型检测,此时根据所述第一评估分值和所述第二评估分值的累加和是否在预设阈值内判定所述待检测请求流量是否为攻击数据,若是,则所述待检测请求流量为攻击数据;若否,则所所述待检测请求流量为正常请求数据。在本申请一优选实施例中,所述待检测请求流量进行词法分析和规则检测,得到第一评估分值X和第二评估分值Y,所述数值X和Y均为正整数,设置一数值20,将第一评估分值X和第二评估分值Y进行比对,当X与Y的累加和小于20时,不对所述待检测请求流量进行机器学习模型检测,当X与Y累加和大于等于20时,对所述待检测请求流量进行机器学习模型检测。
在本申请又一优选实施例中,所述第一评估分值对应设置一预设数值A,所述第二评估分值对应设置一预设数值B,所述第三评估分值对应设置一预设数值C,在此,当所述第一评估分值大于等于所述预设数值A时,判定所述待检测请求流量为攻击数据,当所述第一评估分值小于所述预设数值A时,继续对所述待检测请求流量进行检测。当根据所述第一评估分值判定所述待检测请求流量为攻击数据,则不对所述待检测请求流量进行所述规则检测以及所述机器学习模型检测;当根据所述第一评估分值判定所述待检测请求流量不是攻击数据时,继续检测获取第二评估分值,根据所述第二评估分值对所述待检测请求流量进行判定。当所述第二评估分值大于等于所述预设数值B时,判定所述待检测请求流量为攻击数据,当所述第二评估分值小于所述预设数值B时,继续对所述待检测请求流量进行检测。当根据所述第二评估分值判定所述待检测请求流量为攻击数据,则不对所述待检测请求流量进行所述机器学习模型检测;当根据所述第二评估分值判定所述待检测请求流量不是攻击数据时,继续检测获取第三评估分值,根据所述第三评估分值对所述待检测请求流量进行判定。当所述第三评估分值大于等于所述预设数值C时,判定所述待检测请求流量为攻击数据;就当所述第三评估分值小于所述预设数值C时,判定所述待检测请求流量为正常请求数据。
优选地,在步骤S12中,根据所述数据特征维度建立一索引结构,利用所述索引结构从所述规则模型对应的规则库中筛选规则数据,将筛选后的规则数据作为目标规则。
具体地,根据所述数据特征维度中的字符、单词、字符串建立一个索引结构,将所述索引结构与所述规则模型对应的规则库进行匹配,根据扫描得到的所述数据特征维度索引到的规则数据作为筛选后的规则数据,将筛选后的规则数据作为目标规则,接着使用所述目标规则对所述待检测请求流量进行规则检测,以通过筛选的方式加速规则检测,避免了无用的规则匹配,提高了规则检测的效率,节约了时间成本。
在本申请再一优选实施例中,对于一结构化查询语言(SQL)注入攻击语句,当请求流量数据中含有关键字“select”,将与所述关键字“select”相关的检测规则筛选出来,从而避免对整个规则库中的规则进行全部检测,以提高规则检测的效率,节约了时间成本。
优选地,在步骤S14之后,根据所述检测识别结果确定各防护节点上的访问日志数据;将所述访问日志数据发送至大数据中心,以使所述大数据中心根据所述访问日志数据进行所述规则模型和机器学习模型的迭代更新。
具体地,所述访问日志数据包括攻击数据、正常访问数据以及防护结果数据,其中,所述防护结果数据包括但不限于利用规则或模型检测攻击的检测结果、攻击特征维度、攻击出现在所述待检测请求数据中的位置信息、攻击者的信息、攻击的域名信息、攻击的请求数据包。例如攻击者的地理位置信息以及互联网协议地址信息均包含在防护结果数据内。
接着,各个防护节点将所述访问日志数据发送至大数据中心,以使所述大数据中心根据所述访问日志数据迭代更新规则模型和机器学习模型的。例如根据所述识别攻击的攻击数据和正常数据以及累积的历史训练数据集获取新的训练数据集,使得所述大数据中心通过更新优化训练数据集进行规则模型和机器学习模型的迭代更新。
图2示出本申请另一方面提供的一种在防控中心端用于识别网络攻击方法的流程示意图,所述方法包括:步骤S21,将用于检测请求流量的规则模型以及机器学习模型下发至各防护节点;步骤S22,从大数据中心获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点。
具体地,在步骤S21中,在防控中心端,将用于检测请求流量的规则模型以及机器学习模型下发至各防护节点,以使各防护节点利用获取到的规则模型以及机器学习模型对所述待检测请求流量进行规则检测和机器学习模型检测。在此,防控中心端主要负责规则库、机器学习模型的管理与更新,可向防护节点下发新的规则模型以及机器学习模型的迭代更新。在步骤S22中,从大数据中心获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点,以通过更新各防护节点处的规则模型和机器学习模型完成对各防护节点的维护工作;在此,防控中心还可下发模型迭代指令以触发大数据中心的模型迭代工作,并生产出新的模型。通过上述的方法,在防控中心端可根据大数据中心分析结果、漏洞情报等对规则进行动态调整以及全网下发更新;以及下发模型迭代任务以通知大数据中心启动模型迭代任务;拥有完善的规则管理机制和模型管理机制,可以实时全网下发更新。
图3示出本申请又一方面提供的一种在大数据中心端用于识别网络攻击方法的流程示意图,所述方法包括:步骤S31,获取各防护节点发送的访问日志数据,其中,所述访问日志数据由各防护节点利用防控中心下发的规则模型和机器学习模型进行检测得到的检测结果确定;步骤S32,对所述访问日志数据进行清洗处理和降噪处理,得到攻击语句,通过所述攻击语句迭代优化机器学习模型;步骤S33,分析所述访问日志数据以得到分析结果,根据所述分析结果更新调整规则模型中的规则数据;步骤S34,将所述机器学习模型的迭代优化的信息以及所述规则模型的更新调整的信息通知所述防控中心。大数据中心主要负责对各个防护节点的采集到的网站访问日志数据进行计算任务,从而拥有完善的模型训练机制与后期数据分析机制,能够不断的迭代优化机器学习模型以及规则模型。
具体地,在步骤S31中,获取各个防护节点发送的访问日志数据,其中,所述访问日志数据由各防护节点利用防控中心下发的规则模型和机器学习模型进行检测得到的检测结果确定。在此,所述访问日志数据包括攻击数据、正常访问数据以及防护结果数据,其中,所述防护结果数据包括但不限于利用规则或模型检测攻击的检测结果、攻击特征维度、攻击出现在所述待检测请求数据中的位置信息、攻击者的信息、攻击的域名信息、攻击的请求数据包。例如攻击者的地理位置信息以及互联网协议地址信息均包含在防护结果数据内。所述访问日志数据中包含的攻击数据、正常访问数据以及防护结果数据均由各防护节点利用防控中心下发的规则模型和机器学习模型进行检测得到的检测结果以及所述请求流量的数据信息确定。
接着,在步骤S32中,对所述访问日志数据进行清洗处理和降噪处理,得到攻击语句,通过所述攻击语句迭代优化机器学习模型,其中,所述清洗处理和降噪处理为解码所述访问日志数据训练集中的缺失数据、异常数据以及不规范数据,对所述缺失数据、异常数据以及不规范数据进行剔除或替换,修正所述访问日志数据训练集中的标签错误的样本,得到攻击语句,通过所述攻击语句迭代优化所述机器学习模型,例如通过所述攻击语句迭代优化所述访问日志数据训练集以迭代优化所述机器学习模型。
接着,在步骤S33中,分析所述访问日志数据以得到分析结果,根据所述分析结果更新调整规则模型中的规则数据。在此,所述分析结果为关于识别攻击的规则分析结果,将所述分析结果与规则模型对应的规则库进行对比后得到对比结果,根据所述对比结果更新调整规则模型中的规则数据。
随后,在步骤S34中,将所述机器学习模型的迭代优化的信息以及所述规则模型的更新调整的信息通知所述防控中心。在此,可以根据防控中心下发的模型迭代任务的指令,对机器学习模型进行迭代优化以及更新调整规则模型后通知防控中心,以使防控中心进行全网下发更新。
图4示出本申请再一方面提供的一种使用所述识别网络攻击的系统结构框架图,其中,所述系统包括:至少一个防护节点100、大数据中心200和防控中心300,其中,所述防控中心300用于将规则模型以及机器学习模型下发至各防护节点100,以及从大数据中心200获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点100;所述防护节点100用于利用所述规则模型以及机器学习模型对请求流量进行识别检测,得到检测结果;所述大数据中心200用于根据所述防护节点100上的检测结果迭代优化所述机器学习模型以及更新调整所述规则模型。从而实时、全方位、高精度地识别网络攻击。
具体地,所述防控中心300用于将规则模型以及机器学习模型下发至各防护节点100,以及从大数据中心200获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点100。在此,所述防控中心300用于将检测请求流量的规则模型以及机器学习模型下发至各防护节点100,以使各防护节点100利用获取到的规则模型以及机器学习模型对所述待检测请求流量进行规则检测和机器学习模型检测。所述防控中心300主要用于负责规则库、机器学习模型的管理与更新,可向防护节点下发新的规则模型以及机器学习模型的迭代更新。从大数据中心200获取有关所述规则模型和机器学习模型的迭代更新信息,也就是从大数据中心200获取用于迭代更新所述规则模型和机器学习模型的相关数据,接着,将更新后的规则模型和机器学习模型发布至各防护节点100,以通过更新各防护节点100处的规则模型和机器学习模型完成对各防护节点100的维护工作,在此,所述防控中心300可以通过无线网络等方式下发模型迭代指令以触发所述大数据中心200的模型迭代工作,并生产出新的模型。通过上述的方法,所述防控中心300可根据从大数据中心200得到的分析结果、漏洞情报等对规则进行动态调整以及全网下发更新;以及下发模型迭代任务以通知大数据中心启动模型迭代任务;拥有完善的规则管理机制和模型管理机制,可以实时全网下发更新。
接着,所述防护节点100用于利用所述规则模型以及机器学习模型对请求流量进行识别检测,得到检测结果,在此,所述检测结果包括所述请求流量是攻击数据和所述请求流量是正常访问数据。
接着,所述大数据中心200用于根据所述防护节点100上的检测结果迭代优化所述机器学习模型以及更新调整所述规则模型。所述大数据中心200获取各个防护节点100发送的访问日志数据,其中,所述访问日志数据由各防护节点100利用防控中心300下发的规则模型和机器学习模型进行检测得到的检测结果确定。在此,所述访问日志数据包括攻击数据、正常访问数据以及防护结果数据,其中,所述防护结果数据包括但不限于利用规则或模型检测攻击的检测结果、攻击特征维度、攻击出现在所述待检测请求数据中的位置信息、攻击者的信息、攻击的域名信息、攻击的请求数据包。例如攻击者的地理位置信息以及互联网协议地址信息均包含在防护结果数据内。所述访问日志数据中包含的攻击数据、正常访问数据以及防护结果数据均由各防护节点100利用防控中心300下发的规则模型和机器学习模型进行检测得到的检测结果以及所述请求流量的数据信息确定。如图4所示,所述大数据中心200包括数据收集模块201和模型迭代模块202,所述数据收集模块201用于获取所述访问日志数据,所述模型迭代模块202用于根据所述数据收集模块201采集的所述访问日志数据迭代优化所述机器学习模型以及更新调整所述规则模型。
优选地,所述防护节点100包括请求流量处理模块101、选择模块102、检测模块103以及风险控制模块104,其中,所述请求流量处理模块101用于获取请求流量,对所述请求流量进行处理,得到待检测请求流量;所述选择模块102用于根据数据特征维度选择所述待检测请求流量对应的检测方式,其中,所述检测方式包括词法分析模型以及从防控中心获取到的规则模型和机器学习模型;所述检测模块103用于根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果;所述风险控制模块104用于根据所述检测识别结果评估所述待检测请求流量是否为攻击数据。
具体地,所述请求流量处理模块101用于根据目标网站获取请求流量,对所述请求流量进行处理,例如对所述请求流量进行解析、数据解码、网络协议校验等处理,根据处理后的所述请求流量得到待检测请求流量。所述选择模块102扫描所述待检测请求流量得到所述数据特征维度,所述数据特征维度可以为所述请求流量字符串中的字符、单词或由多个字符组成的字符串。所述选择模块102利用所述数据特征维度与多种检测方式进行匹配,其中,所述检测方式包括词法分析模型以及从防控中心300获取到的规则模型和机器学习模型。
接着,所述检测模块103根据所述数据特征维度匹配得到所述待检测请求流量对应的检测方式,利用所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,所述检测模块103根据不同组合的检测方式,将得到一个或多个检测识别结果。例如,一待检测请求流量对应的检测方式由词法分析和规则检测组成,经过所述对应检测方式获取的检测识别结果为词法分析通过和规则检测不通过这两个检测识别结果。
接着,所述风险控制模块104用于根据从所述检测模块103得到的所述检测识别结果实时评估所述待检测请求流量是否为攻击数据,所述风险控制模块还用于当所述请求流量处理模块101的校验结果为所述请求流量网络校验失败时将所述请求流量评估为攻击数据。在此,所述风险控制模块104用于根据一个或多个检测结果来实时评估所述待检测请求流量是否为攻击数据,用于评估所述待检测请求流量的评估机制可以由本领域技术人员自由设置,例如分值叠加评估机制,设置一预设阈值为攻击数据阈值,可以根据所述一个或多个检测结果得到的评估分值累加和在预设阈值内可判定所述待检测请求流量为攻击数据;又例如条件判定评估机制,根据单个检测结果预设攻击判定条件,当一个或多个检测结果中任意一项符合所述预设攻击判定条件,即判定所述待检测请求流量为攻击数据。还可以通过检测模块与风险控制模块的实时交互,风险控制模块对每一种检测方式得到的检测结果进行实时评估,一旦检测结果的分值达到预定阈值,则判定该待检测请求流量为攻击数据,无需再进行之后的检测,比如进行语法分析检测后已判定请求流量为攻击数据,则无需再进行规则检测以及机器模型学习检测。
优选地,所述系统包括风险决策模块105,用于判断当所述待检测请求流量为攻击数据时,则阻断所述待检测请求流量,当所述待检测请求流量为正常请求数据时,则将所述待检测请求流量进行放行。在此,风险决策模块105根据从所述风险控制模块104得到的所述评估结果对已完成检测的请求流量进行处理,在此处理方式为:当所述待检测请求流量为攻击数据时,阻断所述待检测请求流量以完成防护作用;当所述待检测请求流量为正常请求流量时,则将所述待检测请求流量进行放行,以完成网络访问。
优选地,所述检测模块103包括词法分析模块1031、规则模块1032和机器学习模型模块1033;其中,所述词法分析模块1031用于根据所述数据特征维度判断是否对所述待检测请求流量进行词法分析,确定所述词法分析模型中词法分析器的类型,利用确定类型的词法分析器对所述待检测请求流量进行词法分析检测;所述规则模块1032用于根据所述数据特征维度判断是否对所述待检测请求流量进行规则检测,若是,则从所述规则模型中确定目标规则,使用所述目标规则对所述待检测请求流量进行规则检测;所述机器学习模块1033用于在进行所述词法分析检测以及规则检测之后,对所述待检测请求流量进行机器学习模型检测。在此,所述语法分析模块1031根据所述数据特征维度是否与词法分析库中包含的攻击特征匹配以判断是否对所述待检测请求流量进行词法分析。所述规则模块1032根据所述数据特征维度是否与用于检测攻击的规则模型匹配以判断是否对所述待检测请求流量进行规则检测,若是,则所述检测方式包括使用规则模型的检测。所述机器学习模型1033根据所述数据特征维度与所述机器学习模型进行匹配以判断是否对所述待检测请求流量进行及其学习模型检测,若是,则所述检测方式包含使用所述机器学习模型的检测。从而动态地构建对所述待检测流量的检测方式,节约时间成本的同时全方位高精度地完成对所述请求流量的检测。
优选地,所述防护节点100包括规则模型重载模块106,用于将所述防控中心300发布的迭代优化后的机器学习模型以及更新调整后的规则模型重新载入。
具体地,所述防护节点100包括规则模型重载模块106,所述规则模型重载模块106获取所述防控中心300发布的迭代优化后的机器学习模型以及更新调整后的规则模型,如图4所示,所述防控中心300包括机器学习模型管理模块301以及规则管理模块302,所述机器学习模型管理模块301用于根据所述模型迭代模块202发送的数据信息迭代优化所述机器学习模型,所述规则管理模块302用于根据所述模型迭代模块202发送的数据信息迭代优化所述规则模型。接着,所述规则模型重载模块106将所述迭代优化后的机器学习模型发送至所述机器学习模块1033,将所述更新调整后的规则模型发送至所述规则模块1032,以维护所述机器学习模块1033以及所述规则模块1032。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述所述的方法。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种在防护节点端用于识别网络攻击的方法,其中,所述方法包括:
获取请求流量,对所述请求流量进行处理,得到待检测请求流量;
通过数据特征维度与词法分析模型、从防控中心获取到的规则模型以及机器学习模型的匹配选择所述待检测请求流量对应的检测方式,其中,所述检测方式为使用包括所述词法分析模型以及从防控中心获取到的所述规则模型和所述机器学习模型中的任一或任几种组合进行检测,所述数据特征维度包括请求流量的字符串中的字符、单词或由多个字符组成的字符串;
根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果;
根据所述检测识别结果评估所述待检测请求流量是否为攻击数据。
2.根据权利要求1所述的方法,其中,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据之后,包括:
当所述待检测请求流量为攻击数据时,则阻断所述待检测请求流量;
当所述待检测请求流量为正常请求数据时,则将所述待检测请求流量进行放行。
3.根据权利要求1所述的方法,其中,对所述请求流量进行处理,得到待检测请求流量,包括:
对所述请求流量进行解析处理以及数据解码处理,利用网络协议校验解码后的请求流量,得到协议校验结果;
根据所述协议校验结果确定待检测请求流量。
4.根据权利要求3所述的方法,其中,根据所述协议校验结果确定待检测请求流量,包括:
当所述协议校验结果为校验失败时,阻断校验后的请求流量;
当所述协议校验结果为校验通过时,所述校验后的请求流量作为待检测请求流量。
5.根据权利要求1所述的方法,其中,通过数据特征维度与词法分析模型、从防控中心获取到的规则模型以及机器学习模型的匹配选择所述待检测请求流量对应的检测方式,包括:
扫描所述待检测请求流量以获取所述待检测请求流量的数据特征维度;
根据所述数据特征维度判断是否对所述待检测请求流量进行词法分析,若是,则所述检测方式包括使用词法分析模型的检测,确定所述词法分析模型中词法分析器的类型;
根据所述数据特征维度判断是否对所述待检测请求流量进行规则检测,若是,则所述检测方式包括使用规则模型的检测;
判断是否对所述待检测请求流量进行机器学习模型检测,若是,则所述检测方式包括使用语法分析模型的检测及使用规则模型的检测之后,使用所述机器学习模型的检测。
6.根据权利要求5所述的方法,其中,根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果,包括:
利用确定类型的词法分析器对所述待检测请求流量进行词法分析检测,得到第一检测结果;
其中,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据,包括:
根据所述第一检测结果判断是否达到预设阈值,若是,则所述待检测请求流量为攻击数据;若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。
7.根据权利要求5所述的方法,其中,根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果,包括:
从所述规则模型中确定目标规则,使用所述目标规则对所述待检测请求流量进行规则检测,得到第二检测结果;
其中,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据,包括:
根据所述第二检测结果判断是否达到预设阈值,若是,则所述待检测请求流量为攻击数据;若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。
8.根据权利要求5所述的方法,其中,根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果,包括:
在进行所述词法分析检测以及规则检测之后,对所述待检测请求流量进行机器学习模型检测,得到第三检测结果;
其中,根据所述检测识别结果评估所述待检测请求流量是否为攻击数据,包括:
根据所述第三检测结果判断是否达到预设阈值,若是,则所述待检测请求流量为攻击数据;若否,则使用所述待检测请求流量对应的检测方式对所述待检测请求流量继续检测。
9.根据权利要求7所述的方法,其中,从所述规则模型中确定目标规则,包括:
根据所述数据特征维度建立一索引结构,利用所述索引结构从所述规则模型对应的规则库中筛选规则数据,将筛选后的规则数据作为目标规则。
10.根据权利要求1所述的方法,其中,所述方法包括:
根据所述检测识别结果确定各防护节点上的访问日志数据;
将所述访问日志数据发送至大数据中心,以使所述大数据中心根据所述访问日志数据进行所述规则模型和机器学习模型的迭代更新。
11.一种在防控中心端用于识别网络攻击方法的方法,其中,所述方法包括:
将用于检测请求流量的规则模型以及机器学习模型下发至各防护节点;
从大数据中心获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点,以使得各防护节点通过数据特征维度与词法分析模型、从防控中心获取到的规则模型以及机器学习模型的匹配选择待检测请求流量对应的检测方式,其中,所述检测方式为各防护节点使用包括所述词法分析模型以及从防控中心获取到的所述规则模型和所述机器学习模型中的任一或任几种组合进行检测,所述数据特征维度包括请求流量的字符串中的字符、单词或由多个字符组成的字符串,各防护节点根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果,各防护节点根据所述检测识别结果评估所述待检测请求流量是否为攻击数据。
12.一种在大数据中心端用于识别网络攻击方法的方法,其中,所述方法包括:
获取各防护节点发送的访问日志数据,其中,所述访问日志数据由各防护节点利用防控中心下发的规则模型和机器学习模型进行检测得到的检测结果确定;
对所述访问日志数据进行清洗处理和降噪处理,得到攻击语句,通过所述攻击语句迭代优化机器学习模型;
分析所述访问日志数据以得到分析结果,根据所述分析结果更新调整规则模型中的规则数据;
将所述机器学习模型的迭代优化的信息以及所述规则模型的更新调整的信息通知所述防控中心,以使得所述防控中心获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点,以使得各防护节点通过数据特征维度与词法分析模型、从防控中心获取到的规则模型以及机器学习模型的匹配选择待检测请求流量对应的检测方式,其中,所述检测方式为各防护节点使用包括所述词法分析模型以及从防控中心获取到的所述规则模型和所述机器学习模型中的任一或任几种组合进行检测,所述数据特征维度包括请求流量的字符串中的字符、单词或由多个字符组成的字符串,各防护节点根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果,各防护节点根据所述检测识别结果评估所述待检测请求流量是否为攻击数据。
13.一种使用识别网络攻击的方法的系统,其中,所述系统包括:至少一个防护节点、大数据中心和防控中心,其中,
所述防控中心用于将规则模型以及机器学习模型下发至各防护节点,以及从大数据中心获取有关所述规则模型和机器学习模型的迭代更新信息,将更新后的规则模型和机器学习模型发布至各防护节点;
所述防护节点包括选择模块,所述选择模块用于通过数据特征维度与词法分析模型、从防控中心获取到的规则模型以及机器学习模型的匹配选择待检测请求流量对应的检测方式,其中,所述检测方式为使用包括所述词法分析模型以及从防控中心获取到的所述规则模型和所述机器学习模型中的任一或任几种组合进行检测,所述数据特征维度包括请求流量的字符串中的字符、单词或由多个字符组成的字符串;
所述防护节点用于利用所述规则模型以及机器学习模型对请求流量进行识别检测,得到检测结果;
所述大数据中心用于根据所述防护节点上的检测结果迭代优化所述机器学习模型以及更新调整所述规则模型。
14.根据权利要求13所述的系统,其中,所述防护节点还包括请求流量处理模块、检测模块以及风险控制模块,
其中,所述请求流量处理模块用于获取请求流量,对所述请求流量进行处理,得到待检测请求流量;
所述检测模块用于根据所述待检测请求流量对应的检测方式对所述待检测请求流量进行检测识别,得到检测识别结果;
所述风险控制模块用于根据所述检测识别结果实时评估所述待检测请求流量是否为攻击数据。
15.根据权利要求14所述的系统,其中,所述系统包括风险决策模块,用于判断当所述待检测请求流量为攻击数据时,则阻断所述待检测请求流量,当所述待检测请求流量为正常请求数据时,则将所述待检测请求流量进行放行。
16.根据权利要求14所述的系统,其中,所述检测模块包括词法分析模块、规则模块和机器学习模型模块;
其中,所述词法分析模块用于根据所述数据特征维度判断是否对所述待检测请求流量进行词法分析,确定所述词法分析模型中词法分析器的类型,利用确定类型的词法分析器对所述待检测请求流量进行词法分析检测;
所述规则模块用于根据所述数据特征维度判断是否对所述待检测请求流量进行规则检测,若是,则从所述规则模型中确定目标规则,使用所述目标规则对所述待检测请求流量进行规则检测;
所述机器学习模块用于在进行所述词法分析检测以及规则检测之后,对所述待检测请求流量进行机器学习模型检测。
17.根据权利要求14所述的系统,其中,所述防护节点包括规则模型重载模块,用于将所述防控中心发布的迭代优化后的机器学习模型以及更新调整后的规则模型重新载入。
18.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910401127.7A CN110602029B (zh) | 2019-05-15 | 2019-05-15 | 一种用于识别网络攻击的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910401127.7A CN110602029B (zh) | 2019-05-15 | 2019-05-15 | 一种用于识别网络攻击的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110602029A CN110602029A (zh) | 2019-12-20 |
CN110602029B true CN110602029B (zh) | 2022-06-28 |
Family
ID=68852501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910401127.7A Active CN110602029B (zh) | 2019-05-15 | 2019-05-15 | 一种用于识别网络攻击的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110602029B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400721B (zh) * | 2020-03-24 | 2024-04-12 | 杭州数梦工场科技有限公司 | Api接口检测方法及装置 |
CN111835777B (zh) * | 2020-07-20 | 2022-09-30 | 深信服科技股份有限公司 | 一种异常流量检测方法、装置、设备及介质 |
CN112202771B (zh) * | 2020-09-29 | 2022-10-14 | 中移(杭州)信息技术有限公司 | 网络流量检测方法、系统、电子设备和存储介质 |
CN113055368B (zh) * | 2021-03-08 | 2022-12-13 | 云盾智慧安全科技有限公司 | 一种Web扫描识别方法、装置及计算机存储介质 |
CN113055395B (zh) * | 2021-03-26 | 2023-09-05 | 深信服科技股份有限公司 | 一种安全检测方法、装置、设备及存储介质 |
CN113596043B (zh) * | 2021-08-03 | 2023-03-24 | 中国电信股份有限公司 | 攻击检测方法、攻击检测装置、存储介质与电子设备 |
CN114238965A (zh) * | 2021-11-17 | 2022-03-25 | 北京华清信安科技有限公司 | 用于恶意访问的检测分析方法及系统 |
CN114884686B (zh) * | 2022-03-17 | 2024-03-08 | 新华三信息安全技术有限公司 | 一种php威胁识别方法及装置 |
CN116991680B (zh) * | 2023-09-27 | 2023-12-26 | 北京锐服信科技有限公司 | 一种日志降噪方法及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821002A (zh) * | 2011-06-09 | 2012-12-12 | 中国移动通信集团河南有限公司信阳分公司 | 网络流量异常检测方法和系统 |
CN103607391A (zh) * | 2013-11-19 | 2014-02-26 | 北京航空航天大学 | 一种基于K-means的SQL注入攻击检测方法 |
CN106687995A (zh) * | 2014-05-12 | 2017-05-17 | 高通股份有限公司 | 分布式模型学习 |
CN106888211A (zh) * | 2017-03-10 | 2017-06-23 | 北京安赛创想科技有限公司 | 一种网络攻击的检测方法及装置 |
CN107659555A (zh) * | 2016-08-30 | 2018-02-02 | 北京长亭科技有限公司 | 网络攻击的检测方法及装置、终端设备和计算机存储介质 |
CN108881265A (zh) * | 2018-06-29 | 2018-11-23 | 北京奇虎科技有限公司 | 一种基于人工智能的网络攻击检测方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833270A (zh) * | 2012-09-18 | 2012-12-19 | 山石网科通信技术(北京)有限公司 | Sql注入攻击的检测方法、装置和具有该装置的防火墙 |
CN102833269B (zh) * | 2012-09-18 | 2016-03-30 | 山石网科通信技术有限公司 | 跨站攻击的检测方法、装置和具有该装置的防火墙 |
CN105187224B (zh) * | 2014-06-17 | 2018-05-01 | 腾讯科技(深圳)有限公司 | 入侵检测方法和装置 |
EP3293937A1 (en) * | 2016-09-12 | 2018-03-14 | Vectra Networks, Inc. | Method and system for detecting malicious payloads |
CN107404473A (zh) * | 2017-06-06 | 2017-11-28 | 西安电子科技大学 | 基于Mshield机器学习多模式Web应用防护方法 |
-
2019
- 2019-05-15 CN CN201910401127.7A patent/CN110602029B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821002A (zh) * | 2011-06-09 | 2012-12-12 | 中国移动通信集团河南有限公司信阳分公司 | 网络流量异常检测方法和系统 |
CN103607391A (zh) * | 2013-11-19 | 2014-02-26 | 北京航空航天大学 | 一种基于K-means的SQL注入攻击检测方法 |
CN106687995A (zh) * | 2014-05-12 | 2017-05-17 | 高通股份有限公司 | 分布式模型学习 |
CN107659555A (zh) * | 2016-08-30 | 2018-02-02 | 北京长亭科技有限公司 | 网络攻击的检测方法及装置、终端设备和计算机存储介质 |
CN106888211A (zh) * | 2017-03-10 | 2017-06-23 | 北京安赛创想科技有限公司 | 一种网络攻击的检测方法及装置 |
CN108881265A (zh) * | 2018-06-29 | 2018-11-23 | 北京奇虎科技有限公司 | 一种基于人工智能的网络攻击检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110602029A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110602029B (zh) | 一种用于识别网络攻击的方法和系统 | |
CN107204960B (zh) | 网页识别方法及装置、服务器 | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
CN107257390B (zh) | 一种url地址的解析方法和系统 | |
CN109831459B (zh) | 安全访问的方法、装置、存储介质和终端设备 | |
CN111107096A (zh) | 一种Web站点安全防护方法及装置 | |
CN114003903B (zh) | 一种网络攻击追踪溯源方法及装置 | |
CN110602030A (zh) | 网络入侵阻断方法、服务器及计算机可读介质 | |
CN112131507A (zh) | 网站内容处理方法、装置、服务器和计算机可读存储介质 | |
CN111404949A (zh) | 一种流量检测方法、装置、设备及存储介质 | |
CN114650176A (zh) | 钓鱼网站的检测方法、装置、计算机设备及存储介质 | |
US11797617B2 (en) | Method and apparatus for collecting information regarding dark web | |
RU2659482C1 (ru) | Способ защиты веб-приложений при помощи интеллектуального сетевого экрана с использованием автоматического построения моделей приложений | |
CN111131166B (zh) | 一种用户行为预判方法及相关设备 | |
CN112613893A (zh) | 一种用户恶意注册识别方法、系统、设备及介质 | |
CN112769739A (zh) | 数据库操作违规处理方法、装置及设备 | |
CN114205146B (zh) | 一种多源异构安全日志的处理方法及装置 | |
CN115001724B (zh) | 网络威胁情报管理方法、装置、计算设备及计算机可读存储介质 | |
CN112199573B (zh) | 一种非法交易主动探测方法及系统 | |
CN114285639A (zh) | 一种网站安全防护方法及装置 | |
CN111800409A (zh) | 接口攻击检测方法及装置 | |
CN114531307B (zh) | 主动防御网关的api模型构建与防御方法及系统 | |
CN113923193B (zh) | 一种网络域名关联方法、装置、存储介质及电子设备 | |
CN116010600B (zh) | 日志分类方法、装置、设备及介质 | |
RU2740856C1 (ru) | Способ и система для идентификации кластеров аффилированных веб-сайтов |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |