CN101425937A - 一种适于高速局域网环境的sql注入攻击检测系统 - Google Patents

一种适于高速局域网环境的sql注入攻击检测系统 Download PDF

Info

Publication number
CN101425937A
CN101425937A CNA2007101767720A CN200710176772A CN101425937A CN 101425937 A CN101425937 A CN 101425937A CN A2007101767720 A CNA2007101767720 A CN A2007101767720A CN 200710176772 A CN200710176772 A CN 200710176772A CN 101425937 A CN101425937 A CN 101425937A
Authority
CN
China
Prior art keywords
detected
sql injection
module
filtering rule
injection attacks
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
Application number
CNA2007101767720A
Other languages
English (en)
Other versions
CN101425937B (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.)
BEIJING QIMING XINGCHEN INFORMATION TECHNOLOGY Co Ltd
Beijing Venus Information Technology Co Ltd
Original Assignee
BEIJING QIMING XINGCHEN INFORMATION TECHNOLOGY Co 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 BEIJING QIMING XINGCHEN INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING QIMING XINGCHEN INFORMATION TECHNOLOGY Co Ltd
Priority to CN2007101767720A priority Critical patent/CN101425937B/zh
Publication of CN101425937A publication Critical patent/CN101425937A/zh
Application granted granted Critical
Publication of CN101425937B publication Critical patent/CN101425937B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种适于高速局域网环境的SQL注入攻击检测系统。包括数据获取模块、数据预处理模块、待检测对象过滤模块、SQL注入攻击检测模块和SQL注入报警模块,数据获取模块从被保护网络中获取与HTTP服务相关的网络数据包,数据预处理模块基于TCP流重组和HTTP协议解析操作创建待检测对象并传送给待检测对象过滤模块,待检测对象过滤模块依据事先创建的过滤规则序列对每个待检测对象的URL进行匹配,并执行匹配的过滤规则中指定的处理动作。通过将各HTTP请求的Web对象类型分为静态Web类型和动态Web类型,并在实时SQL注入攻击检测过程中过滤掉大量的针对静态Web类型的HTTP请求,大大减轻SQL注入攻击检测模块的处理压力,降低了误报率。

Description

