CN102750483A - 基于数据库的sql注入攻击防护方法 - Google Patents
基于数据库的sql注入攻击防护方法 Download PDFInfo
- Publication number
- CN102750483A CN102750483A CN2012102101402A CN201210210140A CN102750483A CN 102750483 A CN102750483 A CN 102750483A CN 2012102101402 A CN2012102101402 A CN 2012102101402A CN 201210210140 A CN201210210140 A CN 201210210140A CN 102750483 A CN102750483 A CN 102750483A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- data security
- security shell
- sql
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000002347 injection Methods 0.000 title claims abstract description 23
- 239000007924 injection Substances 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 title abstract description 8
- 238000001914 filtration Methods 0.000 claims abstract description 14
- 230000000306 recurrent effect Effects 0.000 claims description 2
- 230000010354 integration Effects 0.000 description 3
- 206010033799 Paralysis Diseases 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于数据库的SOL注入攻击防护方法,在操作系统层建立一个底层驱动数据安全壳,利用硬盘缓存形成一个虚拟空间,将数据库加载在这个虚拟空间内,外部数据在访问数据库的时候,首先通过数据安全壳,由数据安全壳负责外部数据与数据安全壳内部数据库的数据交换;数据安全壳的管理端对外部数据所来自的地址进行记录,数据安全壳的端口转向驱动形成到达数据库的过滤通道,数据安全壳的过滤驱动对所有访问数据库的外部数据进行过滤,将安全的代码放行进入数据库,并对恶意的代码进行过滤和清除。本发明可以从源头上解决SOL注入的风险。
Description
技术领域
本发明涉及网络安全领域,具体涉及一种基于数据库的SQL注入攻击防护方法。
背景技术
Web安全纷繁复杂,危害最严重的当属SQL注入。SQL Injection,中文名称为“SQL注入”是一种数据库攻击手段,也是WEB应用程序漏洞存在的一种表现形式,它的实际意义就是利用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的。
SQL Injection的主要形式是,直接将代码插入与SQL命令串联并执行的用户输入变量中,间接的将恶意代码注入要在表中存储或作为元数据存储的字符串,在存储的字符串随后串连到一个动态SQL命令中时,执行该恶意代码。基本的攻击是提前终止文本字符串,然后追加一个新的命令。由于插入的命令可能在执行前追加其他字符串,因此攻击者将用注释标记“--”来中止注入的字符串。执行时,此后的指令将被忽略.
SQL Injection攻击技术就其本质而言,它利用的工具是SQL的语法,针对的是应用程序开发者编程中的漏洞,当攻击者能操作数据,向应用程序中插入一些SQL语句时,SQL Injection攻击就发生了。实际上,SQL Injection攻击是存在于常见的多连接的应用程序中的一种漏洞,攻击者通过在应用程序预先定义好的查询语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的任意查询。这类应用程序一般是Web Application,它允许用户输入查询条件,并将查询条件嵌入SQL语句中,提交到数据库中执行。通过构造畸形SQL语句攻击者能够获取额外的信息数据。
就风险而言,SQL Injection攻击也是位居前列,和缓冲区溢出漏洞相比,其优势在于能够轻易的绕过防火墙直接访问数据库,甚至能够获得数据库所在的服务器的访问权限。在某些环境下,SQL Injection漏洞的风险要高过其他所有的漏洞。
SQL Injection攻击利用的是SQL语法,这使得这种攻击具有广泛性。特点鲜明:
一、隐蔽性强。利用Web漏洞发起对WEB应用的攻击纷繁复杂,包括SQL注入,跨站脚本攻击等等,一个共同特点是隐蔽性强,不易发觉,因为一方面普通网络防火墙是对HTTP/HTTPS全开放的,另一方面,对Web应用攻击的变化非常多,传统的基于特征检测的IDS对此类攻击几乎没有作用。
二、攻击时间短。可在短短几秒到几分钟内完成一次数据窃取、一次木马种植、完成对整个数据库或Web服务器的控制,以至于非常困难作出人为反应。
三、危害性大。目前几乎所有银行,证券,电信,移动,政府以及电子商务企业都提供在线交易,查询和交互服务。用户的机密信息包括账户,个人私密信息(如身份证),交易信息等等,都是通过Web存储于后台数据库中,这样,在线服务器一旦瘫痪,或虽在正常运行,但后台数据已被篡改或者窃取,都将造成企业或个人巨大的损失。据权威部门统计,目前身份失窃(identitytheft)已成为全球最严重的问题之一。政府网站被攻击和篡改造成恶劣的社会影响甚至被外来势力所利用,已经在危害着社会的稳定。
四、非常严重的有形和无形损失。目前,包括政府以及很多大型企业尤其是在国内外上市的企业,一旦发生这类安全事件,必将造成人心惶惶,名誉扫地,以致于造成经济和声誉上的巨大损失,即便不上市,其影响和损失也是不可估量的。
对于上述SQL注入的风险,目前行业内绝大多数的解决方法只是优化代码质量或者提高防护水平,并不能从根本上解决SQL注入的问题。申请号为200710099534.4的中国专利申请公开了一种SQL注入漏洞检测方法及系统,这种方法及系统是基于程序的,其主要功能是在外部数据进入SQL数据库之前进行拦截和HTTP包的整合,但这种拦截和整合会对外部访问产生影响。
发明内容
本发明的目的在于提供一种基于数据库的SQL注入攻击防护方法,利用硬盘缓存以及底层过滤为整个SQL数据库做一个数据安全壳,所有读取和写入的SQL代码必须经过数据安全壳的过滤,从源头上解决SQL被注入的风险。
本发明的技术方案如下:
一种基于数据库的SQL注入攻击防护方法,包括如下步骤:
(1)为数据库建立数据安全壳
数据安全壳是建立在操作系统层的一个底层驱动,利用硬盘缓存形成的一个虚拟空间,将数据库加载在这个虚拟空间内,数据安全壳包括端口转向驱动、过滤驱动以及管理端;
(2)数据接管
外部数据在访问数据库的时候,首先通过数据安全壳,由数据安全壳负责外部数据与数据安全壳内部数据库的数据交换;
(3)数据判断
数据安全壳的管理端对外部数据所来自的地址进行记录,将首次访问者的地址记录在访问记录库中,将访问者的地址与访问记录库中的地址表进行匹配,对经常发生攻击行为的地址进行识别;
(4)端口接管
数据安全壳的端口转向驱动对数据库的端口进行管理,形成到达数据库的过滤通道;
(5)SOL指令过滤
数据安全壳的过滤驱动对所有访问数据库的外部数据进行过滤,将安全的代码放行进入数据库,并对恶意的代码进行过滤和清除。
本发明的有益技术效果是:
本发明通过数据安全壳对数据库进行SOL注入防护,利用硬盘缓存的数据安全壳类似于一个信息网闸,与HTTP整合和SOL数据修正无关,因而本发明的前提条件是不影响外部访问。本发明是基于驱动过滤的SOL防注入方法,是用底层建立的缓存进行处理和管理,可以有效的做到对SOL注入攻击行为的合理的管理和对SOL注入风险的规避。
附图说明
图1是本发明的数据安全壳与数据库及操作系统的关系示意图。
图2是本发明的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
如图1所示,本发明的数据安全壳是一个建立在操作系统层的一个底层驱动,利用硬盘cache(缓存)做成的一个虚拟空间,将数据库加载在这个空间。外部数据在访问数据库的时候,必须通过该数据安全壳,由数据安全壳负责数据的内外交换。
如图2所示,本发明的基于数据库的SOL注入攻击防护方法的流程如下:
(1)为数据库建立数据安全壳
数据安全壳是建立在操作系统层的一个底层驱动,利用硬盘缓存形成的一个虚拟空间,将数据库加载在这个虚拟空间内,数据安全壳包括端口转向驱动、过滤驱动以及管理端;
(2)数据接管
外部数据在访问数据库的时候,首先通过数据安全壳,由数据安全壳负责外部数据与安全壳内部数据库的数据交换;
(3)数据判断
数据安全壳的管理端对外部数据所来自的地址进行记录,将首次访问者的地址记录在访问记录库中,将访问者的地址与访问记录库中的地址表进行匹配,对经常发生攻击行为的地址进行识别;
(4)端口接管
数据安全壳的端口转向驱动对数据库的端口进行管理,形成到达数据库的过滤通道;
(5)SOL指令过滤
数据安全壳的过滤驱动对所有访问数据库的外部数据进行过滤,将安全的代码放行进入数据库,并对恶意的代码进行过滤和清除。
上述的数据安全壳的管理端可以对数据安全壳的端口转向驱动和过滤驱动进行管理,控制过滤驱动的过滤模式和读写行为,并对于数据库经常发生的攻击行为进行查看。
综上所述,本发明在装有数据库的服务器实施后,所有端口的数据都可以按照自己的意图发送和接受,并可以对恶意的代码进行过滤和清除,并带有访问记录库用于记录访问者的地址,有效地预防SOL注入攻击造成ddos瘫痪的问题。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的基本构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
Claims (2)
1.一种基于数据库的SOL注入攻击防护方法,其特征在于包括如下步骤:
(1)为数据库建立数据安全壳
数据安全壳是建立在操作系统层的一个底层驱动,利用硬盘缓存形成的一个虚拟空间,将数据库加载在这个虚拟空间内,数据安全壳包括端口转向驱动、过滤驱动以及管理端;
(2)数据接管
外部数据在访问数据库的时候,首先通过数据安全壳,由数据安全壳负责外部数据与数据安全壳内部数据库的数据交换;
(3)数据判断
数据安全壳的管理端对外部数据所来自的地址进行记录,将首次访问者的地址记录在访问记录库中,将访问者的地址与访问记录库中的地址表进行匹配,对经常发生攻击行为的地址进行识别;
(4)端口接管
数据安全壳的端口转向驱动对数据库的端口进行管理,形成到达数据库的过滤通道;
(5)SOL指令过滤
数据安全壳的过滤驱动对所有访问数据库的外部数据进行过滤,将安全的代码放行进入数据库,并对恶意的代码进行过滤和清除。
2.根据权利要求1所述基于数据库的SOL注入攻击防护方法,其特征在于:所述数据安全壳的管理端对数据安全壳的端口转向驱动和过滤驱动进行管理,控制过滤驱动的过滤模式和读写行为,并对于数据库经常发生的攻击行为进行查看。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102101402A CN102750483A (zh) | 2012-06-21 | 2012-06-21 | 基于数据库的sql注入攻击防护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102101402A CN102750483A (zh) | 2012-06-21 | 2012-06-21 | 基于数据库的sql注入攻击防护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102750483A true CN102750483A (zh) | 2012-10-24 |
Family
ID=47030656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102101402A Pending CN102750483A (zh) | 2012-06-21 | 2012-06-21 | 基于数据库的sql注入攻击防护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102750483A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130983A (zh) * | 2016-06-28 | 2016-11-16 | 安徽润谷网络科技有限公司 | 一种企业管理软件的防火墙应用架构 |
CN107294969A (zh) * | 2017-06-22 | 2017-10-24 | 电子科技大学 | 一种基于sdn的sql注入攻击检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299836A1 (en) * | 2006-06-23 | 2007-12-27 | Xue Qiao Hou | Database query language transformation method, transformation apparatus and database query system |
CN101833620A (zh) * | 2010-04-28 | 2010-09-15 | 国网电力科学研究院 | 一种基于自定义安全jdbc驱动的数据库防护方法 |
CN101923678A (zh) * | 2010-07-30 | 2010-12-22 | 武汉天喻信息产业股份有限公司 | 一种企业管理软件的数据安全保护方法 |
-
2012
- 2012-06-21 CN CN2012102101402A patent/CN102750483A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299836A1 (en) * | 2006-06-23 | 2007-12-27 | Xue Qiao Hou | Database query language transformation method, transformation apparatus and database query system |
CN101833620A (zh) * | 2010-04-28 | 2010-09-15 | 国网电力科学研究院 | 一种基于自定义安全jdbc驱动的数据库防护方法 |
CN101923678A (zh) * | 2010-07-30 | 2010-12-22 | 武汉天喻信息产业股份有限公司 | 一种企业管理软件的数据安全保护方法 |
Non-Patent Citations (1)
Title |
---|
吴国标: "SQL注入攻击原理与防范", 《绍兴文理学院学报》, vol. 30, no. 10, 28 December 2010 (2010-12-28), pages 64 - 68 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130983A (zh) * | 2016-06-28 | 2016-11-16 | 安徽润谷网络科技有限公司 | 一种企业管理软件的防火墙应用架构 |
CN107294969A (zh) * | 2017-06-22 | 2017-10-24 | 电子科技大学 | 一种基于sdn的sql注入攻击检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106355094B (zh) | 一种基于语法变换的sql注入攻击防御系统及防御方法 | |
CN106503557B (zh) | 基于动态变换的sql注入攻击防御系统及防御方法 | |
CN103731413B (zh) | 一种处理异常登录的方法 | |
WO2014199197A1 (en) | A method, system and product for securely storing data files at a remote location by splitting and reassembling said files | |
CN102693399B (zh) | 一种电子文档在线分离与还原的系统及方法 | |
CN103106372A (zh) | 用于Android系统的轻量级隐私数据加密方法及系统 | |
CN101827101A (zh) | 基于可信隔离运行环境的信息资产保护方法 | |
CN102567233A (zh) | 基于磁盘虚拟技术的usb存储设备数据保护方法 | |
CN108595982A (zh) | 一种基于多容器分离处理的安全计算架构方法及装置 | |
CA2812607A1 (en) | A multi-layer usb storage drive with physically separated secure storage layer and non secure storage layer, and with multiple layers | |
CN104156672B (zh) | 基于linux的数据加密保护方法及系统 | |
CN105260657A (zh) | 一种隐私保护方法及装置 | |
CN106845261A (zh) | 一种销毁ssd硬盘数据的方法及装置 | |
CN104363093B (zh) | 通过动态授权码对文件数据加密的方法 | |
CN104038344B (zh) | 一种基于正则表达式的身份验证方法 | |
CN102750483A (zh) | 基于数据库的sql注入攻击防护方法 | |
CN108111528A (zh) | 一种基于区块链的防钓鱼方法及系统 | |
CN103634293A (zh) | 一种基于双硬件的数据安全传输方法及系统 | |
CN103001937A (zh) | 孤岛式以太网防御移动存储介质病毒的系统和方法 | |
CN101369891A (zh) | 一种动态密码认证方法及双矩阵动态密码卡 | |
CN104573559B (zh) | 一种支持口令授权与操作日志的文件存储与访问方法 | |
Lee et al. | A study on a secure USB mechanism that prevents the exposure of authentication information for smart human care services | |
CN111931137A (zh) | 一种基于区块链的电子身份信息管理方法、设备及介质 | |
CN117896075A (zh) | 基于区块链和数字水印的数据操作行为审计系统及方法 | |
CN110309083A (zh) | 一种存储器数据加扰方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121024 |