一种基于机器学习的SQL注入攻击防护方法技术

技术编号:17011620 阅读:162 留言:0更新日期:2018-01-11 08:22
本发明专利技术涉及一种基于机器学习的SQL注入攻击防护方法,在客户端和数据库服务器间配置数据库防火墙设备,定义学习时间,利用数据库防火墙设备抓取并解析访问流量包;在学习时间内采集并分析SQL语句,构建SQL语句模型库;利用SQL语句模型库对SQL语句进行检测。本发明专利技术将学习的SQL语句模型化,最终形成一个较完整的可信SQL语句模型库,当请求的SQL操作语句模型不在可信模型库中,则判定存在SQL注入风险的操作,阻断或警告。本发明专利技术不存在改动语句就能绕过检测的风险,并能支持C/S架构,只要管理员在生成可信模型库时做好安全管控,并对可信模型库做好分析与管控,使用该方法对SQL注入能达到全方位100%的阻断或警告。

【技术实现步骤摘要】
一种基于机器学习的SQL注入攻击防护方法
本专利技术涉及数字信息的传输,例如电报通信的
,特别涉及一种网络技术、数据库安全防护
的基于机器学习的SQL注入防护方法。
技术介绍
SQL是结构化查询语言(StructuredQueryLanguage)的简称,是一种特殊目的的编程语言,作为数据库查询和程序设计语言,其被用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL注入,是指通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,SQL注入是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行,它可以通过在Web表单中输入恶意SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如大量网站泄露VIP会员的密码,这大多就是通过在Web表单中输入恶意SQL语句、递交查询字符而发生的,这类表单特别容易受到SQL注入式攻击。传统SQL注入的防护主要从软件研发层面和WEB层面进行。软件研发层面防护来说,这是指在开发过程中使用“检查参数格式”、“本文档来自技高网...
一种基于机器学习的SQL注入攻击防护方法

【技术保护点】
一种基于机器学习的SQL注入攻击防护方法,其特征在于:所述方法包括以下步骤:步骤1:在应用端和数据库服务器间配置数据库防火墙设备;步骤2:将数据库防火墙设备切换为学习模式,配置学习时间;步骤3:利用数据库防火墙设备抓取并解析访问流量包;采集SQL语句;步骤4:分析采集到的SQL语句,构建SQL语句模型库;步骤5:若学习时间未达成,则重复步骤3、4,否则,数据库防火墙设备切换为防护模式,进行下一步;步骤6:利用构建的SQL语句模型库,对SQL请求进行检测,对SQL注入攻击进行阻断或警告。

【技术特征摘要】
1.一种基于机器学习的SQL注入攻击防护方法,其特征在于:所述方法包括以下步骤:步骤1:在应用端和数据库服务器间配置数据库防火墙设备;步骤2:将数据库防火墙设备切换为学习模式,配置学习时间;步骤3:利用数据库防火墙设备抓取并解析访问流量包;采集SQL语句;步骤4:分析采集到的SQL语句,构建SQL语句模型库;步骤5:若学习时间未达成,则重复步骤3、4,否则,数据库防火墙设备切换为防护模式,进行下一步;步骤6:利用构建的SQL语句模型库,对SQL请求进行检测,对SQL注入攻击进行阻断或警告。2.根据权利要求1所述的一种基于机器学习的SQL注入攻击防护方法,其特征在于:所述步骤1中,数据库防火墙设备根据预定义的禁止和许可策略让符合预定义标准的SQL操作通过,阻断不符合预定义标准的SQL。3.根据权利要求1所述的一种基于机器学习的SQL注入攻击防护方法,其特征在于:所述步骤3中,利用数据库防火墙设备抓取并解析访问流量包包括以下步骤:步骤3.1:在数据库防火墙设备中,配置数据库对象的IP和端口;步骤3.2:数据库防火墙设备根据IP和端口抓取客户端发送至数据库的访问流量包;步骤3.3:数据库防火墙设备对访问流量包进行解析,得到SQL语句。4.根据权利要求1所述的一种基于机器学习的SQL注入攻击防护方法,其特征在于:所述步骤4中,包括...

【专利技术属性】
技术研发人员:张力范渊刘博龙文洁
申请(专利权)人:杭州安恒信息技术有限公司
类型:发明
国别省市:浙江,33

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

1