APP下载

SQL 攻击数据库的防范措施

2013-04-11房海龙

河南科技 2013年12期
关键词:数据库系统木马网络系统

王 鹏 房海龙

(伊春市森林防火指挥部,黑龙江 伊春 153000)

1 数据库系统的安全框架

数据库系统的安全除依赖自身的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安全框架可以划分为五个层次,这里主要讲其中的三个层次。

(1)网络层安全

从广义上讲,数据库的安全首先依赖于网络系统。随着Internet 的发展和普及,越来越多的公司将其核心业务向互联网转移,各种基于网络的数据库应用系统如雨后春笋般涌现出来,面向网络用户提供各种信息服务。可以说网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持,数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。

从技术角度讲,网络系统层次的安全防范技术有很多种,大致可以分为防火墙、入侵检测、VPN 技术等。

(2)操作系统层安全

操作系统是大型数据库系统的运行平台,为数据库系统提供一定程度的安全保护。目前操作系统平台大多数集中在windows NT 和UNIX,安全级别通常为C1、C2 级。主要安全技术有操作系统安全策略、安全管理策略、数据安全等方面。

操作系统安全策略用于配置本地计算机的安全设置,包括密码策略、账户锁定策略、审核策略、IP 安全策略、用户权利指派、加密数据的恢复代理以及其他安全选项。具体可以体现在用户账户、口令、访问权限、审计等方面。

(3)数据库管理系统层安全

数据库系统的安全性很大程度上依赖于数据库管理系统。如果数据库管理系统安全机制非常强大,则数据库系统的安全性能就较好。目前市场上流行的是关系式数据库管理系统,其安全性功能很弱,这就导致数据库系统的安全性存在一定的威胁。

数据库管理系统层次安全技术主要是用来解决这一问题的,即当前面两个层次已经被突破的情况下仍能保障数据库数据的安全,这就要求数据库管理系统必须有—套强有力的安全机制;解决这一问题的有效方法之—是数据库管理系统对数据库文件进行加密处理,使得即使数据不幸泄露或者丢失,也难以被人破译和阅读。

以上这三个层次构筑成数据库系统的安全体系,与数据安全的关系是逐步紧密的,防范的必要也逐层加强,从外到内、内表及里保证数据的安全。

2 SQL 注入攻击的防范

随着一些自动化注入攻击的出现,目前针对Web 应用的SQL 注入攻击越来越普遍,技术也在不断翻新。但是SQL 注入的基本原理还是通过构造畸形的SQL 语句,绕过认证系统获得敏感信息。然而为了使用Web 服务器和数据库服务器的功能,实现信息交互的目的、就不可避免的暴露一些可以被攻击者非法利用的安全缺陷。如何采取有效的措施阻止内部信息泄露,将系统的安全威胁降至最低是防护的关键。这需要从配置Web 服务器、配置数据库和编写安全代码等多方面着手,加强系统安全性,这里仅仅从Web 服务器的安全配置方面来简单阐述一下方法或者是措施。

由于Web 服务器庞大而复杂的结构,使得Web 服务器在安全方面难免存在缺陷。正确配置Web 服务器可以有效降低SQL 注入的风险。

(1)修改服务器初始配置

服务器在安装时会添加默认的用户和默认口令,开启默认的连接端门等,这些都会给攻击者留下入侵的可能。在安装完成后应该及时删除默认的账号或者修改默认登录名的权限。关闭所有服务端口后,再开启需要使用的端口。

(2)及时安装服务器安全补丁

及时对服务器模块进行必要的更新,特别是官方提供的有助于提高系统安全性的补丁包。使服务器保持最新的补丁包,运行稳定的版本。

(3)关闭服务器的错误提示信息

错误提示信息对于调试中的应用程序有着很重要的作用,但是当Web 应用一旦发布,这些错误提示信息就应该被关闭。详细的错误信息也会让攻击者获得很多重要信息。自行设置一种错误提示信息,即所有错误都只返回同一条错误消息,让攻击无法获得有价值的信息。

(4)配置目录权限

对于Web 应用程序所在的目录可以设置其为只读的。通过客户端上传的文件单独存放,并设置为没有可执行权限,并且不在允许Web 访问的目录下存放机密的系统配置文件。这样是为了防止注入攻击者上传恶意文件,例如,Webshell 等。

(5)删除危险的服务器组件

有些服务器组件会为系统管理员提供方便的配置途径,比如通过Web 页面配置服务器和数据库、运行系统命令等。但是这些组件可能被恶意用户加以利用,从而对服务器造成严重的威胁。为安全起见,应当及时删除这样的服务器组件。

3 结语

从技术上讲,如今的SQL 注入攻击者们在如何找出有漏洞的网站方面更加聪明,也更加全面了。出现了一些新型的SQL 攻击手段。黑客们可以使用各种工具来加速漏洞的利用过程。我们不妨看看the Asprox Trojan 这种木马,它主要通过一个发布邮件的僵尸网络来传播,其整个工作过程可以这样描述:首先,通过受到控制的主机发送的垃圾邮件将此木马安装到电脑上,然后,受到此木马感染的电脑会下载一段二进制代码,在其启动时,它会使用搜索引擎搜索用微软的ASP 技术建立表单的、有漏洞的网站。搜索的结果就成为SQL 注入攻击的靶子清单。接着,这个木马会向这些站点发动SQL 注入式攻击,使有些网站受到控制、破坏。访问这些受到控制和破坏的网站的用户将会受到欺骗,从另外一个站点下载一段恶意的JavaScript 代码。最后,这段代码将用户指引到第三个站点,这里有更多的恶意软件,如窃取口令的木马。

虽然以前Web 应用程序的程序员们对其代码进行测试并打补丁,虽然SQL 注入漏洞被发现和利用的机率并不太高。但近来攻击者们越来越多地发现并恶意地利用这些漏洞。因此,在部署其软件之前,开发人员应当更加主动地测试其代码,并在新的漏洞出现后立即对代码打补丁。

猜你喜欢

数据库系统木马网络系统
小木马
骑木马
小木马
旋转木马
基于DEMATEL-ISM的军事通信网络系统结构分析
微细铣削工艺数据库系统设计与开发
江苏省ETC数据库系统改造升级方案探讨
实时数据库系统数据安全采集方案
高速公路网络系统配置浅析
核反应堆材料数据库系统及其应用