Время прочтения: 2 мин.
На сегодняшний день, одним из наиважнейших принципов работы с большими информационными массивами является обеспечение сохранности персональных данных клиентов. При подготовке выборочных данных для передачи их аналитикам для последующего проведения аналитических и контрольных процедур зачастую встает вопрос: как снизить риски утечек персональных данных?
Одним из явных ответов на вопрос об анонимизации персональных данных, находящихся в отдельных выделенных полях записей БД, является исключение из итогового запроса этих полей или подмена имеющегося в них текста посредством функций (в т.ч. значениями хэш, произвольными наборами букв, слов или словосочетаний и т.п.).
Как быть, в случае когда анализу подвергается, например, неструктурированный текст обращения клиента, в котором могут присутствовать персональные данные как самого обратившегося, так и иных физических лиц? С такого рода задачей мы столкнулись, когда проводили анализ обращений клиентов, индексируя текст обращения, содержащий персональные данные, в elasticsearch.
Самим ELK стеком предлагается штатное использование фильтров: мы решили скрыть критические данные путем подмены всех цифровых символов в тексте и адресов электронной почты (все символы до @) на знак #;
В данном случае в logstash используется фильтр подмены значений посредством регулярных выражений:
filter {
mutate{
gsub => [
«[Текст обращения]», # искомый текст
«(\W|^)[\w.+-]{0,100}@|\d»,# регулярное выражение
«#» # заменяемый текст
]
}
}
Если при анализе все же требуется ориентироваться на значения, например номер банковской карты, используется дополнительная настройка регулярного выражения, после которого текст номера банковской карты имеет вид 427612######1209:
filter {
mutate {
gsub =>[
"Текст обращения", # искомый текст
"(\d{6})(\d{6})(\d{4})", # регулярное выражение
"\6######\4"] # заменяемый текст
}
}
Таким, довольно простым методом подмены данных при индексации в elasticsearch, можно значительно снизить риск утечки персональных данных клиентов.
А какие методы анонимизации персональной информации в произвольном тексте при работе с ELK стеком знаете Вы? Ждем Ваших комментариев.