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