数据库安全性控制概述
- sql注入问题
存取控制
存取控制机制的功能
- 授权
- 验证
常用存取控制方法
自主存取控制
SQL中的存取权限定义方法:GRANT/REVOKE
- 定义存取权限:用户
- 检查存取权限:DBMS
- 授权粒度:数据库、表、属性列、行
- 优点
- 能够通过授权机制有效地控制其他用户对敏感数据的存取
- 缺点
- 可能存在数据的“无意泄露”:低级别用户访问到保密数据
原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记 - 自主存取控制不能防止木马
- 可能存在数据的“无意泄露”:低级别用户访问到保密数据
强制存取控制
- 在MAC中,DBMS所管理的全部实体被分为主体和客体两大类
- 主体是系统中的活动实体
- DBMS所管理的实际用户
- 代表用户的各进程
- 客体是系统中的被动实体,是受主体操纵的
- 文件
- 基本表
- 索引
- 对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)
- MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体
- 当某一用户(或某一主体)以标记label登录系统时,系统要求他对任何客体的存取必须遵循下面两条规则:———“下读上写”
- 仅当主体的存取级别大于或等于客体的密级时,该主体才能读取相应的客体;
- 仅当主体的存取级别等于(或小于)客体的密级时,该主体才能写相应的客体。
- MAC可以防止木马攻击