一种注入攻击检测方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:21838701 阅读:31 留言:0更新日期:2019-08-10 20:23
本发明专利技术公开了一种注入攻击检测方法、装置、计算机设备及存储介质,该方法包括:步骤1、利用mysql查询正在执行的SQL语句;步骤2、将正在执行的SQL语句、IP、执行账号、SQL语句的执行时间存入本地日志文件;步骤3、将本地日志文件准实时的发送至elasticsearch日志服务器进行存储;步骤4、对elasticsearch日志服务器的信息进行读取,并匹配不安全的SQL语句;步骤5、将不安全的SQL语句的信息发送至安全人员进行人工识别,确认;步骤6、确认漏洞位置。本发明专利技术还公开了一种注入攻击检测装置,包括查询模块、存储模块、SQL注入攻击检测模块和漏洞确认模块,以及用于实现上述方法的计算机设备及存储介质。本方法具有准确率高,易于部署,兼容性好,性能开销小的优点。

An Injection Attack Detection Method, Device, Computer Equipment and Storage Media

【技术实现步骤摘要】
一种注入攻击检测方法、装置、计算机设备及存储介质
本专利技术涉及网络安全
,尤其涉及一种注入攻击检测方法、装置、计算机设备及存储介质。
技术介绍
随着互联网与大数据的不断发展,网络深入到人们生活的各个领域中,渐渐成为一个无法取代的角色。海量、多变、井喷式增长的数据可以持续通过网络融入至人们的日常生活,给人们的生活带来了巨大的便利。但与此同时,在利益驱使下,一些网络攻击者往往利用网络谋取私利,给网络用户造成经济损失,影响公司的正常运作,甚至造成社会管理混乱。因此,在用户提交请求时检测并阻止攻击者的恶意请求已成为保护网站安全的重要措施。相关技术中的网络攻击检测方法主要包括漏洞检测和Web防御。漏洞检测是先于攻击者找到网站的漏洞并进行修复的方式,一般是通过渗透测试对网站进行漏洞检测。渗透测试结合了多方面的技术,一般分为信息收集、漏洞扫描、漏洞利用、获取权限、日志审计与渗透报告等步骤。渗透测试具有不完整性,不能够保证测试到网站的每一个网页,并且很难检测到新出现的攻击方式。Web防御是在URL传输阶段对URL的合法性进行一系列的检测方法,以防范不良输入。Web防御手段一般包括过滤、数据转义加密、屏蔽信息、检测防范模型等。检测防范模型是指在用户和服务器之间建立的检测机制,对用户提交的URL进行检测,防范入侵攻击。传统的检测防范模型主要是基于正则表达式的模式匹配,但仅仅依靠敏感词匹配已经难以抵御不断更新的入侵攻击,不断更换新的检测防范方式对于网站开发人员来说工作量较大,并且在时间上很难及时根据新出现的攻击方法做出应对的检测防护策略。根据OWASP(全球性安全组织)统计,从2013年开始SQL注入攻击一直是web攻击类型中占比最高的一种攻击类型,SQL注入攻击由于其攻击成本低、危害大,所以大量的数据泄露问题均由此类安全问题导致。所以各个企业和公司引入了各种技术手段来检测和防御此类问题。目前对于SQL注入攻击主要由两种检测方式,一种是通过web请求的特征字符串进行识别然后结合响应的时间和响应的内容判断问题是否真实存在,由于响应内容参差不齐、影响响应时间的因素也很多,所以此方法误报率很高。第二种是通过数据库代理的方式,实时对所有发送给mysql服务器执行的语句进行安全检测,此方法准确率很高,但是此方法受限于系统架构,对现有应用系统的兼容性很差,同时存在很大的性能开销,所以很难被业务接受。
技术实现思路
针对现有技术中的缺陷,本专利技术的所要解决的技术问题是如何提供一种准确率高,易于部署,兼容性好,性能开销小的注入攻击检测方法、装置、计算机设备及存储介质。为了解决上述技术问题,本专利技术采用了如下技术方案:一种注入攻击检测方法,该方法应用于注入攻击检测装置中,所述注入攻击检测装置包括查询模块、存储模块、SQL注入攻击检测模块和漏洞确认模块,该方法包括以下步骤:步骤1、查询模块利用mysql服务器自带的showprocesslist查询正在执行的SQL语句;步骤2、存储模块将步骤1提取的正在执行的SQL语句、IP、执行账号、SQL语句的执行时间存入本地日志文件;步骤3、SQL注入攻击检测模块利用kafka将本地日志文件发送至elasticsearch日志服务器进行存储;步骤4、SQL注入攻击检测模块对elasticsearch日志服务器的信息进行读取,并通过正则表达式匹配不安全的SQL语句;步骤5、SQL注入攻击检测模块将步骤4中通过正则表达式匹配的不安全的SQL语句的信息通过邮件发送至安全人员进行人工识别,确认不安全的SQL语句;步骤6、漏洞确认模块根据不安全的SQL语句的关键字以及SQL语句的执行时间查询web日志,确认漏洞位置。进一步的,步骤4中,对elasticsearch日志的信息进行读取利用Python语言编写的脚本进行。进一步的,步骤3中,所述Python语言编写的脚本以轮训的方式对elasticsearch日志的信息进行读取。进一步的,步骤2中,对正在执行的SQL语句进行base64编码。进一步的,该方法还包括步骤7,利用操作安全产品封堵漏洞。进一步的,步骤4中,先对SQL语句进行base64解密,再利用正则表达式匹配不安全的SQL语句。进一步的,步骤3中,利用kafka将本地日志文件准实时的发送至elasticsearch日志服务器进行存储。一种注入攻击检测装置,该检测装置用于实现所述的攻击检测方法,该检测装置包括查询模块、存储模块、SQL注入攻击检测模块和漏洞确认模块;所述查询模块,用于利用mysql服务器自带的showprocesslist查询正在执行的SQL语句,将正在执行的SQL语句、IP、执行账号、SQL语句的执行时间存入本地日志文件;所述存储模块,利用kafka将本地日志文件发送至elasticsearch日志服务器进行存储;所述SQL注入攻击检测模块,用于对elasticsearch日志服务器的信息进行读取,并通过正则表达式匹配不安全的SQL语句,并将通过正则表达式匹配的不安全的SQL语句的信息通过邮件发送至安全人员进行人工识别,确认不安全的SQL语句;所述漏洞确认模块,用于根据不安全的SQL语句的关键字以及SQL语句的执行时间查询web日志,确认漏洞位置。一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的攻击检测方法。一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的攻击检测方法。本专利技术的有益效果体现在:1、对SQL注入攻击检测准确率高,误报率低,效率高,只需要对最终进入mysql服务器执行的SQL语句进行分析。2、该检测方法对应用无性能损耗,采用分布式异步准实时处理,准确率高。3、部署方便,支持分布式部署,对应用无依赖和修改。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。图1为本专利技术提出的一种注入攻击检测方法的检测流程图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。在本专利技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。应当理解,尽管在本专利技术实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本专利技术实施本文档来自技高网
...

