CN111835737B - 基于自动学习的web攻击防护方法、及其相关设备 - Google Patents

基于自动学习的web攻击防护方法、及其相关设备 Download PDF

Info

Publication number
CN111835737B
CN111835737B CN202010610195.7A CN202010610195A CN111835737B CN 111835737 B CN111835737 B CN 111835737B CN 202010610195 A CN202010610195 A CN 202010610195A CN 111835737 B CN111835737 B CN 111835737B
Authority
CN
China
Prior art keywords
preset
post request
parameter
request
target
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
CN202010610195.7A
Other languages
English (en)
Other versions
CN111835737A (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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202010610195.7A priority Critical patent/CN111835737B/zh
Publication of CN111835737A publication Critical patent/CN111835737A/zh
Application granted granted Critical
Publication of CN111835737B publication Critical patent/CN111835737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及信息安全技术,提供了一种基于自动学习的WEB攻击防护方法及其相关设备,所述基于自动学习的WEB攻击防护方法包括:根据预设要求与post请求包含的参数信息,确定初始post请求;通过预设代理端对初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果;若检测失败则不作处理;若检测成功,则获取后端响应初始post请求的响应状态与预设状态进行比较,并对比较不同的初始post请求进行拦截处理;对比较相同的初始post请求进行响应包异常判断,并将响应包异常的初始post请求进行拦截处理,同时生成警告。本发明还涉及区块链技术,所述参数信息可存储于区块链中。本发明的技术方案实现提高异常检测的准确性,减少误检测的告警数据量和业务系统负荷。

Description

基于自动学习的WEB攻击防护方法、及其相关设备
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于自动学习的WEB攻击防护方法及其相关设备。
背景技术
由于互联网本身的开放性使其时刻面临着潜在恶意攻击,其安全性问题日益突出,为了保护业务系统的安全,针对业务系统需要进行WEB攻击防护,目前WEB攻击防护方式主要是按照预先设定的过滤条件对post请求进行审核,在审核不过的情况进行拦截与告警,但存在post请求由于规范不符或者业务系统未能及时更新过滤条件的情况,导致post请求被误拦截且产生告警,造成告警日志数据量大,且告警信息可信度不高的问题,从而增加业务系统的负荷,降低用户针对告警日志数据进行安全分析的效率。
发明内容
本发明实施例提供一种基于自动学习的WEB攻击防护方法、及其相关设备,以解决post请求被误拦截造成告警数据量大,导致业务系统负荷增加的问题。
一种基于自动学习的WEB攻击防护方法,包括:
从预设数据库中获取post请求,其中,所述post请求包含m个参数信息,且m为大于0的正整数;
根据实时更新的目标规范库对所述m个参数信息进行比较,选取所述m个参数信息均属于所述目标规范库的所述post请求,作为初始post请求;
通过预设代理端对所述初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果;
若所述检测结果为检测成功,则获取后端响应所述初始post请求的响应状态,其中,所述检测结果包含所述检测成功;
对所述响应状态与预设状态相同的初始post请求进行响应包异常判断,并将响应包异常的初始post请求进行拦截处理,同时生成警告,其中,所述初始post请求包含所述响应包。
一种基于自动学习的WEB攻击防护装置,包括:
第一获取模块,用于从预设数据库中获取post请求,其中,所述post请求包含m个参数信息,且m为大于0的正整数;
比较模块,用于根据实时更新的目标规范库对所述m个参数信息进行比较,选取所述m个参数信息均属于所述目标规范库的所述post请求,作为初始post请求;
二次检测模块,用于通过预设代理端对所述初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果;
检测成功模块,用于若所述检测结果为检测成功,则获取后端响应所述初始post请求的响应状态,其中,所述检测结果包含所述检测成功;
拦截处理模块,用于对所述响应状态与预设状态相同的初始post请求进行响应包异常判断,并将响应包异常的初始post请求进行拦截处理,同时生成警告,其中,所述初始post请求包含所述响应包。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于自动学习的WEB攻击防护方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于自动学习的WEB攻击防护方法的步骤。
上述基于自动学习的WEB攻击防护及其相关设备,利用实时更新的目标规范库与m个参数信息进行比较,选取m个参数信息均属于目标规范库的post请求确定为初始post请求,再通过预设代理端对初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果,若检测成功,则获取后端响应初始post请求的响应状态与预设状态进行比较,对响应状态与预设状态不同的初始post请求进行拦截处理。利用实时更新的目标规范库与参数信息进行比较的方式,能够确保初始post请求的准确提取;在利用预设代理端进行检测并根据检测结果进行判断的方式,能够有效减少误拦截;在判断出异常的情况下,根据初始post请求的响应状态进一步判断,能够提高异常检测的准确度,减少误检测的告警数据量,进而减少业务系统负荷。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于自动学习的WEB攻击防护方法的流程图;
图2是本发明实施例提供的一种基于自动学习的WEB攻击防护方法中获取目标规范库的流程图;
图3是本发明实施例提供的一种基于自动学习的WEB攻击防护方法中步骤S81的流程图;
图4是本发明实施例提供的一种基于自动学习的WEB攻击防护方法中步骤S84的流程图;
图5是本发明实施例提供的一种基于自动学习的WEB攻击防护方法中步骤S841的流程图;
图6是本发明实施例提供的一种基于自动学习的WEB攻击防护装置的示意图;
图7是本发明实施例提供的计算机设备的基本机构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的基于自动学习的WEB攻击防护方法应用于服务端,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。在一实施例中,如图1所示,提供一种基于自动学习的WEB攻击防护方法,包括如下步骤:
S1:从预设数据库中获取post请求,其中,post请求包含m个参数信息,且m为大于0的正整数。
在本发明实施例中,post请求为广域网中的一种网络传输方式,post请求一般用来向目的服务器发出更新请求,并附有请求实体。
具体地,通过直接从预设数据库中获取post请求,其中,预设数据库是指专门用于存储post请求的数据库。
需要强调的是,为进一步保证上述参数信息的私密和安全性,上述参数信息还可以存储于一区块链的节点中。
S2:根据实时更新的目标规范库对m个参数信息进行比较,选取m个参数信息均属于目标规范库的post请求,作为初始post请求。
在本发明实施例中,参数信息包含对应的参数标识,目标规范库包含描述信息及描述信息对应更新后的映射参数。
具体地,由将m个参数信息对应的参数标识分别与目标规范库中的描述信息进行比较,若参数标识与描述信息相同,则将该参数标识对应的参数信息与描述信息对应的映射参数进行匹配,当匹配到参数信息属于映射参数规定范围时,表示该参数信息属于合法信息,当m个参数信息均属于合法信息时,表示m个参数信息均属于目标规范库,并将m个参数信息对应的post请求确定为初始post请求。
S3:通过预设代理端对初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果。
在本发明实施例中,预设代理端是指安装agent的后端实例,主要用于识别检测初始post请求的请求头中是否包含预设字段,并结合该请求对应的响应状态、响应内容判断是否拦截,是否产生安全事件,其中,agent是一种处于一定环境下包装的计算机系统。
具体地,根据预设代理端对初始post请求进行预设字段检测,当预设代理端接收到检测指令后,将检测初始post请求的请求头中是否插入预设字段,并将检测结果发送到服务端,服务端直接获取该检测结果。
其中,预设字段是指根据用户实际需求设定的字段,其具体可以是指ag=1。
S4:若检测结果为检测成功,则获取后端响应初始post请求的响应状态,其中,检测结果包含检测成功。
具体地,若检测结果为检测成功,则表示初始post请求的请求头中插入ag=1,并从预设目标库中获取后端响应该初始post请求的响应状态。其中,预设目标库是指专门用于存储后端响应初始post请求的响应状态的数据库。
需要说明的是,检测结果还包含检测失败,若检测结果为检测失败,则表示初始post请求的请求头中未插入预设字段,表示该初始post请求为正常请求,故不作处理。
S5:对响应状态与预设状态相同的初始post请求进行响应包异常判断,并将响应包异常的初始post请求进行拦截处理,同时生成警告,其中,初始post请求包含响应包。
具体地,若返回状态与预设状态相同,则从预设日志表中获取初始post请求对应响应包的工作状态,若响应包的工作状态与预先设置好的正常响应不一致,或者响应包包含了命令执行的结果等异常情况,则表示该响应包异常,并对该初始post请求进行拦截处理,同时生成警告。
其中,预设日志表是指专门用于存储初始post请求对应响应包的工作状态的数据表。
预设状态是指用户根据初始post请求的安全状态设定的显示信号。
需要说明的是,通过进一步对响应包异常判断的方式可以避免产生大量异常告警,即使有很多异常请求,但是攻击没成功的,只是记录IP、账号、会话ID;只需要管理用户定期导出报表,便于分析攻击趋势,总结攻击报表。对于真正有威胁的攻击,管理用户需要重点关注,则只需关注安全事件即可。从而有效提高管理用户的工作效率。
进一步地,若响应状态与预设状态不同,则对该响应状态对应的初始post请求件拦截处理。
例如,预设状态为200,若后端实例安装的agent检测到初始post请求的请求头中插入ag=1后,跟踪后端响应返回状态,若返回状态为非200,则拦截该初始post请求,记录IP、账号、会话ID,但不产生安全事件,即不进行警告。
本实施例中,利用实时更新的目标规范库与m个参数信息进行比较,选取m个参数信息均属于目标规范库的post请求确定为初始post请求,再通过预设代理端对初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果,若检测成功,则获取后端响应初始post请求的响应状态与预设状态进行比较,对响应状态与预设状态不同的初始post请求进行拦截处理。利用实时更新的目标规范库与参数信息进行比较的方式,能够确保初始post请求的准确提取;在利用预设代理端进行检测并根据检测结果进行判断的方式,能够有效减少误拦截;在判断出异常的情况下,根据初始post请求的响应状态进一步判断,能够提高异常检测的准确度,减少误检测的告警数据量,进而减少业务系统负荷。
在一实施例中,如图2所示,步骤S2之前,该基于自动学习的WEB攻击防护方法还包括如下步骤:
S80:以预设时间间隔从历史数据库中获取预设时间段内的所有历史post请求,其中,历史post请求包含n个历史参数,其中,n为大于1的正整数。
在本发明实施例中,当达到预设时间间隔时,从历史数据库中获取预设时间段内的所有历史post请求。其中,预设时间间隔具体可以是指1个月,也可以根据用户的实际需求进行设定,此处不做限制。
历史数据库是指专门用于存储历史post请求的数据库。
预设时间段是指用户预先设定的时间段,例如早上8点至晚上8点。
S81:针对每个历史post请求,通过初始规范库中的合法参数集合对n个历史参数进行异常判断,提取异常的历史post请求作为异常请求,其中,异常请求包含异常类型。
在本发明实施例中,针对每个历史post请求,将初始规范库中的合法参数集合与n个历史参数进行异常匹配,若异常匹配成功,则表示该历史参数对应的历史post请求异常,并将该历史post请求确定为异常请求。
需要说明的是,初始规范库中包含合法参数集合。
S82:将异常类型相同的异常请求作为目标异常请求。
在本发明实施例中,对所有异常请求的异常类型进行识别,当存在异常类型相同的异常请求,则将该异常请求确定为目标异常请求。
例如,存在异常请求A、异常请求B和异常请求C,其对应的异常类型分别为a、a和b,通过对所有异常请求的异常类型进行识别,得到异常请求A和异常请求B的异常类型相同,故将异常请求A和异常请求B确定为目标异常请求。
S83:统计目标异常请求的数量得到异常数量,并将异常数量与预设数量进行比较。
具体地,从预设异常日志中获取目标异常请求对应数量,将该数量作为异常数量,并将异常数量与预设数量进行比较。其中,预设异常日志是指专门用于记录目标异常请求的日志。
S84:若异常数量大于等于预设数量,则利用目标异常请求对应的历史参数对初始规范库进行更新,得到更新后的目标规范库。
在本发明实施例中,在异常数量大于等于预设数量的情况下,由于存在初始规范库更新不及时的情况,导致正常请求被误判为目标异常请求,故需利用误判的目标异常请求对应的历史参数对初始规范库进行更新,以保证初始规范库的准确性。
具体地,若异常数量大于等于预设数量,则利用异常请求对应的历史参数对初始规范库进行更新,得到更新后的初始规范库作为目标规范库。
S85:若异常数量小于预设数量,则将初始规范库作为目标规范库。
具体地,若若异常数量小于预设数量,则将初始规范库作为目标规范库。
本实施例中,以预设时间间隔获取历史post请求,对历史post请求进行异常判断以提取异常请求,再根据异常类型提取目标异常请求,在目标异常请求的异常数量大于等于预设数量的情况下,对初始规范库进行更新以得到目标规范库,否则将初始规范库作为目标规范库。通过对预设时间间隔获取到的历史post请求进行异常判断并提取目标异常请求的方式,能够实时对目标异常请求进行分析,并根据分析结果确定目标规范库,从而有效避免由于目标规范库更新不及时,导致出现正常请求被拦截的情况,进一步提高后续对异常请求进行拦截的准确性。
在一实施例中,如图3所示,合法参数集合包含不同的描述信息及描述信息对应的映射参数,步骤S81中,即针对每个历史post请求,通过初始规范库中的合法参数集合对n个历史参数进行异常判断,提取异常的历史post请求作为异常请求包括如下步骤:
S811:针对每个历史post请求,将每个历史参数对应的标识信息与合法参数集合中的描述信息进行匹配,其中,历史参数包含标识信息。
在本发明实施例中,历史参数包含标识信息;合法参数集合包含不同的描述信息及描述信息对应的映射参数;针对每个历史post请求,将每个历史参数对应的标识信息与合法参数集合中的描述信息进行匹配。
S812:若标识信息与描述信息相同,则获取描述信息对应的映射参数作为目标参数。
具体地,根据步骤S811的匹配方式,若标识信息与描述信息相同,则获取该描述信息对应的映射参数作为目标参数。
S813:将历史参数与目标参数进行比较。
具体地,将历史参数与目标参数进行比较。
S814:若历史参数与目标参数不符,则将历史参数对应的历史post请求确定为异常请求。
在本发明实施例中,由于历史post请求包含n个历史参数,若每个历史参数与目标参数相符,则表示该历史post请求正常,若存在一个历史参数与目标参数不符,则将历史参数对应的历史post请求确定为异常请求。
本实施例中,针对每个历史post请求,将每个历史参数对应的标识信息与合法参数集合中的描述信息进行匹配,若标识信息与描述信息相同,则获取该描述信息对应的映射参数作为目标参数,再将历史参数与目标参数进行比较,若历史参数与目标参数不符,则将历史参数对应的历史post请求确定为异常请求。通过将历史参数与目标参数进行比较的方式,能够快速准确地识别出异常请求,保证后续根据异常请求更新初始规范库的准确性。
在一实施例中,如图4所示,步骤S84中,即若异常数量大于等于预设数量,则利用目标异常请求对应的历史参数对初始规范库进行更新,得到更新后的目标规范库包括如下步骤:
S841:若异常数量大于等于预设数量,则通过对标识信息进行识别,并根据预设转换要求将n个历史参数转换为合法路径、合法数量范围、合法长度范围和合法字段。
在本发明实施例中,n个历史参数主要为url路径特征、参数个数特征、参数长度特征和常见字段,当异常数量大于等于预设数量时,对标识信息进行识别,并根据预设转换要求将url路径特征、参数个数特征、参数长度特征和常见字段,分别转换为合法路径、合法数量范围、合法长度范围和合法字段。
需要说明的是,预设转换要求是指将识别到的标识信息对应的历史参数根据用户预先设定规则进行转换成对应的参数。
S842:利用合法路径、合法数量范围、合法长度范围和合法字段对初始规范库进行更新,得到更新后的目标规范库。
在本发明实施例中,初始规范库中的合法参数集合包含不同的描述信息及描述信息对应的映射参数,且描述信息包含路径、数量、长度和字段。
具体地,利用合法路径、合法数量范围、合法长度范围和合法字段对初始规范库中的映射参数进行更新,识别初始规范库中的合法参数集合包含的描述信息,若识别到描述信息为路径,则将该描述信息对应的映射参数更新成合法路径,以此类推,将描述信息为数量、长度和字段对应的映射参数,分别更新成合法数量范围、合法长度范围和合法字段,并将更新处理后的初始规范库确定为目标规范库。
本实施例中,在异常数量大于等于预设数量的情况下,对历史参数对应的标识信息进行识别,并根据预设转换要求将n个历史参数转换为合法路径、合法数量范围、合法长度范围和合法字段,并对初始规范库进行更新以得到目标规范库。根据预设转换要求对n个历史参数进行转换,能够在达到用户设定要求下对历史参数进行更新,进而保证目标规范库获取的准确性。
在一实施例中,如图5所示,n个历史参数包括url路径特征、参数个数特征、参数长度特征和/或常见字段,且其对应的标识信息分别为路径、数量、长度和字段,步骤S841中,即若异常数量大于等于预设数量,则通过对标识信息进行识别,并根据预设转换要求将n个历史参数转换为合法路径、合法数量范围、合法长度范围和合法字段的步骤包括:
S8411:若异常数量大于等于预设数量,则对标识信息进行识别。
在本发明实施例中,n个历史参数主要为url路径特征、参数个数特征、参数长度特征和常见字段,且其对应的标识信息分别为路径、数量、长度和字段,若异常数量大于等于预设数量,则对标识信息进行识别。
Url路径特征:每个URL正常访问都有固定的路径,异常访问比如工具扫描会超出正常路径范围。
参数个数特征:每个正常功能的POST都有固定的参数个数,异常的可能随意拼凑参数。
参数长度特征:正常POST请求参数长度有一定范围,异常可能少于或者大于此范围
常见字段:如User-Agent,Connection,Cache-Control等字段。统计所有白流量中出现过的字段信息集合。
需要说明的是,正常访问和白流量既可以是内网访问产生的流程,也可以是人工确定的部分正常用户访问产生的流程,比如抽取部分正常用户,提取流量。
S8412:获取标识信息为路径对应的url路径特征,作为合法路径。
具体地,当识别到标识信息为路径时,获取该标识信息对应的url路径特征作为合法路径。
S8413:若标识信息为数量,则将数量对应的参数个数特征作为第一特征,并从所有第一特征中,选取最小和最大的个数数值构成合法数量范围,其中,第一特征包含个数数值。
具体地,当识别到标识信息为数量时,将该标识信息对应的参数个数特征作为第一特征,并将所有第一特征对应的个数数值,按照从小到大的顺序进行排序,并从中选取最小和最大的个数数值构成合法数量范围。
S8414:若标识信息为长度,则将长度对应的参数长度特征作为第二特征,并从所有第二特征中,选取最小和最大的长度值构成合法长度范围,其中,第二特征包含长度值。
具体地,若标识信息为长度,则将该标识信息对应的参数长度特征作为第二特征,并将所有第二特征对应的长度值,按照从小到大的顺序进行排序,并从中选取最小和最大的长度值构成合法长度范围。
S8415:获取标识信息为字段对应的常见字段,作为合法字段。
具体地,若标识信息为字段,则获取该标识信息对应的常见字段作为合法字段。
本实施例中,通过对标识信息进行识别,在识别到标识信息为路径的情况下,将路径对应的url路径特征作为合法路径,同理,将字段对应的常见字段作为合法字段;若标识信息为数量,则将数量对应的参数个数特征作为第一特征,并从所有第一特征中,选取最小和最大的个数数值构成合法数量范围,同理,从长度对应的所有第二特征中,选取最小和最大的长度值构成合法长度范围。通过对标识信息进行识别的方式,能够快速准确地将识别到的历史参数根据预先设定要求进行转换,保证历史参数更新的准确性。
在一实施例中,post请求包含请求头,步骤S2之后,步骤S3之前,该基于自动学习的WEB攻击防护方法还包括如下步骤:
若m个参数信息中存在至少一个参数信息不在目标规范库的范围内,则在请求头中插入预设目标字段,并将插入预设目标字段的post请求确定为初始post请求。
具体地,根据步骤S2中将m个参数信息对应的参数标识分别与目标规范库中的描述信息进行比较,若参数标识与描述信息相同,则将该参数标识对应的参数信息与描述信息对应的映射参数进行匹配,当匹配到参数信息不属于映射参数规定范围时,表示该参数信息不属于合法信息,即参数信息不在目标规范库的范围内,并在该参数信息对应的post请求的请求头中插入预设目标字段,最后将插入预设目标字段的post请求确定为初始post请求,其中,预设目标字段是指用户预先设定的字段,其具体可以是ag=1。post请求包含请求头。
例如,若post请求的页面中客户端提交的参数信息为abc,其对应的映射参数为abd,由于参数信息与其对应的映射参数不匹配,则在该post请求的请求头中插入一个ag=1的字段。
本实施例中,若m个参数信息中存在至少一个参数信息不在目标规范库的范围内,则在post请求包含的请求头中插入预设目标字段以得到初始post请求。在存在至少一个参数信息不在目标规范库的范围内的情况下,对请求头进行预设目标字段插入,能够确保该情况下初始post请求的准确获取,提高后续根据初始post请求进行检测的准确度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于自动学习的WEB攻击防护装置,该基于自动学习的WEB攻击防护装置与上述实施例中基于自动学习的WEB攻击防护方法一一对应。如图6所示,该基于自动学习的WEB攻击防护装置包括第一获取模块61,比较模块62,二次检测模块63,检测成功模块64,拦截处理模块65。各功能模块详细说明如下:
第一获取模块61,用于从预设数据库中获取post请求,其中,post请求包含m个参数信息,且m为大于0的正整数;需要强调的是,为进一步保证上述参数信息的私密和安全性,上述参数信息还可以存储于一区块链的节点中;
比较模块62,用于根据实时更新的目标规范库对m个参数信息进行比较,选取m个参数信息均属于目标规范库的post请求,作为初始post请求;
二次检测模块63,用于通过预设代理端对初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果;
检测成功模块64,用于若检测结果为检测成功,则获取后端响应初始post请求的响应状态,其中,检测结果包含检测成功;
拦截处理模块65,用于对响应状态与预设状态相同的初始post请求进行响应包异常判断,并将响应包异常的初始post请求进行拦截处理,同时生成警告,其中,初始post请求包含响应包。
进一步地,该基于自动学习的WEB攻击防护装置还包括:
第二获取模块,用于以预设时间间隔从历史数据库中获取预设时间段内的所有历史post请求,其中,历史post请求包含n个历史参数,其中,n为大于1的正整数;
异常判断模块,用于针对每个历史post请求,通过初始规范库中的合法参数集合对n个历史参数进行异常判断,提取异常的历史post请求作为异常请求,其中,异常请求包含异常类型;
异常类型相同模块,用于将异常类型相同的异常请求作为目标异常请求;
数量比较模块,用于统计目标异常请求的数量得到异常数量,并将异常数量与预设数量进行比较;
第一比较模块,用于若异常数量大于等于预设数量,则利用目标异常请求对应的历史参数对初始规范库进行更新,得到更新后的目标规范库;
第二比较模块,用于若异常数量小于预设数量,则将初始规范库作为目标规范库。
进一步地,异常判断模块包括:
匹配子模块,用于针对每个历史post请求,将每个历史参数对应的标识信息与合法参数集合中的描述信息进行匹配,其中,历史参数包含标识信息;
匹配相同子模块,用于若标识信息与描述信息相同,则获取描述信息对应的映射参数作为目标参数;
第三比较子模块,用于将历史参数与目标参数进行比较;
异常请求确定子模块,用于若历史参数与目标参数不符,则将历史参数对应的历史post请求确定为异常请求。
进一步地,匹配子模块包括:
转换单元,用于若异常数量大于等于预设数量,则通过对标识信息进行识别,并根据预设转换要求将n个历史参数转换为合法路径、合法数量范围、合法长度范围和合法字段;
更新单元,用于利用合法路径、合法数量范围、合法长度范围和合法字段对初始规范库进行更新,得到更新后的目标规范库。
进一步地,转换单元包括:
识别子单元,用于若异常数量大于等于预设数量,则对标识信息进行识别;
第一识别子单元,用于获取标识信息为路径对应的url路径特征,作为合法路径;
第二识别子单元,用于若标识信息为数量,则将数量对应的参数个数特征作为第一特征,并从所有第一特征中,选取最小和最大的个数数值构成合法数量范围,其中,第一特征包含个数数值;
第三识别子单元,用于若标识信息为长度,则将长度对应的参数长度特征作为第二特征,并从所有第二特征中,选取最小和最大的长度值构成合法长度范围,其中,第二特征包含长度值;
第四识别子单元,用于获取标识信息为字段对应的常见字段,作为合法字段。
进一步地,基于自动学习的WEB攻击防护装置还包括:
插入模块,用于若m个参数信息中存在至少一个参数信息不在目标规范库的范围内,则在请求头中插入预设目标字段,并将插入预设目标字段的post请求确定为初始post请求。
本申请的一些实施例公开了计算机设备。具体请参阅图7,为本申请的一实施例中计算机设备90基本结构框图。
如图7中所示意的,所述计算机设备90包括通过系统总线相互通信连接存储器91、处理器92、网络接口93。需要指出的是,图7中仅示出了具有组件91-93的计算机设备90,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器91至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器91可以是所述计算机设备90的内部存储单元,例如该计算机设备90的硬盘或内存。在另一些实施例中,所述存储器91也可以是所述计算机设备90的外部存储设备,例如该计算机设备90上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器91还可以既包括所述计算机设备90的内部存储单元也包括其外部存储设备。本实施例中,所述存储器91通常用于存储安装于所述计算机设备90的操作系统和各类应用软件,例如所述基于自动学习的WEB攻击防护方法的程序代码等。此外,所述存储器91还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器92在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器92通常用于控制所述计算机设备90的总体操作。本实施例中,所述处理器92用于运行所述存储器91中存储的程序代码或者处理数据,例如运行所述基于自动学习的WEB攻击防护方法的程序代码。
所述网络接口93可包括无线网络接口或有线网络接口,该网络接口93通常用于在所述计算机设备90与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有post请求信息录入程序,所述post请求信息录入程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任意一种基于自动学习的WEB攻击防护方法的步骤。
需要强调的是,为进一步保证上述参数信息的私密和安全性,上述参数信息还可以存储于一区块链的节点中。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台计算机设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
最后应说明的是,显然以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (8)

1.一种基于自动学习的WEB攻击防护方法,其特征在于,所述基于自动学习的WEB攻击防护方法包括:
从预设数据库中获取post请求,其中,所述post请求包含m个参数信息,且m为大于0的正整数;
根据实时更新的目标规范库对所述m个参数信息进行比较,选取所述m个参数信息均属于所述目标规范库的所述post请求,作为初始post请求;
通过预设代理端对所述初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果;
若所述检测结果为检测成功,则获取后端响应所述初始post请求的响应状态,其中,所述检测结果包含所述检测成功;
对所述响应状态与预设状态相同的初始post请求进行响应包异常判断,并将响应包异常的初始post请求进行拦截处理,同时生成警告,其中,所述初始post请求包含所述响应包;
所述根据实时更新的目标规范库对所述m个参数信息进行比较,选取所述m个参数信息均在所述目标规范库的所述post请求,作为初始post请求之前,所述基于自动学习的WEB攻击防护方法还包括:
以预设时间间隔从历史数据库中获取预设时间段内的所有历史post请求,其中,所述历史post请求包含n个历史参数,其中,n为大于1的正整数;
针对每个所述历史post请求,通过初始规范库中的合法参数集合对所述n个历史参数进行异常判断,提取异常的所述历史post请求作为异常请求,其中,所述异常请求包含异常类型;
将异常类型相同的所述异常请求作为目标异常请求;
统计所述目标异常请求的数量得到异常数量,并将所述异常数量与预设数量进行比较;
若所述异常数量大于等于预设数量,则利用所述目标异常请求对应的历史参数对所述初始规范库进行更新,得到更新后的所述目标规范库;
若所述异常数量小于预设数量,则将所述初始规范库作为所述目标规范库。
2.如权利要求1所述的基于自动学习的WEB攻击防护方法,其特征在于,所述合法参数集合包含不同的描述信息及所述描述信息对应的映射参数,所述针对每个所述历史post请求,通过初始规范库中的合法参数集合对所述n个历史参数进行异常判断,提取异常的所述历史post请求作为异常请求的步骤包括:
针对每个所述历史post请求,将每个所述历史参数对应的标识信息与所述合法参数集合中的描述信息进行匹配,其中,所述历史参数包含所述标识信息;
若所述标识信息与所述描述信息相同,则获取所述描述信息对应的映射参数作为目标参数;
将所述历史参数与所述目标参数进行比较;
若所述历史参数与所述目标参数不符,则将所述历史参数对应的所述历史post请求确定为所述异常请求。
3.如权利要求2所述的基于自动学习的WEB攻击防护方法,其特征在于,所述若所述异常数量大于等于预设数量,则利用所述目标异常请求对应的历史参数对所述初始规范库进行更新,得到更新后的所述目标规范库的步骤包括:
若所述异常数量大于等于预设数量,则通过对标识信息进行识别,并根据预设转换要求将所述n个历史参数转换为合法路径、合法数量范围、合法长度范围和合法字段;
利用所述合法路径、所述合法数量范围、所述合法长度范围和所述合法字段对所述初始规范库进行更新,得到更新后的所述目标规范库。
4.如权利要求3所述的基于自动学习的WEB攻击防护方法,其特征在于,所述n个历史参数包括url路径特征、参数个数特征、参数长度特征和/或常见字段,且其对应的标识信息分别为路径、数量、长度和字段,所述若所述异常数量大于等于预设数量,则通过对所述标识信息进行识别,并根据预设转换要求将所述n个历史参数转换为合法路径、合法数量范围、合法长度范围和合法字段的步骤包括:
若所述异常数量大于等于预设数量,则对所述标识信息进行识别;
获取所述标识信息为所述路径对应的所述url路径特征,作为所述合法路径;
若所述标识信息为数量,则将所述数量对应的所述参数个数特征作为第一特征,并从所有所述第一特征中,选取最小和最大的个数数值构成所述合法数量范围,其中,所述第一特征包含所述个数数值;
若所述标识信息为长度,则将所述长度对应的所述参数长度特征作为第二特征,并从所有所述第二特征中,选取最小和最大的长度值构成所述合法长度范围,其中,所述第二特征包含所述长度值;
获取所述标识信息为所述字段对应的所述常见字段,作为所述合法字段。
5.如权利要求1所述的基于自动学习的WEB攻击防护方法,其特征在于,所述post请求包含请求头,所述根据实时更新的目标规范库对所述m个参数信息进行比较,选取所述m个参数信息均在所述目标规范库的所述post请求,作为初始post请求的步骤之后,所述通过预设代理端对所述初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果的步骤之前,所述基于自动学习的WEB攻击防护方法还包括:
若m个所述参数信息中存在至少一个参数信息不在所述目标规范库的范围内,则在所述请求头中插入预设目标字段,并将插入所述预设目标字段的所述post请求确定为所述初始post请求。
6.一种基于自动学习的WEB攻击防护装置,其特征在于,所述基于自动学习的WEB攻击防护装置包括:
第一获取模块,用于从预设数据库中获取post请求,其中,所述post请求包含m个参数信息,且m为大于0的正整数;
比较模块,用于根据实时更新的目标规范库对所述m个参数信息进行比较,选取所述m个参数信息均属于所述目标规范库的所述post请求,作为初始post请求;二次检测模块,用于通过预设代理端对所述初始post请求进行预设字段检测,并获取预设代理端反馈的检测结果;
检测成功模块,用于若所述检测结果为检测成功,则获取后端响应所述初始post请求的响应状态,其中,所述检测结果包含所述检测成功;
拦截处理模块,用于对所述响应状态与预设状态相同的初始post请求进行响应包异常判断,并将响应包异常的初始post请求进行拦截处理,同时生成警告,其中,所述初始post请求包含所述响应包;
所述基于自动学习的WEB攻击防护装置还包括:
第二获取模块,用于以预设时间间隔从历史数据库中获取预设时间段内的所有历史post请求,其中,所述历史post请求包含n个历史参数,其中,n为大于1的正整数;
异常判断模块,用于针对每个所述历史post请求,通过初始规范库中的合法参数集合对所述n个历史参数进行异常判断,提取异常的所述历史post请求作为异常请求,其中,所述异常请求包含异常类型;
异常类型相同模块,用于将异常类型相同的所述异常请求作为目标异常请求;
数量比较模块,用于统计所述目标异常请求的数量得到异常数量,并将所述异常数量与预设数量进行比较;
第一比较模块,用于若所述异常数量大于等于预设数量,则利用所述目标异常请求对应的历史参数对所述初始规范库进行更新,得到更新后的所述目标规范库;
第二比较模块,用于若所述异常数量小于预设数量,则将所述初始规范库作为所述目标规范库。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述基于自动学习的WEB攻击防护方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于自动学习的WEB攻击防护方法的步骤。
CN202010610195.7A 2020-06-29 2020-06-29 基于自动学习的web攻击防护方法、及其相关设备 Active CN111835737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010610195.7A CN111835737B (zh) 2020-06-29 2020-06-29 基于自动学习的web攻击防护方法、及其相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010610195.7A CN111835737B (zh) 2020-06-29 2020-06-29 基于自动学习的web攻击防护方法、及其相关设备

Publications (2)

Publication Number Publication Date
CN111835737A CN111835737A (zh) 2020-10-27
CN111835737B true CN111835737B (zh) 2024-04-02

Family

ID=72899545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010610195.7A Active CN111835737B (zh) 2020-06-29 2020-06-29 基于自动学习的web攻击防护方法、及其相关设备

Country Status (1)

Country Link
CN (1) CN111835737B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560591B (zh) * 2020-11-30 2023-12-05 中国人民武装警察部队警官学院 应用于格斗实战对抗的数据检测方法、系统及存储介质
CN113364614B (zh) * 2021-05-19 2022-11-11 北京达佳互联信息技术有限公司 请求处理方法、装置、服务器、存储介质及程序产品
CN114553550B (zh) * 2022-02-24 2024-02-02 京东科技信息技术有限公司 请求检测方法、装置、存储介质及电子设备
CN114827260B (zh) * 2022-04-13 2023-08-25 度小满科技(北京)有限公司 一种数据传输方法及相关装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法
WO2017107965A1 (zh) * 2015-12-25 2017-06-29 北京奇虎科技有限公司 一种web异常检测方法和装置
CN107046518A (zh) * 2016-02-05 2017-08-15 阿里巴巴集团控股有限公司 网络攻击的检测方法及装置
CN107644166A (zh) * 2017-09-22 2018-01-30 成都知道创宇信息技术有限公司 一种基于自动学习的web应用安全防护方法
CN108055227A (zh) * 2017-08-08 2018-05-18 西安交大捷普网络科技有限公司 基于站点自学习的waf未知攻击防御方法
CN109325865A (zh) * 2018-08-13 2019-02-12 中国平安人寿保险股份有限公司 异常处理方法、装置、计算机设备及存储介质
WO2019134334A1 (zh) * 2018-01-04 2019-07-11 平安科技(深圳)有限公司 网络异常数据检测方法、装置、计算机设备和存储介质
CN110472414A (zh) * 2019-07-23 2019-11-19 中国平安人寿保险股份有限公司 系统漏洞的检测方法、装置、终端设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9336234B2 (en) * 2013-02-22 2016-05-10 Adobe Systems Incorporated Online content management system with undo and redo operations
CN106790292A (zh) * 2017-03-13 2017-05-31 摩贝(上海)生物科技有限公司 基于行为特征匹配和分析的web应用层攻击检测与防御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107965A1 (zh) * 2015-12-25 2017-06-29 北京奇虎科技有限公司 一种web异常检测方法和装置
CN107046518A (zh) * 2016-02-05 2017-08-15 阿里巴巴集团控股有限公司 网络攻击的检测方法及装置
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法
CN108055227A (zh) * 2017-08-08 2018-05-18 西安交大捷普网络科技有限公司 基于站点自学习的waf未知攻击防御方法
CN107644166A (zh) * 2017-09-22 2018-01-30 成都知道创宇信息技术有限公司 一种基于自动学习的web应用安全防护方法
WO2019134334A1 (zh) * 2018-01-04 2019-07-11 平安科技(深圳)有限公司 网络异常数据检测方法、装置、计算机设备和存储介质
CN109325865A (zh) * 2018-08-13 2019-02-12 中国平安人寿保险股份有限公司 异常处理方法、装置、计算机设备及存储介质
CN110472414A (zh) * 2019-07-23 2019-11-19 中国平安人寿保险股份有限公司 系统漏洞的检测方法、装置、终端设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
贾彦丰.基于DBSCAN算法的WEB漏洞检测去重方法研究.中国优秀硕士学位论文全文数据库 (信息科技辑).2019,I139-87. *

Also Published As

Publication number Publication date
CN111835737A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
CN111835737B (zh) 基于自动学习的web攻击防护方法、及其相关设备
CN108092975B (zh) 异常登录的识别方法、系统、存储介质和电子设备
CN108989150B (zh) 一种登录异常检测方法及装置
CN108304704B (zh) 权限控制方法、装置、计算机设备和存储介质
CN108932426B (zh) 越权漏洞检测方法和装置
CN112003838B (zh) 网络威胁的检测方法、装置、电子装置和存储介质
CN111274583A (zh) 一种大数据计算机网络安全防护装置及其控制方法
CN113489713B (zh) 网络攻击的检测方法、装置、设备及存储介质
CN105009132A (zh) 基于置信因子的事件关联
CN108256322B (zh) 安全测试方法、装置、计算机设备和存储介质
CN111131221B (zh) 接口校验的装置、方法及存储介质
CN113726780B (zh) 基于态势感知的网络监控方法、装置、电子设备
CN109634756B (zh) 页面事件处理方法、装置、计算机设备及存储介质
KR20080044145A (ko) 웹 로그 상호연관분석을 이용한 웹 애플리케이션 공격의침입 탐지 시스템 및 방법
CN113472803A (zh) 漏洞攻击状态检测方法、装置、计算机设备和存储介质
CN111666573A (zh) 网站系统漏洞等级评估的方法、装置和计算机设备
CN114826946B (zh) 未授权访问接口的检测方法、装置、设备及存储介质
CN114531259A (zh) 攻击结果检测方法、装置、系统、计算机设备和介质
CN110442466B (zh) 防止请求重复访问方法、装置、计算机设备及存储介质
CN109165513B (zh) 系统配置信息的巡检方法、装置和服务器
CN116662987A (zh) 业务系统监控方法、装置、计算机设备及存储介质
CN115834345A (zh) 一种告警数据的处理方法、装置、设备及介质
CN114756850A (zh) 数据的获取方法、装置、设备及存储介质
CN114186278A (zh) 数据库异常操作识别方法、装置与电子设备
CN112015494A (zh) 第三方api工具调用方法、系统及装置

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