Как мы защищаем отзывы, покупки и путешествия от мошенников

Habrahabr 1

Аркадий — успешный стартапер. Он прочитал все книги по личной эффективности, каждый месяц открывает новые перспективные бизнесы и доволен собой, но каждый раз что-то идёт не так.

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

Я украл эту иллюстрацию у дизайнеров, когда они отвернулись.

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

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

Предупреждение

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

А еще не занимайтесь мошенничеством, за это наказывают по УК РФ.

Как работает антифрод?

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

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

Мошенники отсекаются на трех уровнях:

  1. Сначала срабатывают правила грубой оценки: да\нет, можно/нельзя, фильтры по черным или белым спискам. Всё, что отсекается на этом этапе, передается в ML-компоненту для насыщения хранилища исторических данных и самообучения моделей;
  2. Фильтр по правилам — их много, они разные, и я совершенно точно не могу о них написать в этой статье;
  3. Когда фрод-машина сомневается, какое решение принять, событие отправляется на третий уровень, где запускаются модели машинного обучения, которые дополняют фильтры по правилам. Некоторые типы событий всегда уходят на прогон по ML-моделям для выведения дополнительных правил второго уровня.

Схема сложная, а идея простая. Мерчант отдает в API набор данных о транзакции, авторизации пользователя или оставленном отзыве, мы всё это хитро крутим в антифрод-машине и выдаем вердикт — есть тут мошенники или нет. Что делать дальше — на усмотрение магазина. Еще один плюс: «хорошему» пользователю становится проще покупать, а злоумышленники и мошенники пусть страдают.

Как покупалось без антифрода:

  1. Выбрать товар, положить в корзину;
  2. Ввести пароль для входа в кошелек;
  3. Ввести платежный пароль для подтверждения платежа;
  4. Если платеж по карте — ввести одноразовый пароль для 3D Secure.

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

Зеленая линия на графике — это когда антифрод машина решила, что все в порядке и можно не отправлять никаких смс для подтверждения. По графику это около 30% случаев — получается значительная экономия на смсках.

Может, правда, и не узнать — зависит от того, насколько владельцы магазина готовы рисковать. У любой системы безопасности есть две крайности — максимально «закрученные» правила и полное исключение мошенничества, или полное избавление от мер безопасности. В первом случае страдает много нормальных покупателей, а во втором бизнес открыт для атак. Ребята из Яндекс.Кассы ищут баланс между безопасностью и конверсией: анализируют операции, докручивают правила и учитывают пожелания клиента, полученные через менеджера.

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

Принтерная фабрика

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

Здесь антифрод может помочь определить, платежеспособен ли некто Сергей, которому срочно нужен принтер, чтобы распечатать настолку. Еще Сергей обычно платит в интернете картой — ему так удобнее. Если внутренние системы Яндекс.Кассы в периметре PCI DSS когда-то встречали эту карту, её держатель точно Сергей, который регулярно что-то покупает, то всё хорошо — API вернет хороший вердикт, а фабрика отгрузит Сергею принтер.

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

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

Лабутены в Купчино

После краха бизнеса по продаже черных масок в инстаграме, Аркадий открыл доставку лабутенов. Дело прибыльное, обувь продается — и тут приходит заказ на доставку в частный сектор в Купчино. Клиент не хочет вносить предоплату, общается отписками и вообще какой-то непонятный. Возникает вопрос — а стоит ли везти туда что-то, и кто повезёт? Сегодня еще 15 нормальных заказов, а курьер нужен живым.

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

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

Садись, пятерочка

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

Здесь API антифрода помогает с анализом пользователя в момент аутентификации. Как правило, человек заходит на сайты и оплачивает услуги с конкретного набора устройств — компьютера, планшета или смартфона. Если мы понимаем, что Аркадий обычно проверяет бонусы с виндового ноута Lenovo или Android-смартфона LG из Подмосковья, а сейчас пытается войти через VPN из Уругвая с макбука, то, скорее всего, что-то пошло не так.