【技术保护点】
1.一种注入攻击检测方法,该方法应用于注入攻击检测装置中,所述注入攻击检测装置包括查询模块、存储模块、SQL注入攻击检测模块和漏洞确认模块,其特征在于,该方法包括以下步骤:步骤1、查询模块利用mysql服务器自带的show processlist查询正在执行的SQL语句;步骤2、存储模块将步骤1提取的正在执行的SQL语句、IP、执行账号、SQL语句的执行时间存入本地日志文件;步骤3、SQL注入攻击检测模块利用kafka将本地日志文件发送至elasticsearch日志服务器进行存储;步骤4、SQL注入攻击检测模块对elasticsearch日志服务器的信息进行读取,并通过正则表达式匹配不安全的SQL语句;步骤5、SQL注入攻击检测模块将步骤4中通过正则表达式匹配的不安全的SQL语句的信息通过邮件发送至安全人员进行人工识别,确认不安全的SQL语句;步骤6、漏洞确认模块根据不安全的SQL语句的关键字以及SQL语句的执行时间查询web日志,确认漏洞位置。

【技术特征摘要】
1.一种注入攻击检测方法,该方法应用于注入攻击检测装置中,所述注入攻击检测装置包括查询模块、存储模块、SQL注入攻击检测模块和漏洞确认模块,其特征在于,该方法包括以下步骤:步骤1、查询模块利用mysql服务器自带的showprocesslist查询正在执行的SQL语句;步骤2、存储模块将步骤1提取的正在执行的SQL语句、IP、执行账号、SQL语句的执行时间存入本地日志文件;步骤3、SQL注入攻击检测模块利用kafka将本地日志文件发送至elasticsearch日志服务器进行存储;步骤4、SQL注入攻击检测模块对elasticsearch日志服务器的信息进行读取,并通过正则表达式匹配不安全的SQL语句;步骤5、SQL注入攻击检测模块将步骤4中通过正则表达式匹配的不安全的SQL语句的信息通过邮件发送至安全人员进行人工识别,确认不安全的SQL语句;步骤6、漏洞确认模块根据不安全的SQL语句的关键字以及SQL语句的执行时间查询web日志,确认漏洞位置。2.根据权利要求1所述的注入攻击检测方法,其特征在于,步骤4中,对elasticsearch日志的信息进行读取利用Python语言编写的脚本进行。3.根据权利要求2所述的注入攻击检测方法,其特征在于,步骤3中,所述Python语言编写的脚本以轮训的方式对elasticsearch日志的信息进行读取。4.根据权利要求1所述的注入攻击检测方法,其特征在于,步骤2中,对正在执行的SQL语句进行base64编码。5.根据权利要求1所述的注入攻击检测方法,其特征在于,该方法还包括步骤7,利用操作安全产品封堵漏洞。6.根...

【专利技术属性】
技术研发人员:陈继安王宗锐文立乾
申请(专利权)人:极智上海企业管理咨询有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1