数据科学每日总结--Day19--数据库
数据库安全
定义:是指保护数据库中数据,防止其被未经授权访问、泄露、篡改或破坏,从而保障数据的机密性、完整性和可用性
数据库安全是一个广泛的领域,可以解决许多问题,包括:
各种法律和道德问题 :某些信息可能被视为私人信息,未经授权的组织或个人无法合法访问。
政府、机构或公司一级的政策问题 :哪些信息不应公开 –信用评级、医疗重新编码
与系统相关的问题 :安全功能是否应在物理硬件级别、作系统级别或 DBMS 级别处理。
某些组织需要识别多个安全级别,并根据这些分类对数据和用户进行分类 :绝密、机密、机密和非机密,必须执行组织关于允许访问各种分类数据的安全策略。
数据库安全威胁大体上分为:
完整性丧失:如果故意或意外对数据进行未经授权的更改,则完整性将丢失。
可用性损失:有权使用数据对象的人类用户或程序现在无法访问这些数据。
失去机密性:机密信息是指向未经授权的预期对象披露的信息。
数据库控制方案的类型分为访问控制,推理控制,流量控制,数据加密
访问控制
定义:通过对数据库用户的身份验证和权限分配,限制用户能够访问的数据对象和操作类型
- 主要内容:
身份认证:验证用户身份合法性,例如用户名+密码、多因素认证。
权限管理:控制用户对数据的访问级别(如只读、可插入、可更新、可删除)。
最小权限原则:每个用户只能访问完成其工作所需的最低限度权限。
- 优点:
防止未经授权的访问和操作。
可精细化控制数据访问范围
推理控制
定义:防止用户通过对合法数据的访问和分析,推断出敏感信息。在统计数据库中,即使用户访问的都是非敏感数据,也可能通过组合查询结果推断出敏感数据,例如:查询某部门平均工资,再查询该部门去掉某人后的平均工资,可能推断出某人的工资。
- 实现方法:
限制查询粒度:不允许返回过小样本的统计结果。
随机扰动:在统计数据中加入少量噪声,防止精确推断。
查询审计:分析用户的历史查询模式,阻断可能构成推理攻击的查询
优点:在保护机密性方面尤其适合统计类数据库
流量控制
定义:防止不同安全等级的数据流被非法传递到低安全等级的用户或对象,它侧重于信息流向的安全,而不仅是访问权限
- 典型应用:
在多级安全系统(如军用数据库:机密、秘密、公开等级)中,防止“高密级信息向低密级泄露”。
强制执行数据标记(label),确保信息只能从低密级向高密级流动或在同一密级内流动
- 实现方法:
强制访问控制(MAC):基于安全标签对数据传输进行约束。
数据隔离策略:不同安全级别数据在物理或逻辑上隔离
优点:有效防止内部数据越级传递与泄露
数据加密
定义:利用密码学方法对数据进行编码,使其在未经授权的情况下无法被理解或使用
- 加密类型:
静态加密(At Rest):对硬盘、数据库文件、备份文件进行加密。
传输加密(In Transit):在客户端与数据库之间传输数据时使用 SSL/TLS 加密。
列/字段加密:对敏感字段(如身份证号、银行卡号)进行单独加密存储
优点:数据即使被窃取,也因密文不可读而保持安全
数据库管理员(DBA)
定义:是负责数据库系统的规划、安装、配置、维护、优化和安全的专业人员,例如管理数据库系统的中央机构,超级用户或系统账户等,主要负责数据库安全,数据库设计、存储和兼容性组织,备份和恢复,性能调优和支持等
DBA的特权命令(从安全角度来看):账户创建,特权授予,特权撤销,安全级别的分配
