CN112468460A - Http请求检测方法、装置、计算机设备及存储介质 - Google Patents
Http请求检测方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112468460A CN112468460A CN202011267450.9A CN202011267450A CN112468460A CN 112468460 A CN112468460 A CN 112468460A CN 202011267450 A CN202011267450 A CN 202011267450A CN 112468460 A CN112468460 A CN 112468460A
- Authority
- CN
- China
- Prior art keywords
- request
- detection
- sql
- user access
- abnormal
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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/1416—Event detection, e.g. attack signature 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/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
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
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)
Abstract
本发明涉及人工智能技术领域,尤其涉及一种HTTP请求检测方法、装置、设备及存储介质。该HTTP请求检测方法包括接收网关发送的携带用户IP的用户访问请求;基于所述用户IP,对所述用户访问请求进行异常IP检测,得到第一检测结果;当所述第一检测结果为正常IP,则对所述用户访问请求进行解码处理,得到包含SQL信息的请求字符串;调用缓存服务端中存储的预先创建好的SQL检测模型对所述请求字符串进行检测,得到第二检测结果;当所述第二检测结果为异常请求,则发出告警信息,并阻断所述用户访问请求。该HTTP请求检测方法可有效提升检测效率和准确率。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种HTTP请求检测方法、装置、计算机设备及存储介质。
背景技术
web应用是基于HTTP协议的,用户发送带有参数的HTTP请求,服务端解析请求,提交给应用处理程序,然后应用处理程序再构造相应SQL查询语句,进行数据库中的数据查询。而这样的工作方式,服务端易受到SQL注入攻击。其中,SQL注入是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
目前,防止SQL注入的方法大都是基于规则,通过枚举SQL语法中的关键字和一些特殊符号,去匹配网页中的URL,进而匹配到具有攻击风险的URL,并对其进行拦截,但是此种方式的主观性较强,且准确率摘要依赖于规则编写者的经验,无法保证检测的客观性。此外,通过该种规则匹配的方式在处理大量的数据访问请求时,对系统性能损耗较高。
发明内容
本发明实施例提供一种HTTP请求检测方法、装置、计算机设备及存储介质,以解决HTTP请求检测准确率不高的问题。
一种HTTP请求检测方法,包括:
接收网关发送的携带用户IP的用户访问请求;
基于所述用户IP,对所述用户访问请求进行异常IP检测,得到第一检测结果;
当所述第一检测结果为正常IP,则对所述用户访问请求进行解码处理,得到包含SQL信息的请求字符串;
调用缓存服务端中存储的预先创建好的SQL检测模型对所述请求字符串进行检测,得到第二检测结果;
当所述第二检测结果为异常请求,则发出告警信息,并阻断所述用户访问请求。
一种HTTP请求检测装置,包括:
用户访问请求接收模块,用于接收网关发送的携带用户IP的用户访问请求;
第一检测结果获取模块,用于基于所述用户IP,对所述用户访问请求进行异常IP检测,得到第一检测结果;
解码模块,用于当所述第一检测结果为正常IP,则对所述用户访问请求进行解码处理,得到包含SQL信息的请求字符串;
SQL检测模块,用于调用缓存服务端中存储的预先创建好的SQL检测模型对所述请求字符串进行检测,得到第二检测结果;
告警模块,用于当所述第二检测结果为异常请求,则发出告警信息,并阻断所述用户访问请求。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述HTTP请求检测方法的步骤。
一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述HTTP请求检测方法的步骤。
上述HTTP请求检测方法、装置、计算机设备及存储介质中,通过接收网关发送的携带用户IP的用户访问请求,以便基于用户IP,对用户访问请求进行异常IP检测,得到第一检测结果,实现初步过滤IP异常的用户访问请求;当第一检测结果为正常IP,则对用户访问请求进行解码处理,得到包含SQL信息的请求字符串,然后,调用缓存服务端中存储的预先创建好的SQL检测模型对请求字符串进行检测,得到第二检测结果,以进一步针对正常IP的用户访问请求检测是否有SQL注入攻击的风险,抛弃传统的基于规则的SQL注入检测,有效保证SQL注入检测的客观性。当第二检测结果为异常请求,则发出告警信息,并阻断用户访问请求,有效解决客户端的访问请求存在SQL隐患系统的安全性问题,提高服务端的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中HTTP请求检测方法的一应用环境示意图;
图2是本发明一实施例中HTTP请求检测方法的一流程图;
图3是图2中步骤S202的一具体流程图;
图4是图2中步骤S202的一具体流程图;
图5是本发明一实施例中HTTP请求检测方法的一流程图;
图6是本发明一实施例中HTTP请求检测方法的一流程图;
图7是图2中步骤S202的一具体流程图;
图8是图7中步骤S701的一具体流程图;
图9是本发明一实施例中HTTP请求检测装置的一示意图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
该HTTP请求检测方法可应用在如图1的应用环境中,其中,计算机设备通过网络与服务器进行通信。计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器来实现。
在一实施例中,如图2所示,提供一种HTTP请求检测方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S201:接收网关发送的携带用户IP的用户访问请求。
具体地,本方法可应用于一种数据安全防护系统中,该数据安全防护系统可设置在代理网关和服务端之间,用于实时对网关发送的用户访问请求进行安全性检测,以过滤掉恶意请求或异常请求,保证服务端的安全性。
其中,用户访问请求是指通过应用程序客户端发送的数据访问请求,例如查询数据。引用程序客户端发送的用户访问请求均通过网关转发到不同的服务端,以使服务端接收网关发送的携带用户IP的用户访问请求。
S202:基于用户IP,对用户访问请求进行异常IP检测,得到第一检测结果。
本实施例中,可通过对用户访问请求进行异常IP检测,以过滤掉异常的IP。该异常IP检测包括IP黑名单过滤和/或监控用户IP的请求行为。
其中,IP黑名单过滤是一种拒绝IP地址已记录在案的主机过滤操作。当用户访问时,通过与已有的黑名单中的IP进行对比,从而拒绝黑名单中的IP进行访问,可以阻断该用户访问请求。监控用户IP的请求行为即通过监控预设时间内的用户IP的请求次数,当该请求次数大于一阈值时,则判定为异常IP,可直接过滤。该第一检测结果包括正常IP或异常IP。
可以理解地,上述两种异常IP的处理方式可择一执行,或结合执行。若为结合执行二者可不限定执行顺序,同步执行,或者按照可采用IP黑名单过滤的方式进行判断,若属于黑名单用户IP,则认为该用户IP为异常IP,可直接过滤掉该用户IP,无需进入监控IP的请求行为的进程,保证检测效率。
可以理解地,本实施例中通过对用户访问请求进行异常IP检测,可直接过滤掉异常IP,从而无需进入后续的模型检测,提高检测方案整体的处理效率。
S203:当第一检测结果为正常IP,则对用户访问请求进行解码处理,得到包含SQL信息的请求字符串。
其中,由于所获取的HTTPS协议数据包流量是默认经过加密算法加密后的,故本实施例中需要通过对加密后的用户访问请求进行解码,以得到解码后的请求字符串,即包含SQL信息的请求字符串,如UNION SELECT 1,*from admin。
具体地,由于HTTPS协议中通过非对称加密算法(如RSA算法)生成的密钥对(包括公钥和私钥),以对信任的客户端和之间所传输的数据进行加密、解密,即服务端可通过非对称加密算法生成的私钥对以公钥加密的用户访问请求进行解密,得到解密后的包含SQL信息的请求字符串。
S204:调用缓存服务端中存储的预先创建好的SQL检测模型对请求字符串进行检测,得到第二检测结果。
其中,SQL检测模型可通过机器学习或深度学习对标记好的http请求样本进行训练所得到。本实施例中,该SQL检测模型可通过决策树或随机森林实现,即该SQL检测模型中可表征多条决策规则,不同的决策规则对应不同的分类结果,即第二请求检测结果。缓存服务端中用于缓存SQL检测模型的服务器,以快速加载SQL检测模型,保证检测效率。
其中,该第二请求检测结果包括但不限于正常请求、检测异常和异常请求,而异常请求可进一步划分不同类型的异常结果,如延迟异常、网页调用异常、恶意请求(即具有SQL注入风险)以及token复用(如反复登录)。
S205:当第二检测结果为异常请求,则发出告警信息,并阻断用户访问请求。
具体地,当第二请求检测结果为异常请求,认为该用户访问请求的请求参数中含有恶意攻击,则服务端会发出告警信息,并阻断用户访问请求(即代理网关不会将用户访问请求转发至服务端,可直接将其阻断),有效解决客户端的访问请求存在SQL隐患系统的安全性问题,提高服务端的安全性。进一步地,当第二请求检测结果为正常请求,则认为该HTTP请求不存在SQL注入攻击的风险,则可将该请求转发至服务端,可进行正常响应并返回对应的响应数据。
本实施例中,通过接收网关发送的携带用户IP的用户访问请求,以便基于用户IP,对用户访问请求进行异常IP检测,得到第一检测结果,实现初步过滤IP异常的用户访问请求;当第一检测结果为正常IP,则对用户访问请求进行解码处理,得到包含SQL信息的请求字符串,然后,调用缓存服务端中存储的预先创建好的SQL检测模型对请求字符串进行检测,得到第二检测结果,以进一步针对正常IP的用户访问请求检测是否有SQL注入攻击的风险,抛弃传统的基于规则的SQL注入检测,有效保证SQL注入检测的客观性,当第二检测结果为异常请求,则发出告警信息,并阻断用户访问请求,有效解决客户端的访问请求存在SQL隐患系统的安全性问题,提高服务端的安全性。
在一实施例中,如图3所示,步骤202中,即基于用户IP,对用户访问请求进行异常IP检测,得到第一检测结果,具体包括如下步骤:
S301:获取攻击黑名单;其中,攻击黑名单中存储有多个异常IP。
其中,用户IP是指用户访问请求中携带的IP地址。异常IP即为黑名单中存储的被标记为异常的用户IP地址。
具体地,该攻击黑名单中存储有多个被标记为异常IP,该异常的用户IP地址可为历史恶意请求的IP地址或者网络中公开的黑名单。可以理解地,可先采用网络爬虫工具从互联网中爬取开源的IP黑名单以及系统中存储的历史恶意请求的IP地址,这两者的集合作为攻击黑名单。
S302:当用户IP与异常IP不匹配,则得到用户访问请求为正常IP的第一检测结果。
具体地,当获取到网关接收到的用户访问请求时,则对用户访问请求中携带的用户IP进行检测,即将获取用户的IP和黑名单中的异常IP进行对比,当用户IP与异常IP匹配(即用户IP在攻击黑名单中存在),则过滤掉该用户访问请求,则返回该用户访问请求为异常请求的第一请求检测结果;当用户IP与异常IP不匹配(即用户IP在攻击黑名单中不存在),则返回用户访问请求为正常IP的第一请求检测结果,以继续执行步骤S203。
在一实施例中,如图4所示,步骤202中,即基于用户IP,对用户访问请求进行异常IP检测,得到第一检测结果,具体包括如下步骤:
S401:监控用户IP在预设时间内所发送的请求数。
其中,请求数是指该用户IP在一预设时间内向服务端发送访问请求的数量。具体地,当服务端接收到用户访问请求时,会监控用户IP在预设时间内所发送的请求数,以进一步确定该用户IP是否异常。其中,预设时间可根据实际需要进行自定义设定,此处不做限定。
S402:当请求数不大于预设请求阈值,则得到用户访问请求为正常IP的第一检测结果。
具体地,当该请求数不大于预设请求阈值时,则得到用户访问请求为正常IP的第一请求检测结果;当该请求数大于预设请求阈值,则认为该用户IP的访问请求过于频繁,具有恶意请求的风险,则过滤掉该用户访问请求,得到用户访问请求为异常请求的第一请求检测结果。
其中,由于网络延时可造成某一用户IP重复发送访问请求,为避免发生此种情况,服务端将该用户IP发送的访问请求过滤掉的操作,本实施例中可将预设请求阈值设置大一些如50次,预设时间设置小一些,如1s。
示例性地,当某一用户IP以每秒50次或以上的频率访问服务端,则认为该访问存在异常的风险,即非人为操作导致,故可将该用户访问请求直接过滤掉,以规避恶意访问的风险。
在一实施例中,如图5所示,步骤S204之后,该HTTP请求检测方法还包括如下步骤:
S501:当第二检测结果为检测异常,则将用户访问请求转发至预先搭建好的蜜罐系统中,使蜜罐系统对用户访问请求进行追踪记录。
其中,检测异常是指SQL检测模型中不存在检测该条数据的决策规则,则无法确定该用户访问请求是否具有恶意攻击的风险,故可将该用户访问请求转发至预先搭建好的蜜罐系统中,以使蜜罐系统对用户访问请求进行追踪记录,即追踪记录该用户IP的全流程的访问请求数据。
其中,蜜罐系统是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
S502:获取蜜罐系统对用户访问请求进行追踪记录所得到的请求响应数据。
其中,蜜罐系统会仿真一真实的业务系统,并可追踪该用户IP的全流程访问请求,并记录每一次访问请求的请求响应数据,该请求响应数据包括但不限于请求响应延迟时间、响应状态码等。
S503:将请求响应数据发送至大数据分析系统中进行异常分析检测,使大数据分析系统采用异常数据对SQL检测模型进行增量训练;其中,异常数据为大数据分析系统对请求响应数据进行异常分析检测所得到的突变数据。
其中,异常数据为大数据分析系统对请求响应数据进行异常分析检测所得到的数据。异常分析检测即可对蜜罐系统追踪记录的全流程的请求响应数进行周期性分析,以分析出异常突变点,该周期性分析即指按照时间顺序挖掘周期性的模式。
具体地,可将请求响应数据发送至大数据分析系统中进行异常分析检测,使大数据分析系统采用异常数据对SQL检测模型进行增量训练。
示例性地,以响应延迟时间为例,若在某一周期内的响应时间序列变化中,存在一时间突变点,则认为该异常点处对应的访问请求可能出现异常,则大数据分析系统会将该异常点对应的访问请求和对应的响应延迟时间长的结果作为一条样本数据更新至训练集中,以便对更新后的训练集进行增量训练,通过实际应用场景中的数据,不断更新训练集,提高SQL检测模型的识别精度。
本实施例中,通过对检测异常,即对于无法确定是否具有恶意攻击的风险的用户访问请求,可将其转发至蜜罐系统以使蜜罐系统该用户IP进行追踪记录,并将该蜜罐系统记录的数据发送给大数据分析系统,以便大数据分析系统对该用户IP的请求响应数据进行异常检测分析,并以此实际用例更新模型训练集,以时大数据分析同对更新后的训练集进行增量训练,以实现通过不断更新训练集,提高SQL检测模型的识别精度的目的。
在一实施例中,如图6所示,步骤S503之后,该HTTP请求检测方法还包括如下步骤:
S601:获取大数据分析系统更新后的SQL检测模型的模型副本。
S602:将模型副本存储至缓存服务端。
本实施例中,大数据分析系统在对采用异常数据对SQL检测模型进行增量训练后,会更新SQL检测模型中的决策规则,并将SQL检测模型的模型副本存储至缓存服务端。可以理解地,通过缓存服务对SQL检测模型进行缓存,可有效提升检测效率,保证web服务性能。
在一实施例中,如图7所示,步骤S204中,即调用缓存服务端中存储的预先创建好的SQL检测模型对请求字符串进行检测,得到第二检测结果,具体包括如下步骤:
S701:提取请求字符串对应的组合特征;其中,组合特征包括请求特征、SQL词法特征以及SQL语法特征。
其中,请求特征包括但不限于请求频率、请求类型、URI信息等,此处不做限定。该请求频率为预设时间内的请求次数。该请求类型为URL请求指定资源的方式,如get、post等。SQL词法特征即为请求参数中所包含的SQL词法,比如Select…from…where…and…。SQL语法特征即为记录的SQL语法集合,例如select 1union select 2union select3union…。可以理解地,该SQL语法特征可用于表征SQL关键词组合(即词法组合)的可用性,该可用性用于指示词法组合的使用是否存在恶意攻击的风险,例如select 1 unionselect 2union select 3union…,此语句即为联合注入的方式攻击数据库,存在恶意攻击风险;又例如“select 1”此语句则不存在恶意攻击的风险。
S702:将组合特征输入至SQL检测模型中进行检测,得到第二检测结果。
具体地,通过将该组合特征输入至SQL检测模型中进行检测,该SQL检测模型中会针对组合特征中的每一特征按照决策规则进行逐级判断,并确定最终的分类结果,即第二请求检测结果。
在一实施例中,如图8所示,步骤S701中,即提取请求字符串对应的组合特征,具体包括如下步骤:
S801:按照预设请求特征提取规则,提取请求字符串对应的请求特征。
其中,预设请求特征提取规则为预先根据需要设定的提取逻辑或规则,具体可通过调用request()方法获取对应的请求特征,例如采用request.getMethod(),判断返回值为get、post或put,以确定请求类型。
S802:采用词法分析器对请求字符串进行词法分析,得到包含多个SQL关键字的SQL词序列。
具体地,可采用lexer词法分析器中的解析程序根据预先定义的SQL词法文法,对SQL脚本的字符流进行分词处理,输出多个SQL关键字、常量、变量或操作符(如“=”)等分词序列(TOKEN),即为SQL词序列。
S803:对多个SQL关键字进行特征编码,得到SQL词法特征。
具体地,可根据预设的特征编码方式对每一SQL关键字进行特征编码或者通过预先对多个SQLu关键字进行训练,得到Word2vec词向量模型,以将每一SQL关键字进行编码,得到SQL词法特征。其中,预设的特征编码方式可为预先定义每一SQL关键字对应字符型表示,生成特征编码对照表,以根据该特征编码对照表对多个SQL关键字进行特征编码,得到SQL词法特征。需要说明的是,本实施例中的特征编码方式还可采用其他方式实现特征编码,只要能够实现特征编码的目的即可,此处不限定。
S804:采用语法分析器对SQL词序列进行语法分析,得到SQL语法特征。
具体地,可采用parser语法解析器中的解析程序根据预先定义的SQL语法文法,对分词序列进行语法分析,以建立层次化的SQL语法树,该SQL语法树则用于表征请求字符串对应的SQL语法特征。
S805:对请求特征、SQL词法特征以及SQL语法特征进行组合,得到组合特征。
具体地,通过对请求特征、词向量特征以及语法特征,这三个特征进行组合拼接,即可得到组合特征,即(请求特征+SQL词法特征+SQL语法特征)。需要说明的是,还可采用其他组合方式,组合这三个特征,此处不做限定。
本实施例中,通过对网关发送的用户访问请求进行两层过滤检测,第一层为异常IP检测,第二层为SQL检测模型检测,具体地,通过第一层的异常IP检测可过滤掉用户IP异常的访问请求,则无需走后面的SQL检测模型检测流程,可提高检测效率;当用户IP为正常IP,则需要进入第二层为SQL检测模型检测,以避免SQL注入攻击的风险,有效保证服务端的安全性。此外,本实施例中还设置了补偿机制,即对于检测异常,也即对于无法确定是否具有恶意攻击的风险的用户访问请求可将其转发至蜜罐系统以使蜜罐系统该用户IP进行追踪记录,并将该蜜罐系统记录的数据发送给大数据分析系统,以便大数据分析系统对该用户IP的请求响应数据进行异常检测分析,并以此实际用例更新模型训练集,以时大数据分析同对更新后的训练集进行增量训练,以实现通过不断更新训练集,提高SQL检测模型的识别精度的目的。进一步地,本实施例中通过将模型副本存储至缓存服务端中,以利用缓存服务对SQL检测模型进行缓存,可有效提升检测效率,保证web服务性能。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种HTTP请求检测装置,该HTTP请求检测装置与上述实施例中HTTP请求检测方法一一对应。如图9所示,该HTTP请求检测装置包括用户访问请求接收模块10、第一检测结果获取模块20、解码模块30、SQL检测模块40和告警模块50。各功能模块详细说明如下:
用户访问请求接收模块10,用于接收网关发送的携带用户IP的用户访问请求。
第一检测结果获取模块20,用于基于所述用户IP,对所述用户访问请求进行异常IP检测,得到第一检测结果。
解码模块30,用于当所述第一检测结果为正常IP,则对所述用户访问请求进行解码处理,得到包含SQL信息的请求字符串。
SQL检测模块40,用于调用缓存服务端中存储的预先创建好的SQL检测模型对所述请求字符串进行检测,得到第二检测结果。
告警模块50,用于当所述第二检测结果为异常请求,则发出告警信息,并阻断所述用户访问请求。
具体地,第一检测结果获取模块包括黑名单获取单元和第一检测结果获取单元。
黑名单获取单元,用于获取攻击黑名单;其中,所述攻击黑名单中存储有多个异常IP。
第一检测结果获取单元,用于当所述用户IP与所述异常IP不匹配,则得到所述用户访问请求为正常IP的第一检测结果。
具体地,第一检测结果获取模块包括IP监控监控单元和第一检测结果获取单元。
IP监控监控单元,用于所述用户IP在预设时间内所发送的请求数。
第一检测结果获取单元,用于当所述请求数不大于预设请求阈值,则得到所述用户访问请求为正常IP的第一检测结果。
具体地,该HTTP请求检测装置还包括蜜罐追踪模块、响应数据获取模块以及数据发送模块。
蜜罐追踪模块,用于当所述第二检测结果为检测异常,则将所述用户访问请求转发至预先搭建好的蜜罐系统中,使所述蜜罐系统对所述用户访问请求进行追踪记录。
响应数据获取模块,用于获取所述蜜罐系统对所述用户访问请求进行追踪记录所得到的请求响应数据。
数据发送模块,用于将所述请求响应数据发送至大数据分析系统中进行异常分析检测,使所述大数据分析系统采用异常数据对所述SQL检测模型进行增量训练,以更新所述SQL检测模型;
其中,所述异常数据为所述大数据分析系统对所述请求响应数据进行异常分析检测所得到的突变数据。
具体地,该HTTP请求检测装置还包括模型副本获取模块和副本缓存模块。
模型副本获取模块,用于获取所述大数据分析系统更新后的SQL检测模型的模型副本。
副本缓存模块,用于将所述模型副本存储至所述缓存服务端。
具体地,SQL检测模块包括组合特征提取模块和SQL检测模块。
组合特征提取模块,用于提取所述请求字符串对应的组合特征;其中,所述组合特征包括请求特征、SQL词法特征以及SQL语法特征。
SQL检测模块,用于将所述组合特征输入至所述SQL检测模型中进行检测,得到所述第二检测结果。
具体地,组合特征提取模块包括请求特征提取模块、词法分析模块、特征编码模块、语法分析模块以及特征组合模块。
请求特征提取模块,用于按照预设请求特征提取规则,提取所述请求字符串对应的请求特征。
词法分析模块,用于采用词法分析器对所述请求字符串进行词法分析,得到包含多个SQL关键字的所述SQL词序列。
特征编码模块,用于对所述多个SQL关键字进行特征编码,得到所述SQL词法特征。
语法分析模块,用于采用语法分析器对所述SQL词序列进行语法分析,得到所述SQL语法特征。
特征组合模块,用于对所述请求特征、所述SQL词法特征以及所述SQL语法特征进行组合,得到所述组合特征。
关于HTTP请求检测装置的具体限定可以参见上文中对于HTTP请求检测方法的限定,在此不再赘述。上述HTTP请求检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行HTTP请求检测方法过程中生成或获取的数据,如SQL检测模型。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种HTTP请求检测方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的HTTP请求检测方法的步骤,例如图2所示的步骤S201-S205,或者图3至图8中所示的步骤。或者,处理器执行计算机程序时实现HTTP请求检测装置这一实施例中的各模块/单元的功能,例如图9所示的各模块/单元的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中HTTP请求检测方法的步骤,例如图2所示的步骤S201-S205,或者图3至图8中所示的步骤,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述HTTP请求检测装置这一实施例中的各模块/单元的功能,例如图9所示的各模块/单元的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种HTTP请求检测方法,其特征在于,包括:
接收网关发送的携带用户IP的用户访问请求;
基于所述用户IP,对所述用户访问请求进行异常IP检测,得到第一检测结果;
当所述第一检测结果为正常IP,则对所述用户访问请求进行解码处理,得到包含SQL信息的请求字符串;
调用缓存服务端中存储的预先创建好的SQL检测模型对所述请求字符串进行检测,得到第二检测结果;
当所述第二检测结果为异常请求,则发出告警信息,并阻断所述用户访问请求。
2.如权利要求1所述HTTP请求检测方法,其特征在于,所述基于所述用户IP,对所述用户访问请求进行异常IP检测,得到第一请求检测结,包括:
获取攻击黑名单;其中,所述攻击黑名单中存储有多个异常IP;
当所述用户IP与所述异常IP不匹配,则得到所述用户访问请求为正常IP的第一检测结果。
3.如权利要求1所述HTTP请求检测方法,其特征在于,所述基于所述用户IP,对所述用户访问请求进行异常IP检测,得到第一请求检测结,包括:
监控所述用户IP在预设时间内所发送的请求数;
当所述请求数不大于预设请求阈值,则得到所述用户访问请求为正常IP的第一检测结果。
4.如权利要求1所述HTTP请求检测方法,其特征在于,在所述调用缓存服务端中存储的预先创建好的SQL检测模型对所述请求字符串进行检测,得到第二检测结果之后,所述HTTP请求检测方法还包括:
当所述第二检测结果为检测异常,则将所述用户访问请求转发至预先搭建好的蜜罐系统中,使所述蜜罐系统对所述用户访问请求进行追踪记录;
获取所述蜜罐系统对所述用户访问请求进行追踪记录所得到的请求响应数据;
将所述请求响应数据发送至大数据分析系统中进行异常分析检测,使所述大数据分析系统采用异常数据对所述SQL检测模型进行增量训练,以更新所述SQL检测模型;
其中,所述异常数据为所述大数据分析系统对所述请求响应数据进行异常分析检测所得到的突变数据。
5.如权利要求4所述HTTP请求检测方法,其特征在于,在所述将所述请求响应数据发送至大数据分析系统中进行异常分析检测,使所述大数据分析系统采用异常数据对所述SQL检测模型进行增量训练之后,所述HTTP请求检测方法还包括:
获取所述大数据分析系统更新后的SQL检测模型的模型副本;
将所述模型副本存储至所述缓存服务端。
6.如权利要求1所述HTTP请求检测方法,其特征在于,所述调用缓存服务端中存储的预先创建好的SQL检测模型对所述请求字符串进行检测,得到第二检测结果,包括:
提取所述请求字符串对应的组合特征;其中,所述组合特征包括请求特征、SQL词法特征以及SQL语法特征;
将所述组合特征输入至所述SQL检测模型中进行检测,得到所述第二检测结果。
7.如权利要求6所述HTTP请求检测方法,其特征在于,所述提取所述请求字符串对应的组合特征,包括:
按照预设请求特征提取规则,提取所述请求字符串对应的请求特征;
采用词法分析器对所述请求字符串进行词法分析,得到包含多个SQL关键字的所述SQL词序列;
对所述多个SQL关键字进行特征编码,得到所述SQL词法特征;
采用语法分析器对所述SQL词序列进行语法分析,得到所述SQL语法特征;
对所述请求特征、所述SQL词法特征以及所述SQL语法特征进行组合,得到所述组合特征。
8.一种HTTP请求检测装置,其特征在于,包括:
用户访问请求接收模块,用于接收网关发送的携带用户IP的用户访问请求;
第一检测结果获取模块,用于基于所述用户IP,对所述用户访问请求进行异常IP检测,得到第一检测结果;
解码模块,用于当所述第一检测结果为正常IP,则对所述用户访问请求进行解码处理,得到包含SQL信息的请求字符串;
SQL检测模块,用于调用缓存服务端中存储的预先创建好的SQL检测模型对所述请求字符串进行检测,得到第二检测结果;
告警模块,用于当所述第二检测结果为异常请求,则发出告警信息,并阻断所述用户访问请求。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述HTTP请求检测方法的步骤。
10.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述HTTP请求检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011267450.9A CN112468460A (zh) | 2020-11-13 | 2020-11-13 | Http请求检测方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011267450.9A CN112468460A (zh) | 2020-11-13 | 2020-11-13 | Http请求检测方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112468460A true CN112468460A (zh) | 2021-03-09 |
Family
ID=74826197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011267450.9A Withdrawn CN112468460A (zh) | 2020-11-13 | 2020-11-13 | Http请求检测方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112468460A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094110A (zh) * | 2021-04-07 | 2021-07-09 | 山东省计算中心(国家超级计算济南中心) | 一种串口数据过滤的方法和系统 |
CN113190839A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于SQL注入的web攻击防护方法及系统 |
CN113190838A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于表达式的web攻击行为检测方法及系统 |
CN113507455A (zh) * | 2021-06-25 | 2021-10-15 | 湖州瑞云信息科技有限公司 | 基于大数据的网络安全检测方法及系统 |
CN113742367A (zh) * | 2021-09-16 | 2021-12-03 | 杭州安恒信息技术股份有限公司 | Sql安全检查方法、系统、装置及存储介质 |
CN114024728A (zh) * | 2021-10-28 | 2022-02-08 | 杭州默安科技有限公司 | 一种蜜罐搭建方法以及应用方法 |
CN114500077A (zh) * | 2022-02-14 | 2022-05-13 | 科来网络技术股份有限公司 | 访问行为监控方法、装置、服务器及可读存储介质 |
CN115065507A (zh) * | 2022-05-26 | 2022-09-16 | 厦门立林科技有限公司 | 一种sql攻击检测方法、系统及可存储介质 |
CN115361217A (zh) * | 2022-08-22 | 2022-11-18 | 中国联合网络通信集团有限公司 | 一种基于零信任的安全防护方法、网络及装置 |
-
2020
- 2020-11-13 CN CN202011267450.9A patent/CN112468460A/zh not_active Withdrawn
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190839A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于SQL注入的web攻击防护方法及系统 |
CN113190838A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于表达式的web攻击行为检测方法及系统 |
CN113094110B (zh) * | 2021-04-07 | 2022-11-22 | 山东省计算中心(国家超级计算济南中心) | 一种串口数据过滤的方法和系统 |
CN113094110A (zh) * | 2021-04-07 | 2021-07-09 | 山东省计算中心(国家超级计算济南中心) | 一种串口数据过滤的方法和系统 |
CN113507455A (zh) * | 2021-06-25 | 2021-10-15 | 湖州瑞云信息科技有限公司 | 基于大数据的网络安全检测方法及系统 |
CN113507455B (zh) * | 2021-06-25 | 2022-06-24 | 湖州瑞云信息科技有限公司 | 基于大数据的网络安全检测方法及系统 |
CN113742367A (zh) * | 2021-09-16 | 2021-12-03 | 杭州安恒信息技术股份有限公司 | Sql安全检查方法、系统、装置及存储介质 |
CN114024728A (zh) * | 2021-10-28 | 2022-02-08 | 杭州默安科技有限公司 | 一种蜜罐搭建方法以及应用方法 |
CN114024728B (zh) * | 2021-10-28 | 2024-04-02 | 杭州默安科技有限公司 | 一种蜜罐搭建方法以及应用方法 |
CN114500077A (zh) * | 2022-02-14 | 2022-05-13 | 科来网络技术股份有限公司 | 访问行为监控方法、装置、服务器及可读存储介质 |
CN115065507A (zh) * | 2022-05-26 | 2022-09-16 | 厦门立林科技有限公司 | 一种sql攻击检测方法、系统及可存储介质 |
CN115361217A (zh) * | 2022-08-22 | 2022-11-18 | 中国联合网络通信集团有限公司 | 一种基于零信任的安全防护方法、网络及装置 |
CN115361217B (zh) * | 2022-08-22 | 2024-03-01 | 中国联合网络通信集团有限公司 | 一种基于零信任的安全防护方法、网络及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112468460A (zh) | Http请求检测方法、装置、计算机设备及存储介质 | |
US11706232B2 (en) | Systems, methods, and computer-readable media for data security | |
US11463457B2 (en) | Artificial intelligence (AI) based cyber threat analyst to support a cyber security appliance | |
CN107241352B (zh) | 一种网络安全事件分类与预测方法及系统 | |
Bortolameotti et al. | Decanter: Detection of anomalous outbound http traffic by passive application fingerprinting | |
KR100732689B1 (ko) | 웹 보안방법 및 그 장치 | |
CN111756702B (zh) | 数据安全防护方法、装置、设备和存储介质 | |
Tayal et al. | Active monitoring & postmortem forensic analysis of network threats: A survey | |
Dabbour et al. | Efficient assessment and evaluation for websites vulnerabilities using SNORT | |
CN113411297A (zh) | 基于属性访问控制的态势感知防御方法及系统 | |
Dodia et al. | Exposing the rat in the tunnel: Using traffic analysis for tor-based malware detection | |
KR20100027836A (ko) | 룰기반 웹아이디에스 시스템용 웹로그 전처리방법 및 시스템 | |
Baykara et al. | A novel hybrid approach for detection of web-based attacks in intrusion detection systems | |
Pramono | Anomaly-based intrusion detection and prevention system on website usage using rule-growth sequential pattern analysis: Case study: Statistics of Indonesia (BPS) website | |
Ezeife et al. | SensorWebIDS: a web mining intrusion detection system | |
Selvamani et al. | Protection of web applications from cross-site scripting attacks in browser side | |
Ariyathilake et al. | SQL injection detection and prevention solution for web applications | |
US20240154997A1 (en) | Tor-based malware detection | |
Xiong et al. | Web and Database Security | |
Vuolo | Towards applications’ fingerprinting through the usage of NetFlow/IPFIX technology | |
Wibowo et al. | Apache web server security with security hardening | |
Falguni et al. | 'E-SPY': DETECTION AND PREDICTION OF WEBSITE ATTACKS. | |
Nascimento | Anomaly detection of web-based attacks | |
Albassam et al. | Ransomware Detection in the Internet of Things (IoT): Challenges and Emerging Solutions | |
Azarkasb et al. | Advancing Intrusion Detection in Fog Computing: Unveiling the Power of Support Vector Machines for Robust Protection of Fog Nodes against XSS and SQL Injection Attacks |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210309 |
|
WW01 | Invention patent application withdrawn after publication |