基于正则匹配的网络攻击检测方法及装置的制造方法

文档序号:10597208阅读:212来源:国知局
基于正则匹配的网络攻击检测方法及装置的制造方法【专利摘要】本发明公开了一种基于正则匹配的网络攻击检测方法及装置,涉及网络安全
技术领域
,解决了无法有效检测和阻断Web攻击数据。本发明的主要技术方案为:接收用户发送的网络访问请求;根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串;若包含,则确定所述用户发送的网络访问请求为网络攻击行为。本发明主要用于检测网络攻击行为。【专利说明】基于正则匹配的网络攻击检测方法及装置[0001]
技术领域
[0002]本发明涉及网络安全
技术领域
,尤其涉及一种基于正则匹配的网络攻击检测方法及装置。[0003]【
背景技术
】[0004]随着信息技术快速发展,互联网给人们的生活带来便利的同时也带来了新的安全挑战,当今网络安全问题已经不容忽视。早期的网络大部分为C/S结构,给用户提供信息服务。而今天大部分都实现了B/S结构,用户打开网页就可以购物,打开网站就可以购买股票、彩票甚至是捐助希望工程。当Web应用越来越为丰富的同时,Web服务器以其蕴含的高价值数据、较大影响力逐渐成为主要攻击目标。针对Web的入侵导致敏感数据泄漏、网页篡改造成恶劣的社会舆论影响、网页挂马造成用户受害等安全事件频繁发生。[0005]目前,通过网络流量数据来实现网络攻击的防御,但是该种入侵防御关注的是数据流的安全,对于应用层得到攻击,尤其是Web数据,都无法有效的检测和阻断。[0006]【
发明内容】[0007]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于正则匹配的网络攻击检测方法及装置。[0008]为达到上述目的,本发明主要提供如下技术方案:一方面,本发明实施例提供了一种基于正则匹配的网络攻击检测方法,该方法包括:接收用户发送的网络访问请求;根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串;若包含,则确定所述用户发送的网络访问请求为网络攻击行为。[0009]进一步地,所述接收用户发送的网络访问请求之后,所述方法还包括:获取所述网络访问请求中的同一资源定位符URL;对所述URL进行解码。[0010]具体的,所述根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据包括:将解码的URL和所述预置规则库中的正则表达式进行匹配;所述确定所述用户发送的网络访问请求为网络攻击行为包括:若所述解码的URL和所述预置规则库中的任一正则表达式匹配成功,则确定所述用户发送的网络访问请求为网络攻击行为。[0011]进一步地,所述确定所述用户发送的网络访问请求为网络攻击行为之后,所述方法还包括:获取所述网络攻击行为中的起始地理位置和目的地理位置;在电子地图中对应的位置显示所述网络攻击行为中的起始地理位置和目的地理位置。[0012]在本发明实施例中,所述预置的攻击字符串中包括但不限于结构化查询语言SQL攻击字符串、跨站脚本攻击XSS字符串。[0013]另一方面,本发明实施例还提供一种基于正则匹配的网络攻击检测装置,该装置包括:接收单元,用于接收用户发送的网络访问请求;判断单元,用于根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串;确定单元,若所述网络访问请求中包含攻击数据,则确定所述用户发送的网络访问请求为网络攻击行为。[0014]进一步地,所述装置还包括:获取单元,用于获取所述网络访问请求中的同一资源定位符URL;解码单元,用于对所述URL进行解码。[0015]所述判断单元,具体用于将解码的URL和所述预置规则库中的正则表达式进行匹配;所述确定单元,具体用于若所述解码的URL和所述预置规则库中的任一正则表达式匹配成功,则确定所述用户发送的网络访问请求为网络攻击行为。[0016]进一步地,所述装置还包括:显示单元;所述获取单元,还用于获取所述网络攻击行为中的起始地理位置和目的地理位置;所述显示单元,用于在电子地图中对应的位置显示所述网络攻击行为中的起始地理位置和目的地理位置。[0017]在本发明实施例中,所述预置的攻击字符串中包括但不限于结构化查询语言SQL攻击字符串、跨站脚本攻击XSS字符串。[0018]借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:本发明实施例提供的一种基于正则匹配的网络攻击检测方法及装置,首先接收用户发送的网络访问请求,然后根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串,若包含,则确定所述用户发送的网络访问请求为网络攻击行为。与目前通过网络流量数据实现网络攻击的防御相比,本发明实施例通过预置规则库中的正则表达式检测用户发送的网络访问请求是否为攻击行为,由于预置规则库中的正则表达式通过匹配URL的方式判断网络访问请求是否为攻击行为,因此通过本发明实施例可以有效的检测和阻断Web攻击数据。[0019]【附图说明】[0020]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本发明实施例提供的一种基于正则匹配的网络攻击检测方法流程图;图2为本发明实施例提供的另一种基于正则匹配的网络攻击检测方法流程图;图3为本发明实施例提供的一种基于正则匹配的网络攻击检测装置的组成框图;图4为本发明实施例提供的另一种基于正则匹配的网络攻击检测装置的组成框图。[0021]【具体实施方式】[0022]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。[0023]为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。[0024]本发明实施例提供了一种基于正则匹配的网络攻击检测方法,如图1所示,所述方法包括:101、接收用户发送的网络访问请求。[0025]其中,所述网络访问请求当中包括用户将要访问的网址,即网络访问请求中的URL(统一资源定位符)。[0026]102、根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据。[0027]其中,所述正则表达式中包含预置的攻击字符串,针对现有的数据库SQL注入攻击的攻击数据进行了分析,为了能够准确有效的防御SQL注入攻击,需要提取SQL攻击数据的关键字,也就是特征,来编写用于防御攻击预置规则库中中的正则表达式。[0028]例如,根据通用数据库语言SQL语句本身的特点,对URL中的敏感字段进行识别,攻击者在进行SQL注入攻击时,都会在URL中携带一些异常字段,比如“and1=1”、“or1=2”、“un1nselect”等。攻击者通过构造并提交包含这些敏感字段的URL,来判断网站是否存在SQL注入漏洞,从而继续其攻击行为:获取敏感数据、获取网站权限等。因此,分析得到的敏感关键字有:un1n、select、create、rename、truncate、load、alter、delete、update、insert、and、or、drop等。[0029]在本发明实施例中,考虑到Web应用系统开发者的个人习惯,在正常的URL中可能会出现提取到的敏感关键字,需要对这些关键字做进一步的处理分析。例如,攻击者想要通过注入获取到敏感的数据,那么必须要进行“select”操作,并且用“from”来指定目标,SP“select*from”的格式。攻击者想要利用“un1n”来快速获得敏感数据,必须要配合“select”来操作,“un1n”配合“select”有两种方法:“un1nselect”和,“un1nalIselect”;攻击者想要利用“create”创建数据库表或者数据库的时候,后面必须要说明创建的是表还是库,语法为:“createdatabasedatabasename”和“createtabletablename”;攻击者想要执行危险的“delete”操作必须要配合“from”,语法为“deletefrom”;攻击者想要执行危险的“drop”操作,必须要用要说明删除的是表还是库,语法为:“dropdatabasedatabasename”和“droptabletablename”;攻击者想要执行危险的“update”操作,则在“update”的表后面必须要指定字段内容语法为“updatetablenamesetcol=vale”。[0030]因此,通过以上分析,我们最终提取到的敏感语句包括:select*from、un1nallselect^un1nselect、createtable、createdatabase、delete氺from、droptable、dropdatabaseD其对应的正则表达式为:select\sfrom、un1n\sselect、create\stable、create\sdatabase、drop\stable、dro\sdatabase、update\ssetο[0031]103、若包含,则确定所述用户发送的网络访问请求为网络攻击行为。[0032]在本发明实施例中,若网络访问请求中包含攻击数据,则确定所述用户发送的网络访问请求为网络攻击行为。[0033]本发明实施例提供的一种基于正则匹配的网络攻击检测方法,首先接收用户发送的网络访问请求,然后根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串,若包含,则确定所述用户发送的网络访问请求为网络攻击行为。与目前通过网络流量数据实现网络攻击的防御相比,本发明实施例通过预置规则库中的正则表达式检测用户发送的网络访问请求是否为攻击行为,由于预置规则库中的正则表达式通过匹配URL的方式判断网络访问请求是否为攻击行为,因此通过本发明实施例可以有效的检测和阻断Web攻击数据。[0034]本发明实施例提供了另一种基于正则匹配的网络攻击检测方法,如图2所示,所述方法包括:201、接收用户发送的网络访问请求。[0035]在本发明实施例中,所述接收用户发送的网络访问请求之后,所述方法还包括:获取所述网络访问请求中的同一资源定位符URL,对所述URL进行解码。[0036]202、将解码的URL和所述预置规则库中的正则表达式进行匹配。[0037]其中,所述正则表达式中包含预置的攻击字符串,所述预置的攻击字符串中包括但不限于结构化查询语言SQL攻击字符串、跨站脚本攻击XSS字符串。[0038]需要说明的是,基本的XSS跨站脚本攻击的方式很简单,就是把构造好的脚本攻击代码嵌入到Web应用系统的访问页面里,随页面一起执行;XSS跨站脚本攻击的防御方法也一样简单,就是对输出到页面上的内容中特定字符进行转义或者过滤,使代码不能执行即可。针对出现在不同位置的用户输入内容,其处理策略有所不同。[0039]Web应用防火墙通过匹配XSS跨站脚本攻击的特征码可以做到有效的防御,阻断攻击者提交攻击代码到受攻击的Web应用系统上去。提取到的部分XSS跨站脚本攻击的敏感关HM.^-t-U/.丄\,,Ci//.丄\”UI丄,,U??U.η??U/ιn^/.:〈script〉、〈/script〉、alert、onerror、Iirame、<ahrei=、<img”“.”“?丄,,AA-src=、express1n、document寺0[0040]203、若所述解码的URL和所述预置规则库中的任一正则表达式匹配成功,则确定所述用户发送的网络访问请求为网络攻击行为。[0041]204、获取所述网络攻击行为中的起始地理位置和目的地理位置。[0042]205、在电子地图中对应的位置显示所述网络攻击行为中的起始地理位置和目的地理位置。[0043]在本发明实施例中,通过获取所述网络攻击行为中的起始地理位置和目的地理位置,并在电子地图中对应的位置显示所述网络攻击行为中的起始地理位置和目的地理位置,实现对网络攻击行为的展示,通过将网络攻击行为与可视化的电子地图相结合,直观地展示了网络攻击行为的发起地和目的地,并动态地将网络攻击行为展示为可视化信息,具有鲜明直接的有益效果,提高了用户的观感和体验。[0044]本发明实施例提供的另一种基于正则匹配的网络攻击检测方法,首先接收用户发送的网络访问请求,然后根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串,若包含,则确定所述用户发送的网络访问请求为网络攻击行为。与目前通过网络流量数据实现网络攻击的防御相比,本发明实施例通过预置规则库中的正则表达式检测用户发送的网络访问请求是否为攻击行为,由于预置规则库中的正则表达式通过匹配URL的方式判断网络访问请求是否为攻击行为,因此通过本发明实施例可以有效的检测和阻断Web攻击数据。[0045]进一步地,本发明实施例提供一种基于正则匹配的网络攻击检测装置,如图3所示,所述装置包括:接收单元31、判断单元32、确定单元33。[0046]接收单元31,用于接收用户发送的网络访问请求;判断单元32,用于根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串;确定单元33,若所述网络访问请求中包含攻击数据,则确定所述用户发送的网络访问请求为网络攻击行为。[0047]需要说明的是,本发明实施例提供的一种基于正则匹配的网络攻击检测装置所涉及各功能单元的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。[0048]本发明实施例提供的一种基于正则匹配的网络攻击检测装置,首先接收用户发送的网络访问请求,然后根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串,若包含,则确定所述用户发送的网络访问请求为网络攻击行为。与目前通过网络流量数据实现网络攻击的防御相比,本发明实施例通过预置规则库中的正则表达式检测用户发送的网络访问请求是否为攻击行为,由于预置规则库中的正则表达式通过匹配URL的方式判断网络访问请求是否为攻击行为,因此通过本发明实施例可以有效的检测和阻断Web攻击数据。[0049]进一步地,本发明实施例提供另一种基于正则匹配的网络攻击检测装置,如图4所示,所述装置包括:接收单元41、判断单元42、确定单元43。[0050]接收单元41,用于接收用户发送的网络访问请求;判断单元42,用于根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串;确定单元43,若所述网络访问请求中包含攻击数据,则确定所述用户发送的网络访问请求为网络攻击行为。[0051]进一步地,所述装置还包括:获取单元44,用于获取所述网络访问请求中的同一资源定位符URL;解码单元45,用于对所述URL进行解码。[0052]所述判断单元42,具体用于将解码的URL和所述预置规则库中的正则表达式进行匹配;所述确定单元43,具体用于若所述解码的URL和所述预置规则库中的任一正则表达式匹配成功,则确定所述用户发送的网络访问请求为网络攻击行为。[0053]进一步地,所述装置还包括:显示单元46;所述获取单元44,还用于获取所述网络攻击行为中的起始地理位置和目的地理位置;所述显示单元46,用于在电子地图中对应的位置显示所述网络攻击行为中的起始地理位置和目的地理位置。[0054]在本发明实施例中,所述预置的攻击字符串中包括但不限于结构化查询语言SQL攻击字符串、跨站脚本攻击XSS字符串。[0055]需要说明的是,本发明实施例提供的一种基于正则匹配的网络攻击检测装置所涉及各功能单元的其他相应描述,可以参考图2所示方法的对应描述,在此不再赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。[0056]本发明实施例提供的另一种基于正则匹配的网络攻击检测装置,首先接收用户发送的网络访问请求,然后根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串,若包含,则确定所述用户发送的网络访问请求为网络攻击行为。与目前通过网络流量数据实现网络攻击的防御相比,本发明实施例通过预置规则库中的正则表达式检测用户发送的网络访问请求是否为攻击行为,由于预置规则库中的正则表达式通过匹配URL的方式判断网络访问请求是否为攻击行为,因此通过本发明实施例可以有效的检测和阻断Web攻击数据。[0057]所述基于正则匹配的网络攻击检测装置包括处理器和存储器,上述接收单元、判断单元、确定单元、获取单元、解码单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。[0058]处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来效检测和阻断Web攻击数据。[0059]存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。[0060]本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:接收用户发送的网络访问请求;根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串;若包含,则确定所述用户发送的网络访问请求为网络攻击行为。[0061]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。[0062]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0063]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0064]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0065]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。[0066]存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。[0067]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(R0M)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0068]以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。【主权项】1.一种基于正则匹配的网络攻击检测方法,其特征在于,包括:接收用户发送的网络访问请求;根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串;若包含,则确定所述用户发送的网络访问请求为网络攻击行为。2.根据权利要求1所述的方法,其特征在于,所述接收用户发送的网络访问请求之后,所述方法还包括:获取所述网络访问请求中的同一资源定位符URL;对所述URL进行解码。3.根据权利要求2所述的方法,其特征在于,所述根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据包括:将解码的URL和所述预置规则库中的正则表达式进行匹配;所述确定所述用户发送的网络访问请求为网络攻击行为包括:若所述解码的URL和所述预置规则库中的任一正则表达式匹配成功,则确定所述用户发送的网络访问请求为网络攻击行为。4.根据权利要求3所述的方法,其特征在于,所述确定所述用户发送的网络访问请求为网络攻击行为之后,所述方法还包括:获取所述网络攻击行为中的起始地理位置和目的地理位置;在电子地图中对应的位置显示所述网络攻击行为中的起始地理位置和目的地理位置。5.根据权利要求1-4任一所述的方法,其特征在于,所述预置的攻击字符串中包括但不限于结构化查询语言SQL攻击字符串、跨站脚本攻击XSS字符串。6.—种基于正则匹配的网络攻击检测装置,其特征在于,包括:接收单元,用于接收用户发送的网络访问请求;判断单元,用于根据预置规则库中的正则表达式判断所述网络访问请求中是否包含攻击数据,所述正则表达式中包含预置的攻击字符串;确定单元,若所述网络访问请求中包含攻击数据,则确定所述用户发送的网络访问请求为网络攻击行为。7.根据权利要求6所述的装置,其特征在于,所述装置还包括:获取单元,用于获取所述网络访问请求中的同一资源定位符URL;解码单元,用于对所述URL进行解码。8.根据权利要求7所述的装置,其特征在于,所述判断单元,具体用于将解码的URL和所述预置规则库中的正则表达式进行匹配;所述确定单元,具体用于若所述解码的URL和所述预置规则库中的任一正则表达式匹配成功,则确定所述用户发送的网络访问请求为网络攻击行为。9.根据权利要求8所述的装置,其特征在于,所述装置还包括:显示单元;所述获取单元,还用于获取所述网络攻击行为中的起始地理位置和目的地理位置;所述显示单元,用于在电子地图中对应的位置显示所述网络攻击行为中的起始地理位置和目的地理位置。10.根据权利要求6-9任意所述的装置,其特征在于,所述预置的攻击字符串中包括但不限于结构化查询语言SQL攻击字符串、跨站脚本攻击XSS字符串。【文档编号】H04L29/06GK105959324SQ201610555955【公开日】2016年9月21日【申请日】2016年7月15日【发明人】傅涛,薛敏,孙文静,俞正兵【申请人】江苏博智软件科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1