"Гарда Маскирование" для автоматического обезличивания баз данных
Артемий Новожилов, 12/08/24
Несмотря на то, что компании вкладывают значительные средства в защиту персональных данных, контролируя коммуникации, доступ пользователей, шифруя информацию, – утечки продолжают происходить. Причиной часто становятся ошибки при передаче данных в третьи руки для разного рода тестирований, решения маркетинговых задач и др. Российское законодательство, включая 152-ФЗ, обязывает защищать такую информацию, и в этих случаях применяется маскирование, для которого группа компаний “Гарда” предоставляет необходимый инструментарий.
Автор: Артемий Новожилов, архитектор систем информационной безопасности группы компаний “Гарда”
Крупные компании большую часть данных хранят в структурированном виде в базах данных (БД). Сотрудникам ИБ довольно проблематично обезличивать такие объемы данных вручную, кроме того увеличивается риск ошибок со стороны оператора, ведь обезличенные данные должны иметь ту же структуру и логику построения, что и исходные. При этом эти данные никому не принадлежат, так как являются синтетически созданными. Часто такая задача стоит именно при разработке, когда необходимо протестировать работу ПО с базой данных из продуктивной среды. В таких случаях задача по обезличиванию должна выполняться специализированным программным обеспечением, таким как "Гарда Маскирование", позволяющим автоматизировать данный процесс.
Рассмотрим функциональность решения подробнее.
Определение мест хранения чувствительной информации
Первая важная задача – определить места хранения информации, подлежащей маскированию. Эта задача легко решается с помощью предустановленных шаблонов. При этом в системе "Гарда Маскирование" есть возможность тонкой настройки поиска по словарям, ключевым словам, наименованиям таблиц и регулярным выражениям, предусмотрена возможность для задания исключений.
Важно отметить, что от качества словарей напрямую зависит и качество самого маскирования: чем точнее выявлен тип данных, тем больше вероятность, что будет использован корректный шаблон маскирования.
После обнаружения всех данных для обезличивания можно перейти к следующему этапу.
Выбор алгоритмов маскирования
Вторая задача – определение алгоритмов, которые будут применяться для обезличивания чувствительной информации. Гипотетически правила маскирования можно писать вручную с учетом особенностей бизнеса и данных, которые необходимо передать в третьи руки, но это требует колоссальных временных ресурсов и не исключает ошибок при работе с большими объемами информации. Например, когда для проведения маркетингового исследования необходимо передать аналитическому агентству большой объем персональных данных пользователей, таких как пол, возраст, адрес и другие сведения, система, обнаруживая данные в определенных колонках, предлагает в качестве алгоритмов маскирования соответствующие генераторы.
Создание обезличенной копии базы данных
Третий шаг – пересоздание всей структуры базы данных, включая индексы, служебные таблицы всех дочерних объектов с целью получения полной копии рабочей БД. Причем, сами данные в новую базу переносятся после обработки согласно выбранным на предыдущем шаге алгоритмам.
В отчетах "Гарда Маскирование" есть возможность визуально контролировать, что происходит в каждый момент времени, какие таблицы переносятся и обезличиваются, возникли ли какие-либо ошибки и на каком этапе.
В процессе создания копии базы ведутся подробные логи, что делает процесс более управляемым.
Для максимальной производительности, можно управлять временем выполнения процесса – для этого определяется количество выделяемых под маскирование потоков процессорного ядра, количество строк для чтения и переноса за одну операцию.
Регулярность задачи
"Гарда Маскирование" позволяет регулярно повторять процесс. Если проект создания обезличенной копии базы данных однажды настроен, то в следующий раз, когда понадобится сделать еще одну копию, не придется все настройки производить с нуля, – будет достаточно нажать кнопку "сделать еще одну копию". Система допускает возможность использования внешнего API, что существенно экономит время на выполнение рутинных задач.
Нереляционные базы данных
Помимо обычных реляционных существуют еще нереляционные базы данных, для которых задача маскирования не менее актуальна. В таких случаях "Гарда Маскирование" работает с типами данных JSON/XML.
Скорость обезличивания
Важный момент – это скорость, с которой происходит обезличивание. На всех проведенных проектах скорость работы "Гарда Маскирование" ограничивается только производительностью используемых дисковых систем.
Дополнительные возможности
"Гарда Маскирование" предоставляет рад незаменимых для обезличивания данных опций.
- Усечение базы данных. В обезличенную копию можно будет переносить не все данные из таблиц, а только определенную часть, например 30%.
- Возможность маскирования внутри исходной базы. Допустим, у подрядчиков развернута база, но после подключения и анализа выяснилось, что там лежат персональные данные. В таком случае с помощью "Гарда Маскирование" можно такие записи обезличить.
- Возможность интеграции со сторонними сервисами для автоматизации процессов обезличивания с помощью API.
- Интеграция с базами данных 1С. При настройке обезличивания "Гарда Маскирование" позволяет оперировать названиями таблиц, соответствующими реальным объектам, а не плохочитаемыми техническими, используемыми в системе 1С.