CN111031009A - 一种基于多层次的nosql注入攻击的检测方法和装置 - Google Patents
一种基于多层次的nosql注入攻击的检测方法和装置 Download PDFInfo
- Publication number
- CN111031009A CN111031009A CN201911163990.XA CN201911163990A CN111031009A CN 111031009 A CN111031009 A CN 111031009A CN 201911163990 A CN201911163990 A CN 201911163990A CN 111031009 A CN111031009 A CN 111031009A
- Authority
- CN
- China
- Prior art keywords
- address
- access information
- tree structure
- client
- structure 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.)
- Pending
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/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
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
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
本发明提供了一种基于多层次的NOSQL注入攻击的检测方法和装置,涉及网络安全的技术领域,包括:获取客户端发送的访问请求,其中,访问请求携带有客户端的IP地址和/或访问信息;判断客户端的IP地址是否为预设IP地址列表中存储的目标IP地址;若否,则判断访问信息中是否包含预设关键字;若否,则对访问信息进行解析,得到访问信息的树形结构模型,并基于树形结构模型确定访问请求中是否包含NOSQL注入攻击威胁,解决了现有技术中对NOSQL注入攻击检测的准确率较低的技术问题。
Description
技术领域
本发明涉及网络安全的技术领域,尤其是涉及一种基于多层次的NOSQL注入攻击的检测方法和装置。
背景技术
由于互联网的蓬勃发展,流量暴增,云计算与Web2.0,大数据、BI等领域都需要大量的数据交互与处理。NOSQL(最常见的解释是“non-relational”,“Not Only SQL”也被很多人接受。NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性)。由于NOSQL有很好的可伸缩性、扩展性以及数据存储的灵活性,能解决当下大量高并发、大规模数据、多样数据种类求的数据库应用需求,因此NOSQL构架在互联网等多领域中广泛不使用。大量的数据存储在NOSQL数据库中,信息的安全特别重要。SQL历经20余年,形成完善的安全检测方案,多种算法,甚至最近涌现出机器学习的方式进行SQL注入检测,但是NOSQL方面进展缓慢。迫切需要更多的专家及其IT方面的技术领导做出努力,保障NOSQL的信息安全,但是,现有的NOSQL注入攻击的检测准确率较低。
针对上述问题,还未提出有效的解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种基于多层次的NOSQL注入攻击的检测方法和装置,以缓解了现有技术中对NOSQL注入攻击检测的准确率较低的技术问题。
第一方面,本发明实施例提供了一种基于多层次的NOSQL注入攻击的检测方法,包括:获取客户端发送的访问请求,其中,所述访问请求携带有所述客户端的IP地址和/或访问信息;判断所述客户端的IP地址是否为预设IP地址列表中存储的目标IP地址;若否,则判断所述访问信息中是否包含预设关键字;若否,则对所述访问信息进行解析,得到所述访问信息的树形结构模型,并基于所述树形结构模型确定所述访问请求中是否包含NOSQL注入攻击威胁。
进一步地,对所述访问信息进行解析,得到所述访问信息的树形结构模型包括:按照预设解析算法对所述访问信息进行解析,得到所述访问信息的第一树形结构模型和第二树形结构模型,其中,所述第一树形结构模型和所述第二树形结构模型为采用不同预设解析算法对所述访问信息进行解析得到的树形结构模型;若所述第一树形结构模型与所述第二树形结构模型不同,则确定出所述访问请求中包含NOSQL注入攻击威胁,并拦截所述访问请求。
进一步地,所述方法还包括:若所述第一树形结构模型与所述第二树形结构模型相同,则将所述访问请求发送给所述客户端所对应的服务器。
进一步地,所述预设IP地址列表中包括:白名单列表和黑名单列表;判断所述客户端的IP地址是否为预设IP地址列表中存储的目标IP地址,包括:判断所述客户端的IP地址是否为第一目标IP地址,其中,所述第一目标IP地址为白名单列表中存储的IP地址;若否,则判断所述客户端的IP地址是否为第二目标IP地址,其中,所述第二目标IP地址为黑名单列表中存储的IP地址;若否,则确定所述客户端的IP地址为所述目标IP地址。
进一步地,所述方法还包括:若所述客户端的IP地址是所述第一目标IP地址,则将所述访问请求发送给所述客户端所对应的服务器;若所述客户端的IP地址是所述第二目标IP地址,则拦截所述访问请求。
进一步地,按照预设解析算法对所述访问信息进行解析,得到所述访问信息的第一树形结构模型,包括:对所述访问信息进行NOSQL shell结构化处理,得到结构化的访问信息;对所述结构化的访问信息进行参数分离,得到第一目标参数;基于所述第一目标参数,构建所述第一树形结构模型。
进一步地,按照预设解析算法对所述访问信息进行解析,得到所述访问信息的第二树形结构模型,包括:基于MongoDB语法,对所述访问信息进行参数分离,得到第二目标参数;基于所述第二目标参数,构建所述第二树形结构模型。
进一步地,所述方法还包括:若所述访问信息中包含所述预设关键字,则将所述客户端的IP地址添加至所述黑名单列表,并拦截所述访问请求。
第二方面,本发明实施例还提供了一种基于多层次的NOSQL注入攻击的检测装置,包括:获取单元,第一判断单元,第二判断单元和第三判断单元,其中,所述获取单元用于获取客户端发送的访问请求,其中,所述访问请求携带有所述客户端的IP地址和/或访问信息;所述第一判断单元用于判断所述客户端的IP地址是否为预设IP地址列表中存储的目标IP地址;所述第二判断单元用于在判断出所述客户端的IP地址不是预设IP地址列表中存储的目标IP地址的情况下,判断所述访问信息中是否包含预设关键字;所述第三判断单元用于在判断出所述访问信息中不包含所述预设关键字的情况下,对所述访问信息进行解析,得到所述访问信息的树形结构模型,并基于所述树形结构模型确定所述访问请求中是否包含NOSQL注入攻击威胁。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于多层次的NOSQL注入攻击的检测方法。
在本发明实施例中,获取客户端发送的访问请求,其中,访问请求携带有客户端的IP地址和/或访问信息;判断客户端的IP地址是否为预设IP地址列表中存储的目标IP地址;若否,则判断访问信息中是否包含预设关键字;若否,则对访问信息进行解析,得到访问信息的树形结构模型,并基于树形结构模型确定访问请求中是否包含NOSQL注入攻击威胁。
在本发明实施例中,通过对访问请求依次进行IP地址判断,关键字判断和树形结构判断,从而通过多层次的判断确定出访问请求是否包含NOSQL注入攻击威胁,达到了提高对NOSQL注入攻击检测的准确率的目的,进而解现有技术中对NOSQL注入攻击检测的准确率较低的技术问题,从而实现了提高了NOSQL数据库的安全性的技术效果。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于多层次的NOSQL注入攻击的检测方法的流程图;
图2为本发明实施例提供的第一树形结构模型的示意图;
图3为本发明实施例提供的第二树形结构模型的示意图;
图4为本发明实施例提供的一种基于多层次的NOSQL注入攻击的检测装置的示意图;
图5为本发明实施例提供的一种服务器的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于NOSQL数据库发展历程端,在数据安全方便不健全,并且行业该方面的研究比较少,NOSQL主要针对大数据构架进行设计,追求极致的效率和简易扩展性,在安全方便薄弱,甚至有的直接不设计验证方式就可直接访问,例如ElactcSearch不需要连接验证就可以直接访问,虽然NOSQL数据库不再支持SQL语句,也就没有了SQL注入的威胁,但存在另外一种威胁——NOSQL注入威胁。传统SQL注入,历经20余年,行业针对SQL注入已有成熟的完备的解决方案,NOSQL数据库攻击防御还不完善,注入和其他注入类攻击类似,目前已发现的NOSQL注入有重言式、联合查询、javaScript注入、背负式查询、跨域违规,因此,对于NOSQL注入攻击的检测的准确率较低。
本发明主要是针对目前的NOSQL注入问题,设计的一套多层次多维度的NOSQL注入攻击检测方法,通过指定IP、IP黑名单、匹配关键字、建立参数模型、语法结构分析数据库执行脚本建立语法结构,对比结构等多层次的方式方法检测NOSQL的注入威胁,进行拦截过滤,提高NOSQL注入检测率,降低NOSQL的误判率,保障NOSQL数据的安全性及其稳定性。下面将结合具体实施例介绍本申请中的基于大数据环境的告警排序方法。
实施例一:
根据本发明实施例,提供了一种基于多层次的NOSQL注入攻击的检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种基于多层次的NOSQL注入攻击的检测方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取客户端发送的访问请求,其中,所述访问请求携带有所述客户端的IP地址和/或访问信息;
步骤S104,判断所述客户端的IP地址是否为预设IP地址列表中存储的目标IP地址;
由于不少NOSQL数据库没有认证功能模块,例如,目前国内使用火热的ElastiSearch数据库,不需要认证就可以直接获取数据,技术人员可以针对该类型的数据库预设IP地址列表,尽可能的缩小被攻击的范围,提高数据的安全性。
步骤S106,若否,则判断所述访问信息中是否包含预设关键字;
步骤S108,若否,则对所述访问信息进行解析,得到所述访问信息的树形结构模型,并基于所述树形结构模型确定所述访问请求中是否包含NOSQL注入攻击威胁。
在本发明实施例中,通过对访问请求依次进行IP地址判断,关键字判断和树形结构判断,从而通过多层次的判断确定出访问请求是否包含NOSQL注入攻击威胁,达到了提高对NOSQL注入攻击检测的准确率的目的,进而解现有技术中对NOSQL注入攻击检测的准确率较低的技术问题,从而实现了提高了NOSQL数据库的安全性的技术效果。
需要说明的是,为了判断访问信息中是否包含预设关键字,首先要确定出访问请求的请求方式,其中,请求方式包括:get请求方式和post请求方式。
get请求通常都是用户直接在系统的界面上输入的信息,而post请求的特殊字符有可能是前端拼接NOSQL语句,不能使用sql的过滤方式直接过滤,否则会有大量的误报。根据不同的NOSQL数据系统,使用不同的关键字字符集进行过滤,这个关键字字符集可以由工作人员根据实际情况自行设定,用户的输入信息如果包含特殊字符,如MongoDB的操作符(>)大于-$gt、(<)小于-$lt、(>=)大于等于-$gte、(!=)不等于-$ne,或者$or,和$and,javascript的操作符;,\\等。
以MongoDB语法的登入重言式注入为例进行说明,php程序get登入注入$ne(不等于),即访问信息中包含关键字$ne,这样会让MongoDB的用户查询验证变成恒等式,但是在对访问信息进行关键字匹配时,被根据MongoDB的关键词匹配到关键字$ne,说明访问请求中存在注入威胁,直接拒接该服务请求,并把客户端的IP地址添加到黑名单,从而达到了防止NOSQL注入攻击威胁服务器或数据库的技术效果。
例如访问请求中包含的访问信息如下所示:
http://127.0.0.0.1/login?username[$ne]=0&pws[$ne]=0;
这个访问请求注入会被MongoDB语法解析成如下形式:
find({username:{$ne:0},password:{$ne:0}),而这种形式的访问请求将直接成功登入服务器或数据库,导致服务器或数据库的安全无法得到保障。
在本发明实施例中,步骤S108还包括如下步骤:
步骤S11,按照预设解析算法对所述访问信息进行解析,得到所述访问信息的第一树形结构模型和第二树形结构模型,其中,所述第一树形结构模型和所述第二树形结构模型为采用不同预设解析算法对所述访问信息进行解析得到的树形结构模型;
步骤S12,若所述第一树形结构模型与所述第二树形结构模型不同,则确定出所述访问请求中包含NOSQL注入攻击威胁,并拦截所述访问请求。
在本发明实施例中,首先,对访问信息进行NOSQL shell结构化处理,得到结构化的访问信息,接着,对结构化的访问信息进行参数分离,得到第一目标参数,最后,根据第一目标参数,构建第一树形结构模型。
例如,当访问请求为post登入请求时,post登入请求示例注入$ne达到登入的目的如下访问请求:
#Request Headers
POST/adduser HTTP/1.1;
Host:localhost;
Content-Type:application/x-www-form-urlencoded;
#Form Data
username[$ne]=0&pws[$ne]=0;
如果上面的注入不经过处理直接进入数据库将会被翻译成find({username:{$ne:0},password:{$ne:0})直接不需要密码登入系统。
当对上面的Form Data数据,根据“&”号进行数据参数分离,从而得到第一目标参数,接着通过第一目标参数构建出第一树形结构模型,如图2所示。
接着,通过MongoDB语法,对访问信息进行参数分离,得到第二目标参数,并根据第二目标参数,构建出第二树形结构模型,如图3所示。
MongoDB是一个非关系型数据库(NOSQL)。它拥有很多优秀特性,例如高性能、高可用、支持丰富的查询语句、无需预定义数据模型和水平可伸缩等。
最后,对比第一树形结构模型和第二树形结构模型,如果上述两个模型相同,则说明访问请求中不包含NOSQL注入漏洞,然后,将访问请求发送给客户端对应的服务器,以使服务器对访问请求进行处理。
如果上述两个模型不相同,则说明访问请求中包含NOSQL注入漏洞,然后,将拦截访问请求,从而达到了对服务器、数据库的保护的技术效果。
在本发明实施例中,步骤S104还包括如下步骤:
步骤S21,判断所述客户端的IP地址是否为第一目标IP地址,其中,所述第一目标IP地址为白名单列表中存储的IP地址;
步骤S22,若否,则判断所述客户端的IP地址是否为第二目标IP地址,其中,所述第二目标IP地址为黑名单列表中存储的IP地址;
步骤S23,若否,则确定所述客户端的IP地址为所述目标IP地址。
在本发明实施例中,获取客户端的IP地址,进行指定的IP段(即,白名单中存储的IP地址)匹配,如果客户端的IP地址不在指定的IP段内,则将客户端的IP地址与黑名单列表中存储的IP地址进行匹配,如果客户端的IP地址在指定的IP段内,则直接将访问请求发送给客户端对应的服务器,从而使服务器对方位请求进行处理。
通过执行步骤S21能够大大减少服务器和数据库被攻击的可能性。通过添加黑名单列表和白名单列表,能够直接指定用户的访问IP列表及其访问IP段。(尤其针对部分不需要验证的NOSQL数据库,该设置对保护数据取到重要作用,例如ElastiSearch及其早些年部署的一些NOSQL无验证的数据,早期很多NOSQL数据库都不需要验证都当文件系统使用,后来因为使用广泛才开始加入IP地址验证的步骤)。
通过将客户端的IP地址与黑名单列表中存储的IP地址匹配,确定客户端的IP地址是否为第二目标地址,是一种拒绝IP地址已记录在案的主机过滤操作。该操作通过获取客户端的IP地址,进行指定黑名单库匹配,如果匹配上直接拒绝客户端的访问请求,将客户端的IP与黑名单和白名单中的IP地址进行对比能够起到初次过滤的作用,防止通过多次测试来获取重要的信息。减少其他阶段的数据处理量,提高检测方法的处理速度。
实施例二:
本发明还提供了一种基于多层次的NOSQL注入攻击的检测装置的实施例,该装置用于执行本发明实施例上述内容所提供的基于多层次的NOSQL注入攻击的检测方法,以下是本发明实施例提供的基于多层次的NOSQL注入攻击的检测装置的具体介绍。
如图4所示,上述的基于多层次的NOSQL注入攻击的检测装置包括:获取单元10,第一判断单元20,第二判断单元30和第三判断单元40。
所述获取单元10用于获取客户端发送的访问请求,其中,所述访问请求携带有所述客户端的IP地址和/或访问信息;
所述第一判断单元20用于判断所述客户端的IP地址是否为预设IP地址列表中存储的目标IP地址;
所述第二判断单元30用于在判断出所述客户端的IP地址不是预设IP地址列表中存储的目标IP地址的情况下,判断所述访问信息中是否包含预设关键字;
所述第三判断单元40用于在判断出所述访问信息中不包含所述预设关键字的情况下,对所述访问信息进行解析,得到所述访问信息的树形结构模型,并基于所述树形结构模型确定所述访问请求中是否包含NOSQL注入攻击威胁。
在本发明实施例中,通过对访问请求依次进行IP地址判断,关键字判断和树形结构判断,从而通过多层次的判断确定出访问请求是否包含NOSQL注入攻击威胁,达到了提高对NOSQL注入攻击检测的准确率的目的,进而解现有技术中对NOSQL注入攻击检测的准确率较低的技术问题,从而实现了提高了NOSQL数据库的安全性的技术效果。
优选地,第三判断单元还用于:按照预设解析算法对所述访问信息进行解析,得到所述访问信息的第一树形结构模型和第二树形结构模型,其中,所述第一树形结构模型和所述第二树形结构模型为采用不同预设解析算法对所述访问信息进行解析得到的树形结构模型;若所述第一树形结构模型与所述第二树形结构模型不同,则确定出所述访问请求中包含NOSQL注入攻击威胁,并拦截所述访问请求。
优选的,第三判断单元还用于:若所述第一树形结构模型与所述第二树形结构模型相同,则将所述访问请求发送给所述客户端所对应的服务器。
优选地,第一判断单元还用于:判断所述客户端的IP地址是否为第一目标IP地址,其中,所述第一目标IP地址为白名单列表中存储的IP地址;若否,则判断所述客户端的IP地址是否为第二目标IP地址,其中,所述第二目标IP地址为黑名单列表中存储的IP地址;若否,则确定所述客户端的IP地址为所述目标IP地址。
优选地,第一判断单元还用于:若所述客户端的IP地址是所述第一目标IP地址,则将所述访问请求发送给所述客户端所对应的服务器;若所述客户端的IP地址是所述第二目标IP地址,则拦截所述访问请求。
优选地,第三判断单元还用于:对所述访问信息进行NOSQL shell结构化处理,得到结构化的访问信息;对所述结构化的访问信息进行参数分离,得到第一目标参数;基于所述第一目标参数,构建所述第一树形结构模型。
优选地,第三判断单元还用于:基于MongoDB语法,对所述访问信息进行参数分离,得到第二目标参数;基于所述第二目标参数,构建所述第二树形结构模型。
优选地,第二判断单元还用于:若所述访问信息中包含所述预设关键字,则将所述客户端的IP地址添加至所述黑名单列表,并拦截所述访问请求。
本发明实施例提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例一中的基于多层次的NOSQL注入攻击的检测方法。
参见图5,本发明实施例还提供一种服务器100,包括:处理器50,存储器51,总线52和通信接口53,所述处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。
其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线52可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器51用于存储程序,所述处理器50在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。
处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于多层次的NOSQL注入攻击的检测方法,其特征在于,包括:
获取客户端发送的访问请求,其中,所述访问请求携带有所述客户端的IP地址和/或访问信息;
判断所述客户端的IP地址是否为预设IP地址列表中存储的目标IP地址;
若否,则判断所述访问信息中是否包含预设关键字;
若否,则对所述访问信息进行解析,得到所述访问信息的树形结构模型,并基于所述树形结构模型确定所述访问请求中是否包含NOSQL注入攻击威胁。
2.根据权利要求1所述的方法,其特征在于,对所述访问信息进行解析,得到所述访问信息的树形结构模型包括:
按照预设解析算法对所述访问信息进行解析,得到所述访问信息的第一树形结构模型和第二树形结构模型,其中,所述第一树形结构模型和所述第二树形结构模型为采用不同预设解析算法对所述访问信息进行解析得到的树形结构模型;
若所述第一树形结构模型与所述第二树形结构模型不同,则确定出所述访问请求中包含NOSQL注入攻击威胁,并拦截所述访问请求。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第一树形结构模型与所述第二树形结构模型相同,则将所述访问请求发送给所述客户端所对应的服务器。
4.根据权利要求1所述的方法,其特征在于,所述预设IP地址列表中包括:白名单列表和黑名单列表;
判断所述客户端的IP地址是否为预设IP地址列表中存储的目标IP地址,包括:
判断所述客户端的IP地址是否为第一目标IP地址,其中,所述第一目标IP地址为白名单列表中存储的IP地址;
若否,则判断所述客户端的IP地址是否为第二目标IP地址,其中,所述第二目标IP地址为黑名单列表中存储的IP地址;
若否,则确定所述客户端的IP地址为所述目标IP地址。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述客户端的IP地址是所述第一目标IP地址,则将所述访问请求发送给所述客户端所对应的服务器;
若所述客户端的IP地址是所述第二目标IP地址,则拦截所述访问请求。
6.根据权利要求2所述的方法,其特征在于,按照预设解析算法对所述访问信息进行解析,得到所述访问信息的第一树形结构模型,包括:
对所述访问信息进行NOSQL shell结构化处理,得到结构化的访问信息;
对所述结构化的访问信息进行参数分离,得到第一目标参数;
基于所述第一目标参数,构建所述第一树形结构模型。
7.根据权利要求2所述的方法,其特征在于,按照预设解析算法对所述访问信息进行解析,得到所述访问信息的第二树形结构模型,包括:
基于MongoDB语法,对所述访问信息进行参数分离,得到第二目标参数;
基于所述第二目标参数,构建所述第二树形结构模型。
8.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述访问信息中包含所述预设关键字,则将所述客户端的IP地址添加至所述黑名单列表,并拦截所述访问请求。
9.一种基于多层次的NOSQL注入攻击的检测装置,其特征在于,包括:获取单元,第一判断单元,第二判断单元和第三判断单元,其中,
所述获取单元用于获取客户端发送的访问请求,其中,所述访问请求携带有所述客户端的IP地址和/或访问信息;
所述第一判断单元用于判断所述客户端的IP地址是否为预设IP地址列表中存储的目标IP地址;
所述第二判断单元用于在判断出所述客户端的IP地址不是预设IP地址列表中存储的目标IP地址的情况下,判断所述访问信息中是否包含预设关键字;
所述第三判断单元用于在判断出所述访问信息中不包含所述预设关键字的情况下,对所述访问信息进行解析,得到所述访问信息的树形结构模型,并基于所述树形结构模型确定所述访问请求中是否包含NOSQL注入攻击威胁。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至8中任一项所述的基于多层次的NOSQL注入攻击的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911163990.XA CN111031009A (zh) | 2019-11-25 | 2019-11-25 | 一种基于多层次的nosql注入攻击的检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911163990.XA CN111031009A (zh) | 2019-11-25 | 2019-11-25 | 一种基于多层次的nosql注入攻击的检测方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111031009A true CN111031009A (zh) | 2020-04-17 |
Family
ID=70206477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911163990.XA Pending CN111031009A (zh) | 2019-11-25 | 2019-11-25 | 一种基于多层次的nosql注入攻击的检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111031009A (zh) |
Cited By (6)
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攻击行为检测方法及系统 |
CN113660273A (zh) * | 2021-08-18 | 2021-11-16 | 国家电网公司东北分部 | 超融合架构下基于深度学习的入侵检测方法及装置 |
CN113660251A (zh) * | 2021-08-12 | 2021-11-16 | 杭州安恒信息技术股份有限公司 | 减少waf误报方法、系统、存储介质及终端设备 |
CN115189937A (zh) * | 2022-07-06 | 2022-10-14 | 武汉极意网络科技有限公司 | 一种用于客户端数据的安全防护方法及装置 |
CN115801305A (zh) * | 2022-09-08 | 2023-03-14 | 武汉思普崚技术有限公司 | 一种网络攻击的检测识别方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045319A (zh) * | 2009-10-21 | 2011-05-04 | 中国移动通信集团山东有限公司 | Sql注入攻击检测方法及其装置 |
US20150156209A1 (en) * | 2013-12-04 | 2015-06-04 | Karen Heart | Process Using Universal Sanitization to Prevent Injection Attacks |
CN105704146A (zh) * | 2016-03-18 | 2016-06-22 | 四川长虹电器股份有限公司 | Sql防注入的系统与方法 |
-
2019
- 2019-11-25 CN CN201911163990.XA patent/CN111031009A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045319A (zh) * | 2009-10-21 | 2011-05-04 | 中国移动通信集团山东有限公司 | Sql注入攻击检测方法及其装置 |
US20150156209A1 (en) * | 2013-12-04 | 2015-06-04 | Karen Heart | Process Using Universal Sanitization to Prevent Injection Attacks |
CN105704146A (zh) * | 2016-03-18 | 2016-06-22 | 四川长虹电器股份有限公司 | Sql防注入的系统与方法 |
Non-Patent Citations (1)
Title |
---|
孙秀洋: "基于解析树的NOSQL注入攻击检测机制的研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (8)
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攻击行为检测方法及系统 |
CN113660251A (zh) * | 2021-08-12 | 2021-11-16 | 杭州安恒信息技术股份有限公司 | 减少waf误报方法、系统、存储介质及终端设备 |
CN113660251B (zh) * | 2021-08-12 | 2023-02-28 | 杭州安恒信息技术股份有限公司 | 减少waf误报方法、系统、存储介质及终端设备 |
CN113660273A (zh) * | 2021-08-18 | 2021-11-16 | 国家电网公司东北分部 | 超融合架构下基于深度学习的入侵检测方法及装置 |
CN115189937A (zh) * | 2022-07-06 | 2022-10-14 | 武汉极意网络科技有限公司 | 一种用于客户端数据的安全防护方法及装置 |
CN115801305A (zh) * | 2022-09-08 | 2023-03-14 | 武汉思普崚技术有限公司 | 一种网络攻击的检测识别方法及相关设备 |
CN115801305B (zh) * | 2022-09-08 | 2023-11-07 | 武汉思普崚技术有限公司 | 一种网络攻击的检测识别方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111031009A (zh) | 一种基于多层次的nosql注入攻击的检测方法和装置 | |
CN112383546B (zh) | 一种处理网络攻击行为的方法、相关设备及存储介质 | |
EP3506141B1 (en) | System for query injection detection using abstract syntax trees | |
CN108664793B (zh) | 一种检测漏洞的方法和装置 | |
CN107786564B (zh) | 基于威胁情报的攻击检测方法、系统及电子设备 | |
CN110677381B (zh) | 渗透测试的方法及装置、存储介质、电子装置 | |
US10257222B2 (en) | Cloud checking and killing method, device and system for combating anti-antivirus test | |
CN113301012B (zh) | 一种网络威胁的检测方法、装置、电子设备及存储介质 | |
US20100325685A1 (en) | Security Integration System and Device | |
CN103428196A (zh) | 一种基于url白名单的web应用入侵检测方法和装置 | |
CN110602135B (zh) | 网络攻击处理方法、装置以及电子设备 | |
CN111353151B (zh) | 一种网络应用的漏洞检测方法和装置 | |
CN110768951B (zh) | 验证系统漏洞的方法及装置、存储介质、电子装置 | |
CN112953917B (zh) | 一种网络攻击源识别方法、装置、计算机设备及存储介质 | |
CN104967628A (zh) | 一种保护web应用安全的诱骗方法 | |
CN113098835A (zh) | 基于区块链的蜜罐实现方法、蜜罐客户端和蜜罐系统 | |
JP2022506495A (ja) | セキュリティ監視処理のためのシステム及び方法 | |
CN107666464B (zh) | 一种信息处理方法及服务器 | |
JP2013232716A (ja) | 攻撃判定装置、攻撃判定方法及び攻撃判定プログラム | |
CN112769833A (zh) | 命令注入攻击的检测方法、装置、计算机设备和存储介质 | |
CN114257403B (zh) | 误报检测方法、设备及可读存储介质 | |
KR102393913B1 (ko) | 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템 | |
CN109409094B (zh) | 一种路由器自动化漏洞利用的方法、系统及电子设备 | |
CN107463842B (zh) | 基于数据库协议的sql注入审计或防护方法及装置 | |
CN116155519A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200417 |
|
RJ01 | Rejection of invention patent application after publication |