The database agent device of the invention provides a defense of SQL injection attacks, including a statement label receiving module, processing module, grouping statements module, injection attack detection module and statement execution module; SQL statement receiving module receives the application server forwarding processing module to detect the label; statement label is legitimate, if yes, then remove the statement label, or discarded; divided into a group of the same content statement grouping module will remove labels in the statement; injection attack detection module in each sentence is up to 2n+1 or n+1, to achieve the 2n+1, will be in the group to achieve the n+1 output statement, but did not reach the 2n+1, it will alarm in the group statement output at the same time, if not reach n+1, the set of statements in the discarded and alarm module will receive the statement execution; The resulting statement is sent to the database server. The invention can defend the unknown attack behavior and realize the high safety and high reliability of the database.
【技术实现步骤摘要】
一种防御SQL注入攻击的数据库代理装置
本专利技术涉及网络安全领域,更具体地说,涉及一种防御SQL注入攻击的数据库代理装置。
技术介绍
在当今网络环境下,数据库作为重要的存储工具,经常存储着大量有价值的数据,这些数据包含用户信息、企业数据、金融财政、商业机密、知识产权、客户订单信息等内容,其重要程度不言而喻。因此,数据库往往会成为网络黑客的主要攻击对象。网络黑客利用各种途径、各种攻击工具、各种欺骗手段来获取其想得到的信息,因此,保证数据库安全变得非常重要。最常见的数据库安全威胁是SQL注入攻击,SQL注入攻击指的是通过构建特殊的输入语句传入Web应用服务器,而这些输入大都是SQL语法里的一些组合,通过使Web应用程序执行SQL语句进而执行攻击者所要的操作。这是由于系统应用未对客户端输入语句进行合法性检查,攻击者可以通过提交一段数据库查询代码,根据应用程序返回的结果,获得某些想得知的数据。针对SQL注入攻击,传统解决方案绝大多数是在系统被攻击之后的“亡羊补牢”式防护,但在系统出现新的注入攻击点时,仍然束手无策。具体来说,传统防御技术都是基于黑名单对客户端输入语句进行合法性检查,当发现客户端的输入语句在黑名单内,则对其进行拦截,进而实现基于已知注入漏洞的SQL注入防御。该方案存在以下两方面的严重问题:1)对于未知注入漏洞无能为力;2)黑名单过多会产生高误报问题,进而影响正常用户使用。针对数据库SQL注入攻击威胁,中国专利申请《SQL注入攻击检测方法及其装置》公开了一种SQL注入攻击检测方案,该方案也是基于恶意人员进行SQL注入攻击的已知行为特征,虽然在一定程度 ...
【技术保护点】
一种防御SQL注入攻击的数据库代理装置,其特征在于,包括依次连接在2n+1个应用服务器和一数据库服务器之间的一语句接收模块、一标签处理模块、一语句分组模块、一注入攻击检测模块和一语句执行模块,其中:所述语句接收模块包括2n+1个与所述应用服务器一一对应连接的监听端口,各监听端口设置为接收对应应用服务器转发的SQL语句;所述标签处理模块设置为检测各监听端口接收的SQL语句是否包含与相应监听端口对应的标签而不包含与其它监听端口对应的标签,若是,则将该SQL语句中的标签去掉后发送至所述语句分组模块,否则,将该SQL语句丢弃;所述语句分组模块设置为接收去掉标签的SQL语句,并将接收到的相同SQL语句分成一组;所述注入攻击检测模块设置为检测每组中的SQL语句是否达到2n+1条或n+1条,若达到2n+1条,则将该组中的SQL语句输出至语句执行模块,若达到n+1条而未达到2n+1条,则将该组中的SQL语句输出至语句执行模块,同时发出异常报警信号,若未达到n+1条,则将该组中的SQL语句丢弃并发出异常报警信号;所述语句执行模块设置为将接收到的SQL语句发送至所述数据库服务器。
【技术特征摘要】
1.一种防御SQL注入攻击的数据库代理装置,其特征在于,包括依次连接在2n+1个应用服务器和一数据库服务器之间的一语句接收模块、一标签处理模块、一语句分组模块、一注入攻击检测模块和一语句执行模块,其中:所述语句接收模块包括2n+1个与所述应用服务器一一对应连接的监听端口,各监听端口设置为接收对应应用服务器转发的SQL语句;所述标签处理模块设置为检测各监听端口接收的SQL语句是否包含与相应监听端口对应的标签而不包含与其它监听端口对应的标签,若是,则将该SQL语句中的标签去掉后发送至所述语句分组模块,否则,将该SQL语句丢弃;所述语句分组模块设置为接收去掉标签的SQL语句,并将接收到的相同SQL语句分成一组;所述注入攻击检测模块设置为检测每组...
【专利技术属性】
技术研发人员:张铮,罗兴国,邬江兴,苏昆仑,马柏林,庞建民,谢光炜,
申请(专利权)人:上海红神信息技术有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。