В Яндекс.Деньгах можно рассказать о предстоящих поездках, чтобы антифрод-машина вас не подозревала.

Как минимум, если пользователь уехал в Уругвай, ему вряд ли интерес баланс в программе лояльности «Пятерочки».

Фейковые отзывы

Однажды Аркадий открыл магазин айфонов с телевизионной антенной на пятом Андроиде, подключил к Яндекс.Маркету, но быстро нахватал негативных отзывов. Аркадий обвиняет конкурентов — мол, накрутили дизлайки и накидали «единиц». Конечно, Аркадий, виновата армия ботов, а китайские айфоны ни при чем. Так или иначе, армия приходит, ставит тысячу «пятерок» магазину и исчезает.

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

Антифрод Кассы умеет автоматически анализировать отзывы и понимать, что они написаны с одного устройства, из одной сети и одним человеком. Это работает так: пользователь нажимает кнопку «Отправить отзыв», тот сохраняется в базе, а данные пользователя отправляются в API для анализа. Если нет признаков мошенничества, отзыв публикуется, при любых подозрениях ставится на ручную модерацию, а если антифрод отдает негативный вердикт — отзыв отклоняется.

Вот так можно продать троллейбус, но зачем?

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

Маленькие дети кликали по ссылке в описании и оставляли тысячи заказов с именем «фыва фыва» или случайными цифрами вместо телефона, в общем — катастрофа. Естественно, отдел комплектации не был готов обрабатывать такой поток «заказов». Через несколько дней волна проходит, но магазин успевает потерять пару крупных заказов на поставку троллейбусов от госучреждений.

В таких случаях антифрод тоже поможет — можно направить в API поток заказов, чтобы ML-система автоматически фильтровала ненастоящие или помечала сомнительными заказы на доставку в Тверь от пользователя из Владивостока. Что делать дальше — решает мерчант, например, перезвонить и уточнить, всё ли так, как указано.

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

Машина в линию дала

Аркадий — успешный человек, и все деньги вкладывает в бизнес. Поэтому ему приходится смотреть сериалы в интернете на бесплатных сайтах. Однажды, досматривая очередную серию «Теории большого взрыва», он узнал, что в интернете можно заработать почти без вложений, и решил открыть собственное интернет-казино.

Сказано — сделано. Чтобы привлечь пользователей, Аркадий решил давать на старте красивую сумму в 666 рублей, а еще купил рекламу у популярного блогера. Жизнь наладилась, но Аркадий не учел одного момента — пользователи регистрируются, тратят бесплатные деньги, а потом заводят новый аккаунт, и всё повторяется. Денег никто не приносит.

Если бы Аркадий подключил API антифрода, то знал бы, что тот умеет и в профилирование. Если аккаунты открываются с одного и того же устройства, с похожими почтами (alex_darkstalker1, alexdarkstalker2… alexdarkstalker98) или совпадает еще ряд параметров, отдаем мерчанту сигнал, что стоит обратить внимание на учетку. Например, ограничить выдачу бонусов или не выдавать их совсем.

Еще у нашего героя есть одноклассник Петя, который настолько проникся идеей заработать в казино, что потратил вообще все свои деньги и продал диван. После вынужденного развода с женой Петя одумался — он написал Аркадию и попросил себя временно заблокировать, чтобы пока не играть. Петя — прогрессивный, общается с другими игроками из Европы и знает, что так можно. Это называется «самоисключенный игрок».

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

#лечувтайланд

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

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

Выводы

  1. Следите за детьми в интернете;
  2. Ставьте сложные пароли;
  3. Не выкладывайте фотографии билетов;
  4. И в принципе персональные данные;
  5. Если вы уже принимаете платежи через Яндекс.Кассу и вас утомили мошенники, пользуйтесь кастомным антифродом.

А у Аркадия все хорошо. Он ведет мотивацонные бизнес-тренинги и рассказывает о своем сложном пути тем, кому все эти ошибки только предстоят.

Вот и всё. Задавайте вопросы в комментариях — мы здесь и готовы отвечать.