一种适于高速局域网环境的SQL注入攻击检测系统
技术领域
本发明涉及网络安全检测技术领域,特别涉及一种适于高速局域网环境的SQL注入攻击检测系统。
背景技术
SQL(Structure Query Language,结构化查询语言)注入攻击是指攻击者利用已有应用程序中的SQL注入漏洞,将恶意的SQL命令注入到后台数据库引擎中执行,达到偷取数据甚至控制数据库服务器的目的。SQL注入漏洞的根源是应用程序中使用了用户输入数据来构造动态SQL语句,并且未对用户输入数据做安全检查和过滤。SQL注入漏洞常见于利用HTTP协议(Hypertext Transfer Protocol,超文本传输协议)实现客户端和服务器之间通信的Web应用程序中。
SQL注入攻击已经成为当前最为严重的安全攻击事件。据统计,目前发生的安全事件中60%属于SQL注入攻击事件。2006年,国际漏洞组织CVE公布了1078条SQL注入安全漏洞事件,超过其公布的漏洞总数的50%。更为严重的是,这些公布的SQL注入安全漏洞事件仅来自于对通用应用程序的SQL注入漏洞的统计,大量的存在于专用Web应用程序(包括银行、政务网)的SQL注入漏洞根本无法统计。
SQL注入漏洞问题的普遍性和严重性已经引起了客户和网络安全界的重视,一些网络入侵检测/防御厂商也对SQL注入攻击的检测和防御进行了研究,并提出了一些SQL注入攻击检测方法。传统SQL注入攻击检测方法都是基于入侵检测系统攻击特征签名检测技术,比如当发现用户输入数据域中包含了’SELECT’关键词时,表示检测到了可能的SQL注入攻击企图。这种沿用传统入侵检测系统攻击特征签名的SQL注入攻击检测方法存在以下问题:SQL注入攻击特征签名难于准确提取,导致误报率非常高;SQL注入攻击特征签名容易被欺骗,导致漏报率非常高。
为克服SQL注入攻击特征签名提取不准确和攻击特征签名易被欺骗等缺点,人们提出了基于SQL注入命令语法规则的SQL注入攻击检测方法,其检测依据是:虽然SQL注入攻击手法多变,但万变不离其踪:其注入部分必须部分或全部符合SQL语法。该SQL注入攻击检测方法包括SQL注入攻击检测知识库构建和实时SQL注入攻击检测两个阶段,其中,SQL注入攻击检测知识库构建阶段包括以下步骤(如附图1所示):1)收集各种场景下的SQL注入攻击样本;2)对这些样本按{动态SQL模板类型,SQL注入点位置}序偶进行分类,每一类代表一种SQL注入攻击手法;3)为各类SQL注入攻击手法建立符合SQL语法的SQL注入攻击检测语法规则;4)基于SQL注入攻击检测语法规则构建SQL词法分析器和语法分析器;所述的实时SQL注入攻击检测阶段包括以下步骤(如附图2所示):1)从HTTP请求中提取可能包含SQL注入攻击的用户输入数据,包括URL(Universal Resource Locator,统一资源定位器)参数、COOKIE参数(一种隐含地从Web客户端处获取用户输入信息的机制)和FORM表单数据(一种直接从用户处直接获取输入数据的机制);2)根据用户输入数据类型,将用户输入数据分割成多个{名称,值}序偶,表示为{NAME,VALUE};3)对每个{NAME,VALUE}序偶中的{VALUE}字串按HTTP解码规范解码,还原成原始的用户数据格式;4)对于每个被解码还原的{VALUE}字串,通过先前构建的SQL词法分析器和语法分析器进行词法分析和语法分析,检测其是否与某一SQL注入攻击检测语法规则相匹配:如果匹配,则检测到了相应的SQL注入攻击企图,并报警。该方法使用SQL注入命令的语法结构定义SQL注入攻击检测规则,而不是使用传统攻击特征签名机制来定义SQL注入攻击检测规则,有效克服了SQL注入攻击事件的攻击特征签名不易提取和易被欺骗等缺点,可大大降低入侵检测系统检测SQL注入攻击时的误报率和漏报率。在一个典型的SQL注入攻击检测网络应用环境中,一台具有SQL注入攻击检测能力的入侵检测/防御系统需要对进入被保护网络中的所有HTTP请求进行SQL注入攻击检测,但在高速局域网环境下,进入被保护网络的HTTP流量较大,这将给SQL注入攻击检测系统带来较大的处理压力。
在分析进入被保护网络的HTTP请求时,可以将这些HTTP请求访问的Web对象分为两类:静态Web对象和动态Web对象。对于这两种不同类型的Web对象,Web服务器对来自Web客户端的Web对象请求的处理方式不同:对于静态Web对象(包括基本HTML文件、图像等),Web服务器只是充当了文件服务器角色,它读取静态Web对象相关的文件内容并直接传送回Web客户端;对于动态Web对象(包括各种传统CGI程序和服务器脚本页面),Web服务器需要调用一个外部应用程序(对于传统CGI程序,外部程序为CGI程序本身,对于服务器脚本,外部程序为一个服务器脚本解释器引擎),然后将这个外部应用程序的输出结果返回给Web客户端。对于Web客户端发起的针对静态Web对象的HTTP请求,Web服务器并不需要调用外部应用程序来处理该静态Web对象请求,针对静态Web对象的HTTP请求即使包含SQL注入攻击企图也不会威胁到Web应用系统的安全,因此,可以不必对该类型HTTP请求进行检测;对于Web客户端发起的针对动态Web对象的HTTP请求,Web服务器需要调用外部应用程序来处理该HTTP请求,如果该外部应用程序在执行过程中需要访问关系数据库,则可能引入SQL注入安全漏洞,因此,需要对该类型动态Web对象相关的HTTP请求进行检测。一个典型的Web应用程序一般包含上百个或上万个Web对象,其中,大部分为针对静态Web对象的HTTP请求,如果能够正确区分各HTTP请求的Web对象类型,并过滤掉那些针对静态Web类型的HTTP请求,则可以大大减少SQL注入攻击检测模块的处理压力,并进一步降低SQL注入攻击检测误报率。
发明内容
本发明目的是克服现有SQL注入攻击检测系统需要对进入被保护网络的所有HTTP请求进行基于SQL注入语法规则的SQL注入攻击检测过程中所面临的处理压力的不足,通过将各HTTP请求的Web对象类型分为静态Web类型和动态Web类型,并在实时SQL注入攻击检测过程中过滤掉大量的针对静态Web类型的HTTP请求,大大减轻SQL注入攻击检测模块的处理压力,并进一步降低SQL注入攻击检测误报率。
本发明的目的是通过以下技术方案来实现的:
一种适于高速局域网环境的SQL注入攻击检测系统,它包括:
用于收集网络上与HTTP服务相关的所有网络数据包的数据获取模块;
用于将数据获取模块获取的网络数据包进行流重组、HTTP协议解析和生成待检测对象的数据预处理模块;
用于根据先前建立的过滤规则序列对待检测对象进行过滤的待检测对象过滤模块;
用于对待检测对象进行SQL注入攻击检测并生成报警事件的SQL注入攻击检测模块;
用于接收来自SQL注入攻击检测模块上报的SQL注入攻击事件的SQL注入报警模块。
优选地,所述的适于高速局域网环境的SQL注入攻击检测系统中的待检测对象过滤模块在执行待检测对象过滤操作时,需要事先为其定义过滤规则序列。过滤规则序列中各过滤规则格式定义为:“待检测对象标识”和“处理动作”,其中,“待检测对象标识”可以基于URL中的主机名、子目录名和文件扩展名的任意组合来定义,而“处理动作”可以为“不检测”(NoDetect)或“要检测”(Detect)两个选项;待检测对象过滤模块采用顺序匹配方式执行过滤规则序列匹配,一旦找到匹配的过滤规则,则执行匹配的过滤规则中指定的处理动作。
优选地,所述的适于高速局域网环境的SQL注入攻击检测系统中,在为待检测对象过滤模块定义过滤规则时,可以定义一条默认过滤规则,该默认过滤规则位于整个过滤规则序列的最后,当前待检测对象不与默认规则前面的任何规则匹配时,则其将与默认过滤规则匹配,并执行默认过滤规则中指定的处理动作。
优选地,所述的适于高速局域网环境的SQL注入攻击检测系统还包括一个用来为待检测对象过滤模块设置过滤规则序列的管理配置模块。
本发明所述的适于高速局域网环境的SQL注入攻击检测系统有益效果是:本发明通过将各HTTP请求的Web对象类型分为静态Web类型和动态Web类型,并在实时SQL注入攻击检测过程中通过预先设置的过滤规则序列过滤掉大量的与静态Web对象请求相关的待检测对象,使得后台SQL注入攻击检测模块只需对少量的与动态Web对象请求相关的待检测对象进行检测,这将大大减轻后台SQL注入攻击检测模块的处理压力,并同时降低SQL注入攻击检测系统的误报率。本发明所述的适于高速局域网环境的SQL注入攻击检测系统可广泛应用于入侵检测系统/入侵防御系统等所有需要对SQL注入攻击进行检测/过滤的网络安全产品中。
附图说明
图1为现有基于SQL语法规范的SQL注入攻击检测系统检测知识库构建流程;
图2为现有基于SQL语法规范的SQL注入攻击检测系统实时SQL注入攻击检测流程;
图3为适于高速局域网环境的SQL注入攻击检测系统体系结构;
图4为适于高速局域网环境的SQL注入攻击检测系统实施例。
具体实施方式
下面结合附图和实施例对本发明所述的适于高速局域网环境的SQL注入攻击检测系统做进一步说明。
本发明所述的SQL注入攻击检测系统的体系结构如附图3所示,它包括如下模块:
数据获取模块:用于捕获Web客户端和Web应用服务器之间通信时产生的大量网络数据包;网络数据包的捕获方式可以采用旁路方式,也可以采用路由方式。在旁路工作方式下,可以通过集线器、交换机或路由器镜像端口捕获被监控网络中的所有网络数据包,然后按HTTP服务端口(比如80端口)对报文进行过滤,得到需要进一步预处理的网络数据包。
数据预处理模块:接收来自数据获取模块传来的网络数据包,并对这些网络数据包按如下方式处理:
1)首先按照TCP流四元组标识<源IP地址,目IP地址,源端口,目端口>对网络数据包进行分类;
2)对按TCP流四元组标识分类的各类网络数据包基于TCP协议规范进行流重组,得到TCP流对象;
3)对于各TCP流对象,按HTTP协议规范进行协议解析,提取出HTTP协议消息中包含用户输入数据的HTTP消息参数,包括URL参数、COOKIE参数和Form表单数据(其中URL参数和COOKIE参数来自于HTTP协议消息的头部,而Form表单数据来自于HTTP协议消息的主体部分);
4)将从各TCP流解析出的用户输入数据(包括URL、COOKIE和FORM表单数据)和TCP流四元组标识封装成一个待检测对象,传送给待检测对象过滤模块。
待检测对象过滤模块:对于数据预处理模块提交的待检测对象,待检测对象过滤模块根据事先设置的过滤规则序列对待检测对象URL进行规则匹配,当找到匹配的过滤规则时,将依据匹配的过滤规则中指定的处理动作对当前待检测对象进行处理。这里有两种处理方式:一种为“不检测”,即丢弃该待检测对象而无需传送给SQL注入攻击检测模块做检测;另一种为“要检测”,即将当前待检测对象传送给SQL注入攻击检测模块做进一步的攻击检测。
SQL注入攻击检测模块:SQL注入攻击检测模块接收来自待检测对象过滤模块传送的待检测对象,按照先前建立的SQL注入攻击检测语法规则对其进行检测,如果在待检测对象中发现了SQL注入攻击企图,则产生一个SQL注入攻击报警事件,并将与之相关的待检测对象封装进该SQL注入攻击报警事件中;最后,所有SQL注入攻击报警事件将被转发到SQL注入报警事件模块。
SQL注入报警模块:接收来自SQL注入报警模块的SQL注入报警事件,然后在本地的报警显示台显示,或者通过某种方式传送到远程的报警控制台进行显示。
管理配置模块:接收来自网络安全管理员的配置指令,允许管理员配置本SQL注入攻击检测系统中用于过滤与静态Web对象访问请求相关的待检测对象的过滤规则,并下发到待检测对象过滤模块,以实现对待检测对象相关的Web对象类型识别和过滤。
本发明所述的适于高速局域网环境的SQL注入攻击检测系统各功能模块之间的数据流关系如下:首先,由数据获取模块从被保护网络中实时获取与HTTP服务相关的所有网络数据包,并传送给数据预处理模块;然后数据预处理模块对接收到的网络数据包进行流重组、HTTP协议解析,并生成待检测对象,最后将待检测对象传送给待检测对象过滤模块;待检测对象过滤模块将根据过滤规则序列过滤掉那些与静态Web对象访问请求相关的待检测对象,只将那些与动态Web对象访问请求相关的待检测对象传送给SQL注入攻击检测模块;SQL注入攻击检测模块从待检测对象过滤模块处接收待检测对象,并根据SQL注入攻击检测语法规则检测可能存在于用户输入域中的SQL注入攻击企图,当检测到SQL注入攻击企图时,将向SQL注入攻击报警模块发送报警信号;SQL注入攻击报警模块接收来自SQL注入攻击检测模块的报警信号,根据待检测对象中的数据信息构建一个SQL注入攻击报警事件,在本地报警显示控制台显示,或者传送给远程报警显示控制台。
所述的适于高速局域网环境的SQL注入攻击检测系统,待检测对象过滤模块采用过滤规则匹配方式来实现对待检测对象的过滤,即事先根据被保护网络环境中各Web应用服务配置情况定义好过滤规则序列,待检测对象过滤模块通过执行过滤规则序列达到对待检测对象的过滤操作。在具体实施过滤规则时,采用的过滤规则格式定义为:“待检测对象标识”和“处理动作”,其中,“待检测对象标识”可以采用URL中的主机名、子目录名和文件扩展名的任意组合定义,而“处理动作”可以为“不检测”(NoDetect)或“要检测”(Detect)两个选项。待检测对象过滤模块对过滤规则序列的执行方式为顺序匹配方式,即对当前待检测对象,首先与第一条过滤规则进行匹配,如果匹配不成功则执行当前待检测对象与下一条过滤规则的匹配操作,直到找到匹配的过滤规则为止,找到匹配的过滤规则后,将根据匹配的过滤规则中指定的“处理动作”对当前待检测对象进行处理:如果“处理动作”为“不检测”(NoDetect),则直接抛弃当前待检测对象;如果“处理动作”为“要检测”(Detect),则将当前待检测对象传送给SQL注入攻击检测模块做真正的SQL注入攻击检测操作。当前待检测对象处理完毕后,则按上述过滤规则序列匹配逻辑进行下一个待检测对象的处理。
在具体实施本发明所述的适于高速局域网环境的SQL注入攻击检测系统时,为保证每一个待检测对象都能与某一条过滤规则匹配成功并按照匹配的过滤规则的“处理动作”正确处理,为待检测对象过滤模块定义了一条能与任何待检测对象成功匹配的默认过滤规则,该默认过滤规则位于整个过滤规则序列的最后,可以根据要求配置默认过滤规则的“处理动作”为“不检测”或“要检测”。在对待检测对象执行过滤操作时,首先与第一条过滤规则进行匹配,如果匹配不成功则执行与下一条过滤规则的匹配操作,如果当前待检测对象不与默认过滤规则前的任何过滤规则匹配,则当前待检测将与位于过滤规则序列末尾的默认过滤规则匹配,此时,根据默认过滤规则中指定的“处理动作”对当前待检测对象进行处理。
在为所述的待检测对象过滤模块定义过滤规则时,考虑的是某一类型Web对象(包括静态Web对象和动态Web对象)的URL字串包含的共同特征,但是,要求为各类型Web对象提取的共同特征可以相互区别。根据为各类型Web对象事先定义的共同特征可以正确识别出当前待检测对象应该属于哪一类型Web对象:如果当前待检测对象属于某一静态Web对象类型,则可以直接抛弃当前待检测对象;如果当前待检测对象属于某一动态Web对象类型,则将当前待检测对象传送给SQL注入攻击检测模块作进一步的攻击检测。
一个待检测对象的URL一般包括如下三个部分:主机名,即Web服务器(虚拟Web主机)的合法DNS域名或IP地址;子目录名,即待检测对象请求的Web对象在指定Web服务器上的具体位置;文件名,即待检测对象请求的Web对象的具体文件名称。在具体定义过滤规则时,可以选择URL中的主机名、子目录名和文件扩展名的任意组合来定义过滤规则的“待检测对象标识”,比如,可以定义一条如下的针对jpg图像Web对象(静态Web对象类型)的过滤规则:{(Host1,Dir1,.jpg),NoDetect},其含义是,如果某一待检测对象的URL的主机名为Host1,子目录名为Dir1,请求的Web文件扩展名为.jpg,则它与该过滤规则匹配,直接执行该过滤规则中指定的“处理动作”,即不要求SQL注入攻击检测模块对当前待检测对象进行检测。在定义“待检测对象标识”时,如果对某一部分没有匹配要求,则可以用关键词ANY表示,比如,可以定义一条如下的针对gif图像Web对象(静态Web对象类型)的过滤规则:{(Host1,ANY,.GIF),NoDetect},其含义是,如果某一待检测对象的URL的主机名为Host1,请求的Web文件扩展名为.GIF,则它与该过滤规则匹配,直接执行该过滤规则中指定的“处理动作”,即不检测当前待检测对象。
所述的适于高速局域网环境的SQL注入攻击检测系统,在具体实施过滤规则序列配置操作时,要求提供一个录入过滤规则序列的管理控制台,以允许管理员根据被保护网络中各Web应用程序配置情况创建过滤规则。应该允许管理员录入过滤规则的“待检测对象标识“的主机名、子目录名和文件扩展名部分,并允许指定该过滤规则的“处理动作”。同时,应该允许管理员对创建的过滤规则按过滤匹配执行顺序的需要对过滤规则序列中各项进行前后的位置调整。最后,应该在整个过滤规则序列末尾创建一条默认过滤规则,并允许管理员指定默认过滤规则的“处理动作”。
为使本领域普通技术人员充分理解本发明涉及的适于高速局域网环境的SQL注入攻击检测系统的工作过程,下面给出一个具体实施例。
如附图4所示,在该实施例中,存在两个Web应用服务器,各Web应用服务器情况如下:
Web1应用服务器,IP地址为192.168.1.10,Web1应用服务器包含了一个/Scripts/子目录,该子目录中包含了很多jsp脚本,这些jsp脚本执行时需要访问后台的关系数据库;Web1应用服务器上其它子目录中的文件都是静态Web对象。
Web2应用服务器,IP地址为192.168.1.20,Web2应用服务器上存储的都是静态Web对象,或者是一些并不访问后台关系数据库的动态Web对象,比如以文件系统为存储对象的传统CGI程序。
根据对被保护网络中各Web应用服务器的分析可知,只有Web1应用服务器上/scripts/子目录中的jsp脚本在执行过程中访问后台关系数据库,可能引入SQL注入安全漏洞,因此,只需要监控对该类型Web对象的HTTP访问请求;对于其它的Web对象,它们或者为静态Web对象,或者为并不访问关系数据库的动态Web对象,由于它不会引入SQL注入安全漏洞,因此,并不需要监控对这类Web对象的HTTP访问请求。因此,可以通过所述的管理配置模块建立如表1所示的三条过滤规则。
表1
Figure A200710176772D00161
如表1所示,如果当前待检测对象URL的主机名部分为192.168.10,子目录为/scripts/,请求文件的扩展名为.jsp,则当前待检测对象将与第一条过滤规则匹配,需要执行第一条过滤规则指定的处理动作(Detect),即将当前待检测对象传送给SQL注入攻击检测模块做进一步的SQL注入攻击检测;如果待检测对象URL的主机名部分为192.168.1.20,则匹配第二条过滤规则,需要指定第二条过滤规则指定的处理动作(NoDetect),即不比将当前待检测对象传送给SQL注入攻击检测模块做攻击检测;最后一条过滤规则为默认过滤规则,它表示如果待检测对象不与前面任何一条过滤规则匹配,则执行默认规则中指定的处理动作,即不将当前待检测对象传送给SQL注入攻击检测模块做SQL注入攻击检测。当所有三条过滤规则创建完毕后,通过管理配置模块下发到待检测对象过滤模块,待检测对象过滤模块将依据这三条过滤规则执行对待检测对象的过滤操作。
假设SQL注入攻击检测系统中的数据获取模块捕获了进入被保护网络的所有与HTTP协议相关的网络数据包,经过数据预处理模块的TCP流重组、HTTP协议解析和待检测对象生成操作后,得到了两个如表2所示的待检测对象。
表2
 
