数据库(Database)是长期存储在计算机中,按照一定的数学模型组织起来的、具有较小冗余度和较高的数据独立性,可以由多 个用户共享的数据集合。 (数据库就是一个以一定的数据结构存储数据、管理数 据、共享数据的数据集合。)
国外主流的数据库系统
- MS SQL
- MySQL
- Oracle
- DB2 等
国产数据库系统
- 人大金仓
- 达梦等
数据库用处:
- 存储数据
- 读取数据
- 管理数据(写入、修改、删除)
- 保证数据安全
数据库管理系统(DBMS)
- 定义:一种操纵和管理数据库的大型软件,用于建立、 使用和维护数据库。
- 是计算机和用户之间的数据管理软件。
- 目前有:Oracle、Sybase、Informix、Microsoft SQL Server、 Microsoft Access、Visual FoxPro、 MySQL
数据库管理系统(DBMS)用处
- 数据定义(DDL)定义数据的完整性、 安全控制等约束
- 数据操纵(DML)数据库的基本操作
- 数据控制(DCL)授权,角色控制等
- 数据维护。数据字典维护
数据库中的数据模型
- 层次模型(层次数据库)
- 网状模型(网状数据库)
- 关系模型(关系数据库)
- 面向对象模型(面向对象数据库)
数据库安全概念
数据库安全是指采取各种安全措施对数据库及其相 关文件和数据进行保护。数据库系统的重要指标之一是确保系统安全,以各种防范措施防止非授权使用数据库,主要通过DBMS实现的。
数据库安全的核心和关键是其数据安全。数据安全是指以保护措施确保数 据的完整性、保密性、可用性、可控性和可审查性
从系统与数据的关系上, 也可将数据库安全分为
- 数据库的系统安全
- 数据库的数据安全
数据库系统安全主要利用在系统级控制数据库的存取和使用的机制,包含:
- 系统的安全设置及管理,包括法律法规、政策制度、实体安全等;
- 数据库的访问控制和权限管理;
- 用户的资源限制,包括访问、使用、存取、维护与管理等;
- 系统运行安全及用户可执行的系统操作;
- 数据库审计有效性;
- 用户对象可用的磁盘空间及数量。
数据安全是在对象级控制数据库的访问、存取、加密、使用、应急处理和审计等机制,包括用户可存取指定的模式对象及在对象上允许作具体操作类型等。
- 数据完整性
- 数据防泄漏(加密)
- 数据库防泄漏(数据库备份及加密)
- 数据库访问审计
- 数据库访问权限
- 数据库防注入
数据库安全威胁
(1)授权的误用(Misuses of Authority)
- 合法用户越权获得他们不应该获得的资源,窃取程序或存储介质,修改或破坏数据。
- 授权用户将自身的访问特权不适当地授予其他用户,导致系统安全策略受到威胁,使用户数据泄露。
(2)逻辑推断和汇聚(Logical Iference and Agegtin)
利用逻辑推理,把不太敏感的数据结合起来可以推断出敏感信息。进行逻辑推断也可能要用到某些数据库系统以外的知识,与逻辑推断紧密相关的是数据汇聚安全问题, 即个别的数据项是不敏感的,但是当足够多的个别数据值收集在一 起时,就成为敏感的数据集。
3)伪装(Maquerede)
攻击者假冒用户身份获取数据库系统的访问权限。
(4)旁路控制(Byassing Controls)
在数据库设置后门,绕过数据库系统 的安全访问控制机制。
(5)隐蔽信道(Covent Chamel)
通常储存在数据库中的数据经由合法的数据信道被取出。与正常的合法信道相反,隐蔽信道利用非正常的通信途径数据以躲避数据库安全机制的控制,如共享内存、临时文件
(6)SQL 注入攻击(SQL Injecion)
攻击者利用数据库应用程序的输入未进行安全检查的漏洞,欺骗数据库服务器执行恶意的 SQL 命令。SQL 注入攻击常常导致数据库信息泄露,甚至会造成数据系统的失控。
(7)数据库口令密码破解
利用口令字典或手动猜测数据库用户密码,已达到非授权访问数据库系统的目的。
(8)硬件及介质攻击
对数据库系统相关的设备和存储介质的物理攻击。
数据库安全隐患
1.数据库用户账号和密码隐患
虽然多数数据库提供基本安全功能,但是没有机制来限制用户必须选择健壮的密码,多数数据库系统有公开的默认账号和默认密码
2. 数据库系统扩展存储过程隐患
多数数据库系统提供了“扩展存储过程”的服务以满足数据库管理,但也成为数据库系统的后面。
3.数据库系统软件和应用程序漏洞
软件程序漏洞造成数据安全机制或 OS 安全机制失效,攻击者可以获取远程访问权限。
4. 数据库系统权限分配隐患
数据库管理员分配给用户的权限过大,导致用户误删除数据库系统数据, 或者泄露数据库敏感数据。
5.数据库系统用户安全意识薄弱
数据库系统用户选择弱口令或者口令保管不当都会给攻击者提供进入系统的机会。
6.网络通信内容是明文传递
利用数据库和应用程序之间网络通信内容未经加密的漏洞,网络窃听者窃取诸如应用程序特定数据或数据库登录凭据等敏感数据。
7.数据库系统安全机制不健全
数据库提供的安全机制不健全,导致安全策略无法实施。一些数据库不提供管理员账号重命名、登录时间限制、账号锁定。例如,MS SQL Server 不能制除账号 sa,且 sa 默认空口令。
数据库安全需求
1.数据库标识与鉴别
标识与鉴别用于数据库用户身份识别和认证,用户只有通过认证后才能对数据库对象进行操作。
2.数据库访问控制
对数据资源及系统操作进行访问授权及违规控制。
数据库系统一般提供多种访问控制模式
- 自主访问控制
- 强制访问控制
- 角色访问控制
3.数据库安全审计
数据库系统提供安全审计机制,按照审计安全策略,对相关的数据库操作进行记录,形成数据库审计文件。
审计记录的主要信息包括
- 审计的操作类型
- 执行操作的用户标识
- 操作的时间客户对象等用户行为相关信息。
4.数据库备份与恢复
数据库系统具有数据库备份与恢复机制,当数据库系统出现故障时,可以实现对备份数据的还原以及利用数据库日志进行数据库恢复重建。
5.数据库加密
- 对数据库中的敏感数据进行加密处理(并提供密钥管理服务)以阻止直接利用操作系统工具窃取或篡改数据库文件内容
- 授权管理员无法对授权用户加密存储的数据进行正常解密,从而保证了用户数据的机密性。
- 将数据库的备份内容加密,从而能减少因备份介质失窃或丢失而造成的损失
6.资源限制
资源限制防止授权用户无限制地使用数据库服务器资源(处理器(CPU)、共享缓存、数据库存储介质等),限制每个授权用户/授权管理员的并行会话数等功能。避免数据库系统遭受拒绝服务攻击。
7.数据库安全加固
对数据库系统进行安全漏洞检查和修补,防止安全漏洞引入数据库系统。
8.数据库安全管理
数据库系统提供安全集中管理机制,实现数据库的安全策略集中配置和管理
学习参考资料:
信息安全工程师教程(第二版)
建群网培信息安全工程师系列视频教程
信息安全工程师5天修炼
,