BIS Journal №2(37)/2020

17 мая, 2020

ИИ на страже банковских данных. Опыт Сбербанка

Оперативный обмен большими объёмами данных и их обработка стали необходимым условием для успешного ведения бизнеса ― включая, разумеется, банковский. При этом данные ― ценный актив, который привлекает внимание злоумышленников, особенно когда речь идёт о финансовых организациях.

За сохранностью данных всё пристальней следит государство: компании, которые не обеспечили должный уровень безопасности, могут быть наказаны значительными штрафами. Поэтому любой обмен данными в банках должен оперативно контролироваться и быть безопасным. Один из ключевых вопросов ― как в огромных объёмах информации быстро и эффективно выявлять данные, которые должны быть защищены? И здесь на помощь приходит автоматизация на основе искусственного интеллекта.

В Сбербанке накоплен огромный массив данных, на материале которых обучены модели искусственного интеллекта. Теперь эти модели сами адаптируются к внутренним изменениям и позволяют осуществлять быстрые проверки на наличие защищаемых данных. Эта статья о том, как мы используем нейронные сети для обнаружения таких данных.

 

ПОЧЕМУ ДАННЫЕ СЛОЖНО КОНТРОЛИРОВАТЬ

С технической стороны большие данные постоянно меняются. Во-первых, изменения затрагивают правила и шаблоны заполнения внутренних систем банка. Во-вторых, в различных бизнес-процессах могут возникнуть ошибки: например, может произойти сдвиг полей, и данные в таблицах не будут соответствовать атрибутивному составу. Наконец, клиенты банка могут ввести не те данные, для которых предназначено поле: например, указать номер карты в назначении платежа или комментарии. Поэтому проверяющие системы должны не только отслеживать атрибутивный состав данных, но и контролировать сами данные, проверяя их построчный состав в таблицах.

Наиболее популярные системы противодействия утечкам построены с использованием фильтров на регулярных выражениях. С одной стороны, такие фильтры классифицируют текстовые виды защищаемых данных не так хорошо, как числовые. С другой ― их проще составить, и они работают гораздо быстрее ручной проверки. Один из выходов ― применять словари с экземплярами защищаемых данных и, используя статистический анализ, пытаться интерпретировать результат. Однако есть и альтернатива: использовать для поиска и классификации данных алгоритмы машинного обучения.

 

ОДНО ИЗ РЕШЕНИЙ СБЕРБАНКА

В основе большинства информационных систем Сбербанка используются СУБД. Во внешние контуры передаются уже готовые данные в табличном виде. Поэтому в первую очередь мы решили создать классификатор уровня требуемой защиты данных, представленных в табличном виде.

Основной составляющей части рассматриваемого решения мы используем несколько нейросетей. В качестве дополнительных элементов мы применяем проверки на контрольные разряды, например, у номеров карт; и регулярные выражения с достаточно высокими ― более 95% ― показателями точности и полноты. Итоговый результат обрабатывается алгоритмом интерпретации результатов предыдущих модулей с применением математической статистики (рис. 1).

На рисунке 1 показано, что на вход системе подаются таблицы, которые могут быть представлены, например, в формате .xls, после чего информация классифицируется по видам защищаемых данных. Среди алгоритмов классификации есть нейросети, фильтры на регулярных выражениях и проверка на контрольные разряды. Результат предварительной классификации передаётся на следующий этап, на котором даётся итоговая оценка каждой ячейки с учётом ранее вычисленных показателей качества классификации вышеуказанных алгоритмов. Кроме того, производится классификация всей таблицы по категории требуемой защиты информации. На выходе получается таблица, размеченная тегами, которые соответствуют видам защищаемой информации (рис. 2) и отчёт, в котором приводится подробная информация о классифицированном составе данных.

Рис.1. Структура системы поиска и классификации данных, требующих защиты

 

Рис. 2. Пример разметки таблицы тегами. Сверху находится исходная таблица, снизу ― проверенная, с проставленными тегами

 

Для решения задачи поиска и классификации защищаемых данных в табличном представлении требуется выбрать алгоритмы и данные для обучения. Необходимо сделать выбор: обучение с учителем или без учителя? Мы выбрали первый вариант, так как в нашем банке накоплен объёмный массив защищаемой информации, и обучение можно проводить с её использованием. Для обучения и проверки качества нейросетей нужны специальные выборки: заранее подготовленные для обучения размеченные данные. Их можно взять из баз данных внутренних информационных систем, благодаря чему увеличивается качество распознавания.

Разработчики не должны работать с данными ограниченного доступа (это создаёт дополнительные риски), поэтому требовалось решить проблему создания обучающих выборок, которые будут соответствовать этому условию. Размеченные выборки для каждого вида данных получаются с помощью выгрузки одной колонки из таблицы с экземплярами конкретного вида защищаемых данных, которые без связи со значениями из остальных полей таблицы зачастую теряют свою значимость и требуют меньшей защиты (рис. 3). Такой способ получения обучающих выборок допустим для большинства видов данных. Однако существуют некоторые виды данных, например, номера карт, которые являются конфиденциальными сами по себе без связки с дополнительными полями из таблиц, поэтому их следует генерировать с помощью программы.