SID=(SIP=192.168.3.111,DIP=192.168.1.10,Sport=1356,Dport=80)URL=【192.168.1.10/scripts/kkk.jsp】URL参数=【uid=12345+union+select+1%2C1%2CGLB%28distinct+name%29+*+from+users&uname=xiaoye】Cookie=【ID=123456-23455;Channel=movie%27+or+%271%27%3D%271】       
SID=(SIP=192.168.12.231,DIP=192.168.1.20,Sport=2135,Dport=80)URL=【192.168.1.20/cgi-bin/showinfo.cgi】URL参数=【uid=12345+or+1%3D1&name=xiaoye】Cookie=【SID=123456-23455;】                                      
然后,这两个待检测对象被传送到待检测对象过滤模块执行过滤操作:对于第一个待检测对象,其URL的主机部分为192.168.1.10,其子目录部分为/scripts/,其请求文件的扩展名为.jsp,这个待检测对象的URL将与表1中的第一条过滤规则匹配,根据该条过滤规则中指定的处理动作可知,需要将该待检测对象传送给SQL注入攻击检测模块作进一步的检测;对于对二个待检测对象,其URL部分的主机部分为192.168.1.20,它正好与表1中的第二条过滤规则匹配,根据该条过滤规则指定的处理动作可知,不需要将该待检测对象传送给SQL注入攻击检测模块做进一步的检测。这样,SQL注入攻击检测模块只需对第一个待检测对象进行SQL注入攻击检测。SQL注入攻击检测模块将根据先前基于SQL注入攻击检测语法规则创建的SQL词法分析器和SQL语法分析器对该待检测对象中的URL参数、Cookie进行SQL注入攻击检测,它将在URL参数的uid域中发现一个针对动态SELECT模板的SQL注入攻击企图,以及在Cookie的channel域中发现一个针对动态SELECT模板或UPDATE模板的SQL注入攻击企图。这里,待检测对象2在待检测对象过滤模块处被丢弃掉了,因此,SQL注入攻击检测模块并没有对待检测对象2进行SQL注入攻击检测,这将减轻SQL注入攻击检测模块的处理压力,也进一步降低了SQL注入攻击检测误报率。

