Engineer Information Security study materials
Engineer Information Security study resources

Engineer Information Security: 数据库安全

Engineer Information Security · Work through your exam, one topic at a time.

All guide sections

数据库安全

数据库安全考查访问控制的实现层次、推理攻击与隐通道、加密与审计,以及数据库层面的注入与越权防护。判断题常以“应用层已经过滤了”作为干扰项。

访问控制实现

  • 自主访问控制:GRANT/REVOKE 授权到表、列、行,配合角色简化管理。
  • 强制访问控制:行级标签,用户级别与数据标签比较,用于涉密系统。
  • 视图:把行/列过滤固化,仅授予视图权限而不授基表权限,才构成安全边界。
  • 存储过程:以定义者权限执行,需防注入与权限提升。
  • 行级安全策略(RLS):由 DBMS 强制拼接谓词,应用无法绕过。

威胁与对策

  • 推理攻击:通过聚合统计结果推断个体敏感值;对策是限制聚合粒度、查询审计、结果扰动。
  • 隐通道:利用时间或存储信道绕过 MAC 策略,需做带宽分析与噪声注入。
  • SQL 注入:参数化查询(预编译)为根本对策,辅以最小权限账户、输入校验与 WAF 兜底。
  • 加密:透明加密(TDE)保护介质与备份;列级加密保护高敏字段,但会失去范围查询与索引能力。
  • 脱敏:静态脱敏用于测试数据,动态脱敏按角色在查询时改写结果。
  • 三权分立:系统管理员、安全管理员、审计管理员相互制约,审计日志独立存储防篡改。

工作示例

要求“各部门管理员只能看到本部门员工薪资,且无需应用改造即生效”。做法:建立带 department 谓词的视图或启用行级安全策略,只授予部门角色访问视图,不授予基表 SELECT。理由:若授了基表而靠应用 SQL 过滤,任何直连数据库或篡改参数的行为都会越权;视图与 RLS 由 DBMS 强制执行。薪资列可再加列级加密或动态脱敏,并审计全部查询。

高频陷阱

  • 授了视图却仍保留基表权限,隔离形同虚设。
  • 字段加密后仍期望 LIKE 与范围查询正常工作。
  • 数据库加密了,却忽略备份文件与导出文件仍是明文。