思维导图:
4.6 其他安全性保护
1. 推理控制 (Inference Control)
- 定义:处理强制存取控制未解决的问题,如利用列的函数依赖关系,从低安全等级信息推导出高安全等级信息。
- 示例:在公司信息系统中,姓名和职务为低安全等级信息,而工资为高安全等级信息。用户A可查询自己和其他人的姓名、职务,但不能查询其他人的工资。若用户B的职务与A相同,则A可以通过自己的工资(如3000元)推断B的工资也是3000元。
- 常用方法:
- 基于函数依赖的推理控制
- 基于敏感关联的推理控制
2. 隐蔽信道 (Covert Channel)
- 定义:处理强制存取控制未解决的问题,如使用SQL反馈的信息进行间接信息传递。
- 示例:高安全等级用户先向unique约束列插入数据,低安全等级用户再插入相同数据。插入失败表明信息位为0,成功则为1。
3. 数据隐私 (Data Privacy)
- 定义:控制个人数据的能力,涉及数据的收集、存储、处理和发布。
- 存储阶段:使用自主访问控制、强制访问控制、基于角色的访问控制和数据加密等,避免非授权用户访问。
- 处理阶段:防止基于多次查询结果或完整性约束信息推导隐私数据。
- 发布阶段:考虑准标识符的影响,如k-匿名化、1-多样化、t-临近等标准,避免攻击者从发布数据中推导隐私数据。
结论:
- 保证数据库绝对的安全几乎是不可能的,但高级的安全措施可以提高攻击成本,使攻击者放弃攻击企图。
我的理解:
这一节的内容主要是关于数据库管理系统的高级安全性保护技术。为了满足高安全等级的要求,除了自主和强制存取控制,还讨论了其他几个重要的技术。这些技术的目的都是为了避免敏感信息的泄露。下面是这一节的关键理解:
-
推理控制 (Inference Control):
- 关键点:即使某些数据是开放的,有时用户可以结合这些公开的数据来推断他们无权访问的数据。
- 例子:知道一个人的职务和自己的工资可能可以推测出同一职务的另一个人的工资,即使工资是机密的。
-
隐蔽信道 (Covert Channel):
- 关键点:攻击者可能会利用系统的某些非直接的方式(如SQL查询的反馈)来间接获取或传递信息。
- 例子:通过尝试向一个unique约束的列插入数据,一名低权限用户可以根据插入成功或失败来间接得知高权限用户是否已插入某个数据。
-
数据隐私 (Data Privacy):
- 关键点:随着人们对隐私的日益关注,保护个人数据变得越来越重要。
- 方法:
- 存储阶段:使用技术如数据加密和访问控制来保护数据。
- 处理阶段:防止通过分析多次查询结果来推导出私密信息。
- 发布阶段:当数据被公开时,应确保它不能被用来识别或推导出任何个人的隐私。
最后,文中强调了一个实际情况:完全的数据库安全是非常难以实现的,但是,通过高级的安全措施,可以大大提高攻击的难度和成本,从而促使大多数潜在的攻击者放弃其攻击企图。
总结:
重点:
- 推理控制:防止用户利用可访问数据推知更高密级的数据。
- 隐蔽信道:识别和防止系统中的间接信息传输,特别是那些可以绕过正常的访问控制的途径。
- 数据隐私:在数据库应用中保护个人数据的重要性,涉及数据收集、存储、处理和发布的各个阶段。
难点:
- 理解如何通过结合开放的数据进行推理以获取敏感信息。
- 识别并避免隐蔽信道的使用,这些信道很可能被忽视,因为它们不总是直接的。
- 数据隐私的具体实施,特别是考虑到如何在发布数据时同时保护隐私,如k-匿名化、1-多样化标准等。
易错点:
- 可能误认为只要某个数据是公开的,就无法利用它来推断其他敏感信息。
- 忽视隐蔽信道的存在,可能导致在不知情的情况下泄露信息。
- 在尝试保护数据隐私时,可能会忽略某些关键细节,如准标识符的影响,从而降低隐私保护措施的有效性。