Claims (5)

1.一种适于高速局域网环境的SQL注入攻击检测系统,它包括:用于收集网络上与HTTP服务相关的所有网络数据包的数据获取模块;用于将数据获取模块获取的网络数据包进行流重组、HTTP协议解析和生成待检测对象的数据预处理模块;
用于对数据预处理模块输出的待检测对象进行SQL注入攻击检测并生成SQL注入攻击报警事件的SQL注入攻击检测模块;
用于接收来自SQL注入攻击检测模块上报的SQL注入攻击事件的SQL注入报警模块;
其特征在于,
它还包括一个根据待检测对象的URL进行过滤的待检测对象过滤模块;所述的待检测对象过滤模块与数据预处理模块相连接,将根据事先设置的过滤规则序列过滤掉那些与静态Web对象访问请求相关的待检测对象。
2.如权利要求1所述的适于高速局域网环境的SQL注入攻击检测系统,其特征在于,需要事先为所述的待检测对象过滤模块定义过滤规则序列,过滤规则序列中各过滤规则格式定义为:“待检测对象标识”和“处理动作”,其中,“待检测对象标识”可以采用URL中的主机名、子目录名和文件扩展名的任意组合来定义,而“处理动作”可以为“不检测”或“要检测”两个选项;待检测对象过滤模块采用顺序匹配方式执行过滤规则序列匹配,一旦找到匹配的过滤规则,则执行匹配的过滤规则中指定的处理动作。
3.如权利要求2所述的适于高速局域网环境的SQL注入攻击检测系统,其特征在于,在为待检测对象过滤模块定义过滤规则时,可以定义一条默认过滤规则,默认过滤规则位于整个过滤规则序列的最后,当前待检测对象不与默认规则前面的任何规则匹配时,当前待检测对象将与默认过滤规则匹配,并执行默认过滤规则中指定的处理动作。
4.如权利要求1所述的适于高速局域网环境的SQL注入攻击检测系统,其特征在于,它还包括一个用来为待检测对象过滤模块设置过滤规则的管理配置模块,管理配置模块分别与数据获取模块、数据预处理模块、待检测对象过滤模块、SQL注入攻击检测模块和SQL注入报警模块相连接,实现对这些模块的配置管理。
5.如权利要求1所述的适于高速局域网环境的SQL注入攻击检测系统,其特征在于;由数据获取模块从被保护网络中实时获取与HTTP服务相关的所有网络数据包,并传送给数据预处理模块;然后数据预处理模块对接收到的网络数据包进行流重组、HTTP协议解析,并生成待检测对象,最后将待检测对象传送给待检测对象过滤模块;待检测对象过滤模块将根据过滤规则序列过滤掉那些与静态Web对象访问请求相关的待检测对象,只将那些与动态Web对象访问请求相关的待检测对象传送给SQL注入攻击检测模块;SQL注入攻击检测模块从待检测对象过滤模块处接收待检测对象,并根据SQL注入攻击检测语法规则检测可能存在于用户输入域中的SQL注入攻击企图,当检测到SQL注入攻击企图时,将向SQL注入攻击报警模块发送报警信号;SQL注入攻击报警模块接收来自SQL注入攻击检测模块的报警信号,根据待检测对象中的数据信息构建一个SQL注入攻击报警事件,在本地报警显示控制台显示,或者传送给远程报警显示控制台。
CN2007101767720A 2007-11-02 2007-11-02 一种适于高速局域网环境的sql注入攻击检测系统 Expired - Fee Related CN101425937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101767720A CN101425937B (zh) 2007-11-02 2007-11-02 一种适于高速局域网环境的sql注入攻击检测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101767720A CN101425937B (zh) 2007-11-02 2007-11-02 一种适于高速局域网环境的sql注入攻击检测系统

