CN101370008A - Sql注入web攻击的实时入侵检测*** - Google Patents

Sql注入web攻击的实时入侵检测*** Download PDF

Info

Publication number
CN101370008A
CN101370008A CNA2008100021680A CN200810002168A CN101370008A CN 101370008 A CN101370008 A CN 101370008A CN A2008100021680 A CNA2008100021680 A CN A2008100021680A CN 200810002168 A CN200810002168 A CN 200810002168A CN 101370008 A CN101370008 A CN 101370008A
Authority
CN
China
Prior art keywords
sql
data
web
real
website
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
CNA2008100021680A
Other languages
English (en)
Other versions
CN101370008B (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.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Publication of CN101370008A publication Critical patent/CN101370008A/zh
Application granted granted Critical
Publication of CN101370008B publication Critical patent/CN101370008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

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)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种SQL注入WEB攻击的实时入侵检测***,包括:为网站提供学习正常数据库和Web应用标准查询语句(SQL)查询数据的方法;为网站提供捕获实时数据库和Web应用SQL查询数据的方法;基于正常数据库和Web应用SQL访问数据与实时数据库和Web应用SQL访问数据的典型SQL注入攻击检测方法。本发明的有益效果:本发明不仅可以检测常见的SQL注入攻击的检测技术,同时具备低误告警、高侦查率的特点。

Description

