📜  统计数据库安全

📅  最后修改于: 2021-09-08 15:19:06             🧑  作者: Mango

先决条件——数据库安全控制方法

某些数据库可能包含国家/地区个人的机密或秘密数据(Aadhar 号码、PAN 卡号),攻击者不应访问该数据库。因此,应该保护它免受用户访问。

包含大量人口详细信息的数据库称为统计数据库,主要用于生成各种人口的统计数据。但是允许用户检索某些人口统计信息,例如特定州/地区的人口平均值等,以及它们的总和、计数、最大值、最小值和标准偏差等。

道德黑客有责任监控统计数据库安全 由于统计数据库安全技术禁止检索个人数据,因此不允许统计用户访问个人数据,例如数据库中特定人员的收入、电话号码、特定人员的借记卡号码. DBMS 还负责提供有关个人数据的机密性。

统计查询:
仅允许使用 COUNT、SUM、MIN、MAX、AVERAGE 和 STANDARD DEVIATION 等聚合函数的查询称为统计查询。统计查询主要用于了解人口统计和公司/行业维护员工数据库等。

例子 –
考虑以下统计查询示例,其中 EMP_SALARY 是包含公司每位员工收入的机密数据库。

查询 1:

SELECT COUNT(*) 
FROM EMP_SALARY
WHERE Emp-department = '3';

查询 2:

SELECT AVG(income) 
FROM EMP_SALARY 
WHERE Emp-id = '2'; 

在这里,攻击者可以操纵“Where”条件,如果他知道特定员工的 ID/姓名,就有机会访问单个员工的收入或员工的机密数据。

使用以下措施可以降低从统计查询中访问个人信息的可能性:

  1. 数据库分区——这意味着数据库的记录不能批量存储在单个记录中。它必须根据记录的机密性分成一些最小大小的组。

    数据库分区的优点是查询可以引用任何完整的组或组集,但查询不能访问组内的记录子集。因此,攻击者最多可以访问一两个不那么私密的组。

  2. 如果选择条件指定的总体中的元组数量低于某个阈值时不允许进行统计查询。
  3. 禁止重复引用同一组元组的查询序列。