Анонимизация базы данных: использование аддитивного шума - PullRequest
0 голосов
/ 03 мая 2020

Я хочу провести эксперимент, включающий использование аддитивного шума для защиты базы данных от атак логического вывода.

Моя база данных должна начинаться с создания определенного c списка значений, которые имеют среднее значение 25, Затем я анонимизирую эти значения, добавив случайное значение шума, которое рассчитано на ожидаемое значение 0.

Например:
Я могу использовать равномерно распределенный шум в диапазоне [- 1,1] или используйте нормальный (гауссовский) шум со средним значением 0 .

Я опробую этот метод анонимизации для базы данных 100, 1000, 10000 значения с различным шумом.

Я запутался, используя какую платформу и как, поэтому я начал с 10 значений в Excel, Для равномерно распределенного значения шума я использую RAND() и добавляю к фактическому значению, для нормальный шум, я использую Norm.Inv со средним 0 , затем добавляю к фактическому значению.

Но я не знаю, как интерпретировать данные со стороны хакера, когда я добавляю шум для набора данных, хо w можно ли интерпретировать его влияние на конфиденциальность, когда набор данных становится больше?

Кроме того, должен ли я использовать инструмент базы данных для решения этой проблемы?

1 Ответ

1 голос
/ 05 мая 2020

Насколько я понимаю, вы пытаетесь защитить свою "экспериментальную" базу данных от атак логического вывода.

Злоумышленники пытаются украсть информацию из базы данных, используя запросы, которые уже разрешены для публичного использования c. , Во-первых, попытайтесь определить ваши идентификаторы, квазиидентификаторы и конфиденциальные значения.

Рассмотрим систему управления учащимся, которая имеет средний балл каждого учащегося. Мы знаем, что ГПД является конфиденциальной информацией. Идентификатор - «student_id», а квазиидентификаторы - «стоящие» и, скажем, «пол». В большинстве случаев администратор системы RDBM разрешает сводные запросы, такие как «Получить средний балл всех учащихся» или «Получить средний балл старшеклассников» и т. Д. c. Злоумышленники пытаются сделать вывод из этих совокупных запросов. Если, так или иначе, есть только один ученик старшего возраста, тогда запрос «Получить средний балл старшеклассников» вернул бы балл одного человека c.

Существует два основных способа защиты База данных от такого рода атак. Де-идентификация и анонимность. Деидентификация означает удаление любого идентификатора и квазиидентификатора из базы данных. Но это не работает в некоторых случаях. Рассмотрим одного студента, который сдает экзамен по макияжу после объявления оценок. Если вы получите средний балл по всем студентам до и после сдачи экзамена и сравните результаты запросов, вы увидите небольшое изменение (скажем, с 2,891 до 2,883). Злоумышленник может вывести оценку экзамена по гриму этого конкретного ученика из этой разницы в 0,002 совокупного среднего балла.

Другой подход - анонимность. С помощью k-анонимности вы разделяете базу данных на группы, в которых есть как минимум k объектов. Например, 2-анонимность гарантирует отсутствие групп с одним объектом, поэтому совокупные запросы к группам с одним объектом больше не пропускают личную информацию.

Если только вы не равны из двух сущностей в группе.

Если в классе 2 старших ученика, и вы хотите узнать среднюю оценку старших, 2-анонимность позволяет вам получить эту информацию. Но если вы старший и уже знаете свою оценку, вы можете определить оценку другого учащегося.

Добавление шума к чувствительным значениям - это способ справиться с этими атаками, но если шум слишком низкий, тогда это почти не влияет на утечку информации (например, для оценок, знание, что у кого-то 57 из 100 вместо 58, почти не имеет значения). Если оно слишком высокое, это приводит к потере функциональности.

Вы также спросили, как можно интерпретировать влияние на конфиденциальность, поскольку набор данных становится больше. Если вы возьмете среднее значение чрезвычайно большого набора данных, вы увидите, что в результате вы получите действительно чувствительное значение каждый (это может быть немного сложным, но думать, что набор данных бесконечен, а значения что конфиденциальная информация может принять, конечно, затем рассчитать вероятности). Добавление шума с нулевым средним значением работает, но диапазон шума должен увеличиваться по мере увеличения набора данных.

Наконец, если вы используете Excel, который является не СУБД, а электронной таблицей, я предлагаю вам подойти с помощью способа использовать эквиваленты SQL запросов, установить идентификаторы и квазиидентификаторы набора данных, а также публичные c запросы, которые могут быть выполнены любым пользователем.

Кроме того, в дополнение к анонимности посмотрите на «разнообразие» и «близость» набора данных и их использование в анонимизации базы данных.

Я надеюсь, что это ответ на ваш вопрос. Если у вас есть дополнительные вопросы, пожалуйста, задавайте.

...