Publications (2)

Publication Number Publication Date
CN101425937A true CN101425937A (zh) 2009-05-06
CN101425937B CN101425937B (zh) 2011-07-20

Family

ID=40616286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101767720A Expired - Fee Related CN101425937B (zh) 2007-11-02 2007-11-02 一种适于高速局域网环境的sql注入攻击检测系统

Country Status (1)

Country Link
CN (1) CN101425937B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902470A (zh) * 2010-07-14 2010-12-01 南京大学 一种基于表单特征的Web安全漏洞动态检测方法
CN102185930A (zh) * 2011-06-09 2011-09-14 北京理工大学 一种sql注入漏洞检测方法
CN103023710A (zh) * 2011-09-21 2013-04-03 阿里巴巴集团控股有限公司 一种安全测试系统和方法
CN103679018A (zh) * 2012-09-06 2014-03-26 百度在线网络技术(北京)有限公司 一种检测csrf漏洞的方法和装置
CN104333485A (zh) * 2014-10-31 2015-02-04 北京思特奇信息技术股份有限公司 一种基于交换机全量的业务数据采集分析方法及系统
CN104636667A (zh) * 2013-11-12 2015-05-20 梁佐云 基于云计算的注入漏洞检测系统及其注入方法
CN104954346A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置
CN104954345A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置
CN105376092A (zh) * 2015-11-19 2016-03-02 杭州当虹科技有限公司 一种基于交换机端口镜像的hls流实时监控报警系统
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法
CN106650454A (zh) * 2017-01-03 2017-05-10 郑州云海信息技术有限公司 一种sql注入攻击检测方法和装置
CN108234431A (zh) * 2016-12-22 2018-06-29 阿里巴巴集团控股有限公司 一种后台登陆行为检测方法和检测服务器
CN108718329A (zh) * 2018-04-11 2018-10-30 深圳市伟文无线通讯技术有限公司 支持多种方式访问的云存储移动路由设备的方法及设备
CN109753796A (zh) * 2018-12-07 2019-05-14 广东技术师范学院天河学院 一种大数据计算机网络安全防护装置及使用方法
CN110400147A (zh) * 2019-07-23 2019-11-01 阿里巴巴集团控股有限公司 一种异常支付操作拦截方法、系统及设备
CN111353151A (zh) * 2020-02-27 2020-06-30 腾讯云计算(北京)有限责任公司 一种网络应用的漏洞检测方法和装置
CN112699373A (zh) * 2020-12-24 2021-04-23 山东鲁能软件技术有限公司 一种sql注入漏洞批量检测的方法及装置
CN112769833A (zh) * 2021-01-12 2021-05-07 恒安嘉新(北京)科技股份公司 命令注入攻击的检测方法、装置、计算机设备和存储介质
CN112887274A (zh) * 2021-01-12 2021-06-01 恒安嘉新(北京)科技股份公司 命令注入攻击的检测方法、装置、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464329C (zh) * 2005-06-14 2009-02-25 联想(北京)有限公司 动态结构化查询语言语句的构造方法
CN100450046C (zh) * 2006-08-30 2009-01-07 北京启明星辰信息技术有限公司 一种结合病毒检测与入侵检测的方法及系统

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902470B (zh) * 2010-07-14 2013-08-21 南京大学 一种基于表单特征的Web安全漏洞动态检测方法
CN101902470A (zh) * 2010-07-14 2010-12-01 南京大学 一种基于表单特征的Web安全漏洞动态检测方法
CN102185930A (zh) * 2011-06-09 2011-09-14 北京理工大学 一种sql注入漏洞检测方法
CN103023710B (zh) * 2011-09-21 2016-06-08 阿里巴巴集团控股有限公司 一种安全测试系统和方法
CN103023710A (zh) * 2011-09-21 2013-04-03 阿里巴巴集团控股有限公司 一种安全测试系统和方法
CN103679018A (zh) * 2012-09-06 2014-03-26 百度在线网络技术(北京)有限公司 一种检测csrf漏洞的方法和装置
CN103679018B (zh) * 2012-09-06 2018-06-12 百度在线网络技术(北京)有限公司 一种检测csrf漏洞的方法和装置
CN104636667A (zh) * 2013-11-12 2015-05-20 梁佐云 基于云计算的注入漏洞检测系统及其注入方法
CN104954346B (zh) * 2014-03-31 2018-12-18 北京奇安信科技有限公司 基于对象分析的攻击识别方法及装置
CN104954345A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置
CN104954346A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置
CN104954345B (zh) * 2014-03-31 2018-07-31 北京奇安信科技有限公司 基于对象分析的攻击识别方法及装置
CN104333485A (zh) * 2014-10-31 2015-02-04 北京思特奇信息技术股份有限公司 一种基于交换机全量的业务数据采集分析方法及系统
CN105376092B (zh) * 2015-11-19 2018-08-21 杭州当虹科技有限公司 一种基于交换机端口镜像的hls流实时监控报警系统
CN105376092A (zh) * 2015-11-19 2016-03-02 杭州当虹科技有限公司 一种基于交换机端口镜像的hls流实时监控报警系统
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法
CN108234431A (zh) * 2016-12-22 2018-06-29 阿里巴巴集团控股有限公司 一种后台登陆行为检测方法和检测服务器
CN106650454A (zh) * 2017-01-03 2017-05-10 郑州云海信息技术有限公司 一种sql注入攻击检测方法和装置
CN108718329A (zh) * 2018-04-11 2018-10-30 深圳市伟文无线通讯技术有限公司 支持多种方式访问的云存储移动路由设备的方法及设备
CN108718329B (zh) * 2018-04-11 2022-02-22 深圳市伟文无线通讯技术有限公司 支持多种方式访问的云存储移动路由设备的方法及设备
CN109753796A (zh) * 2018-12-07 2019-05-14 广东技术师范学院天河学院 一种大数据计算机网络安全防护装置及使用方法
CN110400147A (zh) * 2019-07-23 2019-11-01 阿里巴巴集团控股有限公司 一种异常支付操作拦截方法、系统及设备
CN111353151A (zh) * 2020-02-27 2020-06-30 腾讯云计算(北京)有限责任公司 一种网络应用的漏洞检测方法和装置
CN112699373A (zh) * 2020-12-24 2021-04-23 山东鲁能软件技术有限公司 一种sql注入漏洞批量检测的方法及装置
CN112769833A (zh) * 2021-01-12 2021-05-07 恒安嘉新(北京)科技股份公司 命令注入攻击的检测方法、装置、计算机设备和存储介质
CN112887274A (zh) * 2021-01-12 2021-06-01 恒安嘉新(北京)科技股份公司 命令注入攻击的检测方法、装置、计算机设备和存储介质
CN112887274B (zh) * 2021-01-12 2023-04-14 恒安嘉新(北京)科技股份公司 命令注入攻击的检测方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN101425937B (zh) 2011-07-20

