10.8.2 数据库系统安全概述
1.数据库系统安全的基本概念
数据库系统安全(Data Base System Security)是指为数据库建立的安全保护措施,以保护数据库系统软件和其中的数据不因偶然和恶意的原因遭到破坏、更改和泄露。
由于数据库存储着大量的重要信息和机密数据,而且在数据库系统中大量数据集中存放,因此,数据库系统安全的核心和关键是确保数据安全。在数据库系统中,一般采用用户标识和鉴别、存取控制、视图以及密码存储等技术进行安全控制。
2.数据库系统的安全威胁
(1)篡改 所谓的篡改指的是对数据库中的数据未经授权进行修改,使其失去原来的真实性。篡改是人为因素而发生的。
(2)损坏 网络系统中数据的真正丢失是数据库安全性所面对的一个威胁。其表现的形式是:表和整个数据库部分或全部被删除、移走或破坏。产生损坏的原因主要有破坏、恶作剧和病毒等。
(3)窃取 窃取一般针对的是敏感数据,其手法多种多样,包括网络窃取、复制到可移动介质上窃取、拍照或把数据打印(复印)后窃取等。
从系统与数据的关系上,可将数据库安全分为数据库的系统安全和数据安全。其中数据库系统安全主要利用在系统级控制数据库的存取和使用的机制,包含:
1)系统的安全设置及管理,包括法律法规、政策制度、实体安全等。
2)数据库的访问控制和权限管理。
3)用户的资源限制,包括访问、使用、存取、维护与管理等。
4)系统运行安全及用户可执行的系统操作。
5)数据库审计有效性。
6)用户对象可用的磁盘空间及数量。
数据安全是在对象级控制数据库的访问、存取、加密、使用、应急处理和审计等机制,包括用户可存取指定的模式对象及在对象上允许作具体操作类型等。
一般数据库系统安全涉及5个层次。为了确保数据库安全,必须在所有层次上进行安全性保护措施。若较低层次上安全性存在缺陷,则严格的高层安全性措施也可能被绕过而出现安全问题。
(1)用户层 侧重用户权限管理及身份认证等,防范非授权用户以各种方式对数据库及数据的非法访问。
(2)物理层 系统最外层最容易受到攻击和破坏,主要侧重保护计算机网络系统、网络链路及其网络节点的实体安全。
(3)网络层 所有网络数据库系统都允许通过网络进行远程访问,网络层安全性和物理层安全性一样极为重要。
(4)操作系统层 操作系统在数据库系统中,与DBMS交互并协助控制管理数据库。操作系统安全漏洞和隐患将成为对数据库进行非授权访问的手段。
(5)数据库系统层 数据库存储着重要程度和敏感程度不同的各种数据,并为拥有不同授权的用户所共享,数据库系统必须采取授权限制、访问控制、加密和审计等安全措施。
3.数据库系统安全需求
数据库系统安全的总体要求是通过访问控制、加密、审计等相关技术手段来保障数据库系统的完整性、保密性和可用性,抵御针对数据库安全的各种威胁。归纳起来,数据库系统的安全需求包括以下几个方面。
(1)物理完整性 要求从硬件或环境方面保护数据库的安全,防止数据被破坏或不可使用。包括数据库系统驻留的计算机系统软件(操作系统)、硬件、环境的完整性及安全保障性。防止例如电源断掉、存储介质损坏、火灾地震时导致数据丢失或数据库不可使用的问题。
(2)逻辑完整性 严格控制数据库的创立与删除、库表的建立、删除和修改的操作,要求必须具有相应的权限才能实施。此外,逻辑完整性还包括数据库结构和库表结构、权限设置的合理性,尽量减少字段与字段之间、库表与库表之间不必要的关联,减少不必要的冗余字段,防止发生修改一个字段的值而影响其他字段或表的情况。
(3)元素完整性 主要是指保持数据字段内容的正确性与准确性。可以通过对字段值的类型、边界进行限定、检查,确保元素的完整性。而数据库管理系统一般有3种维护数据库中每个字段完整性的方法:字段检查、访问控制和日志维护。
(4)可审计性 根据数据库的日志,对数据库的所有操作进行审计,并可以还原数据库的操作。
(5)访问控制 允许用户只访问被批准的数据,以及限制不同的用户有不同的访问权限。
(6)用户认证 确保每个用户能够被正确识别,既便于审计跟踪,也可以限制对特定数据进行访问和操作,避免非法入侵。
(7)可用性 数据库用户可以访问被授权的数据。