Далее часть каждого набора данных разделяется случайным образом на три части ― тренировочную, тестовую и валидационную выборки, на которых уже и ведётся обучение алгоритма, настройка его параметров, предварительная проверка и окончательная оценка качества классификации, получившейся после обучения модели.

Рис.3. Пример зависимости значимости данных от контекста и объединения с другими данными

 

Для обучения алгоритмов нужны выборки данных, которые не требуют защиты, ― такой набор данных был получен путем выгрузки слов и словосочетаний из нескольких документов и книг, далее были убраны элементы, которые потенциально могут быть отнесены к видам защищаемой информации: например, имена и фамилии (рис. 4).

Рис.4. Пример создания выборки незначимых данных

 

Для некоторых числовых видов данных (например, дат) достаточно создать фильтры с использованием регулярных выражений. Точность распознавания дат с помощью регулярных выражений составляет чуть менее 100%. Поэтому для оптимизации работы нейросетей было решено добавить в систему некоторые фильтры на регулярных выражениях. Для других данных, таких как номера карт, ИНН, ОГРН, существует проверка с помощью алгоритма Луна [1] на соответствие контрольных разрядов. Система, состоящая из фильтров на регулярных выражениях,модуля проверки контрольных разрядов и ансамбля из четырёх моделей имеет точность классификации 95%.

Для повышения точности распознавания защищаемых данных проводится обучение нескольких моделей. Для объединения результатов классификации несколькими моделями (ансамблем моделей) применяется алгоритм, основанный на анализе матриц классификации (рис. 6). Они показывают,сколько экземпляров каждого вида защищаемых данных было классифицировано как один из их видов. Таблицы на этом этапе строятся следующим образом: по вертикали указывается реальная классификация данных, а по горизонтали то, как они распознались алгоритмом. В ячейках указано, сколько экземпляров конкретного вида защищаемых данных было распознано как их вид.

Сравнение моделей производилось на синтетически генерируемой таблице, содержащей все используемые в модели виды данных и состоящей из 1000 экземпляров каждого вида (рис. 5). Исходя из этого, максимальное возможное число в каждой ячейке ― 1000.

Рис.5. Таблица с синтетическими данными для проверки качества обучения моделей

 

Соответственно, главный критерий хорошо обученной модели ― увеличение значений элементов, лежащих на диагонали матрицы, они подсвечены зелёным фоном, и уменьшение значений, не находящихся на диагонали ― ошибок первого и второго рода, они подсвечены оттенками красного.

Рис.6. Пример матрицы классификации для одного из алгоритмов

 

В качестве метрик успешности обучения и, соответственно, весов алгоритма итоговой классификации была выбрана F-мера, которая является средним гармоническим для точности и полноты (рис.7). Точность (precision) ― доля экземпляров, действительно принадлежащих данному классу, относительно всех экземпляров, которые система отнесла к этому классу. Полнота (recall) ― доля найденных классификатором экземпляров, принадлежащих классу относительно всех экземпляров этого класса в тестовой выборке. На рисунке 8 показаны показатели точности и полноты классификации защищаемых данных.

Рис.7. Формулы для точности, полноты и F-меры

 

Рис.8. Метрики (F-меры) качества полученного алгоритма

 

Веса классификации каждого алгоритма заносятся в таблицу. Они применяются в специальной формуле, которая, используя информацию о классификации конкретного экземпляра данных и метрики качества алгоритмов, выдаёт итоговую классификацию каждой ячейки в подлежащей проверке таблице. Точность классификации каждого алгоритма и системы в целом показаны на рисунке 9.

Рис.9. Фрагмент матрицы мер (F-меры) качества распознавания данных каждым используемым алгоритмом. Тегом «O» обозначаются незначимые данные (сокращённо от «other»)

 

На рисунках 10, 11, 12 показаны веса качества классификации. Настройки каждой нейросети отличаются, что позволяет по-разному распознавать каждый вид защищаемых данных. Так, нейросети 2 и 4 лучше распознают словосочетания, а нейросети 1 и 3 специализируются на отдельных словах. Некоторые защищаемые данные могут быть отнесены сразу к нескольким видам. Например, номер банковской карты Visa может содержать 13 цифр, так же, как и ОГРН, и различные алгоритмы проверки контрольных разрядов могут одновременно выдавать положительный результат.

Как видно из таблицы, итоговые показатели классификации, которые помечены чёрной линией, лучше показателей алгоритмов, работающих по отдельности. В редких случаях возможны «выбросы» за чёрную линию ― в этих случаях классификация некоторых алгоритмов выше качества классификации всей системы. Это связано с тем, что система считает веса всех алгоритмов для каждого вида защищаемых данных, после чего сравнивает суммы весов ― классификация зависит от того, у какого вида данных сумма весов больше. Для уменьшения эффекта от суммы нескольких неверных классификаций нужно подбирать итоговую взвешивающую функцию. На данный момент выбрана та, которая создаёт менее значимую ошибку.

Рис.10. Метрики (F-меры) качества нейросетей

 

Рис.11. Метрики (F-меры) качества регулярных выражений и проверки контрольных разрядов

 

Рис.12. Метрики (F-меры) качества полученного алгоритма. В большинстве случаев точность всей системы выше точности используемых алгоритмов

 

Применение нескольких видов алгоритмов позволяет использовать преимущества каждого из них, что в итоге повышает общее качество классификации системы. Экспериментально было установлено, что нейросети лучше распознают текстовые виды данных, а регулярные выражения лучше распознают числовые данные.

Для классификации всей проверяемой таблицы по классам требуемой защиты данных строится алгоритм классификации, обучающийся на данных вида «атрибутивный состав ― его классификация». Они были получены на основе архивов с информацией о ручной классификации данных экспертами по кибербезопасности и по оценке рисков. В зависимости от требований, регулирующих этот процесс, и нормативных документов можно учитывать не только весь список найденных в таблице защищаемых данных, но и количество вхождений каждого из видов в таблице.

 

ПРИКЛАДНАЯ РЕАЛИЗАЦИЯ СИСТЕМЫ КЛАССИФИКАЦИИ

В качестве прикладной реализации системы классификации защищаемых данных был создан веб-интерфейс, где фокус-группа, состоящая из заказчиков данной услуги, протестировала разработанный алгоритм. Пользователь загружал файл в формате .xlsx на сайт. Обратно он получал таблицу, в которой каждая ячейка была распознана как вид информации, и отчет об атрибутивном составе таблицы с указанием категории требуемой защиты, по которой строго определяются правила работы с данной информацией.

Применение тестирования с помощью фокус-группы позволяет не только выявить достоинства и недостатки реализации алгоритма и интерфейса, лучше понять пожелания конкретного заказчика, но также получить новые данные для обучения моделей в том формате, в котором они будут использоваться заказчиком. Каждый пользователь оставил отзыв разработчику модели, в котором указал все неправильно классифицированные данные. Полученная информация помогла правильно настроить алгоритмы определения категории требуемой защиты, а также позволила дообучить нейросети и повысить качество классификации.

При промышленной эксплуатации сервиса сотрудникам компании предоставляется возможность создать заявку на проверку данных, которая исполняется автоматически. Создание такой заявки позволяет всем сотрудникам банка быстро проверить файлы, участвующие во внутрибанковском обороте. Популяризация подобных услуг департамента кибербезопасности способствует распространению киберграмотностии уменьшает риски, связанные с ненадлежащим обращением с данными.

Для сотрудников департамента кибербезопасности создан отдельный сервер проверки данных, позволяющий обрабатывать большие объёмы.

 

РЕЗУЛЬТАТЫ И ПЕРСПЕКТИВЫ

Объединение ансамбля нейросетей, модуля с регулярными выражениями и модуля проверки на контрольные разряды позволяет отслеживать как числовые, так и текстовые виды защищаемых данных с точностью выше 95%. Применение справочника защищаемых данных, содержащего принадлежность к видам тайн, позволяет без отключения изменять параметры работы всей системы при изменении регулирующих их нормативных документов.

Промышленное внедрение исключило при проверке данных человеческий фактор. В результате выросла как скорость проверки, так и её качество. Это, в свою очередь, положительно сказывается на скорости поставок данных для бизнеса, что способствует быстрой разработке и выводу банковских продуктов в промышленную эксплуатацию. Применение данного решения в качестве дополнения к DLP-системе (Data Loss Prevention – система противодействия утечкам данных) позволяет качественнее выявлять попытки нарушений и быстрее выявлять нарушителей, что повышает устойчивость организации к умышленным и непредумышленным утечкам.

Следующим шагом должна стать полная автоматизация проверки и передачи данных в Сбербанке. Для этого потребуется увеличить количество видов распознаваемых данных, а также повысить вариативность внутри каждого вида защищаемых данных, чтобы охватить как можно большее число их видов, как можно в большем количестве систем и баз данных. Чтобы достичь желаемого результата, необходимы взаимодействие и заинтересованность всех сторон, участвующих в обороте данных, анализ их пожеланий и идей. Сбор, анализ и обработка информации из различных источников значительно повысит качество распознавания защищаемых данных. Как при этом предотвратить увеличение времени работы системы? Чтобы ответить на этот вопрос, нам потребуются дальнейшие исследования и внедрение новых алгоритмов машинного обучения.

 

[1] Алгоритм Лу́на (англ. Luhn algorithm) — алгоритм вычисления контрольной цифры номера пластиковой карты в соответствии со стандартом ISO/IEC 7812. Не является криптографическим средством, а предназначен в первую очередь для выявления ошибок, вызванных непреднамеренным искажением данных (например, при ручном вводе номера карты, при приёме данных о номере социального страхования по телефону). Позволяет лишь с некоторой степенью достоверности судить об отсутствии ошибок в блоке цифр, но не даёт возможности нахождения и исправления обнаруженной неточности. Алгоритм разработан сотрудником фирмы IBM Гансом Питером Луном, описан в США в 1954 году, патент получен в 1960 году.

Смотрите также