Хайп или необходимость: как обезличивают наши данные

Москва
13 ноября 2023

В 2023 году десятки компаний из различных областей подтвердили утечку персональных данных из своих баз. Сделать такие утечки бесполезными для злоумышленников помогает обезличивание данных. Что это такое и как оно работает, рассказывает Максим Пеньков, владелец продукта «Сфера.Обезличивание данных» Платформы Сфера.

Данные без лица

Обезличить данные — значит совершить такие действия, после которых невозможно понять, кому эти данные принадлежат. Иногда процесс называют деперсонализацией или анонимизацией. Эти термины означают одно и то же.
Обезличивание обычно касается трех видов информации:
  • Прямые идентификаторы, которые позволяют сразу определить человека. То есть ФИО, ИНН, номер паспорта, СНИЛС и другие.
  • Косвенные идентификаторы. Например, человека можно вычислить по дате рождения, дате выдачи паспорта и городу проживания. Чем больше таких персональных данных будут связаны друг с другом, тем проще понять, кому они принадлежат.
  • Ценная информация, которая не относится к персональным данным, но ее утечка может быть чувствительной для компании. Например, формула лекарства у фармацевтической компании или схема движения инкассаторских машин банка.
Данные редко обезличивают просто для безопасного хранения. Чаще всего это делается для разработки и тестирования новых продуктов и систем. Также в последнее время такие данные всё чаще применяют для обучения ИИ-моделей.
Давайте представим ситуацию: компания делает новый IT-продукт и хочет проверить, всё ли работает как надо. Базу с реальными персональными данными служба безопасности для этих целей не даст, а искусственно синтезированная информация часто однообразна и не предусматривает всех возможных сценариев. То есть тестирование с ними система пройдет, но в реальной жизни возможно поведет себя некорректно.
Выход — обработать существующие данные так, чтобы они всё ещё несли смысл для бизнеса и могли использоваться в тестировании, при этом были достаточно обезличены, чтобы их распространение не нанесло вред бизнесу.

От «чистых» данных до *********

Если взять все данные и каждый символ поменять в нём на звездочку, такую базу никто и никогда не восстановит — для тестов она тоже становится бесполезной. Получается, что обезличить информацию нужно настолько, чтобы она сохранила смысл для бизнеса.
Где именно будет находиться точка баланса между обезличенностью и разумностью, зависит от задачи. Например, если компании для анализа нужны даты рождения покупателей, их можно шифровать в определенном диапазоне (плюс-минус полгода). Если нужно подтверждение совершеннолетия, логика обезличивания будет немного другая. А когда этот критерий не важен, его можно просто убрать, чтобы у злоумышленников было меньше шансов выяснить владельца по косвенному признаку.
Иногда самостоятельно определить, нарушит ли обезличивание бизнес-логику и работу алгоритмов, бывает сложно. В таком случае обращаются к специалистам.
К обезличиванию стоит подходить крайне аккуратно, если дело касается нескольких взаимосвязанных баз данных. Например, нам важно сохранить логику и связность данных про какого-нибудь Ивана Иванова. Это значит, что везде он должен быть обезличен одинаково. Потому что, если в одном месте он в результате обезличивания превратится в Плова Фролова, а в другом — в Слово Толково, нужная связь потеряется.
Взаимосвязь может быть и другого характера. Возьмем простую таблицу с данными по зарплате и отчислениям: на каждые 100 рублей 13 уходят в виде НДФЛ, ещё часть — в ФСС и так далее. После изменения первого числа на 120, остальные данные также должны измениться. Но в результате обезличивания эта логика может нарушиться, а связи потеряться.
Поэтому важно после обезличивания данных, но до того, как отдать базу на обучение ИИ или тестирование продукта, попробовать использовать её в существующей системе, откуда брались исходники. Если система не начала работать с обезличенной информацией, то где-то была допущена ошибка и баланс между безопасностью и пользой нарушился.

Способы и инструменты обезличивания данных

