数据库安全综述论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库安全综述

摘要:数据库技术是目前应用最广泛的一门计算机技术,其安全性越来越重要。该文讲述了数据库安全含义,数据库存在的安全威胁,常用攻击方法,安全控制策略以及分析了历年发生的几大典型数据泄密事件。

关键字:数据库安全,数据库攻击,安全控制,数据库加密。

随着信息化建设的发展,各种信息系统不断出现,其中数据库扮演者重要角色,其担负着存储和管理数据信息的任务。这些数据一旦泄露或被破坏,将会对国家或单位造成巨大损失。

目前,很多的信息系统采用的都是Oracle或者SQL Server数据库系统,为了保证数据的安全性、准确性以及一致性,这些数据库系统采用一些技术手段,比如:访问控制、实体和引用完整性控制、值域约束、并发控制和恢复等技术。但是,对于Oracle或者SQL Server数据库系统来说,仍然存在很多安全隐患,面临着许多攻击。因此,如何保证与加强数据库的安全性以及保密性,已成为当前迫切需要解决的热门课题。

一、数据库安全含义

于数据库安全的定义,国内外有不同的定义。国外以 C. P. Pfleeger “Security in Computing – Database Security.PTR,1997”中对数据库安全的定义最具有代表性,被国外许多教材、论文和培训所广泛应用。他从以下方面对数据库安全进行了描述:

(1)物理数据库的完整性:数据库中的数据不被各种自然的或物理的问题而破坏,如电力问题或设备故障等。

(2)逻辑数据库的完整性:对数据库结构的保护,如对其中一个字段的修改不应该破坏其他字段。

(3)元素安全性:存储在数据库中的每个元素都是正确的。

(4)可审计性:可以追踪存取和修改数据库元素的用户。

(5)访问控制:确保只有授权的用户才能访问数据库,这样不同

的用户被限制在不同的访问方式。

(6)身份验证:不管是审计追踪或者是对某一数据库的访问都要经过严格的身份验证。

(7)可用性:对授权的用户应该随时可进行应有的数据库访问。

本文采用我国 GB17859-1999《计算机信息系统安全保护等级划分准则》中的《中华人民共和国公共安全行业标准GA/T 389-2002》“计算机信息系统安全等级保护数据库管理系统技术要求”对数据库安全的定义:数据库安全就是保证数据库信息的保密性、完整性、一致性和可用性。保密性指的是保护数据库中的数据不被泄露和未授权的获取;完整性指的是保护数据库中的数据不被破坏和删除;一致性指的是确保数据库中的数据满足实体完整性、参照完整性和用户定义完整性要求;可用性指的是确保数据库中的数据不因人为的和自然的原因对授权用户不可用。

当数据库被使用时,应确保合法用户得到数据的正确性,同时要保护数据免受威胁,确保数据的完整性。数据库不仅储存数据,还要为使用者提供信息。应该确保合法用户应当在一定规则的控制和约束下使用数据库,同时应当防止入侵者或非授权者非法访问数据库。数据库的安全主要应由数据库管理系统(DataBase Management System, DBMS)来维护,但是操作系统、网络和应用程序与数据库安全的关系也是十分紧密的,因为用户要通过它们来访问数据库,况且和数据库安全密切相关的用户认证等其他技术也是通过它们来实现的。

二、数据库安全威胁

2.1滥用过高权限

当用户(或应用程序)被授予超出了其工作职能所需的数据库访问权限时,这些权限可能会被恶意滥用。例如,一个大学管理员在工作中只需要能够更改学生的联系信息,不过他可能会利用过高的数据库更新权限来更改分数。

2.2滥用合法权

用户还可能将合法的数据库权限用于未经授权的目的。假设一个恶意的医务人员拥有可以通过自定义Web应用程序查看单个患者病历的权限。通常情况下,该Web应用程序的结构限制用户只能查看单个患者的病史,即无法同时查看多个患者的病历并且不允许复制电子副本。但是,恶意的医务人员可以通过使用其他客户端(如MS:Excel)连接到数据库,来规避这些限制。通过使用MS:Excel以

及合法的登录凭据,该医务人员就可以检索和保存所有患者的病历。

这种私自复制患者病历数据库的副本的做法不可能符合任何医疗组织的患者数据保护策略。要考虑两点风险。第一点是恶意的医务人员会将患者病历用于金钱交易。第二点可能更为常见,即员工由于疏忽将检索到的大量信息存储在自己的客户端计算机上,用于合法工作目的。一旦数据存在于终端计算机上,就可能成为特洛伊木马程序以及笔记本电脑盗窃等的攻击目标。

2.3权限提升

攻击者可以利用数据库平台软件的漏洞将普通用户的权限转换为管理员权限。漏洞可以在存储过程、内置函数、协议实现甚至是SQL语句中找到。例如,一个金融机构的软件开发人员可以利用有漏洞的函数来获得数据库管理权限。使用管理权限,恶意的开发人员可以禁用审计机制、开设伪造的帐户以及转帐等。

2.4平台漏洞

底层操作系统(Windows2000、UNIX等)中的漏洞和安装在数据库服务器上的其他服务中的漏洞可能导致未经授权的访问、数据破坏或拒绝服务。例如,“冲击波病毒”就是利用了Windows2000的漏洞为拒绝服务攻击创造条件。

2.5 SQL注入

在SQL注入攻击中,入侵者通常将未经授权的数据库语句插入(或“注入”)到有漏洞的SQL数据信道中。通常情况下,攻击所针对的数据信道包括存储过程和Web应用程序输入参数。然后,这些注入的语句被传递到数据库中并在数据库中执行。使用SQL注入,攻击者可以不受限制地访问整个数据库。防止SQL注入将以下三个技术结合使用可以有效地抵御SQL注入:入侵防御系统(IPS)、查询级别访问控制(请参阅“滥用过高权限”)和事件相关。IPS可以识别有漏洞的存储过程或SQL注入字符串。但是,单独使用IPS并不可靠,因为SQL注入字符串很容易发生误报。如果只依赖IPS,安全管理人员会发现大量“可能的”SQL 注入警报,被搞得焦头烂额。

2.6审计记录不足

自动记录所有敏感的和/或异常的数据库事务应该是所有数据库部署基础的一部分。如果数据库审计策略不足,则组织将在很多级别上面临严重风险。

2.7拒绝服务

相关文档
最新文档