SQL注入WEB攻击的实时入侵检测***
技术领域
本发明涉及WEB应用入侵检测领域,尤其涉及SQL注入WEB攻击的实时入侵检测***。
背景技术
异常网络入侵检测有别于传统的入侵检查,它通过对比当前的数据和先前获得的“安全模型”,看两者之间的差异是否超出了误差范围来侦查新的数据。异常入侵侦查的优势之一是它不需要一个很大的特征数据库。
基于特征检测的入侵侦查***(IDS)是目前世界上使用最广泛的***,因为它能够非常迅速而且准确地检测已知攻击。然而,基于特征检测的IDS对未知攻击的检测能力非常弱,因为一旦攻击者对攻击行为稍做变形,特征就很难得到匹配。因此,攻击者可以很容易地躲避特征IDS。
另一方面,异常网络入侵侦查对于想要躲过特征IDS的未知网络攻击或者一个类似已知的攻击也是有效的。然而,异常网络入侵侦查的缺点是因它的高误告警率而导致了现实中的不实用。
直到2000年,互联网(WEB)的网络流量完全超过了其他的应用***,成为了世界上使用最广泛的协议。随着网络的普及,越来越多的商业交易和交流通过网络传输,越来越多的人们喜欢在网络上做他们最喜爱的事:网上购物、网上银行交易,收发电子邮件等等。
同时,Web的安全问题也成为了最热门的话题。即使是那些发明网络的人也没有预料到网络在今天能取得这么巨大的成功;开始时,他们也可能并没有忽视网络的安全问题。另一个方面原因越来越多的黑客将注意力转移到Web应用***的常见弱点上使得网络应用与服务成为受攻击次数增长最快的领域。虽然许多公司投入很大的资源来处理这些安全问题,但是面对很多Web应用弱点,几乎没有防御能力。不时发生新的Web攻击。2002年计算机安全研究所(CSI)计算机犯罪与安全调查显示:以年为计算单位,超过半数的数据库都受到过某些攻击,平均每次攻击造成接近4百万美元的损失。这项调查同样表明如今网络犯罪已经司空见惯了。网络犯罪包括了从破坏计算机(如网页篡改)的低端犯罪到盗取个人信息和商业欺骗的高端犯罪。
有趣的是,超文本传输协议(HTTP)和网络应用可能是Web上最容易受攻击的部分,其中一个原因在于网络的广泛使用和HTTP、CGI(通用网关接口)和网络应用创建时对安全方面的考虑甚少。另一个原因是防火墙的HTTP80端口(或者8080,HTTPs443端口等)对于WEB应用总是开放的。
与其他的协议不同,针对WEB应用的攻击涵盖了从操作***(OS)、WEB服务到应用/数据库的各个层次。这些攻击包括:非法输入、缓冲区溢出、跨站点脚本攻击(XSS)、拒绝服务、会话劫持和SQL注入。
在所有的攻击中,SQL注入是最普遍的攻击方式之一。WEB攻击的趋势可以与自动化相比,即快速找到弱点然后攻击。大多数时候,攻击者只需要一个浏览器及与因特网的连接。然而,也有用于快速扫描和检测弱点的辅助工具。
SQL注入是网络攻击的一种形式,并且只需要一个浏览器,就能攻击Web应用***(如ASP、JSP、PHP、CGI等)本身,而不是运行着操作***(OS)的Web服务器或服务。即使Web应用***之间并不相同,但是他们主要的体系还是十分相似的。举例说明,如果Web应用***的参数检查不严密或处理不当,就可能会被注入乱码参数,导致Web应用***形成一个特殊的SQL结构并发送到数据库。许多Web应用***从Web用户取得参数,然后向数据库做SQL查询。举个例子,当一个用户从Web网页登录到网站时.Web网页取得登录用户的用户名和密码然后向数据库做SQL查询来确定是否是有效的用户名和密码。那么,攻击者可能先发送一个伪造的用户名和/或密码并通过SQL注入改变SQL查询而成功登录。
参数输入       用户名      密码
常例                John              John12345
SQL注入例子         Joe               ‘J’or‘1’=’1
SQL注入过程因条件不同而操作不同。下面一起讲述。第一种情况是,Web应用***根本不能对所有的参数进行合法性检查或者检查不足,因此就直接用输入值构成SQL。第二种情况是,SQL由Web应用***使用输入参数简单构成,未对输入参数进行“长度检查、特殊字符过滤”等等必要操作。Web应用***还在应用层次上创建一个用伪造输入参数建立的SQL查询,并发送到数据库层去执行。例如,在一个登录过程中,SQL可以通过从USERNAME=‘$username’,password=‘$password’的USERPROFILE中选择一个USERID来建立。在这个登录例子中当参数填入的时候,建立的SQL会从USERNAME=‘Joe’,password=‘J’or‘1’=‘1’的USERPROFILE中选择USERID。这个‘1’=‘1’通常能保证返回的条件是true,所以攻击者能有效登录Web应用***。
为了侦查SQL注入攻击,许多人尝试基于特征检测的方法,主要包括以下几种方式:1)检测是否存在特殊字符;2)检测输入参数中是否匹配已知的模式,如1=1,‘a’=‘a’等等;3)类似于2),将任何被公布的已知格式放入检测列表,或者使用正则表达做部分格式匹配从而获取更多格式。
即使基于上述特征能够检测到部分SQL注入攻击,但其局限性是显而易风的,主要表现在:1)只能检测到已知的SQL注入特征;2)新型的SQL注入攻击技术会不断的产生,而且攻击特征与以往有所不同;3)已经发现的SQL注入攻击变形繁多,并且逃逸技术已经非常普遍。
单纯基于特征的检测技术误告率很高,或者说根本没什么效果。例如,一个合法的用户也可能会输入一些特殊的字符。因此,如果***只是简单地通过特殊字符判断,那么这种简单的判断方式就会导致很高的误告警率。如果***想捕捉准确的已知格式,如1=1,那么当攻击者可能改变成z=z或者jf8rut=jf8rut时就无效了。值得强调的是,***几乎不可能在同一时间穷尽所有可能的格式。
因此现在有必要研发一个低误告警、高侦查率的,针对Web应用SQL注入攻击的检测技术。
发明内容
本发明为解决现有技术存在的不足之处,目的在于提供考一个先进异常SQL注入检测***,这个***将数据库层与Web应用层相关联,因此检测技术更加精确,更加有力并且低误告警。
本发明的目标是为异常入侵检测提供一种新的方式,即基于状态码、参数长度、请求流量、返回流量、特殊字符等进行异常检测。
本发明的较长远目标是提供一个数据库层和Web应用层相关联的异常SQL注入检测***,用来检测目前最为流行的、危害最大的Web应用攻击——SQL注入,同时降低误告警。
本发明深层次的目标是提供一个单机运行的计算机软件产品,可以实现以下功能:针对某个网站通过学习创建正常数据库和Web应用SQL访问数据模型;实时捕获数据库和Web应用SQL查询数据;基于已经创建的正常访问数据模型与实时捕获的网站访问数据的比较,完成SQL注入攻击的异常入侵检测。
学习创建正常数据库和Web应用SQL访问模型;实时捕获网站数据库和web应用SQL访问数据;基于已经创建的正常访问数据模型与实时捕获的网站访问数据的比较,完成SQL注入攻击的异常入侵检测。
本发明长远一点的目标是提供一个软/硬件一体的***,该***通过一个可操作的处理器来执行一系列的指令,在学习模式下可以针对某个网站通过学习创建正常数据库和Web应用SQL访问模型;在检测模式下可以实时捕获数据库和Web应用SQL访问数据,并且基于已经创建的正常访问数据模型与实时捕获的网站访问数据的比较,完成SQL注入攻击的异常入侵检测。该***还可以配置相应的存储,用于保存学习模式及检测模式下的运行结果。
本发明更长远一点的目标是提供一个***,该***能够将数据库层面的异常访问与WEB应用层面的异常访问进行有效的关联。
本发明的基本目标是提供一种灵活、正确的方法来检测Web应用安全(与SQL注入攻击相关),用于克服传统技术设备的不足之处。
本发明的目标是提供一个低误告警率的检测***。
本发明的另一个目标是提供一个异常SQL注入检测***,它可以通过数据库层和Web应用层的攻击关联,在攻击特征/攻击模式未知的情况下,能够检测到全新的0-day攻击。该***事先并不知道攻击具有怎样的一个攻击特征/攻击模式。
本发明的另一个目标是提供一个可配置的***,它可以检测其他Web应用攻击,如通过伪造参数方式进行的跨站脚本攻击等。
本发明是通过以下技术方案达到上述目的:SQL注入WEB攻击的实时入侵检测***,包括:
为网站提供学习正常数据库和Web应用标准查询语句(SQL)查询数据的方法;
为网站提供捕获实时数据库和Web应用SQL查询数据的方法;
基于正常数据库和Web应用SQL访问数据与实时数据库和Web应用SQL访问数据的典型SQL注入攻击检测方法。
作为优选,学习的方法包括:测定数据库层属性的方法;和测定Web应用层属性的方法。
作为优选,测定数据库层属性的方法:侦听网站的WEB服务器与数据库之间流量。
作为优选,测定数据库层属性的方法:从数据库审计特征中获得数据库层属性。
作为优选,测定数据库层属性的方法:采集该网站发起的SQL操作数据。
作为优选,数据库层属性包括:用户数据、操作数据、目标对象数据和状态码数据。
作为优选,Web应用层属性至少包括状态码、网站请求流量、网站返回流量和值长度。
作为优选,检测的方法包括:基于正常Web应用SQL访问数据和实时Web应用SQL访问数据产生第一个异常分数的方法。
基于正常数据库SQL访问数据和实时数据库SQL访问数据产生第二个异常分数的方法。
第一个异常分数与第二个异常分数关联的方法。
作为优选,根据第一个异常分数(S1)和第二个异常分数(S2),采用如下公式测定关联分数(S)的方法:
S=S1 x S2/(S1+S2).
作为优选,,检测方法适用于检测0-daySQL注入攻击。
作为优选,所述的***无法预知类似的攻击特征/攻击模式。
一个计算机程序产品包含了带有指令的计算机可读介质,可以使计算机:
从网站访问数据学习正常数据库和Web应用标准查询语句(SQL)的模型。
为网站捕获实时数据库和网站应用SQL访问数据。
基于正常数据库和Web应用SQL访问数据与实时数据库和Web应用SQL访问数据检测的异常的典型SQL注入攻击。
作为优选,学习指令可以使计算机执行以下操作:
测定数据库层属性;和
测定Web应用层属性。
作为优选,测定数据库层属性的指令可以使计算机执行以下操作:侦听网站的WEB服务器与数据库间的流量。
作为优选,测定数据库层属性的指令可以使计算机执行以下操作:从数据库审计特征中获取数据库层属性。
作为优选,测定数据库层属性的指令可以使计算机执行以下操作:
采集网站发起的SQL操作数据。
作为优选,数据库层属性包括用户数据、操作数据、目标对象数据和状态码数据。
作为优选,Web应用***属性至少包括状态码、网站请求流量、网站返回流量和值长度。
作为优选,检测指令可以使计算机执行以下操作:
基于正常Web应用SQL访问数据和实时Web应用SQL访问数据产生第一个异常分数。
基于正常数据库SQL访问数据和实时数据库SQL访问数据产生第二个异常分数。
第一个异常分数与第二个异常分数进行关联。
作为优选,关联指令可以使计算机执行以下操作:
根据第一个异常分数(S1)和第二个异常分数(S2),采用如下公式测定关联分数(S):
S=S1 x S2/(S1+S2).
作为优选,检测指令适用于检测0-daySQL注入攻击。
作为优选,检测指令无法预知类似的攻击特征/攻击模式。
检测方法由以下步骤组成:
从网站访问数据学习正常数据库和Web应用标准查询语句(SQL)的模型。
为网站捕获实时数据库和网站应用SQL访问数据。
基于正常数据库和Web应用SQL访问数据与实时数据库和Web应用SQL访问数据检测的异常的典型SQL注入攻击。
作为优选,学习步骤包括:测定数据库层属性;和测定Web应用层属性。
作为优选,测定数据库层属性的步骤包含了:侦听网站的WEB服务器与数据库间的流量。
作为优选,测定数据库层属性的步骤包括了:从数据库审计特征获取数据库层属性。
作为优选,测定数据库层属性的步骤包括了:采集网站发起的SQL操作数据。
作为优选,数据库层属性包括用户数据、操作数据、目标对象数据和状态码数据。
作为优选,Web应用层的属性至少包含状态码、网站请求流量、网站返回流量和值长度。
作为优选,检测步骤包括:基于正常Web应用SQL访问数据和实时Web应用SQL访问数据产生第一个异常分数。基于正常数据库SQL访问数据和实时数据库SQL访问数据产生第二个异常分数。第一个异常分数与第二个异常分数进行关联。
作为优选,关联步骤包括根据第一个异常分数(S1)和第二个异常分数(S2),采用如下公式测定关联分数(S):
S=S1 x S2/(S1+S2).
作为优选,检测步骤包含了检测0-daySQL注入攻击。
SQL注入WEB攻击的实时入侵检测***,
一个可以执行一系列指令的可操作处理器,即在学习模式下学习网站的正常数据库和Web应用标准查询语句(SQL)的访问数据;在侦查模式下捕获网站的实时数据库和Web应用SQL访问数据;基于正常数据库和Web应用SQL访问数据与实时数据库和Web应用SQL访问数据在检测模式下检测异常的典型SQL注入攻击;
与处理器相连的存储器用于保存学习模式和检测模式下的结果。
作为优选,可控处理器可以配置用于执行一系列的指令来测定数据库层属性和测定Web应用层属性,采用学习或捕获模式是可控的。
作为优选,可控处理器在测定数据库层属性时,还可以进一步配置成通过侦听WEB服务器和数据库之间的网站流量实现。
作为优选,可控处理器在测定数据库层属性时,还可以进一步配置成从数据库审计特征中获取数据库层属性。
作为优选,可控处理器在测定数据库层属性时,还可以进一步配置成通过采集网站发起的SQL操作数据实现。
作为优选,数据库层属性包括用户数据、操作数据、目标对象数据和状态码数据。
作为优选,,Web应用层属性至少包含状态码、网站请求流量、网站返回流量和值长度。
作为优选,可控处理器在执行检测操作时可以进一步配置为:
基于正常Web应用SQL访问数据和实时Web应用SQL访问数据产生第一个异常分数。
基于正常数据库SQL访问数据和实时数据库SQL访问数据产生第二个异常分数。
第一个异常分数与第二个异常分数进行关联。
作为优选,可控处理器可以进一步配置如下:
根据第一个异常分数(S1)和第二个异常分数(S2),采用如下公式测定关联分数(S):
S=S1 x S2/(S1+S2).
作为优选,可控检测处理器适用于检测0-day SQL注入攻击。
作为优选,指令无法预知类似攻击的特征/攻击模式。
本发明的有益效果:本发明不仅可以检测常见的SQL注入攻击的检测技术,同时具备低误告警、高侦查率的特点。
附图说明
图1与本发明一致的实时异常SQL注入检测***总体框架示意图。
图2使用FIG.1所示***对某个网站的WEB应用进行实时异常SQL注入检测的示意图。
图3与本次发明一致的实时异常SQL注入检测器的总体结构示意图。
图4A与本发明一致的WEB应用层属性采集总体结构示意图。
图4B与本发明一致的数据库层属性采集总体结构示意图。
图5与本发明一致的***在学习模式下的学习过程总体流程示意图。
图6神经网络参数总体示意图。
图7与本发明一致的标准化处理过程总体流程示意图。
图8与本发明一致的标准化处理和算分模块总体流程示意图。
图9后台数据库实体示意图,实线表示正常访问情况下能够看到的实体,虚线表示非正常(异常)模式下能够看到实体。
图10Web应用层和数据库层关联总体示意图。
具体实施方式
实施例1:提到图表,在图1中与本发明一致的实时异常SQL注入检测***以数字10表示。***10的研制目标是用于检测异常SQL注入,并通过如图10所示的数据库层520与Web应用层510的关联实现高准确率、低误告警。数据库层520对应到图2中的后台数据库220。Web应用层510对应到图2中的Web服务器210或者其他计算机设备所运行的WEB应用。
图2是图1中的***10应用于网站200进行实时异常SQL注入攻击检测的示意。网站200包含了一个为终端用户205提供WEB应用的WEB服务器210,终端用户205可以是个人电脑、膝上型电脑、笔记本型个人电脑、记事本或者其他带有网络浏览器的计算机设备。在这群希望访问网站200的用户群中有一个攻击者,他同样属于带浏览器功能的终端用户205。攻击者可能会使用其他的工具来检测网站200的弱点。
再次回到图1,***10包含一个***控制器20,它与数据采集器40、学习模块60、异常SQL注入检测器相连。正常运行时,***10通过数据采集器40来采集及提取来自网络流量12或者数据库日志14的数据。***10支持学习模式22,学习模式22用于从学习阶段的一系列数据采集中学到正常行为模型。在学习模式22下Web应用层510和数据库层520的正常行为均可以学习到。***10还支持检测模式24,检测模式24用来检测实时异常SQL注入攻击。如果检测到某种攻击,***控制器20就会产生ALARM告警,ALARM可以对异常行为进行提示和/或阻止潜在的恶意行为。***控制器20可以是一个处理器,也可以是一个基于计算机、服务器等的其他计算机设备。因此,***控制器20可以同时实现上述描述的一个或多个处理过程,多个处理可以是并行、串行或混合的工作模式。
***控制器20连接着一个存储25,用于存放数据及下文提到的结果数据。
1.采集模块
数据采集器40在***控制器20控制下,分别在学习模式22和检测模式24下对WEB应用层属性42和数据库层属性44进行学习和检测。数据采集器40可以通过捕获网络TCP/IP流量T1(传输控制协议/互联网络协议)或采集WEB服务器日志的方式获取WEB应用层属性42。当数据采集器40需要采集数据库层属性44时可以使用数据库审计日志。WEB应用属性42的列表参见图4A。数据采集器40将采集到的一系列WEB应用层属性42(图4A)和数据库层属性44的结果保存在存储器中。
在图4A中,WEB应用层42属性列表包括参数值异常分数84A、参数名异常分数86A、状态码88A、请求流量90A和返回流量92A,作为学习(培训)要素。这些信息由数据收集器40通过网络流量12获得。在图2中,网络流量12以标识为T1的箭头表示。在检测模式下,实时的WEB应用层属性列表包含参数值异常分数84B、参数名异常分数86B、状态码88B、请求流量90B和返回流量92B.
参数值异常分数84A或者84B通过用来定义SQL注入的发生,比如SQL注入发生时大多数情况下参数值长度会比正常的长。当出现异常特殊字符(如没有限制“)”或者“)”)时参数值的异常分数就会产生,这就意味着发生了SQL注入攻击。为了增强检测能力,其他的一些特殊字符也被用来计算参数值异常分数。参数名异常分数通过用来定义SQL的注入的发生,比如:SQL注入发生时大多数情况下用户或游客分数会比正常情况下大。状态码88A或者88B是一个内部错误代码,表示应用***出现了问题,如Web应用向数据库层发送查询请求失败。请求流量90A或者90B表示客户(用户)或者是攻击者发送到Web应用的请求数量。返回流量92A或者92B表示从WEB服务器210返回给客户端的流量。从WEB服务器210到互联网(WWW)的返回流量以标识为T1的箭头所示。
WEB应用层属性42只是一个例子,可能随着Web应用的不同而有所变化。
前面已经清楚地描述了如何从WEB应用层510提取或者采集数据,并根据WEB层属性42产生异常分数。然而,仅仅从Web应用层510而言,***10还不足以精确描述由WEB服务器210执行的Web应用层510是如何向后台数据库220或者数据库层520发送查询/操行指令的。从理论上讲,数据库层520的数据库层属性44可以作为一个很重要的辅助工具,用来精确判断或评估将要发生的真实攻击和证明已经发生的攻击行为或攻击造成的损失。
采集数据库层属性44有几种方法。例如,通过侦听WEB服务器210和后台数据库220之间、标识为T2的双向箭头所表示的网络流量来完成数据库层属性44的采集。另一种方法是,从后台数据库220本身采集数据库层属性44,比如通过数据库的审计特性,或者从包含来自***10的SQL操作数据的特定区域中采集。
如图4B所示,在学习模式下,常见的数据库层属性44包括用户102A、操作104A、操作对象106A和状态码108A。在检测模式下,常见的数据库层属性44包含括用户102B、操作104B、操作对象106B和状态码108B。具体来说,用户102A或者102B指执行SQL操作的数据库用户。操作104A或者104B指事先定义的一系列数据库操作,如选择(Select)、***(Insert)、删除(Delete)或更新(Update)或新建(Create)。操作对象106A或者106B指被访问的表或者视图。状态码108A或者108B表示访问是否成功。
数据库层属性44只是一个例子,随着后台数据库220的不同会有所变化。
2.学习模块
如图6所示,在学习(处理)模式22下,每个CGI-URL会产生一个神经网络64,其中URL是在互联网(WWW)中使用的统一资源***,而CGI则是通用的网关接口。神经网络64包含参数分数65、(http)状态码66、(http)请求流量67和(http)返回流量68(这里的http代表超文本传输协议)。参数分数65根据参数长度、参数名和参数取值产生。与学习过程中正常的参数长度相比,参数越长参数分数就越高,参数分数就决定了异常分数。参数值也是以类似的方式产生。
例如,“obj-name”或者“user”与“参数名(parameter name)”是一样的。参数值(parameter value)是一个参数的取值。每个“参数名(parameter name)都有一个与之关联的值的长度。此外,参数分数、状态码、请求流量、返回流量可以从“http”请求中分别提取。
一个黑客或者异常访问者的上述属性的实时用户访问分数,会与先前干净环境下(学习模式)下的用户分数进行比较。如果比较的差值超过一定的阀值,表示异常访问者和/或黑客被检测到了。
当攻击者发送不同的字符时,请求流量和返回流量也通常被用来有效地检测特殊的用户。
数据采集器40的数据采集过程和图5所示的学习过程300需要提取哪些属性作为神经网络64的输入参数,都是可配置的。通常情况下参数分数、http状态码、请求流量和返回流量会被提取出来。
图5是学习过程300的总体流程图。学习过程从步骤302开始,解析网络流量12或WEB服务器日志,随后是步骤304,相关参数的提取。从网络流量12中提取参数列表的描述如上。跟着步骤304的是步骤305,利用图8所示的标准化和算分引擎完成数据标准化与异常分数计算。跟着步骤305的是步骤306,在学习模式60下,由标准化和算分引擎处理的结果被传入SOM(自组织映射)引擎62。SOM(自组织映射)引擎62是神经网络的一种类型。SOM引擎62处理提取的数据并产生SOM数据输出。
跟着步骤306的是步骤308,SOM输出数据被标准化和算分引擎70处理后输出标准化数据。当不同的参数有不同的数据取值范围时标准化处理是必须的。例如,如果参数分数范围是从0-10,而(http)状态码范围是0—500时,就需要标准化来阻止在计算异常分数时一个属性的参与作用比另一个属性大(如果这不是我们期望的)。步骤308后面是步骤310,对标准化后的输出数据进行分析。这些数据可能通过可视化的图表、报告等等方式进行分析,也可能通过计算机处理程序分析。
图5的流程图描述的是与学习过程相关的WEB应用层属性42的处理过程。数据库层属性44的处理过程也与此类似。
在常见的Web应用使用案例中,采用模式匹配的方式提取参数特征。例如,一个用户名包含了字符、数字和‘_’。ID可能是由一串数字组成的。但是在SQL注入攻击案例中,为了是使入成功,输入的用户名将会趋向于在字符串中含有不同的“特殊”字符,如(但不限于)一个单边的引号(‘)、大于号(>)、小于号(<)或者圆括号。
下面是一个简单的黑客攻击例子,以Http(超文本传输协议)字符串形式表示的Web应用SQL注入攻击,http字串如下:
http://www.youweb.com/showdetail.asp?id=49and 1=1
这里的www指的是互联网;“youweb.com”表示网站地址或者是页面位置;剩下的字符如“?id=49and1=1”是SQL注入攻击数据。
如果没有返回任何错误信息,攻击者或者黑客可能会尝试另一个SQL注入字串如下:
http://www.yourweb.com/show.asp?id=49and(select count(*)from sysobjects)>0
这里字符“?id=49and(select count(*)from sysobjects)>0是另一个SQL注入攻击数据。
上述SQL注入例子是针对(SQL)WEB服务器210。然而,对于其他数据库这个字串是类似的,只是***的表名/视图名不同,可以从sysobjects中获取。
从上述的SQL注入例子,我们很容易看到在长度和特征分布上,URL中的参数特征分布与正常情况下有所不同。
图9是后台数据库210中的视图400的例子。正常访问对象表示正常访问模式,以实线表示。在异常或者不规则情况下,除了正常访问模式下的视图对象外,还有以虚线表示的访问模式。正如我们所看到的,在正常情况下,WEB用户402会查询用户信息表404、分类表406和订单表408。然而,访问所有用户表410则表示是异常的或不规范的。(all-user表格是oracle***表,包含数据库***所有用户信息。)
一个通用网关接口(CGI)允许WEB设计者创建动态网页。例如,当用户与网页交互,并用数据填写表格时,输入的信息可能会显示在展示给用户的下一个页面。CGI同样也用于搜索引擎。CGI可能是放在服务器上的一个脚本,通常在一个目录下。
***10主要用于检测WEB应用层510或者数据库层520的攻击,即在学习过程中,将检测字串中不同的字符输入到不同的bins,然后为每个URL计算出一个异常分数。在检测模式24下,***10再次获得每个CGI URL的分数,并计算出与学习过程中创建的异常分数的差值,用来生成新的异常分数。
CGI URL中的每个参数名/参数值,***10使用特殊的bins来保存/描述不同的字符集,如下所示:
{a-zA-Z,0-9,‘,.,;,“,”,/,\\,~,`,!,@,#,$,%,^,&,*,(,),-,=,<,>,?,{,},|}.
在学习模式下,对于每个CGI/Web应用,***10通过学习或者培训操作来学习正常模式。
图8是对标准化和算分引擎70的描述。在WEB应用日志中的每个CGI请求URL,多数要素被抽取/计算/标准化。在参数名长度子模板71中,参数名长度元素被提取、计算和标准化。在参数值长度子模板72中,参数值长度元素被提取、计算和标准化。在参数分布分数子模板73中,参数分布分数被提取、计算和标准化。在参数值分布分数子模板74中,参数值分布分数被提取、计算和标准化。分布分数可以通过字符的不同类型发生事件的多少来判断。
为了减少误告警,标准化和算分引擎70将a-z,A-Z归入字母类型,0-9为数字类型。而“特殊字符”如“’”,“>”等则被纳入同不同bins子模板75处理的其他类型。鉴于上述假设,对于某个CGI来说其字母将会落入一个固定的模式。例如,在正常使用情况下,用户名可能总是落入字符和数字类型中。另一方面,当SQL注入发生时,CGI中可能会有“特殊字符”,如a’or‘1’=’1,这时将落入特殊字符类型和/或者异常字符类型中。
参数值长度的标准化是很重要的,在全部的异常分数计算过程中参数值长度能够适合于一个固定的范围(如:0-1)。输出结果可以用方式Eq.(1)表示:
|LenR-LenA|/Max(LenR,LenA)    Eq.(1)
其中,LenR表示实时参数值长度,LenA表示为学***均参数值长度。如果新的长度与学习模式下的长度接近,那么结果就趋向于0。另一方面,如果实时参数值长度LenR比LenA大很多的话,结果就会趋向于1。
图7是每个子模板的标准化和得分计算处理程序350的总体流程图。处理程序350从步骤352开始,计算要素提取。接下来是步骤354,要素计算。接着是步骤356,要素标准化。在有些实例中,分数是在步骤358时产生的,这个步骤用虚线来标志说明是一个选择性功能。
3.检测模块
类似于学习模块,检测模式24用于完成实时检测过程的数据捕获。所不同的是,在数据提取和标准化以后,需要传入学习神经过网络用来计算当前数据与先前“正常学习模型”数据之间的偏差。
WEB应用层正常数据与SQL注入攻击引起的异常流量对比如下表所示:
WEB正常流量vs.SQL注入WEB流量
Web Training
203.7366092      9.275283    576.5658    123.1718
210.3278138      26.72986    609.3593    113.7122
219.3220077      61.41085    645.5216    103.568
221.8608458      169.066     627.1404    112.3334
212.3305304      426.5677    516.7143    151.091
203.7924397      639.5583    432.9758    172.911
201.1655923      804.7452    409.0698    159.6027
200.4134191      1041.625    403.2338    132.9086
200.138194       1261.073    402.2831    131.4284
Web Detection
303.9990448      139.9668    502.1129    0.003258
303.9974611      139.9346    462.2181    0.028421
303.9994348      139.8615    447.8501    0.041096
303.9999107      139.7122    445.2572    0.067242
303.9999634      139.6504    443.2334    0.117713
303.9999347      139.7436    442.135     0.180101
303.9999999      139.9985    524.5301    2.34E-04
303.9999998      139.9924    523.5133    1.16E-04
303.9999991      139.9659    522.0063    6.01E-05
4WEB层异常分数:
如图3所示,WEB层异常分数由WEB层异常检测器82计算得到,计算的依据是对比实时数据和神经网络64(使用自组织映射运算法则)中的学习数据之间的偏差。
5数据库层异常分数:
另一方面,数据库层异常分数是由数据库层异常检测器84计算的。类似的学习与检测机制适用于数据库层520,所不同的是需要将Web应用层510的分类对应到数据库层520。图10就有这样的一个例子。在图10中,Web应用层510中的脚本515关联到数据库表525中的列或对象。箭头表示的是关联的例子。例如,脚本515中的用户是对应到数据库表525中是一个执行SQL操作的数据库用户。脚本515中的动作对应到相应的数据库对象操作如选择(Select)、***(Insert)、删除(Delete)或更新(Upadte)或创建(Create)。脚本中的目标对象是指被访问的表和视图。状态码表示访问是否成功。
在干净环境中学习和采集数据后,每个实时数据都会产生一个异常分数,通过与神经网络64中的正常数据对比得到,Web应用层510和数据库层520中交替进行。
WEB层异常侦测器82和数据库层异常检测器84会产生自身的异常分数,以便最大程度描述攻击行为。接着,由WEB层与数据库层关联器86计算出一个联合分数。应用层异常分数与数据库异常分数关联得到的关联分数提供了一个更准确的检测方法,并且误告警率很低。事实上输入的用户参数是各式各样的、不可预期的,而且数据库层的行为很难用特征来描述,因此单一层面的分数往往会导致较高的误告警率。有很多的算法可以用来产生两层之间的关联分数。比如,如果两个分数都很高,那么(结果)关联分数必须是高的。同样地,如果两个分数都很低,那么(结果)关联分数就必须是低的。一种可行的关联分数计算方程式Eq.(2)如下:
S=S1 x S2/(S1+S2)      Eq.(2)
其中,S1表示为网络WEB应用层异常分数;S2表示数据库层异常分数。这个公式可以根据需要进行修改,只要其输出是表示两层的关联即可。
上面的例子被用来描述相关的CGI。然而,***10可以被配置用来检测跨站脚本。
具体说来,上述功能可以通过硬件、软件、软/硬件一体件或者其他任何组合实现。如果以软件方式实现,这些功能可以以一系列的指令或代码形式储存或传输于可读的计算机介质之中。计算机可读介质包括计算机存储介质和将计算机程序从一个地方转移到另一个地方的传输介质。存储介质可以是任何一个可以被计算机访问到的有用介质。比如包括但不限于RAM、ROM、EEPROM、CD-ROM或其他光盘阵列、磁盘阵列和其他磁盘存储设备,或者任何可以用来装载或存储想要的指令或数据结构的可被计算机访问到的介质。同样,存储介质可以采用任意的连接方式。例如,如果软件是从网站、服务器或者其他使用同轴电缆、光纤电缆、双绞线、数字用户线或者无线技术(如红外线、电波和微波)传输的远程资源上传送过来的,那么同轴电缆、光纤电缆、双绞线、数字用户线或者无线技术(如红外线、电波和微波)都属于介质的范畴。目前常用的磁盘和唱片还包括CD,激光影碟、数字通用盘(DVD)、软盘和通常用磁场复制数据的磁盘,与用激光复制数据的圆盘。上面所述的任意组合都属于计算机可读介质范畴。
先前有关信息披露的描述是为了让所有在这个领域的专家能够处理或使用这些漏洞。对于那些专家来说很容易就能辨别出上述实例的各种变化,本文定义的基本原则同样适用于没有超出漏洞本质和范围的其他案例。因此,漏洞并没有规定要局限于本文所描述的案例,但是它在广义的范畴上必须与文本的原则和异常特征相一致。

Claims (43)

1.SQL注入WEB攻击的实时入侵检测***,其特征在于:包括
为网站提供学习正常数据库和Web应用标准查询语句(SQL)查询数据的方法;
为网站提供捕获实时数据库和Web应用SQL查询数据的方法;
基于正常数据库和Web应用SQL访问数据与实时数据库和Web应用SQL访问数据的典型SQL注入攻击检测方法。
2.根据权利要求1所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,学习的方法包括:
测定数据库层属性的方法;和
测定Web应用层属性的方法。
3.根据权利要求2所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,测定数据库层属性的方法:侦听网站的WEB服务器与数据库之间流量。
4.根据权利要求2所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,测定数据库层属性的方法:从数据库审计特征中获得数据库层属性。
5.根据权利要求2所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,测定数据库层属性的方法:采集该网站发起的SQL操作数据。
6.根据权利要求2所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,数据库层属性包括:用户数据、操作数据、目标对象数据和状态码数据。
7.根据权利要求6所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,Web应用层属性至少包括状态码、网站请求流量、网站返回流量和值长度。
8.根据权利要求1所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,检测的方法包括:
基于正常Web应用SQL访问数据和实时Web应用SQL访问数据产生第一个异常分数的方法。
基于正常数据库SQL访问数据和实时数据库SQL访问数据产生第二个异常分数的方法。
第一个异常分数与第二个异常分数关联的方法。
9.根据权利要求8所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,根据第一个异常分数(S1)和第二个异常分数(S2),采用如下公式测定关联分数(S)的方法:
S=S1 x S2/(S1+S2)2 。
10.根据权利要求1所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,检测方法适用于检测0-daySQL注入攻击。
11.根据权利要求1所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,所述的***无法预知类似的攻击特征/攻击模式。
12.一个计算机程序产品包含了带有指令的计算机可读介质,其特征在于,可以使计算机:
从网站访问数据学习正常数据库和Web应用标准查询语句(SQL)的模型。
为网站捕获实时数据库和网站应用SQL访问数据。
基于正常数据库和Web应用SQL访问数据与实时数据库和Web应用SQL访问数据检测的异常的典型SQL注入攻击。
13.根据权利要求12所述的计算机程序产品,其特征在于,学习指令可以使计算机执行以下操作:
测定数据库层属性;和
测定Web应用层属性。
14.根据权利要求13所述的计算机程序产品,其特征在于,测定数据库层属性的指令可以使计算机执行以下操作:
侦听网站的WEB服务器与数据库间的流量。
15.根据权利要求13所述的计算机程序产品,其特征在于,测定数据库层属性的指令可以使计算机执行以下操作:
从数据库审计特征中获取数据库层属性。
16.根据权利要求13所述的计算机程序产品,其特征在于,测定数据库层属性的指令可以使计算机执行以下操作:
采集网站发起的SQL操作数据。
17.根据权利要求13所述的计算机程序产品,其特征在于,数据库层属性包括用户数据、操作数据、目标对象数据和状态码数据。
18.根据权利要求17所述的计算机程序产品,其特征在于,Web应用***属性至少包括状态码、网站请求流量、网站返回流量和值长度。
19.根据权利要求12所述的计算机程序产品,其特征在于,检测指令可以使计算机执行以下操作:
基于正常Web应用SQL访问数据和实时Web应用SQL访问数据产生第一个异常分数。
基于正常数据库SQL访问数据和实时数据库SQL访问数据产生第二个异常分数。
第一个异常分数与第二个异常分数进行关联。
20.根据权利要求19所述的计算机程序产品,其特征在于,关联指令可以使计算机执行以下操作:
根据第一个异常分数(S1)和第二个异常分数(S2),采用如下公式测定关联分数(S):
S=S1 x S2/(S1+S2). 。
21.根据权利要求12所述的计算机程序产品,其特征在于,检测指令适用于检测0-daySQL注入攻击。
22.根据权利要求12所述的计算机程序产品,其特征在于,检测指令无法预知类似的攻击特征/攻击模式。
23.检测方法由以下步骤组成:
从网站访问数据学习正常数据库和Web应用标准查询语句(SQL)的模型。
为网站捕获实时数据库和网站应用SQL访问数据。
基于正常数据库和Web应用SQL访问数据与实时数据库和Web应用SQL访问数据检测的异常的典型SQL注入攻击。
24.根据权利要求23所述的检测方法,其特征在于,学习步骤包括:
测定数据库层属性;和
测定Web应用层属性。
25.根据权利要求24所述的检测方法,其特征在于,测定数据库层属性的步骤包含了:侦听网站的WEB服务器与数据库间的流量。
26.根据权利要求24所述的检测方法,其特征在于,测定数据库层属性的步骤包括了:从数据库审计特征获取数据库层属性。
27.根据权利要求24所述的检测方法,其特征在于,测定数据库层属性的步骤包括了:采集网站发起的SQL操作数据。
28.根据权利要求24所述的检测方法,其特征在于,数据库层属性包括用户数据、操作数据、目标对象数据和状态码数据。
29.根据权利要求28所述的检测方法,其特征在于,Web应用层的属性至少包含状态码、网站请求流量、网站返回流量和值长度。
30.根据权利要求23所述的检测方法,其特征在于,检测步骤包括:
基于正常Web应用SQL访问数据和实时Web应用SQL访问数据产生第一个异常分数。
基于正常数据库SQL访问数据和实时数据库SQL访问数据产生第二个异常分数。
第一个异常分数与第二个异常分数进行关联。
31.根据权利要求30所述的检测方法,其特征在于,关联步骤包括根据第一个异常分数(S1)和第二个异常分数(S2),采用如下公式测定关联分数(S):
S=S1 x S2/(S1+S2). 。
32.根据权利要求23所述的检测方法,其特征在于,检测步骤包含了检测0-daySQL注入攻击。
33.SQL注入WEB攻击的实时入侵检测***,其特征在于:
一个可以执行一系列指令的可操作处理器,即在学习模式下学习网站的正常数据库和Web应用标准查询语句(SQL)的访问数据;在侦查模式下捕获网站的实时数据库和Web应用SQL访问数据;基于正常数据库和Web应用SQL访问数据与实时数据库和Web应用SQL访问数据在检测模式下检测异常的典型SQL注入攻击;
与处理器相连的存储器用于保存学习模式和检测模式下的结果。
34.根据权利要求33所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,可控处理器可以配置用于执行一系列的指令来测定数据库层属性和测定Web应用层属性,采用学习或捕获模式是可控的。
35.根据权利要求34所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,可控处理器在测定数据库层属性时,还可以进一步配置成通过侦听WEB服务器和数据库之间的网站流量实现。
36.根据权利要求34所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,可控处理器在测定数据库层属性时,还可以进一步配置成从数据库审计特征中获取数据库层属性。
37.根据权利要求34所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,可控处理器在测定数据库层属性时,还可以进一步配置成通过采集网站发起的SQL操作数据实现。
38.根据权利要求34所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,数据库层属性包括用户数据、操作数据、目标对象数据和状态码数据。
39.根据权利要求38所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,Web应用层属性至少包含状态码、网站请求流量、网站返回流量和值长度。
40.根据权利要求33所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,可控处理器在执行检测操作时可以进一步配置为:
基于正常Web应用SQL访问数据和实时Web应用SQL访问数据产生第一个异常分数。
基于正常数据库SQL访问数据和实时数据库SQL访问数据产生第二个异常分数。
第一个异常分数与第二个异常分数进行关联。
41.根据权利要求40所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,可控处理器可以进一步配置如下:
根据第一个异常分数(S1)和第二个异常分数(S2),采用如下公式测定关联分数(S):
S=S1 x S2/(S1+S2). 。
42.根据权利要求33所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,可控检测处理器适用于检测0-day SQL注入攻击。
43.根据权利要求33所述的SQL注入WEB攻击的实时入侵检测***,其特征在于,指令无法预知类似攻击的特征/攻击模式。
CN2008100021680A 2007-08-13 2008-01-11 Sql注入web攻击的实时入侵检测*** Active CN101370008B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/891,612 2007-08-13
US11/891,612 US20090049547A1 (en) 2007-08-13 2007-08-13 System for real-time intrusion detection of SQL injection web attacks

Publications (2)

Publication Number Publication Date
CN101370008A true CN101370008A (zh) 2009-02-18
CN101370008B CN101370008B (zh) 2012-01-04

Family

ID=40364073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100021680A Active CN101370008B (zh) 2007-08-13 2008-01-11 Sql注入web攻击的实时入侵检测***

Country Status (2)

Country Link
US (1) US20090049547A1 (zh)
CN (1) CN101370008B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136051A (zh) * 2011-05-06 2011-07-27 南开大学 一种应用SGM-SQL注入模型驱动web应用渗透测试的方法
CN102291394A (zh) * 2011-07-22 2011-12-21 网宿科技股份有限公司 基于网络加速设备的安全防御***
CN102341703A (zh) * 2009-03-04 2012-02-01 日本电气株式会社 诊断成像支持设备、诊断成像支持方法和存储介质
CN103001946A (zh) * 2012-10-31 2013-03-27 北京奇虎科技有限公司 网站安全检测方法、设备和***
CN103166966A (zh) * 2013-03-07 2013-06-19 星云融创(北京)信息技术有限公司 识别对网站的非法访问请求的方法及装置
CN103297394A (zh) * 2012-02-24 2013-09-11 阿里巴巴集团控股有限公司 网站安全检测方法和装置
CN104008349A (zh) * 2014-04-28 2014-08-27 国家电网公司 数据库安全访问控制方法和***
CN104516882A (zh) * 2013-09-26 2015-04-15 国际商业机器公司 确定sql语句的危害度的方法和设备
CN105281981A (zh) * 2015-11-04 2016-01-27 北京百度网讯科技有限公司 网络服务的数据流量监控方法和装置
CN105812200A (zh) * 2014-12-31 2016-07-27 ***通信集团公司 异常行为检测方法及装置
CN106663166A (zh) * 2014-07-07 2017-05-10 日本电信电话株式会社 检测装置、检测方法以及检测程序
CN106845237A (zh) * 2017-01-23 2017-06-13 北京安华金和科技有限公司 一种基于sql语句的sql注入风险评估方法
CN107203718A (zh) * 2017-06-15 2017-09-26 深信服科技股份有限公司 一种sql命令注入的检测方法及***
CN107342968A (zh) * 2016-05-03 2017-11-10 阿里巴巴集团控股有限公司 网页服务器的攻击检测方法、装置及***
CN107563197A (zh) * 2017-08-30 2018-01-09 杭州安恒信息技术有限公司 一种针对数据库层的拖库撞库攻击防御方法
CN107566363A (zh) * 2017-08-30 2018-01-09 杭州安恒信息技术有限公司 一种基于机器学习的sql注入攻击防护方法
CN108600197A (zh) * 2018-04-04 2018-09-28 四川长虹电器股份有限公司 可自动学习更新的特征码阻断文件上传防御***及方法
CN109818954A (zh) * 2019-01-22 2019-05-28 深信服科技股份有限公司 Web注入型攻击检测方法、装置、电子设备及存储介质
CN110135166A (zh) * 2019-05-08 2019-08-16 北京国舜科技股份有限公司 一种针对业务逻辑漏洞攻击的检测方法及***
CN110188116A (zh) * 2019-04-10 2019-08-30 口碑(上海)信息技术有限公司 核对脚本的处理方法及装置、存储介质、电子装置

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010522B2 (en) * 2007-12-07 2011-08-30 International Business Machines Corporation System, method and program product for detecting SQL queries injected into data fields of requests made to applications
US8601586B1 (en) * 2008-03-24 2013-12-03 Google Inc. Method and system for detecting web application vulnerabilities
US8225402B1 (en) * 2008-04-09 2012-07-17 Amir Averbuch Anomaly-based detection of SQL injection attacks
US20090282480A1 (en) * 2008-05-08 2009-11-12 Edward Lee Apparatus and Method for Monitoring Program Invariants to Identify Security Anomalies
WO2010011411A1 (en) * 2008-05-27 2010-01-28 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for detecting network anomalies
JP4669053B2 (ja) * 2008-09-29 2011-04-13 株式会社半導体理工学研究センター 情報処理装置、情報処理方法及びこれを実現させるためのプログラム
US8745361B2 (en) * 2008-12-02 2014-06-03 Microsoft Corporation Sandboxed execution of plug-ins
US8365290B2 (en) * 2009-05-15 2013-01-29 Frederick Young Web application vulnerability scanner
US8504876B2 (en) * 2010-04-30 2013-08-06 The Mitre Corporation Anomaly detection for database systems
US8839441B2 (en) * 2010-06-28 2014-09-16 Infosys Limited Method and system for adaptive vulnerability scanning of an application
US9613099B2 (en) * 2010-10-12 2017-04-04 Qualys, Inc. Dynamic hierarchical tagging system and method
US8578487B2 (en) * 2010-11-04 2013-11-05 Cylance Inc. System and method for internet security
US9116717B2 (en) 2011-05-27 2015-08-25 Cylance Inc. Run-time interception of software methods
US9525642B2 (en) 2012-01-31 2016-12-20 Db Networks, Inc. Ordering traffic captured on a data connection
TWI545460B (zh) 2012-08-31 2016-08-11 萬國商業機器公司 轉換一腳本語言中使用者輸入資料的方法、電腦裝置與程式產品
KR101239401B1 (ko) * 2012-10-05 2013-03-06 강명훈 보안 시스템의 로그 분석 시스템 및 방법
US20140114442A1 (en) * 2012-10-22 2014-04-24 The Boeing Company Real time control system management
WO2014110281A1 (en) * 2013-01-11 2014-07-17 Db Networks, Inc. Systems and methods for detecting and mitigating threats to a structured data storage system
US9027137B2 (en) 2013-04-22 2015-05-05 Imperva, Inc. Automatic generation of different attribute values for detecting a same type of web application layer attack
US11100218B2 (en) 2014-01-20 2021-08-24 Prevoty, Inc. Systems and methods for improving accuracy in recognizing and neutralizing injection attacks in computer services
US10002254B2 (en) 2014-01-20 2018-06-19 Prevoty, Inc. Systems and methods for SQL type evaluation to detect evaluation flaws
US10025936B2 (en) 2014-01-20 2018-07-17 Prevoty, Inc. Systems and methods for SQL value evaluation to detect evaluation flaws
CN104113598A (zh) * 2014-07-21 2014-10-22 蓝盾信息安全技术有限公司 一种数据库三层审计的方法
CN105512559B (zh) * 2014-10-17 2019-09-17 阿里巴巴集团控股有限公司 一种用于提供访问页面的方法与设备
US9584536B2 (en) 2014-12-12 2017-02-28 Fortinet, Inc. Presentation of threat history associated with network activity
WO2017049254A1 (en) * 2015-09-18 2017-03-23 Prevoty, Inc. Systems and methods for sql type and/or value evaluation to detect evaluation flaws
US10043026B1 (en) * 2015-11-09 2018-08-07 8X8, Inc. Restricted replication for protection of replicated databases
US10311230B2 (en) * 2016-12-24 2019-06-04 Cisco Technology, Inc. Anomaly detection in distributed ledger systems
CN107122658A (zh) * 2017-05-08 2017-09-01 四川长虹电器股份有限公司 具有自动学习功能的数据库防御***及方法
US11374971B2 (en) * 2018-08-24 2022-06-28 Micro Focus Llc Deception server deployment
CN109873833B (zh) * 2019-03-11 2021-08-03 浙江工业大学 一种基于卡方距离knn的数据注入攻击检测方法
US11086948B2 (en) 2019-08-22 2021-08-10 Yandex Europe Ag Method and system for determining abnormal crowd-sourced label
US11710137B2 (en) 2019-08-23 2023-07-25 Yandex Europe Ag Method and system for identifying electronic devices of genuine customers of organizations
US11108802B2 (en) * 2019-09-05 2021-08-31 Yandex Europe Ag Method of and system for identifying abnormal site visits
RU2757007C2 (ru) 2019-09-05 2021-10-08 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для определения вредоносных действий определенного вида
US11334559B2 (en) 2019-09-09 2022-05-17 Yandex Europe Ag Method of and system for identifying abnormal rating activity
US11128645B2 (en) 2019-09-09 2021-09-21 Yandex Europe Ag Method and system for detecting fraudulent access to web resource
RU2752241C2 (ru) 2019-12-25 2021-07-23 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для выявления вредоносной активности предопределенного типа в локальной сети
RU2758359C1 (ru) * 2020-06-19 2021-10-28 Акционерное общество "Лаборатория Касперского" Система и способ выявления массовых мошеннических активностей при взаимодействии пользователей с банковскими сервисами
CN113791943A (zh) * 2020-11-12 2021-12-14 北京沃东天骏信息技术有限公司 网站实时监控方法、***、设备及存储介质
CN113746818B (zh) * 2021-08-23 2023-03-24 国网山东省电力公司济南供电公司 针对虚假数据注入攻击的电力***安全防御方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100518076C (zh) * 2004-01-02 2009-07-22 联想(北京)有限公司 日志统计方法和***
US7752662B2 (en) * 2004-02-20 2010-07-06 Imperva, Inc. Method and apparatus for high-speed detection and blocking of zero day worm attacks
US20050203921A1 (en) * 2004-03-11 2005-09-15 Newman Aaron C. System for protecting database applications from unauthorized activity
JP4327698B2 (ja) * 2004-10-19 2009-09-09 富士通株式会社 ネットワーク型ウィルス活動検出プログラム、処理方法およびシステム
US7356545B2 (en) * 2004-12-22 2008-04-08 Oracle International Corporation Enabling relational databases to incorporate customized intrusion prevention policies
US20060212438A1 (en) * 2005-03-16 2006-09-21 Ming Sum Sam Ng SQL injection protection by variable normalization
US7558796B1 (en) * 2005-05-19 2009-07-07 Symantec Corporation Determining origins of queries for a database intrusion detection system
US7774361B1 (en) * 2005-07-08 2010-08-10 Symantec Corporation Effective aggregation and presentation of database intrusion incidents
US7690037B1 (en) * 2005-07-13 2010-03-30 Symantec Corporation Filtering training data for machine learning
US7640235B2 (en) * 2005-12-12 2009-12-29 Imperva, Inc. System and method for correlating between HTTP requests and SQL queries
WO2007100916A2 (en) * 2006-02-28 2007-09-07 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for outputting a dataset based upon anomaly detection
CN1866817A (zh) * 2006-06-15 2006-11-22 北京华景中天信息技术有限公司 网站安全风险评估方法和***
US8051486B2 (en) * 2007-05-24 2011-11-01 Oracle International Corporation Indicating SQL injection attack vulnerability with a stored value

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102341703A (zh) * 2009-03-04 2012-02-01 日本电气株式会社 诊断成像支持设备、诊断成像支持方法和存储介质
CN102341703B (zh) * 2009-03-04 2015-10-07 日本电气株式会社 诊断成像支持设备、诊断成像支持方法和存储介质
US8787636B2 (en) 2009-03-04 2014-07-22 Nec Corporation Diagnostic imaging support in which image data of high magnification is generated to image data of low magnification for classification thereof
CN102136051A (zh) * 2011-05-06 2011-07-27 南开大学 一种应用SGM-SQL注入模型驱动web应用渗透测试的方法
CN102291394B (zh) * 2011-07-22 2014-06-11 网宿科技股份有限公司 基于网络加速设备的安全防御***
CN102291394A (zh) * 2011-07-22 2011-12-21 网宿科技股份有限公司 基于网络加速设备的安全防御***
CN103297394A (zh) * 2012-02-24 2013-09-11 阿里巴巴集团控股有限公司 网站安全检测方法和装置
CN103297394B (zh) * 2012-02-24 2016-12-14 阿里巴巴集团控股有限公司 网站安全检测方法和装置
CN103001946A (zh) * 2012-10-31 2013-03-27 北京奇虎科技有限公司 网站安全检测方法、设备和***
CN103166966A (zh) * 2013-03-07 2013-06-19 星云融创(北京)信息技术有限公司 识别对网站的非法访问请求的方法及装置
CN103166966B (zh) * 2013-03-07 2015-12-09 星云融创(北京)科技有限公司 识别对网站的非法访问请求的方法及装置
CN104516882B (zh) * 2013-09-26 2018-02-06 国际商业机器公司 确定sql语句的危害度的方法和设备
CN104516882A (zh) * 2013-09-26 2015-04-15 国际商业机器公司 确定sql语句的危害度的方法和设备
CN104008349A (zh) * 2014-04-28 2014-08-27 国家电网公司 数据库安全访问控制方法和***
CN106663166A (zh) * 2014-07-07 2017-05-10 日本电信电话株式会社 检测装置、检测方法以及检测程序
CN105812200A (zh) * 2014-12-31 2016-07-27 ***通信集团公司 异常行为检测方法及装置
CN105812200B (zh) * 2014-12-31 2019-09-13 ***通信集团公司 异常行为检测方法及装置
CN105281981A (zh) * 2015-11-04 2016-01-27 北京百度网讯科技有限公司 网络服务的数据流量监控方法和装置
CN105281981B (zh) * 2015-11-04 2019-04-02 北京百度网讯科技有限公司 网络服务的数据流量监控方法和装置
CN107342968A (zh) * 2016-05-03 2017-11-10 阿里巴巴集团控股有限公司 网页服务器的攻击检测方法、装置及***
CN106845237A (zh) * 2017-01-23 2017-06-13 北京安华金和科技有限公司 一种基于sql语句的sql注入风险评估方法
CN107203718A (zh) * 2017-06-15 2017-09-26 深信服科技股份有限公司 一种sql命令注入的检测方法及***
CN107203718B (zh) * 2017-06-15 2021-05-04 深信服科技股份有限公司 一种sql命令注入的检测方法及***
CN107566363A (zh) * 2017-08-30 2018-01-09 杭州安恒信息技术有限公司 一种基于机器学习的sql注入攻击防护方法
CN107563197A (zh) * 2017-08-30 2018-01-09 杭州安恒信息技术有限公司 一种针对数据库层的拖库撞库攻击防御方法
CN108600197A (zh) * 2018-04-04 2018-09-28 四川长虹电器股份有限公司 可自动学习更新的特征码阻断文件上传防御***及方法
CN108600197B (zh) * 2018-04-04 2021-08-06 四川长虹电器股份有限公司 可自动学习更新的特征码阻断文件上传防御***及方法
CN109818954A (zh) * 2019-01-22 2019-05-28 深信服科技股份有限公司 Web注入型攻击检测方法、装置、电子设备及存储介质
CN109818954B (zh) * 2019-01-22 2021-08-13 深信服科技股份有限公司 Web注入型攻击检测方法、装置、电子设备及存储介质
CN110188116A (zh) * 2019-04-10 2019-08-30 口碑(上海)信息技术有限公司 核对脚本的处理方法及装置、存储介质、电子装置
CN110188116B (zh) * 2019-04-10 2020-11-10 口碑(上海)信息技术有限公司 核对脚本的处理方法及装置、存储介质、电子装置
CN110135166A (zh) * 2019-05-08 2019-08-16 北京国舜科技股份有限公司 一种针对业务逻辑漏洞攻击的检测方法及***
CN110135166B (zh) * 2019-05-08 2021-03-30 北京国舜科技股份有限公司 一种针对业务逻辑漏洞攻击的检测方法及***

Also Published As

Publication number Publication date
US20090049547A1 (en) 2009-02-19
CN101370008B (zh) 2012-01-04

Similar Documents

Publication Publication Date Title
CN101370008B (zh) Sql注入web攻击的实时入侵检测***
US11212299B2 (en) System and method for monitoring security attack chains
CN104767757B (zh) 基于web业务的多维度安全监测方法和***
CN107438079B (zh) 一种网站未知异常行为的检测方法
Ransbotham et al. Choice and chance: A conceptual model of paths to information security compromise
EP2676197B1 (en) System and methods for identifying compromised personally identifiable information on the internet
CN105933268A (zh) 一种基于全量访问日志分析的网站后门检测方法及装置
Najafabadi et al. User behavior anomaly detection for application layer ddos attacks
CN102594825B (zh) 一种内网木马的检测方法和装置
CN104954372B (zh) 一种钓鱼网站的取证与验证方法及***
CN106961419A (zh) WebShell检测方法、装置及***
CN105072089A (zh) 一种web恶意扫描行为异常检测方法与***
CN107454109A (zh) 一种基于http流量分析的网络窃密行为检测方法
CN105930727A (zh) 基于Web的爬虫识别算法
CN105491053A (zh) 一种Web恶意代码检测方法及***
CN101714272B (zh) 一种保护银行***及口令不被网络钓鱼网站窃取的方法
US9871826B1 (en) Sensor based rules for responding to malicious activity
CN106549959B (zh) 一种代理网际协议ip地址的识别方法及装置
CN101895516A (zh) 一种跨站脚本攻击源的定位方法及装置
CN107547490A (zh) 一种扫描器识别方法、装置及***
WO2017063274A1 (zh) 一种恶意跳转及恶意嵌套类不良网站的自动判定方法
CN115134099B (zh) 基于全流量的网络攻击行为分析方法及装置
CN112491784A (zh) Web网站的请求处理方法及装置、计算机可读存储介质
CN113691566A (zh) 基于空间测绘和网络流量统计的邮件服务器窃密检测方法
CN103118035A (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
CP03 Change of name, title or address

Address after: Hangzhou City, Zhejiang province 310051 Binjiang District and Zhejiang road in the 15 storey building

Patentee after: Hangzhou Annan information technology Limited by Share Ltd

Address before: 310053 room 311, No. 1, Binjiang District Weiye Road, Binjiang District, Hangzhou City, Zhejiang

Patentee before: Dbappsecurity Co.,ltd.

CP03 Change of name, title or address