Прежде, чем обезличить данные, их нужно найти. Они могут быть расположены в базах данных, текстах, отдельных файлах. Когда дело касается больших объемов информации, можно использовать следующие простые методы:
По точному совпадению через стандартные инструменты поиска систем.
  • По шаблонам. Например, с использованием регулярных выражений, взяв образец с сайта шаблонов I Hate Regex, либо прописав искомый формат данных вручную.
  • По косвенным указателям. Один из вариантов, когда название столбца в базе данных и колонки Excel совпадает.
  • Более продвинутый подход — использовать алгоритмы машинного обучения. Их дольше и сложнее настраивать, зато они более универсальны и позволяют найти нужную информацию, даже когда форматы хранения разнообразны, но ключевая бизнес-логика выдерживается. Алгоритмы МО часто помогают там, где регулярными выражениями решить задачу не выходит.
Когда данные найдены, их необходимо обезличить. Для этого существует несколько основных подходов: информацию можно просто удалить, заменить на константу или значения из специально созданного словаря, перемешать или сгруппировать в более крупные категории, чтобы уменьшить точность идентификации. Например, объединить людей в широкие возрастные группы.
Можно пойти более сложным путем, используя, например, FPE-шифрование с понижением размерности алфавита. Это значит, что зашифрованные данные будут иметь тот же формат (длину и структуру), как и исходные данные. То есть дата останется датой, номер телефона будет похож на номер телефона, а в ИНН найдутся всё те же 10 цифр. Символы в словах будут меняться на другие из какого-то выдуманного алфавита. Например, вместо цифр 0-9 будут использоваться только 0-4 и уйдет половина букв.
С технической точки зрения обезличить можно тремя способами: вручную, скриптами или с помощью специализированного решения на базе ETL-процесса. Рассмотрим плюсы и минусы последних двух.
Скрипты хорошо работают с компактными базами данных без большого количества вложенных таблиц. Они относительно бесплатны, если не считать время, которое тратит штатный сотрудник на их разработку и поддержание работоспособности. Скриптами можно выполнять операции прямо внутри источника исходных данных, поэтому нет необходимости в дополнительном объеме хранения данных. С таким обезличиванием может вполне справиться обычный аналитик или разработчик, который работает с базами данных. Минус в том, что вся логика и методология обезличивания завязана на одном человеке, который их придумал. Он может заболеть, отправиться в отпуск или уволиться. А ещё этот сотрудник имеет доступ к необезличенным данным и может стать причиной их утечки. Поэтому скрипты — это история для небольших компаний.
Специализированное решение на базе ETL-процесса достаточно дорогостоящее, но помогает справиться с большим количеством баз и таблиц. В нём можно сохранять шаблоны и пресеты, использовать преднастроенные алгоритмы обезличивания. Это нивелирует зависимость от конкретного исполнителя. Часто с помощью таких продуктов можно не только обезличивать, но и находить данные. Кроме стоимости минусы такого решения в том, что увеличиваются число шагов и точно потребуются вычислительные мощности — обновлять данные внутри источника, как это работает со скриптами, здесь не выйдет. Такой путь выбирают крупные и средние компании.

Что делать?

В России существует ФЗ № 152 «О персональных данных», который регулирует вопрос. Штрафы по нему не превышают 100 тысяч рублей за первоначальную утечку и 300 тысяч при повторном нарушении.
На рассмотрении профильного комитета Госдумы также находится законопроект, в котором финансовые санкции увеличатся на порядки. Также не стоит забывать про имиджевую составляющую — люди становятся всё более нетерпимыми к утечкам персональных данных. Компании этот тренд видят, поэтому за последние несколько лет количество инструментов обезличивания и частота их использования кратно возросли.
Обезличиванием занимаются не только в России. Решения различных стран имеют минимальную локальную привязку и чаще касаются особенностей документов: в России есть СНИЛС, а в Казахстане — ИИН. Решения должны быть к ним адаптированы.
Пока обезличивание не стало повсеместным трендом для бизнеса, каждый пользователь может самостоятельно сделать свои данные безопаснее. Например, указывать не настоящие ФИО при регистрации в программах лояльности и там, где настоящие данные не нужны и ни на что не влияют.

Поделиться

Копировать ссылку