当前位置:
文档之家› 数据库安全详解(先理论后oracle举例)
数据库安全详解(先理论后oracle举例)
数据库安全性
DBMS提供统一的数据管理和控制 功能,其中很重要的就是数据保护, 包括有数据的安全性和数据的完整性, 达到保证数据的安全可靠和正确有效 的目的。
4.1
计算机安全性概论
数据库的安全性和计算机系统的 安全性,包括操作系统、网络系统的 安全性是紧密联系、相互支持的。
4.1.1 计算机系统的三类安全性 问题
2. 存取控制
存取控制机制主要包括两部分: ① 定义用户权限,并将用户权限登记 到数据字典中。 在数据库系统中对存取权限的定义称 为授权(Authorization)。这些授权定 义经过编译后存放在数据字典中,被称作 “安全规则”或“授权规则”。
⑴ 用户分类 一般可对数据库的用户分为四类: 系统用户(或DBA) 数据对象的属主(Owner) 一般用户 公共用户(Public)
用户身份、身份验证和防止数据泄露及篡改
数据库内部管理:用户标识/口令、角色与权限等; 资源管理:通过系统概要文件限制连接会话等; 网络数据通信管理:采用口令文件、数据加密等高级安全 技术;
1-36
用户管理
用户类别
在数据库系统中,根据工作性质和特点,用户可分成 三类:数据库管理员(DBA)、数据库开发人员和普通用户。 不同类型的用户分别赋予不同的权限,从而保证数据 库系统的安全。
跟踪审计(Audit Trail)是一种 监视措施。数据库在运行中,DBMS跟踪 用户对一些敏感性数据的存取活动,跟 踪的结果记录在跟踪审计记录文件中 (有许多DBMS的跟踪审计记录文件与系 统的运行日志合在一起)。一旦发现有 窃取数据的企图,有的DBMS会发出警报 信息,多数DBMS虽无警报功能,也可在 事后根据记录进行分析,从中发现危及 安全的行为,找出原因,追究责任,采 取防范措施。
审计功能是DBMS达到C2级以上安 全措施必不可少的一项指标。
审计有两方面的作用:
① 可以用来记录所有数据库用户 登录及退出数据库的时间,作为记帐 收费或统计管理;
② 可以用来监视对数据库的一些 特定的访问,及任何对敏感数据的存 取情况。
需要说明的是:审计只记录对数 据库的访问活动,并不记录具体的更 新、插入或删除掉的信息内容,这与 日志文件是有区别的。
4.2.2 安全性控制的一般方法
1. 用户标识与鉴定 (Identification&Authentication)
这是DBS提供的最外层安全保护措 施。用户访问数据库之前,必须先标识 自己的名字或身份,由系统核实,通过 鉴定后才提供机器使用权。
一般,用户标识包括: 用户名(用户标识号) 口令 用户标识和鉴定可以重复多次 (Oracle允许三次登录)。 用户登录成功才是数据库的合法用 户,才能与数据库建立连接。
数据加密的方法基本上有三种:信息编码、 信息置换和信息替换。常用的数据密码方法有: 美国国家数据加密标准DES(Data Encryption Standard),公开密钥系统等。 公开密钥系统(Public-Key System) 采用密码数据库,在存入数据时要加密, 在查询时要解密,增加了系统的开销,降低了 数据库的效率。因此,数据密码法只适合于那 些对数据保密要求特别高的数据库。
4.2.1 数据库的安全模型
在计算机系统中,安全措施是一 级一级层层设置的。计算机安全控制 模型如图4.1所示,DBMS安全模型如 图4.2所示。
用户
用户标识 和鉴定
DBMS
存取控制
OS
操作系统 安全保护
DB
密码存储
图4.1 计算机系ቤተ መጻሕፍቲ ባይዱ的安全模型
数据库安全性控制
登录
用户
权限
对象
角色 图4.2 DBMS安全模型
的支持情况,TCSEC(TDI)将系统划
分为4组(division),共7个等级,
依次是D;C(C1,C2);B(B1,B2,
B3);A(A1),按系统可靠或可信程
度逐渐增高,如表4.1所示。
表4.1
D级 D级是最低级别。保留D级的目的是 为了将一切不符合更高标准的系统,统统归于 D组。如DOS就是操作系统中安全标准为D的典 型例子。它具有操作系统的基本功能,如文件 系统和进程调度等,但在安全性方面几乎没有 专门的机制来保障。 C1级 只提供了非常初级的自主安全保护。 能够实现对用户和数据的分离,进行自主存取 控制(DAC),保护或限制用户权限的传播。 现有的商业系统往往稍作改进即可满足要求。
例如,操作系统方面,典型的有数 字设备公司的SEVMS VAX Version 6.0, 惠普公司的HP-UX BLS release 9.0.9+ 。 数据库方面则有Oracle公司的Trusted Oracle 7,Sybase公司的Secure SQL Server version 11.0.6,Informix公司 的Incorporated INFORMIX-OnLine / Secure 5.0等。
跟踪审计的记录一般包括下列内 容:请求(源文本),操作类型(例 如修改、查询等),操作终端标识与 操作者标识,操作日期和时间,操作 所涉及的对象(表、视图、记录、属 性等),数据的前映象和后映象。
跟踪审计由DBA控制,或由数据的 属主控制。
审计通常是很费时间和空间的, 所以DBMS往往都将其作为可选特征, 允许DBA根据应用对安全性的要求, 灵活地打开或关闭审计功能。审计功 能一般主要用于安全性要求较高的部 门。
技术安全类
计算机系统 的安全性
管理安全类 政策法律类
4.1.2 可信计算机系统评测标准
以下着重介绍TDI/TCSEC标准的 基本内容。 TDI与TCSEC一样,从以下4个方 面来描述安全性级别划分的指标:安 全策略、责任、保证和文档。每个方 面又细分为若干项。这些指标的具体 内容如下:
根据计算机系统对上述各项指标
例4.1 允许一个用户查询学生记录,但只 允许他查询男生情况。 例4.2 允许一个用户查询学生记录,但不 允许他了解学生的籍贯。 例4.3 允许一个用户查询学生的平均成绩, 但不允许了解具体的各课程成绩。
4.2.6 审计
功能:把用户对数据库的所有操 作自动记录下来放入审计日志(Audit Log)中。DBA可以利用审计跟踪的信 息,重现导致数据库现有状况的一系 列事件,找出非法存取数据库数据的 人、时间和内容等。
1-37
用户管理
数据库管理员(DBA)
负责管理和维护数据库系统的正常运行,其主要
职责包括: (1)安装并升级Oracle服务器和应用工具。 (2)配置和管理数据库。 (3)设置权限和安全管理。
(4)监控并优化数据库性能。
(5)备份和恢复数据库。
1-38
用户管理
数据库开发人员
负责设计和开发数据库应用程序,其主要职责包括: (1) 设计应用的数据结构。 (2) 估算应用的存储需求。 (3) 给出应用数据库结构修改的说明。 (4) 开发过程中优化应用。 (5) 开发过程中构建应用的安全策略。 以上工作需要和DBA协作。
C2级 实际是安全产品的最低档次,提 供受控的存取保护,即将C1级的DAC进一步 细化,以个人身份注册负责,并实施审计和 资源隔离。很多商业产品已得到该级别的认 证。达到C2级的产品在其名称中往往不突出 “安全”(Security)这一特色,如操作系 统中Microsoft的Windows NT 3.5,数字设 备公司的Open VMS VAX 6.0和6.1。数据库 产品有Oracle公司的Oracle 7,Sybase公司 的 SQL Server 11.0.6 等。
一个角色(Role)一般是指 一个机构内的一个称谓或一个任 务的集合。为了方便,可把用户 归属不同的角色,对不同的角色 有不同的授权。
⑵ 存取权限 用户使用数据库的方式称为权限。 权限分为如下两类: 访问数据权限 修改数据库模式权限
4.2.5 视图机制
为不同的用户定义不同的视图, 可以限制各个用户的访问范围。 通过视图机制把要保密的数据对 无权存取的用户隐藏起来,从而自动 地对数据提供一定程度的安全保护。
B1级
标记安全保护。对系统的数据加
以标记,并对标记的主体和客体实施强制存 取控制(MAC)以及审计等安全机制。B1级能 够较好地满足大型企业或一般政府部门对于
数据的安全需求,这一级别的产品才认为是
真正意义上的安全产品。满足此级别的产品 前一般多冠以“安全”(Security)或“可 信的”(Trusted)字样,作为区别于普通产 品的安全产品出售。
B2级以上的系统标准更多地还处于理
论研究阶段,产品化以至商品化的程度都
不高,其应用也多限于一些特殊的部门,
如军队等。但美国正在大力发展安全产品,
试图将目前仅限于少数领域应用的B2级安
全级别或更高安全级别下放到商业应用中
来,并逐步成为新的商业标准。
4.2
数据库安全性控制
数据库的安全性:是指保护数据库 以防止不合法的使用,避免数据的泄密、 非法更改和破坏。 从数据库角度而言,安全性分成系 统安全性和自然环境安全性两类。
B3级
安全域。该级的TCB必须满
足访问监控器的要求,审计跟踪能力
更强,并提供系统恢复过程。
A1级
验证设计,即提供B3级保
护的同时给出系统的形式化设计说明
和验证以确信各安全保护真正实现。
表4.2
不同安全级别对安全指标的支持情况
³Ô±±ÔÔÔ±ÔÔÔÔÔÔÔ°ÔÔÔ°ÔÔÔ Ô ê ê ÷è ê ó Ôè Ô è ÔÔÔÔÔ±ÔÔÔÔÔÔ±ÔÔÔÔÔÔÔÔÔÔ ÷ Ô Ô ÔÔÔÔÔ±ÔÔÔ ê ê ² ÔÔÔÔÔÔÔÔ²ÔÔÔÔ ê è Ô è ÔÔÔÔÔÔÔÔÔ ÔÔÔÔÔÔ²ÔÔÔÔÔÔ Ôí Ô ÔÔÔ Ô± Ô ÔÔ²Ô á Ô Ô ÔÔ Ô Ô± ê Ô Ô ÔÔ í Ô é ÔÔ §á ÔÔ Ô ¤ Ô Ô C1 C2 B1 B2 B3 A1