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


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

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


В конце с бонусной карты в «Пятерочке» кто-то списывает 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. Если вы уже принимаете платежи через Яндекс.Кассу и вас утомили мошенники, пользуйтесь кастомным антифродом.

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


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

Комментарии (13)


  1. DmitriyDev
    06.07.2018 10:04
    +1

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


  1. cry_san
    06.07.2018 10:39
    -1

    Теперь и маленький брат следит за тобой… ))


  1. JustDont
    06.07.2018 11:41
    -1

    Лейтмотив статьи прекрасный: сливайте нам побольше всяких ваших данных, а в обмен на это мы вам будем больше доверять.


    1. StarMarine
      06.07.2018 13:54

      Да. Нет GDPR. Нет защиты от стигматизации.


  1. claygod
    06.07.2018 13:43

    … и тут приходит заказ на доставку в частный сектор в Купчино ...
    Если речь об СПб, то интересно было бы узнать, где в Купчино частный сектор ))


  1. dartraiden
    06.07.2018 14:00

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

    Обычный гражданин, купивший эти бонусы у мошенника, врядли полезет с забугорного VPN. А мошенник тем более знает, что нужно заходить с IP-адреса, как минимум, страны хозяина. А те, кто «бьёт картон» (работают с украденными банковскими картами), подбирают себе прокси не просто по стране, а даже по конкретному штату/области (там много нюансов вплоть до подкручивания времени в оперционной системе, чтобы как можно больше походить на жителя нужной местности).


    1. evil_me Автор
      06.07.2018 15:19

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


  1. RouR
    06.07.2018 14:48

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

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

    1. Это работает до ввода номера кредитки?
    2. А если устройство тоже, а браузер другой?
    3. А если браузер тот же, но почистить все куки и стораджи, переустановить браузер, обновить браузер?


    1. evil_me Автор
      06.07.2018 15:09

      До кредитки или после — зависит от условий казино или сервисов с похожими программами лояльности.

      По поводу 2 и 3 — такое поведение отдельно размечается внутри антифрод-машины и влияет на вердикты в зависимости от того, что пользователь делает дальше. Кроме этого, мы анализируем «человечность» формирования логина, и это тоже один из параметров принятия решения.


  1. teecat
    06.07.2018 16:19

    мы подсказываем мерчанту, платит ли конкретный пользователь, какие шансы, что это не мошенник, и много чего еще

    Правильно ли я понимаю — это ПДн (явно ФИО, местоположение и «много чего еще»), да еще и сбор данных без согласия субъекта, передача третьим лицам явно не в деанонимизированном виде? Вот чисто из интереса — как к подобной деятельности относятся регуляторы?


    1. evil_me Автор
      06.07.2018 17:19

      Нет, не правильно. Мерчанту никакие ПДн не передаются, он получает от нас скоринг id (число от 0 до 100) и/или рекомендации по конкретному id, и на основе этого числа может принимать решение.


      1. teecat
        06.07.2018 17:24

        Тогда нормально, а то фраза «много чего еще» смутила.
        Но сбор и обработка все равно остаются


  1. Mitch
    07.07.2018 04:05
    +2

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

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

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

    Вы думаете что это круто, за пол года приучить пользователя что оплата проходит без смс, а потом когда он на выезде в другой стране и у него нет роуминга (или он сидит на интернете с локальной симки) просить у него смс?
    Это бесит и создает реальные проблемы.

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

    Рассказывать «антифрод машине» что я куда то улетел?
    Ну, на поверхности идея здравая, но меня беспокоит реальная работа реализации…
    Пока я старался избегать нарушать паттерн «обычный пользователь который всегда сидит с одного ip».
    А сейчас получается, этот ИИ станет такой умный, что будет думать если ip значит не менялся, а я покупал билет в парагвай, а потом хочу купить билат из парагвая — то что он решит?
    Что раз ip не менялся то наверное я не улетел, а билет пытается купить парагвайский мошенник? Или догадается что у меня прокся?

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