The invention belongs to the field of network information security technology, in particular, a SQL injection defense method and system based on the random change of database structure. The invention uses the idea of active defense, the key metadata in the database name of the initiative, random change, and the application and change of Web terminal synchronization, makes the metadata of the entire database application system the name of random changes in the parameter space within a certain increase of SQL injection attackers in the name of the metadata on the difficulty of guessing then, by setting the parameters; random changes in suitable time interval, increase the name space, can effectively reduce the SQL injection attack success rate, and reduce the adverse effects on the normal user random changes in the process. The system body of the invention includes SQL injection defense module and Web terminal plug-in, which is composed of a new framework, which can strengthen the security of the application system composed of the Web server and the database server, and the deployment is flexible and convenient.
【技术实现步骤摘要】
基于数据库结构随机变化的SQL注入防御方法和系统
本专利技术属于网络信息安全
,具体涉及SQL注入防御方法和系统。
技术介绍
随着互联网应用的高速发展,基于Web的架构由于其简单、容易部署等优势,成为了很多业务架构的首选。这种架构中一般配置Web服务和数据库服务,在逻辑上这两种服务是分开的,即用户通过Web页面进行业务处理,在这个过程中由页面中所包含的脚本在必要时访问数据库服务。但是由于部分Web网页程序对用户传入的数据或页面的携带的参数不做合法性的判断或判断方法不完善,导致攻击者利用此漏洞将一段SQL语句植入到传入的参数中,从而对数据库进行破坏或者进行信息窃取等非法操作,即SQL注入攻击[1,3,7]。目前主流的SQL注入防御手段是基于过滤的思想,即对来自Web页面的请求数据进行格式或者内容方面的规则检验,并在此基础上拒绝非法输入,只接受已知的合法输入或者将输入数据封装成合法的输入[2]。所采用的规则一般是基于输入变量的数据类型、数据长度、数据格式等进行限定[4,5]。在数据类型和数据长度方面的检查,有如对于int整型输入变量进行类型检查;如果变量有大小范 ...
【技术保护点】
一种基于数据库结构随机变化的SQL注入防御方法,其特征在于,具体步骤为:首先,设置合适的参数随机变化的时间间隔,设置元数据名称命名规则,增大名字空间;然后,对数据库中的关键元数据名称进行主动、随机变化,并将这种变化与Web端的应用程序进行同步,从而使得整个数据库应用系统的元数据名称在一定的参数空间内随机变化,增大SQL注入的攻击者在元数据名称猜测上的难度,有效降低SQL注入攻击成功概率,并减小随机变化过程中对正常用户带来的不良影响。
【技术特征摘要】
1.一种基于数据库结构随机变化的SQL注入防御方法,其特征在于,具体步骤为:首先,设置合适的参数随机变化的时间间隔,设置元数据名称命名规则,增大名字空间;然后,对数据库中的关键元数据名称进行主动、随机变化,并将这种变化与Web端的应用程序进行同步,从而使得整个数据库应用系统的元数据名称在一定的参数空间内随机变化,增大SQL注入的攻击者在元数据名称猜测上的难度,有效降低SQL注入攻击成功概率,并减小随机变化过程中对正常用户带来的不良影响。2.一种基于数据库结构随机变化的SQL注入防御系统,其特征在于,主体包括SQL注入防御模块及Web端插件;其中,SQL注入防御模块通过普通的数据库连接器与数据服务器建立连接,并执行一些元数据操作命令,该模块用于执行元数据和系统参数的管理维护、元数据名称的随机化、Web服务端的脚本更新、定时任务,以及与数据库服务器和Web服务器的命令交互;Web端插件是一个执行机构,接收来自SQL注入防御模块发送的命令,并根据命令执行相关动作。3.根据权利要求2所述的SQL注入防御系统,其特征在于,所述SQL注入防御模块具体功能如下:(1)元数据和系统参数的管理、维护数据库服务器中有一些关键的表名、字段名,通常是SQL注入攻击的对象;这些信息在SQL注入防御模块中事先登记,并根据具体安全态势进行维护;除此以外,还有一些涉及系统性能的参数也事先维护并管理,参数这些主要有:元数据随机化的名字空间命名规则、元数据随机化的变化频次、Web端涉及元数据的页面以及页面元数据名称使用模式、两种服务器的连接参数,包括IP地址、连接用户信息;(2)元数据名称的随机化根据设定的元数据及其名字空间命名规则,随机产生新的名字,并将这种改变在数据库服务器上进行实时生效;(3)Web服务端的脚本更新数据库元数据名称的修改也同时影响到Web服务端的相关页面中的脚本代码,因此需要进行同步修改,以保证用户的正常使用;脚本更新是基于系统参数管理中所设定的页面列表以及页面元数据名称使用模式,从而快速地定位需要更新的所有脚本;在定位到需要修改的脚本位置后,进行脚本修改,其过程是将脚本中所包含的元数据名称替换成为新名称;实际的修改动作是发生在Web服务器上,是由SQL注入防御模块向驻留在Web服务器中的Web端插件发送命令,从而触发更新动...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。