Similar Documents

Publication Publication Date Title
CN101425937B (zh) 一种适于高速局域网环境的sql注入攻击检测系统
CN101388763B (zh) 一种支持多种数据库类型的sql注入攻击检测系统
CN101267357B (zh) 一种sql注入攻击检测方法及系统
CN100450046C (zh) 一种结合病毒检测与入侵检测的方法及系统
CN107087001B (zh) 一种分布式的互联网重要地址空间检索系统
CN104767757B (zh) 基于web业务的多维度安全监测方法和系统
CN101459548B (zh) 一种脚本注入攻击检测方法和系统
US8051484B2 (en) Method and security system for indentifying and blocking web attacks by enforcing read-only parameters
CN101370008A (zh) Sql注入web攻击的实时入侵检测系统
CN101714272B (zh) 一种保护银行卡号及口令不被网络钓鱼网站窃取的方法
CN101895516A (zh) 一种跨站脚本攻击源的定位方法及装置
CN102833270A (zh) Sql注入攻击的检测方法、装置和具有该装置的防火墙
CN105656950A (zh) 一种基于域名的http访问劫持检测与净化装置及方法
CN102316087A (zh) 网络应用攻击的检测方法
CN107172022A (zh) 基于入侵途径的apt威胁检测方法和系统
CN107172058B (zh) 一种基于流数据分析的Web攻击实时在线检测系统
CN105046150A (zh) 防止sql注入的方法及系统
CN102833269B (zh) 跨站攻击的检测方法、装置和具有该装置的防火墙
CN112491784A (zh) Web网站的请求处理方法及装置、计算机可读存储介质
CN113609234B (zh) 一种网络实体行为关联构建方法及系统
CN107122657B (zh) 一种防御sql注入攻击的数据库代理装置
CN108521392A (zh) 一种双向流量的sql注入攻击检测方法
CN112769833B (zh) 命令注入攻击的检测方法、装置、计算机设备和存储介质
CN103166966A (zh) 识别对网站的非法访问请求的方法及装置
CN106250290A (zh) 异常信息的分析方法及装置

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110720

Termination date: 20161102