CN102045319A - Sql注入攻击检测方法及其装置 - Google Patents
Sql注入攻击检测方法及其装置 Download PDFInfo
- Publication number
- CN102045319A CN102045319A CN2009102067151A CN200910206715A CN102045319A CN 102045319 A CN102045319 A CN 102045319A CN 2009102067151 A CN2009102067151 A CN 2009102067151A CN 200910206715 A CN200910206715 A CN 200910206715A CN 102045319 A CN102045319 A CN 102045319A
- Authority
- CN
- China
- Prior art keywords
- user
- sql
- attribute information
- access attribute
- blacklist
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种SQL注入攻击检测方法,包括:检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的通用资源定位符URL请求消息;若检测结果为是,则认定该用户对该网站正在进行SQL注入攻击;若检测结果为否,则认定该用户未对该网站进行SQL注入攻击。本发明实施例相应的公开了SQL注入攻击检测装置。本发明实施例提供的SQL注入攻击检测方法及其装置是基于恶意人员进行SQL注入攻击的行为特征,有效地克服现有的SQL检测机制的缺陷,解决了现有的SQL注入攻击检测方法中存在的高误报率的问题。
Description
技术领域
本发明涉及信息安全技术领域,尤其是涉及一种SQL注入攻击检测方法及其装置。
背景技术
随着互联网的逐步发展,提供各种服务的网络站点越来越多,给人们的日常生活提供了很大的方便。然而,同样随着互联网发展以及计算机技术的进步,针对网站系统的攻击种类也是越来越多,越来越频繁。其中,SQL注入攻击已经逐渐成为网站系统遭遇的最频繁的攻击方式之一,通过SQL注入攻击能够篡改网页内容并可能取得网站系统最高的数据管理权限,给网站系统带来严重的危害。由于SQL注入事件频繁发生,既损害WEB系统建设单位的形象,也可能直接导致经济上的损失,甚至产生严重的社会影响。对于通信运营商而言,越来越多的业务系统通过WEB形式,提供网页浏览服务,完成相应业务订购与提供功能,如门户网站、音乐平台、彩铃系统、号簿管家系统等。基于WEB的业务系统的部署越来越广泛,如果防护不当而使WEB站点遭受SQL注入攻击,就可能导致业务系统网页内容被篡改,甚至有可能由于业务系统的相关业务数据被篡改而造成经济上的损失和不良的社会影响。
实际上,现有的SQL注入攻击的实现方式比较简单,攻击者通过构造特定的输入字符串实现对WEB系统后台数据库的非法操作。常见的SQL注入攻击方式为攻击者通过在网站的URL中加入SQL语句,利用网站系统的漏洞来执行该SQL语句,从而可以直接修改网站后台数据,或者猜测出业务系统用户帐号口令,或者猜测出数据库管理员帐号口令等。而现有的各种防护系统大都是通过提取用户访问动态网页而发送的URL,然后判断URL中是否包含SQL注入关键字,来检测网站系统是否正在遭受SQL注入攻击,如果判断结果是URL中包含了SQL注入关键字,则认定发送该URL的用户正在进行SQL注入攻击,阻断其访问,并发送警告页面。
现有的网站系统SQL注入攻击防护方法的实施流程如图1和图2所示,包括步骤:
S11、客户通过浏览器向WEB服务器发起HTTP请求;
S12、WEB服务器将来自浏览器的HTTP请求发给筛选器,筛选器进行匹配处理,判断该请求是否包含SQL注入关键字;如果是转到S17,否则执行S13;
S13、筛选器向WEB服务器发送确定没有SQL注入攻击的反馈消息;
S14、WEB服务器向数据库提交获取数据请求消息;
S15、数据库接到WEB服务器的获取数据请求消息后,将WEB服务器请求的数据返回给WEB服务器;
S16、WEB服务器接收到数据库返回的数据后,向浏览器发送正常HTTP响应消息,并将完整HTTP内容发送给浏览器;
S17、筛选器向WEB服务器发送检测到SQL注入攻击的反馈消息;
S18、WEB服务器接收到来自筛选器的检测到SQL注入攻击的反馈消息后,将一个有警告内容的HTTP网页发送到浏览器。
利用如上所述的现有的SQL注入攻击检测方法在检测SQL注入攻击时,用户每发出一个访问网页的请求,筛选器都需要将用户提交的URL或者URL携带的其他参数进行SQL注入关键字匹配处理,判断是否存在SQL注入攻击。筛选器将每次的用户请求作为离散的事件进行处理,即用户每提交一次访问请求,筛选器都要进行攻击规则匹配处理,然后网站系统根据匹配结果进行相应的处理。由于实际当中正常访问网站的用户提供的访问请求中也可能偶尔包含有SQL注入关键字,这样就可能将正常访问网站的用户错误的认定为攻击用户而阻断其对网站的合法访问,造成误报,因此这种每当出现SQL注入关键字即认定为SQL注入攻击的SQL注入攻击检测方法,必然导致现有网站防护方法在其SQL注入攻击检测过程中存在较高的误报率。此外对于正在进行SQL注入攻击的恶意用户不进行及时阻断访问,而是对其每次访问请求都进行SQL注入关键字匹配处理,也使得这种SQL注入攻击检测方法的计算量很大,效率很低。
发明内容
本发明实施例提供一种SQL注入攻击检测方法及其装置,以降低现有技术中对SQL注入攻击检测的误报率。
本发明实施例还提供一种SQL注入攻击检测方法及其装置,以减小检测SQL注入攻击的计算工作量,提高检测效率。
本发明实施例提供了一种SQL注入攻击检测方法,包括:检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的请求消息;若检测结果为是,则认定该用户对该网站正在进行SQL注入攻击;若检测结果为否,则认定该用户未对该网站进行SQL注入攻击。
本发明实施例提供了一种SQL注入攻击检测装置,包括:检测单元,用于检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的请求消息;认定单元,用于在检测单元的检测结果为是时,认定该用户对该网站正在进行SQL注入攻击;以及在检测单元的检测结果为否时,认定该用户未对该网站进行SQL注入攻击。
本发明实施例提供了一种SQL注入攻击检测方法,包括:维护黑名单,该黑名单中存储有针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系;在检测到发送用于请求访问相关网站的请求消息的用户所使用的访问属性信息在所述黑名单存储的访问属性信息之中、且当前时间与黑名单中存储的与该用户使用的访问属性信息对应的时间信息之间的时间间隔小于规定时长时,确定该用户对该网站正在进行SQL注入攻击。
本发明实施例提供了一种SQL注入攻击检测装置,包括:
黑名单维护单元,用于维护黑名单,所述黑名单中存储有针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系;检测单元,用于检测发送用于请求访问相关网站的请求消息的用户所使用的访问属性信息是否在黑名单维护单元维护的黑名单存储的访问属性信息之中、且当前时间与所述黑名单中存储的与该用户使用的访问属性信息对应的时间信息之间的时间间隔小于规定时长;确定单元,用于在检测单元的检测结果为是时,确定该用户对该网站正在进行SQL注入攻击。
本发明实施例提供的SQL注入攻击检测方法及其装置是基于恶意人员进行SQL注入攻击的行为特征,对用户发送的请求访问动态网页的请求消息中携带的SQL注入关键字进行累计计数,规定时间长度内,当与该用户发送该请求消息时使用的访问属性信息相应的SQL注入累计值达到限定值时,认定该用户正在对网站实施SQL注入攻击。本发明实施例提供的SQL注入攻击检测方法及其装置有效地克服现有的SQL检测机制的缺陷,解决了现有的SQL注入攻击检测方法中存在的高误报率的问题。并且通过黑名单机制的引入,使得在限定时长的时间间隔内,认定使用黑名单中记录的访问属性信息发送请求消息的用户正在对网站进行SQL注入攻击,从而提高了检测效率。
附图说明
图1是现有的网站系统针对SQL注入攻击的防护方法流程图;
图2是现有的网站系统针对SQL注入攻击的防护方法流程图;
图3是本发明实施例1提供的SQL注入攻击检测方法的流程图;
图4是本发明实施例2提供的SQL注入攻击检测方法的流程图;
图5是本发明实施例3提供的SQL注入攻击检测方法的流程图;
图6是本发明实施例4提供的SQL注入攻击检测装置的示意图;
图7是本发明实施例5提供的SQL注入攻击检测装置的示意图;
图8是本发明实施例6提供的SQL注入攻击检测方法的流程图;
图9是本发明实施例7提供的SQL注入攻击检测装置的示意图。
具体实施方式
本发明实施例提供了一种SQL注入检测方法及其装置,基于恶意攻击用户进行SQL注入攻击的行为特征,对来自恶意攻击用户的SQL注入攻击进行检测和筛选。该方法一方面通过生成黑名单来记录恶意攻击用户的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系,来防御恶意攻击用户短时间、连续注入的攻击行为,另一方面通过在临时存储区域中对访问用户发送的访问动态网页的请求中携带的SQL注入关键字出现次数进行累计记录,并与规定次数进行比较,高于规定次数时才认定该用户正在对网站进行SQL注入攻击,从而提高SQL注入攻击检测的准确率,为网站系统提供针对SQL注入攻击的更加完善的防护,解决了现有的SQL注入攻击检测方法中存在的高误报率的问题。
本发明实施例1提供了一种SQL注入攻击检测方法,其流程图如图3所示,包括:
S30、提取用户发来的访问动态网页的请求消息中携带的参数;
S31、将提取的参数与SQL注入关键字进行匹配,判断用户发来的访问动态网页的请求消息中是否包含SQL注入关键字,如果存在转到S32,否则转到S38;
S32、判断临时存储区域内记录的用户的访问属性信息是否包含有当前用户的访问属性信息,其中用户的访问属性信息包括但不限于为用户所使用的源IP地址和/或源端口号等,如果有转到S33;否则转到S35;
S33、判断临时存储区域内记录的该用户发送请求消息所使用的访问属性信息对应的时间信息T0与当前时间T之间的时间间隔是否小于规定时长T2,如果是,转到S34;否则转到S36;其中T是用户当前发送请求消息的时间点信息;
S34、将临时存储区域内记录的该用户所使用的访问属性信息对应的SQL注入累计值counter加1,然后执行步骤S37;
S35、在临时存储区域内存储该用户所使用的访问属性信息,并对应该访问属性信息存储该用户发送请求消息的时间信息,以及对应该访问属性信息存储对应的SQL注入累计值counter,并置1,然后执行步骤S37;
S36、将临时存储区域中存储的该用户所使用的访问属性信息对应的时间信息T0更新为当前时间信息T,并将存储的该用户所使用的访问属性信息对应的SQL注入累计值counter置1,然后执行步骤S37;
步骤37,判断在临时存储区域中存储的用户所使用的访问属性信息对应的counter值是否达到SQL注入累计阈值K,如果是转到S39;否则转到S38;
S38、认定该用户未对该网站进行SQL注入攻击。
S39、认定该用户正在对网站进行SQL注入攻击。
用于SQL注入攻击的关键字可以被分为在探测系统漏洞时使用的SQL注入探测关键字和在实际攻击系统漏洞时使用的SQL注入攻击关键字。并且注入探测和注入攻击经常是混在一起进行的。所以对于SQL注入关键字的累计计数和判断可以是针对SQL注入探测关键字进行的,或者是针对SQL注入攻击关键字进行的,或者是同时针对SQL注入探测关键字和SQL注入攻击关键字进行的。其中将SQL注入关键字细分为SQL注入探测关键字和SQL注入攻击关键字之后,将临时存储区域内记录的SQL注入累计值counter具体分为:SQL注入探测累计值counter1和SQL注入攻击累计值counter2,在WEB服务器中记录第一SQL注入探测累计阈值K1,第一SQL注入攻击累计阈值K2,第二SQL注入探测累计阈值K3,第二SQL注入攻击累计阈值K4。单独针对SQL注入探测关键字进行累计和判断时,counter1与第一SQL注入探测累计阈值K1进行比较;单独针对SQL注入攻击关键字进行累计和判断时,counter2与第一SQL注入探测累计阈值K2进行比较;同时针对SQL注入探测关键字和SQL注入攻击关键字进行累计和判断时,counter1与第二SQL注入探测累计阈值K3进行比较并且counter2与第二SQL注入攻击累计阈值K4进行比较。本发明实施例2提供了一种SQL注入攻击检测方法,该实施例给出了其中同时针对SQL注入探测关键字和SQL注入攻击关键字进行累计计数和判断的具体流程,具体如图4所示,具体包括:
S40、提取用户发来的访问动态网页的请求消息中携带的参数;
S41、将提取的参数与SQL注入关键字进行匹配,判断用户发来的访问动态网页的请求消息中是否包含SQL注入关键字,如果存在转到S42,否则转到S48;
S42、判断临时存储区域内已记录的用户的访问属性信息中是否包含有当前用户的访问属性信息,如果有转到S43;否则转到S45;
S43、判断临时存储区域内记录的该用户发送请求消息所使用的访问属性信息对应的时间信息T0与当前时间信息T之间的时间间隔是否小于规定时长T2,如果是,转到S44;否则转到S46;
S44、判断用户发送的请求消息中携带的SQL注入关键字类型,如果是SQL注入探测关键字,则在临时存储区域内存储的关联该用户所使用的访问属性信息的SQL注入探测累计值counter1加1,如果是SQL注入攻击关键字则在临时存储区域内存储的关联该用户所使用的访问属性信息的SQL注入探测累计值counter2加1;然后执行S47;
S45、在临时存储区域内将该用户所使用的访问属性信息、该用户发送请求消息的时间信息对应进行存储,以及判断用户发送的请求消息中携带的SQL注入关键字的类型,如果为SQL注入探测关键字则counter1置1,counter2置0,否则counter1置0,counter2置1;转到S47;
S46、将临时存储区域中存储的该用户所使用的访问属性信息对应的时间信息T0更新为当前时间信息T,以及判断用户发送的请求消息中携带的SQL注入关键字的类型,如果为SQL注入探测关键字则将存储的该用户所使用的访问属性信息对应的counter1置1,counter2置0,如果为SQL注入攻击关键字则将存储的该用户所使用的访问属性信息对应的counter1置0,counter2置1;转到S47;
S47、判断在临时存储区域中存储的用户所使用的访问属性信息对应的counter1值是否达到SQL注入探测累计阈值K3且对应的counter2值是否达到SQL注入攻击累计阈值K4,如果是转到S49;否则转到S48;
S48、认定该用户未对该网站进行SQL注入攻击。
S49、认定该用户正在对网站进行SQL注入攻击。
以上实施例2提供的SQL注入攻击检测方法中应用了前述介绍的对SQL注入关键字累计次数进行判断的第三种方式。对于实际保护网站免受SQL注入攻击时,可以根据对网站的保护程度要求的不同和网站容易受到攻击的程度,对恶意用户的SQL注入攻击的检测方法可以使用上述三种方式的任意一种或者将三种方式结合使用。
上述的K系列参数(包括K1、K2、K3、K4)是衡量SQL注入探测次数和SQL注入攻击次数的累计阈值,通过这些阈值来判断疑似攻击用户的行为,如果在T1时间间隔内,来自使用临时存储区域记录的访问属性信息的用户的SQL注入探测累计值过多,达到K1,或者SQL注入攻击累计值过多,达到K2,则认定当前用户正在进行SQL注入攻击;或者用户注入探测次数达到一定程度(达到K3)的同时,注入攻击次数也达到一定程度(达到K4),则同样认定当前用户正在进行SQL注入攻击。
一般来说,注入探测的目的是找到一个存在注入漏洞的URL,注入攻击是对这个URL进行攻击,获取数据库数据或者账号密码等;如果只进行探测不进行攻击,对网站的影响比较小,因为还没对数据库等造成直接的篡改,所以K1、K3值相对可以较大;而在攻击阶段有可能对数据库造成篡改需要严格防护,所以K2、K4的值相对K1、K3值较小,即有K1>K2,K3>K4。此外,单独作用的阈值要高于共同作用的阈值,即K1>K3,K2>K4。
以上参数的设定是与WEB系统的应用是否容易遭受攻击,以及受保护的严格程度相关的,如一个容易受攻击的网站或者需要严格保护的网站,可以将T2设为10秒,将K1设为50次,K2设为30次(即10秒内达到50次探测,或30次攻击,就可以认定用户正在对网站进行SQL攻击),K3设为25次,K4设为15次(即10秒钟内达到25次探测并且达到15次攻击,就可以认定用户正在对网站进行SQL攻击);相反如果网站不很容易遭受攻击,可以将T2设为10秒,K1为100次,K2设为60次(即10秒钟内达到100次探测,或60次攻击,才认定用户正在对网站进行SQL攻击),K3设为50次,K4设为30次(即10秒钟内达到50次探测并且达到30次攻击,才认定用户正在对网站进行SQL攻击)。
上述的实施例通过对SQL注入关键字的累计计数,并与相应的限定阈值进行比较来判断用户是否正在对网站进行SQL注入攻击,有效地提高了判断的准确率,降低了SQL注入攻击检测方法的误报率。在此基础上,本发明的实施例3提供了一种SQL注入攻击检测方法,该SQL注入攻击检测方法在实施例1给出的方法的基础上增加维护黑名单的机制,在WEB服务器中维护一个黑名单,其中黑名单中存储有学习到的针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系,这样在WEB服务器接收到用户发送的访问请求消息后,首先判断该用户发送该访问请求使用的访问属性信息是否被记录在黑名单中,如果不在黑名单中,或者在黑名单中但当前访问时间与黑名单中对应该用户使用的访问属性信息记录的时间信息之间的时间间隔已经超过了时长阈值T1,则再执行上述实施例1或者实施例2提供的方法,以判断用户是否正在对访问的网站进行SQL攻击,可选的还可以进而将黑名单中存储的该用户使用的访问属性信息和对应的时间信息删除,以减小黑名单占用的存储空间。此外当该用户发送访问请求使用的访问属性信息在黑名单中,并且当前访问时间与黑名单中对应该用户使用的访问属性信息记录的时间信息之间的时间间隔没有超过时长阈值T1,则可以直接认定该用户正在进行SQL注入攻击,并阻止其对动态网页的访问。
这样在上述实施例1的基础上,还可以在步骤S39中认定该用户正在对网站进行SQL注入攻击之后,将该用户使用的访问属性信息以及相应的访问时间信息Th对应的添加到黑名单,并将黑名单中记录的该相应的访问时间信息Th置为用户的当前访问时间T。具体的流程示意图如图5所示,包括:
S51、判断当前用户发送访问请求信息所利用的访问属性信息是否记录在黑名单中,如果是转到S52;否则转到S31,后续执行过程请参照上述实施例1中的具体描述;
S52、判断当前访问时间T与黑名单中记录的与用户所利用的访问属性信息对应的访问时间信息Th之间的时间间隔是否超过时间阈值T2,如果超过则转到S53;否则转到S54;
S53、在黑名单中清除该用户发送网页访问请求信息所使用的访问属性信息和相应的访问时间信息Th,然后转到S31,后续执行过程请参照上述实施例1中的具体描述;
S54、认定该用户对该网站正在进行SQL注入攻击,处理过程结束;
S55、在上述实施例1中S39执行完后,在黑名单中添加该用户发送访问请求信息所使用的访问属性信息以及对应的该用户被认定为SQL注入攻击时的时间信息Th。
由以上本发明公开的实施例可知,本发明实施例提供的SQL注入攻击检测方法简单易行,对现有的网站防护系统软件的结构改变不多,有很强的实际操作性,从而使得本发明实施例提供的SQL注入检测方法能够有效防止恶意人员利用SQL注入攻击方法篡改网页系统的页面或者篡改业务系统的相关数据。
对应发明实施例提供的上述SQL注入攻击检测方法,本发明还提供了以下的SQL注入攻击检测装置的实施例。
其中本发明实施例4提供的SQL注入攻击检测装置如图6所示,包括:
检测单元61,用于检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的通用资源定位符URL请求消息;
认定单元62,用于在检测单元的检测结果为是时,认定该用户对该网站正在进行SQL注入攻击;以及在检测单元的检测结果为否时,认定该用户未对该网站进行SQL注入攻击。
其中检测单元具体包括:
第一判断子单元611,用于在用户发送的用于请求访问相关网站的URL请求消息中携带SQL注入关键词时,判断在临时存储区域中是否能够查找到该用户发送所述URL请求消息所使用的访问属性信息;
存储子单元612,用于在第一判断子单元的判断结果为否时,在临时存储区域中存储该用户所使用的访问属性信息以及该用户发送所述URL请求消息的时间信息的对应关系,并将存储的该用户所使用的访问属性信息对应的SQL注入累计值置1;
第二判断子单元613,用于在第一判断子单元的判断结果为是时,判断当前时间与临时存储区域中存储的该用户发送所述URL请求消息所使用的访问属性信息对应的时间信息之间的时间间隔是否小于第二规定时长;
累计值处理子单元614,用于在第二判断子单元的判断结果为是时,将临时存储区域中存储的该用户发送所述URL请求消息所使用的访问属性信息对应的SQL注入累计值加1;以及
在第二判断子单元的判断结果为否时,将临时存储区域中存储的该用户发送所述URL请求消息所使用的访问属性信息对应的SQL注入累计值清零;
第三判断子单元615,用于在经存储子单元或累计值处理子单元对SQL注入累计值进行处理后,判断临时存储区域中存储的该用户发送所述URL请求消息所使用的访问属性信息对应的SQL注入累计值是否达到规定阈值;
确定子单元616,用于在第三判断子单元的判断结果为是时,确定检测结果为是,以及在第三判断子单元的判断结果为否时,确定检测结果为否。
针对增加了黑名单机制的本发明实施例3提供的检测方法,本发明实施例5对应的提供了一种SQL注入攻击检测装置,如图7所示,包括:
检测单元71,用于检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的通用资源定位符URL请求消息;
认定单元72,用于在检测单元的检测结果为是时,认定该用户对该网站正在进行SQL注入攻击;以及在检测单元的检测结果为否时,认定该用户未对该网站进行SQL注入攻击。
黑名单维护单元73,用于维护黑名单,所述黑名单中存储有针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系;
确定单元74,用于在检测单元检测用户之前,确定出用户使用的相同的访问属性信息不在黑名单维护单元维护的黑名单存储的访问属性信息之中;或者确定出用户使用的相同的访问属性信息在黑名单维护单元维护的黑名单存储的访问属性信息之中、且当前时间与所述黑名单中存储的与用户使用的相同的访问属性信息对应的时间信息之间的时间间隔不小于第一规定时长;
存储单元75,用于在认定单元认定该用户对该网站正在进行SQL注入攻击后,将该用户使用的相同的访问属性信息以及该用户被认定为对该网站正在进行SQL注入攻击的时间信息对应地存储到黑名单维护单元维护的黑名单中。
删除单元76,用于在确定单元确定出用户使用的相同的访问属性信息在黑名单存储的访问属性信息之中、且当前时间与黑名单中存储的与用户使用的相同的访问属性信息对应的时间信息之间的时间间隔不小于第一规定时长时,删除黑名单维护单元维护的黑名单中存储的用户使用的相同的访问属性信息及其对应的时间信息。
对应于黑名单机制的应用,本发明实施例6提供了一种SQL注入攻击检测方法,如图8所示,包括:
S81、维护黑名单,所述黑名单中存储有针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系;其中黑名单的维护过程可以但不限于为:检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的请求消息;在检测结果为是时,认定该用户对该网站正在进行SQL注入攻击,并将该用户所使用的访问属性信息以及认定该用户对该网站正在进行SQL注入攻击的时间信息对应存储到所述黑名单中,该过程的具体实现过程请参照上述实施例1和实施例2中的描述,这里不再赘述。
S82、在检测到发送用于请求访问相关网站的请求消息的用户所使用的访问属性信息在上述维护的黑名单存储的访问属性信息之中、且当前时间与黑名单中存储的与该用户使用的访问属性信息对应的时间信息之间的时间间隔小于规定时长T1时,直接确定该用户对该网站正在进行SQL注入攻击,从而相对现有技术提高检测的效率。
对应本发明实施例7提供的SQL注入攻击检测方法,本发明的实施例7提供了对应的SQL注入攻击检测装置,如图9所示,包括:
黑名单维护单元91,用于维护黑名单,所述黑名单中存储有针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系;
检测单元92,用于检测发送用于请求访问相关网站的通用资源定位符URL请求消息的用户所使用的访问属性信息是否在黑名单维护单元维护的黑名单存储的访问属性信息之中、且当前时间与所述黑名单中存储的与该用户使用的访问属性信息对应的时间信息之间的时间间隔小于规定时长;
确定单元93,用于在检测单元的检测结果为是时,确定该用户对该网站正在进行SQL注入攻击。
其中黑名单维护单元91又被具体分为:
检测子单元911,用于检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的请求消息;
维护子单元912,用于在检测子单元的检测结果为是时,认定该用户对该网站正在进行SQL注入攻击,并将该用户所使用的访问属性信息以及认定该用户对该网站正在进行SQL注入攻击的时间信息对应存储到所述黑名单中。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种SQL注入攻击检测方法,其特征在于,包括:
检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的请求消息;
若检测结果为是,则认定该用户对该网站正在进行SQL注入攻击;
若检测结果为否,则认定该用户未对该网站进行SQL注入攻击。
2.如权利要求1所述的方法,其特征在于,还包括维护黑名单的步骤,所述黑名单中存储有针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系;
检测用户过程之前,还包括:
确定出用户使用的相同的访问属性信息不在所述黑名单存储的访问属性信息之中;或者
确定出用户使用的相同的访问属性信息在所述黑名单存储的访问属性信息之中、且当前时间与所述黑名单中存储的与用户使用的相同的访问属性信息对应的时间信息之间的时间间隔不小于第一规定时长;
3.如权利要求2所述的方法,其特征在于,在认定该用户对该网站正在进行SQL注入攻击后,还包括:
将该用户使用的相同的访问属性信息以及该用户被认定为对该网站正在进行SQL注入攻击的时间信息对应地存储到所述黑名单中。
4.如权利要求2所述的方法,其特征在于,在确定出用户使用的相同的访问属性信息在黑名单存储的访问属性信息之中、且当前时间与黑名单中存储的与用户使用的相同的访问属性信息对应的时间信息之间的时间间隔不小于第一规定时长时,还包括删除所述黑名单中存储的用户使用的相同的访问属性信息及其对应的时间信息。
5.如权利要求1所述的方法,其特征在于,检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的请求消息,具体包括:
在用户发送的用于请求访问相关网站的请求消息中携带SQL注入关键词时,判断在临时存储区域中是否能够查找到该用户发送所述请求消息所使用的访问属性信息,若否则在临时存储区域中存储该用户所使用的访问属性信息以及该用户发送所述请求消息的时间信息的对应关系,并将存储的该用户所使用的访问属性信息对应的SQL注入累计值置1;若是则
判断当前时间与临时存储区域中存储的该用户发送所述请求消息所使用的访问属性信息对应的时间信息之间的时间间隔是否小于第二规定时长,若是则将临时存储区域中存储的该用户发送所述请求消息所使用的访问属性信息对应的SQL注入累计值加1;若否则
将临时存储区域中存储的该用户发送所述请求消息所使用的访问属性信息对应的时间信息修改为当前时间信息,并将对应的SQL注入累计值置1;
判断临时存储区域中存储的该用户发送所述请求消息所使用的访问属性信息对应的SQL注入累计值是否达到规定阈值,若是则确定所述检测结果为是,若否在确定所述检测结果为否。
6.如权利要求5所述的方法,其特征在于,所述SQL注入关键字为SQL注入探测关键字,所述SQL注入累计值为SQL注入探测累计值;或
所述SQL注入关键字为SQL注入攻击关键字,所述SQL注入累计值为SQL注入攻击累计值;或
所述SQL注入关键字包括SQL注入探测累计值和SQL注入攻击关键字,所述SQL注入累计值包括SQL注入探测累计值和SQL注入攻击累计值。
7.如1~6任一权利要求所述的方法,其特征在于,所述访问属性信息包括源IP地址和源端口号。
8.一种SQL注入攻击检测装置,其特征在于,包括:
检测单元,用于检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的请求消息;
认定单元,用于在检测单元的检测结果为是时,认定该用户对该网站正在进行SQL注入攻击;以及
在检测单元的检测结果为否时,认定该用户未对该网站进行SQL注入攻击。
9.如权利要求8所述的装置,其特征在于,还包括:
黑名单维护单元,用于维护黑名单,所述黑名单中存储有针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系;
确定单元,用于在检测单元检测用户之前,确定出用户使用的相同的访问属性信息不在黑名单维护单元维护的黑名单存储的访问属性信息之中;或者
确定出用户使用的相同的访问属性信息在黑名单维护单元维护的黑名单存储的访问属性信息之中、且当前时间与所述黑名单中存储的与用户使用的相同的访问属性信息对应的时间信息之间的时间间隔不小于第一规定时长;
10.如权利要求9所述的装置,其特征在于,还包括:
存储单元,用于在认定单元认定该用户对该网站正在进行SQL注入攻击后,将该用户使用的相同的访问属性信息以及该用户被认定为对该网站正在进行SQL注入攻击的时间信息对应地存储到黑名单维护单元维护的黑名单中。
11.如权利要求9所述的装置,其特征在于,还包括删除单元,用于在确定单元确定出用户使用的相同的访问属性信息在黑名单存储的访问属性信息之中、且当前时间与黑名单中存储的与用户使用的相同的访问属性信息对应的时间信息之间的时间间隔不小于第一规定时长时,删除黑名单维护单元维护的黑名单中存储的用户使用的相同的访问属性信息及其对应的时间信息。
12.如权利要求8所述的装置,其特征在于,所述检测单元具体包括:
第一判断子单元,用于在用户发送的用于请求访问相关网站的请求消息中携带SQL注入关键词时,判断在临时存储区域中是否能够查找到该用户发送所述请求消息所使用的访问属性信息;
存储子单元,用于在第一判断子单元的判断结果为否时,在临时存储区域中存储该用户所使用的访问属性信息以及该用户发送所述请求消息的时间信息的对应关系,并将存储的该用户所使用的访问属性信息对应的SQL注入累计值置1;
第二判断子单元,用于在第一判断子单元的判断结果为是时,判断当前时间与临时存储区域中存储的该用户发送所述请求消息所使用的访问属性信息对应的时间信息之间的时间间隔是否小于第二规定时长;
累计值处理子单元,用于在第二判断子单元的判断结果为是时,将临时存储区域中存储的该用户发送所述请求消息所使用的访问属性信息对应的SQL注入累计值加1;以及
在第二判断子单元的判断结果为否时,将临时存储区域中存储的该用户发送所述请求消息所使用的访问属性信息对应的时间信息修改为当前时间信息,并将对应的SQL注入累计值置1;
第三判断子单元,用于在经存储子单元或累计值处理子单元对SQL注入累计值进行处理后,判断临时存储区域中存储的该用户发送所述请求消息所使用的访问属性信息对应的SQL注入累计值是否达到规定阈值;
确定子单元,用于在第三判断子单元的判断结果为是时,确定检测结果为是,以及在第三判断子单元的判断结果为否时,确定检测结果为否。
13.一种SQL注入攻击检测方法,其特征在于,包括:
维护黑名单,所述黑名单中存储有针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系;
在检测到发送用于请求访问相关网站的请求消息的用户所使用的访问属性信息在所述黑名单存储的访问属性信息之中、且当前时间与所述黑名单中存储的与该用户使用的访问属性信息对应的时间信息之间的时间间隔小于规定时长时,确定该用户对该网站正在进行SQL注入攻击。
14.如权利要求13所述的方法,其特征在于,维护黑名单的过程具体包括:
检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的请求消息;
在检测结果为是时,认定该用户对该网站正在进行SQL注入攻击,并将该用户所使用的访问属性信息以及认定该用户对该网站正在进行SQL注入攻击的时间信息对应存储到所述黑名单中。
15.如权利要求13或14所述的方法,其特征在于,所述SQL注入关键字为SQL注入探测关键字,或为SQL注入攻击关键字、或为SQL注入探测关键字和SQL注入攻击关键字。
16.如权利要求13或14所述的方法,其特征在于,所述访问属性信息包括源IP地址和源端口号。
17.一种SQL注入攻击检测装置,其特征在于,包括:
黑名单维护单元,用于维护黑名单,所述黑名单中存储有针对每个被认定为对网站进行SQL注入攻击的用户所使用的访问属性信息以及该用户被认定为SQL注入攻击时的时间信息的对应关系;
检测单元,用于检测发送用于请求访问相关网站的请求消息的用户所使用的访问属性信息是否在黑名单维护单元维护的黑名单存储的访问属性信息之中、且当前时间与所述黑名单中存储的与该用户使用的访问属性信息对应的时间信息之间的时间间隔小于规定时长;
确定单元,用于在检测单元的检测结果为是时,确定该用户对该网站正在进行SQL注入攻击。
18.如权利要求17所述的装置,其特征在于,所述黑名单维护单元具体包括:
检测子单元,用于检测用户是否以相同的访问属性信息、在规定时间长度内发送了规定次数的、携带有SQL注入关键字的用于请求访问相关网站的请求消息;
维护子单元,用于在检测子单元的检测结果为是时,认定该用户对该网站正在进行SQL注入攻击,并将该用户所使用的访问属性信息以及认定该用户对该网站正在进行SQL注入攻击的时间信息对应存储到所述黑名单中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102067151A CN102045319B (zh) | 2009-10-21 | 2009-10-21 | Sql注入攻击检测方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102067151A CN102045319B (zh) | 2009-10-21 | 2009-10-21 | Sql注入攻击检测方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102045319A true CN102045319A (zh) | 2011-05-04 |
CN102045319B CN102045319B (zh) | 2013-06-12 |
Family
ID=43911095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102067151A Active CN102045319B (zh) | 2009-10-21 | 2009-10-21 | Sql注入攻击检测方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102045319B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136051A (zh) * | 2011-05-06 | 2011-07-27 | 南开大学 | 一种应用SGM-SQL注入模型驱动web应用渗透测试的方法 |
CN102185930A (zh) * | 2011-06-09 | 2011-09-14 | 北京理工大学 | 一种sql注入漏洞检测方法 |
CN102917335A (zh) * | 2011-08-01 | 2013-02-06 | 卓望数码技术(深圳)有限公司 | 一种违规终端内置行为处理方法、装置及系统 |
CN102916935A (zh) * | 2011-08-04 | 2013-02-06 | 深圳华强电子交易网络有限公司 | 一种网站内容防抓取的方法 |
CN102917334A (zh) * | 2011-08-01 | 2013-02-06 | 卓望数码技术(深圳)有限公司 | 一种违规终端内置行为处理方法、装置及系统 |
CN103530564A (zh) * | 2013-09-24 | 2014-01-22 | 国家电网公司 | 一种sql注入漏洞测试与验证方法及系统 |
CN106548071A (zh) * | 2016-08-09 | 2017-03-29 | 北京安天电子设备有限公司 | 一种动态检测sql注入点的方法及系统 |
CN106778260A (zh) * | 2016-12-31 | 2017-05-31 | 网易无尾熊(杭州)科技有限公司 | 攻击检测方法和装置 |
CN107026839A (zh) * | 2016-11-16 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种攻击请求处理方法和装置 |
CN107483510A (zh) * | 2017-10-09 | 2017-12-15 | 杭州安恒信息技术有限公司 | 一种提高Web应用层攻击检测准确率的方法及装置 |
CN109688137A (zh) * | 2018-12-27 | 2019-04-26 | 深信服科技股份有限公司 | 一种sql注入攻击的检测方法、系统及相关组件 |
CN111031009A (zh) * | 2019-11-25 | 2020-04-17 | 杭州安恒信息技术股份有限公司 | 一种基于多层次的nosql注入攻击的检测方法和装置 |
CN117118752A (zh) * | 2023-10-23 | 2023-11-24 | 山东爱书人家庭教育科技有限公司 | 一种信息抗攻击的方法、系统、装置及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289187A1 (en) * | 2004-06-29 | 2005-12-29 | Oracle International Corporation | System and method for investigating a data operation performed on a database |
CN101267357A (zh) * | 2007-03-13 | 2008-09-17 | 北京启明星辰信息技术有限公司 | 一种sql注入攻击检测方法及系统 |
CN101388763A (zh) * | 2007-09-12 | 2009-03-18 | 北京启明星辰信息技术有限公司 | 一种支持多种数据库类型的sql注入攻击检测系统 |
CN101448007A (zh) * | 2008-12-31 | 2009-06-03 | 中国电力科学研究院 | 一种结构化查询语言sql攻击防御系统 |
-
2009
- 2009-10-21 CN CN2009102067151A patent/CN102045319B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289187A1 (en) * | 2004-06-29 | 2005-12-29 | Oracle International Corporation | System and method for investigating a data operation performed on a database |
CN101267357A (zh) * | 2007-03-13 | 2008-09-17 | 北京启明星辰信息技术有限公司 | 一种sql注入攻击检测方法及系统 |
CN101388763A (zh) * | 2007-09-12 | 2009-03-18 | 北京启明星辰信息技术有限公司 | 一种支持多种数据库类型的sql注入攻击检测系统 |
CN101448007A (zh) * | 2008-12-31 | 2009-06-03 | 中国电力科学研究院 | 一种结构化查询语言sql攻击防御系统 |
Non-Patent Citations (1)
Title |
---|
陈小兵等: "SQL注入攻击及其防范检测技术研究", 《计算机工程与应用》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136051A (zh) * | 2011-05-06 | 2011-07-27 | 南开大学 | 一种应用SGM-SQL注入模型驱动web应用渗透测试的方法 |
CN102185930A (zh) * | 2011-06-09 | 2011-09-14 | 北京理工大学 | 一种sql注入漏洞检测方法 |
CN102917335A (zh) * | 2011-08-01 | 2013-02-06 | 卓望数码技术(深圳)有限公司 | 一种违规终端内置行为处理方法、装置及系统 |
CN102917334A (zh) * | 2011-08-01 | 2013-02-06 | 卓望数码技术(深圳)有限公司 | 一种违规终端内置行为处理方法、装置及系统 |
CN102917335B (zh) * | 2011-08-01 | 2018-02-23 | 卓望数码技术(深圳)有限公司 | 一种违规终端内置行为处理方法、装置及系统 |
CN102917334B (zh) * | 2011-08-01 | 2018-02-23 | 卓望数码技术(深圳)有限公司 | 一种违规终端内置行为处理方法、装置及系统 |
CN102916935B (zh) * | 2011-08-04 | 2017-08-25 | 深圳华强电子交易网络有限公司 | 一种网站内容防抓取的方法 |
CN102916935A (zh) * | 2011-08-04 | 2013-02-06 | 深圳华强电子交易网络有限公司 | 一种网站内容防抓取的方法 |
CN103530564A (zh) * | 2013-09-24 | 2014-01-22 | 国家电网公司 | 一种sql注入漏洞测试与验证方法及系统 |
CN103530564B (zh) * | 2013-09-24 | 2016-04-13 | 国家电网公司 | 一种sql注入漏洞测试与验证方法及系统 |
CN106548071A (zh) * | 2016-08-09 | 2017-03-29 | 北京安天电子设备有限公司 | 一种动态检测sql注入点的方法及系统 |
CN107026839A (zh) * | 2016-11-16 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种攻击请求处理方法和装置 |
CN107026839B (zh) * | 2016-11-16 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种攻击请求处理方法和装置 |
CN106778260A (zh) * | 2016-12-31 | 2017-05-31 | 网易无尾熊(杭州)科技有限公司 | 攻击检测方法和装置 |
CN106778260B (zh) * | 2016-12-31 | 2020-03-17 | 阿里巴巴(中国)有限公司 | 攻击检测方法和装置 |
CN107483510A (zh) * | 2017-10-09 | 2017-12-15 | 杭州安恒信息技术有限公司 | 一种提高Web应用层攻击检测准确率的方法及装置 |
CN107483510B (zh) * | 2017-10-09 | 2020-11-24 | 杭州安恒信息技术股份有限公司 | 一种提高Web应用层攻击检测准确率的方法及装置 |
CN109688137A (zh) * | 2018-12-27 | 2019-04-26 | 深信服科技股份有限公司 | 一种sql注入攻击的检测方法、系统及相关组件 |
CN111031009A (zh) * | 2019-11-25 | 2020-04-17 | 杭州安恒信息技术股份有限公司 | 一种基于多层次的nosql注入攻击的检测方法和装置 |
CN117118752A (zh) * | 2023-10-23 | 2023-11-24 | 山东爱书人家庭教育科技有限公司 | 一种信息抗攻击的方法、系统、装置及介质 |
CN117118752B (zh) * | 2023-10-23 | 2024-01-09 | 山东爱书人家庭教育科技有限公司 | 一种信息抗攻击的方法、系统、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102045319B (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102045319B (zh) | Sql注入攻击检测方法及其装置 | |
CN106357696B (zh) | 一种sql注入攻击检测方法及系统 | |
CN104301302B (zh) | 越权攻击检测方法及装置 | |
CN103368957B (zh) | 对网页访问行为进行处理的方法及系统、客户端、服务器 | |
CN103856471B (zh) | 跨站脚本攻击监控系统及方法 | |
CN112787992A (zh) | 一种敏感数据的检测与防护的方法、装置、设备和介质 | |
CN101714272B (zh) | 一种保护银行卡号及口令不被网络钓鱼网站窃取的方法 | |
KR100912794B1 (ko) | 실시간 웹 서버 해킹 분석 및 홈페이지 위변조 감시를 위한 웹 위협관리 시스템 및 그 방법 | |
CN104767757A (zh) | 基于web业务的多维度安全监测方法和系统 | |
CN103685575A (zh) | 一种基于云架构的网站安全监控方法 | |
CN101490685A (zh) | 提高浏览网页的用户机的安全等级的方法 | |
CN102664876A (zh) | 网络安全检测方法及系统 | |
US20070233643A1 (en) | Apparatus and method for protecting access to phishing site | |
CN103780450B (zh) | 浏览器访问网址的检测方法和系统 | |
CN107896219A (zh) | 一种网站脆弱性的检测方法、系统及相关装置 | |
Liu et al. | A web second-order vulnerabilities detection method | |
WO2018011785A1 (en) | Online assets continuous monitoring and protection | |
CN102567546A (zh) | 一种sql注入检测方法及装置 | |
CN102970282A (zh) | 网站安全检测系统 | |
Sanchez-Rola et al. | Dirty clicks: A study of the usability and security implications of click-related behaviors on the web | |
CN107800686A (zh) | 一种钓鱼网站识别方法和装置 | |
CN106250761B (zh) | 一种识别web自动化工具的设备、装置及方法 | |
CN111625821A (zh) | 一种基于云平台的应用攻击检测系统 | |
CN107103243B (zh) | 漏洞的检测方法及装置 | |
KR102159399B1 (ko) | 웹서버 모니터링 및 악성코드 분석 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |