— Как устроена служба информационной безопасности в компании «Яндекс.Деньги»?
Василий: У нас есть собственный отдел ИБ, который отвечает за веб-безопасность, инфраструктуру, управление доступом. Основное взаимодействие идет, как и у остальных игроков, с эксплуатацией, потому что разработка движется семимильными шагами и порой выходит до 20 релизов в день. Также взаимодействуем с ИБ «Яндекса», которому принадлежит 25% нашей компании, и аналогичной службой Сбербанка, потому что они контролируют 75% минус 1 акция. Чтобы найти компромисс между безопасностью и комфортом, мы соблюдаем баланс между обычной банковской безопасностью и подходом ИТ-компании.
— За счет чего вы добиваетесь такой гибкости?
— Смотрите, у нас около 35 млн пользователей. Если не настроить гибкие правила, система может блокировать некоторых пользователей из-за различных ограничений со стороны властных структур. Отдельное большое направление — это «Яндекс.Касса», которую сейчас используют около 90 тысяч интернет-магазинов. Плюс банковские карты, которые мы сами выпускаем. И для каждого направления куча собственной нормативной информации. Как во всем этом добиться гибкости и сделать так, чтобы все работало? За счет людей, времени и эмоций, которые мы вкладываем в свою работу, — только так.
«Яндекс.Деньги»: история проекта
24 июля 2002 года.
Запущен партнерский проект «Яндекса» с компанией PayCash. Систему назвали «Яндекс.Деньги».
Март 2007 года.
Компания Yandex N.V. выкупила 50-процентную долю и стала единственным владельцем платежной системы. По разным оценкам, сумма сделки составила $1–2 млн.
Июль 2012 года.
Компания выпустила банковскую карту «Яндекс.Деньги» (эмитентом стал банк «Тинькофф.Кредитные системы»), в сентябре получила лицензию Центробанка и приобрела статус НКО — небанковской кредитной организации.
Июль 2013 года.
Сбербанк России приобрел долю в уставном капитале «Яндекс.Денег» — 75% минус 1 акция.
Ноябрь 2013 года.
«Яндекс.Деньги» представили платежное решение «Яндекс.Кассу». Оно позволяло пользователям и организациям подключить к своим сайтам сразу все популярные способы онлайн-оплаты.
Июль 2014 года.
«Яндекс.Кассу» подключил Aliexpress.
Апрель 2016 года.
В приложении «Яндекс.Денег» для Android появились беcконтактные платежи через NFC. В ноябре того же года платежи заработали для платежного сервиса Apple Pay.
24 июля 2017 года.
«Яндекс.Деньгам» исполнилось 15 лет.
— Какие направления безопасности существуют в ИБ компании «Яндекс.Деньги»?
— У нас есть три основных направления: информационная безопасность, экономическая безопасность и антифрод. Мы имеем в виду антифрод не в классическом банковском понимании, когда отдельно идет мониторинг, отдельно — разработка и написание правил. В нашем случае это аналитический отдел. Не просто мониторщики, разбирающие кейсы, а настоящие аналитики, которые анализируют большие объемы данных и сами пишут правила в нашу самописную систему. Активно используем машинное обучение: аналитики пишут модели, сами их тестируют и обучают. А мы в результате используем это как под антифрод, так и под нужды экономической безопасности. Автоматизируем то, что обычно делалось руками.
— К слову, об антифроде… Недавно вы представили антифрод-систему «Яндекс.Кассы», использующую алгоритмы машинного обучения. За что оно отвечает и каким образом реализованы алгоритмы?
— В обычном фроде всегда есть так называемая проблема выбора: пропустить часть фрода и не заблокировать ни одного клиента, или, наоборот, — заблокировать весь фрод и заодно нескольких клиентов. У нас накоплен большой объем данных, которые помогают нам не пропускать мошенников и не создавать сложности обычным пользователям. И в определенный момент родилась идея сформировать на их основе антифрод-услуги.
Если говорить об используемых алгоритмах машинного обучения: по SLA, решение должно очень быстро давать ответ. Когда антифрод проверяет операцию, вначале она проходит этап «прокси», как мы его называем. Это набор грубых правил в духе лимитов и оценки параметров именно текущей операции без сопоставления с историческими данными. Он помогает минимизировать время обработки операции и либо одобряет ее, либо отказывает. Если сразу не получается ответить, операция отправляется во фрод-машину с набором эвристик. Если фрод-машина не может точно понять «да» или «нет», она прокидывает ее дальше, где операцию проверяют по различным моделям машинного обучения. Фактически машинное обучение как раз и решает проблему выбора: не зарубить ничего лишнего или, наоборот, заблокировать подозрительную операцию.
Но голое машинное обучение — это не совсем правильно. Помните вопрос из детства: а если 100 человек из окна прыгнут, ты тоже прыгнешь? Человек наверняка откажется, а робот посчитает такое поведение нормальным и прыгнет. Поэтому нельзя все доверить только машинному обучению, нужно использовать набор эвристик, которые помогают очеловечить жесткие правила. Конечно, мы можем написать большое количество правил для машинного обучения, но тогда операции в антифроде будут обрабатывать около минуты — это неправильно и слишком долго.
Разметка данных — это всегда анализ обращений по мошенничеству. И здесь часто возникают одинаковые проблемы: нам трудно достать данные из разных таблиц и сматчить их, также есть проблема с тем, что пользователь/банк-эквайер может просто не сообщить нам о мошенничестве, но перестать пользоваться счетом или картой. От того, какой набор данных мы соберем, в большой мере зависят успех или неудача при решении любой задачи с помощью Machinе Learning.
— А как ваши сотрудники настраивают модели Machine Learning?
— Это нетривиальный вопрос… Дело в том, что антифрод-аналитик — это не математик и не разработчик, это человек искусства. Наши разработчики постоянно экспериментируют, у них нет жестких правил настройки, они могут использовать любые варианты, если посчитают, что это принесет успех. В целом мы, как и все, находим проблему, собираем набор данных, генерируем признаки, выбираем модель и т.д. Если все о’кей, выкладываем.
70%
времени
которое тратится на разработку решения, занимают сбор данных, их разметка и анализ.
30%
времени
уходят на внедрение или на практическую работу. Сюда же входит самообучение модели.
— По вашему опыту, сколько времени занимают разработка продукта на основе искусственного интеллекта и его внедрение?
— 70% времени, которое тратится на разработку решения, занимают сбор данных, их разметка и анализ. Иначе говоря, большую часть времени приходится тратить на обучение модели. Многое зависит от того, какие данные вы планируете прогонять через нее, на чем учить. Если это анализ логинов, на сбор и разметку данных уйдет меньше времени. Другое дело, если мы говорим об операциях эквайринга, здесь все сложнее: гораздо больше полей, нужно отсечь те, которые не будут участвовать в анализе, понять, какие данные повысят точность модели, а какие создадут дополнительные нагрузки. Это, скорее, творческие решения. А оставшиеся 30% уходят на внедрение или на практическую работу. Сюда же входит самообучение модели.
У нас в «Яндекс.Кассе» работают много различных моделей, в среднем на разработку каждой из них уходило от 1 до 3 недель. Хотя некоторые модели можно сделать за 3 дня, а на некоторые и месяца не хватает. Случаются и разочарования, когда после долгой разработки понимаешь, что вместо этой модели можно обойтись действующими статичными правилами и эвристиками.
— С какими еще сложностями можно столкнуться при реализации ML-проектов? Помимо того, что эта модель может оказаться ненужной.
— Самая большая и распространенная: на тестовой выборке все было хорошо, а на боевых данных все стало плохо, непонятно или пошло не так. И дело может быть даже не в модели. Или выяснилось, что всего 1% ложно заблокированных (это, на минуточку, 1000 пользователей, которые расстроятся и потеряют доверие к сервису) — непозволительная роскошь для антифрод-системы. Поэтому, прежде чем запускать решение в production, мы проводим этап «предпрода», когда изменения фиксируются внутри отдельных баз данных. Мы делаем разметку внутри базы данных и смотрим, как поведет себя антифрод, если модель будет работать. После этого аналитик смотрит данные и вносит коррективы: где машина пропустила мошенническую операцию, где недоработала. И когда мы понимаем, что модель вместе с обычными правилами работает лучше, чем раньше, то внедряем ее.
Мы реже применяем машинное обучение для онлайн-скоринга, потому что:
- чтобы накопить достаточно данных для обучения, нужно позволить мошенникам использовать систему, а такой возможности у нас нет;
- мошенники, как только их начнут блокировать, меняют схему или уходят в другие сервисы, и модель быстро может стать неактуальной;
- после блокировки мы должны как-то объяснить коллегам и пользователю, почему, зачем и что делать, а далеко не все модели легко интерпретируемы;
- построение модели — иногда длительный процесс, который может не завершиться успехом, а предотвратить мошенничество мы должны в любом случае. Поэтому необходимо либо сначала предотвратить мошенничество статическими правилами, либо выбрать не сильно проблемный для нас вид мошенничества.
У нас в «Яндекс.Кассе» работает много различных моделей, в среднем на разработку каждой из них уходило от 1 до 3 недель. Хотя некоторые модели можно сделать за 3 дня, а на некоторые и месяца не хватает. Случаются и разочарования, когда после долгой разработки понимаешь, что вместо этой модели можно обойтись действующими статичными правилами и эвристиками.
— Какие задачи, в том числе из сферы ИБ, на ваш взгляд, можно отдать машинному обучению, а куда технологию нельзя пускать ни в коем случае?
— Задачи по распознаванию картинок и текста лучше решать с помощью ML, и мы для перепроверки сайтов контрагентов именно его и используем. Машинное обучение хорошо подходит для кредитного скоринга, потому что дает простор для генерации разных нетривиальных параметров. Задачи поиска ботов тоже можно отдать на откуп ML — для их детектирования иногда нужно анализировать данные из внешних источников. Поиск аномалий в системе платежей — опять же с помощью ML: без него много ложных срабатываний, к примеру, в период распродаж и в праздничные дни, с ним лучше.
А вот широко применять ML в сфере ИБ уже сложнее. Машинное обучение настраивается с помощью большого объема данных, а сколько нужно собрать инцидентов, чтобы настроить его для ИБ? Если закинуть 500 млн операций и из них 100 будут связаны с инцидентами ИБ, это же мелочь, модель не будет работать. В идеале машинному обучению можно поручить анализ логов, но опять же нужно много схожих инцидентов, чтобы машина смогла выработать правила. Если инцидентов будет мало, модель будет совершенно бесполезна — либо совсем неприменима, либо будет генерировать ошибочные срабатывания. Мы планируем экспериментировать с машинным обучением, но первые результаты появятся не раньше следующего года — пока мы не придумали, где его можно применить.
— Как компания может подготовить ИТ-инфраструктуру и персонал к внедрению продуктов на основе Machine Learning?
— Есть несколько нюансов в подготовке инфраструктуры. Во-первых, нужна нормальная «железка», на которой вы будете обкатывать модели. Мы для этого используем промышленные видеокарты NVIDIA Tesla, но все зависит от объема данных, который вы планируете использовать. Можно обойтись и виртуальной машиной — все зависит от ваших данных. Во-вторых, должно быть налажено хорошее взаимодействие со службой эксплуатации, чтобы понимать, какой набор данных нужно отсечь и передать для работы.
— Как вы планируете развивать антифрод-решение? Особенно интересно использование алгоритмов машинного обучения.
— Сейчас мы экспериментируем и размышляем над использованием машинного обучения в кредитовании. Например, чтобы машина прогнозировала уровень для клиента и возможность уйти в дефолт. Но проблема заключается в том, что машинное обучение применимо далеко не везде. Наши эксперименты показывают, что порой набор обычных статичных правил куда лучше машинного обучения. О перспективах… Не буду называть конкретные решения — их очень много. Если в общих чертах, мы планируем дорабатывать архитектуру, развивать интерфейсы управления. Могу сказать, что чем больше клиентов будет проходить через антифрод, тем выше будет объективность оценки «фрод / не фрод» и тем меньше будет ложных срабатываний системы.
— Чтобы сделать крутой продукт, нужна сильная команда. Как вы собирали команду экспертов по Data Science?
— Мы до сих пор набираем, ищем людей. На днях приходил кандидат, который учится в университете, будет пробоваться антифрод-аналитиком. Из каких вузов набираем, не скажу — там выпускают слишком мало толковых кандидатов. Наши антифрод-аналитики должны быть не просто прикладными математиками, они должны быть знакомы с банковской сферой. Либо мы должны быть уверены, что они этому смогут быстро обучиться, а таких людей на рынке очень мало. И тенденция такова, что в большинстве российских компаний антифрод-аналитиками сейчас работают молодые люди.
— Что может препятствовать проникновению технологий машинного обучения в ИТ-ландшафты отечественных компаний? Низкая психологическая готовность рынка, например?
— Мне кажется, препятствует то, что машинное обучение — это сложная математика, теория вероятностей, статистика, программирование. и они, во-первых, далеко не всем понятны, а во-вторых, не всегда приводят к решению бизнес-задачи. Но не потому, что алгоритмы не работают, а потому, что сама постановка задачи может быть некорректной: data set для обучения не собран должным образом, в модели использовались не те признаки, аналитикам только сегодня поставили задачу, а дедлайн был сформулирован как «решить надо было еще вчера». Первое и последнее ставят в тупик даже хороших аналитиков. Многие компании с помощью машинного обучения пытаются решать задачи, которые гораздо проще решить другими способами. А потом расстраиваются, что ничего не получилось, и когда возникает другая задача — теперь уже под ML, к нему не прибегают.
Второй барьер — это проблема KPI. Для машинного обучения необходимо закупить железо, нанять или обучить специалистов, заложить зарплатный фонд. Эти затраты должны как-то окупаться и приносить деньги компании. Сейчас во всем мире сталкиваются с проблемой, как это можно монетизировать. Все началось с желания бизнеса монетизировать накопленный объем данных, но далеко не все хотят рисковать, пока не появятся устойчивые модели по извлечению прибыли из этих массивов информации с помощью машинного обучения.
— А что, по вашему мнению, ждет Machine Learning в российском бизнесе через несколько лет?
— Как специалист по ИТ-безопасности я рассчитываю, что технологии машинного обучения позволят увеличить объективность оценки. Если говорить о бизнесе в целом, я бы обратил внимание на таргетированную рекламу. По моему мнению, здесь применение ML-технологий оправданно и принесет прибыль. В сфере ИБ я в ближайшие годы ничего экстраординарного для машинного обучения не вижу — в принципе, основные области, где его можно использовать, определены и постепенно развиваются.
— И последний вопрос. Ответьте, пожалуйста, по поводу одного из самых обсуждаемых в индустрии слухов: о плетках и битах в вашем кабинете. Это действительно так?
— Да, это не байки. У нас на стене на самом деле висят три плетки, молоток и бита. Сверху подписано «Игрушки СБ для…», и над одной из плеток написано «PR», над другой — «ИТ». Это те, кого мы больше всего любим. Отличный устрашающий механизм, но в дело их пока пускать не приходилось. Скорее, это местная достопримечательность.