Jay Data. Наша система для обезличивания ваших данных
В этой статье я расскажу про флагманскую систему Java-направления компании Crosstech Solutions Group, созданную под моим руководством.
Ситуация
На текущий момент у многих организаций, которые работают с чувствительной информацией, есть потребность в обезличивании собственных баз данных во избежание их утечек и «сливов». Это касается персональных данных, коммерческой тайны или любой другой конфиденциальной информации. По статистике около 90% из компрометируемых данных в РФ составляет доля именно персональных данных, так как они являются самыми дорогими и востребованными на «черном» рынке.
С уходом зарубежных решений с российского рынка компания «Crosstech Solutions Group» поставила перед собой задачу разработать отечественный продукт, который позволил бы решить проблему обнаружения и обезличивания чувствительных данных в базах клиентов.
Решение
Мы, смогли создать микросервисное приложение, которое работает с базами данных разных типов и объёмами более 30 терабайт.
Для реализации была выбрана платформа Jmix по причине большого количества встроенной функциональности, которую можно использовать «из коробки», простоты fullstack-разработки, Spring Boot'а под капотом. Последнее позволяет применять все преимущества Spring Boot, в том числе набор инструментов для управления микросервисами Spring Cloud
Система выполняет следующие ключевые функции: подключается к базе данных, автоматически обнаруживает чувствительную информацию в её таблицах и столбцах и обезличивает её разными методами: по словарям, заменой на константное значение, случайной заменой части значения и другими способами.
Одновременно система позволяет работать с несколькими базами данных. Подключения к ним настраиваются в планах обезличивания. Статус работы с тем или иным подключением подсвечивается определённым цветом.
В результате выполнения процессов система отображает статистику по созданным планам обезличивания.
Технические особенности
Система поддерживает распределённую установку на несколько виртуальных машин, позволяя запускать много экземпляров сервисов на каждой из них.
Сервисы являются масштабируемыми и занимаются работой с базой данных, анализом информации и маскированием данных соответственно. Они также реализованы в виде приложений на платформе Jmix.
Система также предоставляет ряд служебных сервисов, а также использует «REDIS» – быстрое «In memory» хранилище данных для обеспечения хранения кэша и «RabbitMQ» – программный брокер сообщений, обеспечивающий равномерное распределение нагрузки на остальные микросервисы.
Помимо этого, в состав системы входит популярная тройка инструментов Grafana + Prometheus + Loki, использующиеся для мониторинга и сбора данных в современных системах.
Преимущества
Одним из основных преимуществ продукта является скорость обнаружения чувствительных данных и их обезличивания – она достигает нескольких тысяч значений в секунду. Помимо этого, скорость работы системы может регулироваться масштабированием количества микросервисов анализатора или маскировщика чувствительных данных.
Кто заказчики
Система Jay Data используется крупными финансовыми организациями для подготовки тестовых ландшафтов и полигонов с тестовыми данными. С такими полигонами могут работать любые подрядчики, разработчики, бизнес-аналитики, дата инженеры и тестировщики, не получая при этом прав доступа к реальным персональным и чувствительным данным, что исключает риск их компрометации и утечки. Также это избавляет от необходимости оформления допуска разработчиков к таким данным и сокращает количество бюрократических процедур и требований безопасности к тестовым полигонам.
В отличие от варианта с подготовкой обезличенной версии баз данных «вручную», выполнение этой задачи с помощью Jay Data имеет ряд неоспоримых преимуществ:
- Обезличенная база данных сохраняет оригинальный объем;
- В обезличенной базе данных сохраняется консистентность (например, количество уникальных имён и фамилий в исходной и обезличенной базах остаётся прежним);
- Исключаются пропуски чувствительных данных из-за человеческого фактора;
- Сохраняются связи между строками и таблицами баз данных;
- Сохраняются и проверяются контрольные суммы в специальных полях (например, в номерах банковских карт или ИНН);
- Контролируется целостность данных (например, уникальность или обязательность значений в полях).
В результате работы системы клиент получает базу, в которой данные выглядят как реальные, но на самом деле таковыми не являются. Злоумышленник даже не всегда сможет понять, что перед ним обезличенная версия базы. При этом бизнес-аналитики по-прежнему могут выявлять закономерности в данных, а разработчики и тестировщики дорабатывать бизнес-системы, которые с этими базами работают.
Примеры результата обезличивания приведены в таблице ниже.
Дополнительным сценарием применения Jay Data является обеспечение банков соответствию стандартам PCI DSS с целью выполнения требований платежной системы Мир и сотрудничества с Union Pay. При внедрении решения Jay Data для хранения номеров карт PAN (Primary Account Number) в замаскированном виде только персонал банка при бизнес-необходимости может видеть все платежные данные клиентов. Это даёт возможность успешно пройти процесс сертификационного аудита на соответствие требованиям международного стандарта безопасности данных PCI DSS.
Результат
В сжатые сроки мы создали российское решение по обезличиванию данных, которое используется крупными компаниями для импортозамещения ушедших с рынка зарубежных аналогов. Благодаря продуманной микросервисной архитектуре система обеспечивает высокую скорость маскирования, а также умеет работать с большим количеством реляционных и нереляционных баз данных. Мы создали решение, которое успешно вывели на рынок и продолжаем развивать.
Если вам интересен наш продукт, пишите в ЛС в телеграм: @artem_khart
Ссылка на Jay Data на нашем сайте: https://ct-sg.ru/products/jay-data/
Подписывайтесь на мой Telegram-канал и добавляйтесь в друзья ВКонтакте :) Там я в тёплой ламповой атмосфере делюсь другими интересными мыслями из мира ИТ, тимлидства и не только.