30 октября 2018

Евгений Виноградов, «Яндекс.Деньги»: эффективно блокировать плохих людей и не трогать хороших — основная магия

Виды мошенничества в сегменте онлайн-платежей становятся все более разнообразными по мере роста объема вовлеченных в него средств. И в задачи систем антифрода входит уже не просто блокировка подозрительных операций, но и постоянное обучение на примере уникальных кейсов. При этом важно отличить просто нестандартное поведение добросовестного пользователя от криминальной деятельности злоумышленников. «Хайтек» выяснил у начальника отдела разработки хранилищ данных и аналитических сервисов «Яндекс.Деньги» Евгения Виноградова, как использовать машинное обучение в антифроде, почему банковские кейсы не подходят для «Яндекса» и зачем анализировать big data с параметрами поведения пользователя.

Как отличить фрод от детских проступков

— Какие основные виды фрода бывают и с чем вы пытаетесь бороться?

— В целом машинное обучение в e-commerce — это про friction management, то есть про то, как сделать жизнь хороших людей проще, а плохих — сложнее. Антифрод по большей части реализует вторую задачу — он делает жизнь плохих людей сложнее, хотя немножко и к первой прикасается.

У нас платежная система, поэтому основной фрод платежный — когда кто-нибудь пытается заплатить не теми деньгами, которыми ему можно платить. Не своими или ворованными. Это наиболее типовой сценарий.

 

Юрий Корженевский — о том, как построить безопасные системы для банков на блокчейне

 

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


Фрод, от англ. fraud «мошенничество» — вид мошенничества в области ИТ. Фактически означает любые несанкционированные действия и неправомочное пользование ресурсами и услугами в сетях связи.

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


— У вас это в основном мошенники, которые получают доступ к аккаунтам других людей?

— Попытки так называемого НСД (несанкционированный доступ — «Хайтек»), когда мошенники с помощью компьютерных вирусов или методов социальной инженерии перехватывают логины и пароли от аккаунтов — да, это заметная часть. Довольно частый сценарий, но он, строго говоря, не единственный. Если более широко об этом говорить, мошенником может быть не только человек, но и магазин, который принимает деньги. И антифрод призван бороться со всеми видами мошенничества — с последствиями кражи у пользователя логина и пароля счета, с ситуациями, когда магазин продает что-то запрещенное.

Есть много разных сценариев. Наиболее типичный — это когда кто-то использует не свою карточку для оплаты, причем здесь есть два варианта. Первый — буквально когда злоумышленник украл чью-то карту и пытается ей заплатить, а есть второй вариант — такая штука, как friendly fraud. Это когда ребенок взял карту родителей и попытался заплатить за что-то, что нужно ему. Они по-разному выявляются, но в той или иной мере оба кейса можно идентифицировать

— Как это делают? В онлайн-платежах обычно работает 3D Secure — подтверждение оплаты через СМС.

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

И у нас есть система, которая в реальном времени обрабатывает все операции, в частности, все платежи, которые проходят через «Яндекс.Деньги». Во время обработки она делает две вещи. Она принимает решение, можно ли пропускать текущую операцию, и сохраняет все об этой операции, что может потребоваться в будущем. Информация о предыдущем поведении пользователя или магазина очень важна для того, чтобы оценить каждую последующую операцию. По английски эти данные называются behavioral patterns, а по-русски — «паттерны поведения». То есть если человек всегда платит по 500 рублей из Московской области, и вдруг почему-то он платит 5 тыс. из Индонезии, то это подозрительно.

— И это блокируется?

— Не обязательно блокируется. У нас не то, чтобы два варианта есть. Там многоступенчатая система, иногда можно просто авторизацию посерьезнее сделать. Проверить какие-то дополнительные параметры. Ну а если подозреваем, что действительно дело плохо — НСД или что-то такое, то можем и заблокировать операцию.

Машинное обучение и полезные данные

— Антифрод существует довольно давно — в тех или иных формах. Как его меняют большие данные? Используете ли вы машинное обучение?

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

— Вы просто храните все данные о поведении ваших пользователей, которые у вас есть?

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

 

Каждый человек станет сам себе банком: цифровой мир отказывается от посредников между бизнесом и клиентом

 

— Вы упомянули сумму покупки и географическое положение, какие еще признаки берете?

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

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

— Антифрод в электронных деньгах как-то отличается от антифрода, который используют обычные банки?

— У них одинаковый и общий смысл, что надо поймать неправомерное использование — будь то несанкционированный доступ или какие-то другие виды. Почему исходно мы начали свой антифрод делать? Потому что у нас есть отличия от банков.

Во-первых, банк — это в основном переводы денег между счетами или карточные платежи. А у нас есть масса других способов — терминальные платежи, переводы электронными деньгами. И схемы для них могут отличаться от того, что мы видим для карточек. И мы, естественно, рассматривали разные системы, когда думали о создании собственной. Но оказалось, что буквально под наши задачи ничего готового нет.

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


То, как человек нажимает на экран телефона, набирает на нем текст и скроллит, может быть настолько же уникальным параметром, как и отпечатки пальцев. Технология уже используется, например, Королевским банком Шотландии, который анализирует биометрические поведенческие паттерны всех своих клиентов.


— Некоторые банки используют в качестве поведенческих паттернов скорость печатания и другие детали использования человеком устройства. Применяете ли вы подобные методы?

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

Действительно, скорость печати, — известная штука. Если человек набирает номер карты руками — это гораздо дольше, чем если он его вставляет из буфера обмена. А у нормального человека достаточно редко в буфере обмена хранится номер его карты. И если мы видим, что очень быстро проскакивает страница с вводом платежных данных, это подозрительная история. Но на нее одну нельзя полагаться. В конце концов, вдруг кто-то действительно взял и скопировал номер из буфера обмена. То есть мы можем это использовать как один из признаков, но далеко не как единственный.

Рекомендательные системы и коллаборативная фильтрация

— Как еще используются данные в «Яндекс.Деньгах»?

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

 

Что такое скрапинг: как Amazon, Walmart и другие ритейлеры используют ботов в борьбе с конкурентами

 

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

— У вас есть массивы данных и вы думаете, где их можно применить? Есть ли уже какие-то запущенные проекты, которые оказались успешными?

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

— В чем может отличаться это взаимодействие?

— Есть типичная для e-commerce штука — рекомендательная система, которая предлагает пользователю то, что ему, скорее всего, будет интересно. Это наиболее простой пример.

— Рекомендации основаны не на конкретном пользователе, а на кластере, в который он входит?

— Рекомендательная система — довольно хитрая история. Один из способов применения — это коллаборативная фильтрация. Это когда мы берем какую-то группу пользователей, выясняем, что им в целом нравится, и когда потом к нам приходит новый пользователь, который ведет себя типичным для этой группы образом — предлагаем ему то же самое. Например, так мы раздаем спецпредложения нашей офферной платформы пользователям Яндекс.Денег и плательщикам Яндекс.Кассы. Принцип примерно так выглядит. Естественно, нет такого, что у нас — одно единое решение, которое охватывает все аспекты. Мы решаем какие-то конкретные задачи, которые могут возникнуть.