November 19, 2018

Payment fraud. (1 часть)

Введение

Всё началось просто, я нашёл статью на форуме, про фрод. Парень там разбирал Fraud Console из видео 2014 года. В ответах я увидел, что многим была информация полезна и было бы интересно узнать, что сейчас твориться в этой Fraud системе. Не долго думая, я нашёл сайт, после посмотрел на цены... 5000$/мес. Дороговато для меня... Но, я не сдался, найдя несколько обходных путей, создав сайт с регистрацией и продажей музыки, а также зарегистрировав учётку на некого Charles из facebook. Я попал в ту самую заветную консоль... А так же получил кучу интересных PDF мануалов.

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

Думаю, информация будет полезна хоть чуть - чуть всем.

Все пункты рассмотреть конечно нереально, ибо их очень много, но самое полезное и интересное мы затронем.

Статья будет достаточно большая, но терпение - Ваш лучший друг сегодня. = )

На случай, если картинки не отображаются, добавлю ссылки на них.

Панель

Зайдя в нашу консоль, первым делом надо выбрать в панели, то, с чем мы будем работать.

Разберём всё по пунктам. 

https://yadi.sk/i/x2BLaXVe3TJuyu​

Viewing scores for - Выбор, фрод баллы чего мы будем рассматривать, к примеру: Payment Abuse (платёжное мошенничество), Promo Abuse (промо-коды), Account Abuse (мошенничество с аккаунтами), Content Abuse (авторские права/контент мошенничество). У данной консоли 4 типа Abuse (проверки мошенничества). Сегодня мы разберем самый интересный: Payment Abuse (Платёжное Мошенничество). То - есть фрод баллы за платёж / покупку товара. Откуда они берутся, что проверяет система и т.д.

Explore - тут будем исследовать наших клиентов, кто какие покупки совершил, с какого аккаунта и карты. Сегодня рассмотрим именно эту часть панели, ибо она самая интересная для нас.

Review - здесь можно выстроить очередь (Queues). Очередь можно выстроить вручную, либо по Score (Фрод баллам), либо по почтам, либо по Time Left (как давно был сделан заказ, к примеру: три минуты назад), по Route (маршрут) он бывает Low - High Priority (Низкий - Высокий приоритет / Как быстро юзер хочет получить заказ), либо по статусу платежа (Approve/Monitor/Block/Cancel и т.д.) и т.д.

https://yadi.sk/i/JBk_L_9T3TK4nU

Automate - здесь можно создать правило (скрипт). Этот пункт мы разберём по подробнее. Он интересный.

К примеру, если очки фрода > 60, то сделать Cancel User Order (отменить заказ). Естественно это простой пример. Тут же можно посмотреть какие решения сделала наша система. Скрипт можно настроить как на работу с аккаунтами, так и на работу с ордерами (заказами) поэтому, тут есть выбор двух таблиц: orders/accounts.

Приведу пример более сложного правила: Если очки фрода > 75 и Биллинг/Шиппинг не совпадают и Домен E-Mail = dot.com, тогда забанить аккаунт.

То - есть правило может быть совершенно любым, оно может содержать кучу пунктов и т.д. Естественно у "крутых" шопов своя антифрод система. Но по сути, она ничем не отличается. В ней также прописаны правила. Ещё пример: Если очки фрода > 60 и если очки фрода < 80 и Биллинг/Шиппинг расстояние > 1000 км и BIN = 525477, тогда отправить заказ на проверку человеком.

https://yadi.sk/i/gBpMHy8c3TK5Sh

Так же есть формулы, они являются фильтром, чтобы не нагружать сильно систему. Если у Вас 1 000 000 заказов в день и каждый будет проверяться по сотням правил, но не забывайте, что антифродом пользуетесь не Вы одни, а ещё 1000, а возможно и 100 000 других шопов. Как думаете, что будет?

Сервера компании (антифрод компании) бы знатно просели и ваш купленный антифрод за 5000$ начал бы тупить. Неприятная ситуация... Отвлеклись.

Формулы достаточно просты, в отличии от правил.

Приведу примеры: Если число пользователей с точно таким же устройством > 8, то забанить аккаунт. Если у данного юзера заказов за прошлый час > 5, то отправить на проверку его последний заказ. Отправить на проверку - то-есть бот проверит заказ по созданным правилам(скриптам).

Таким образом, мы фильтруем заказы. Чтобы все подряд не проверялись по сложным правилам.

Сомнительные заказы - на проверку ботом, создание кучи аккаунтов - в бан все аккаунты и т.п.

https://yadi.sk/i/he06Rgy93TK8Qk

Также, я говорил про таблицы, вот так выглядит таблица решений бота по формулам на заказы:

https://yadi.sk/i/0xmqPyw43TKA3w

Она естественно тоже кастомизируется, можно добавить график, к примеру, сколько было забанено юзеров из - за ордеров.

Напоследок, посмотрим таблицу решений бота после проверки ордеров по нашим скриптам:

https://yadi.sk/i/uqC027-m3TKCpY

Здесь видно, на какой тип мошенничества проверял бот, прошёл или не прошёл заказ, описание и прочее.

Неверные решения, по нашему мнению, мы можем скорректировать или вообще удалить.

Вернемся к панели.

Analyze - здесь можно посмотреть обычный график на разные события: Транзакции/Создание Заказов/Создание учетных записей и т.д. Выберем транзакции, за последние 30 дней и ползунками выберем уже более точный период на графике. Все заказы показываются синим, Плохие/Отклоненные красным.

https://yadi.sk/i/dHnT0_JQ3TKGM9

Developer - подключение модулей через API на Ваш сайт.

Account - настройки аккаунта.

Explore

Перейдём к самому интересному.

Выберем рискованные заказы (Risky Orders), далее выберем фильтр: Заказы, где Фрод > 60, рассматривать будем прошлую неделю, отсортируем по фрод очкам по убыванию.

https://yadi.sk/i/R5y7vXJD3TKMMQ

Теперь вверху нам показывает самый "стрёмный" ордер. Выберем его и посмотрим, почему система решила ему дать 92 очка фрод из 100.

https://yadi.sk/i/EfAhwyk63TKNt5

Пройдёмся быстренько по интерфейсу:

92 - баллы фрод системы.

fairy920 - логин в шопе.

[email protected] - почта, так же, если к аккаунту привязано несколько почт, можно увидеть их все нажав на стрелочку вниз. У нашего "клиента" только одна почта.

Last activity 2 days ago - последняя активность 2 дня назад.

Decision - решение/заключение. Нажимая на эту кнопку, мы можем сделать решение, пропустить или отменить ордер.

https://yadi.sk/i/YIi-zd6v3TKUNS

Выберем, к примеру, Looks Bad.

https://yadi.sk/i/SetcTtCx3TKUNg

Также мы можем оставить заметку по ордеру.

https://yadi.sk/i/-gZoJcy_3TKVMY

Вкладка "Overview"

Top Payment Abuse Signals - Здесь у нас показывается, что больше всего не понравилось системе, за что она дала очки фрода. Этот пункт нас очень сильно интересует, к нему мы вернёмся позже и разберём его во всех красках.

https://yadi.sk/i/r5Z_rTVH3TKWX7

Custom Attributes - это панелька настраивается полностью юзером аккаунта.

https://yadi.sk/i/zebDs0sE3TKXuN

К примеру, хочу видеть тут только Билл/Ip расстояние, удаляю всё, добавляю нужный атрибут и сохраняю.

https://yadi.sk/i/3cwazBTC3TKb8m

Orders - заказы нашего "клиента". А точнее все заказы с аккаунта fairy920.

https://yadi.sk/i/dgsJnLPG3TKcRT

Можно каждый заказ рассмотреть поподробнее.

https://yadi.sk/i/s1RFPssh3TKd3k

Каждый заказ можно либо отменить, либо наоборот пропустить. Нажав на уже знакомую нам с Вами кнопку.

Locations - адреса Billing/Shipping/IP.

https://yadi.sk/i/GndsEMET3TKePf

Social Media - социальные сети. В данной фрод системе три: Facebook, LinkedIn и Google. Можно самому вручную попробовать найти по почте человека. Нам даны на это ссылки, если конечно сканирование не дало результатов.

https://yadi.sk/i/MiAlKdGf3TKf7L

Identity - личные данные найденные из заказов, настроек и прочего.

https://yadi.sk/i/ks_tMT153TKfeT

Вкладка "Network"

Здесь мы можем посмотреть по заданным нами атрибутам, что связывает аккаунт нашего "клиента" с другими.

https://yadi.sk/i/oRMMj-CQ3TKh6B

Я отключил все прочие атрибуты, чтобы страничку не расстягивать сильно и выбрал, к примеру, атрибут IP address.

Вкладка "Activity"

На этой вкладке можно увидеть, какие действия делал "клиент" в магазине. И за какие действия в основном получал фрод очки.

https://yadi.sk/i/DJNTEzMP3TKiRH

Не будем торопиться и сразу отклонять ордер, давайте посмотрим, что же криминального совершил наш "клиент". Начнём с самого начала - регистрация.

https://yadi.sk/i/OvLK0Rx-3TKjrd

Наш "клиент" получает 52 очка фрода за свой E-Mail!

Но, 52 - это нормально. У данной антифрод системы разные цвета, обозначают разные риски.

С цветами мы встретимся ещё чуть позже, поэтому запомните их:

Серый - нормально.

Жёлтый - Risky (Рискованный).

Рыжий - Very Risky (Большой риск).

Красный - Extreme Risky (Экстремальный риск).

Что не понравилось в почте? Во - первых, сам домен. У меня его блокирует ad-block. Поэтому открываю через Tor, получаю следующую страницу.

https://yadi.sk/i/jyWlbBFw3TKm6f

И даже нажав на "Click here" выдаёт 404. Конечно, вы можете сказать, мне рандомизировали клиентов для демоверсии, вот у них и странные такие почты. Не думаю, ибо клиенты с хорошим фродом имеют хорошие почты, с доменами. К примеру, вот один из доменов: darkwizard.com. Один раз даже попался домен yandex.com - на который тоже, кстати, ругалась антифрод система. И пометила этот домен красным цветом.[email protected] - признавайся, зачем шелковые одеяла вбивал?!

В любом случае, даже если информация рандомизированна, будем анализировать, то, что есть.

То-есть первая причина - странный домен.

Вторая причина - по этой почте не нашло ни одного пользователя в социальных сетях.

Так же аккаунт он создаёт в течении нескольких секунд и минуты не проходит!

Дальше "клиент" попадает на страницу "Create an Account!" и закрывает наш сайт. Ничего интересного, едем дальше.

Дальше, "клиент" дает отлежаться аккаунту 2 недели.

https://yadi.sk/i/YmZihRT73TKqAL

Заходит на аккаунт 3 марта в 10 часов утра. И тоже за несколько часов заполняет Billing Address.

А знаете зачем он сделал перерыв в 2 недели? Почему сразу не заполнил? Всё просто, на этот биллинг уже один аккаунт до этого был создан, причём в этом же месяце! А также его расстояние IP/Billing 1,400 км. Это не экстремальный риск, конечно, но рыжий (Очень рискованный). И естественно за такое он сразу получает 87 баллов антифрод системы и помечается красным!

На этом этапе аккаунт можно выкидывать. Ибо меньше 87 баллов фрода он теперь не получит.

Но, наш "клиент" явно не из таких.) Едем дальше.

"Клиент" даёт отлёжку в неделю.

https://yadi.sk/i/RMm_YSLs3TKssr

После начинает лупить шоп, что есть силы. И за 1 минуту успевает сделать 4 заказа и их оплатить.

Непонятно, зачем он выставил биллинг адрес, в прошлую неделю, если потом его менял в каждом заказе. Очки фрода скачат ибо везде разный биллинг и шип, а соответственно разный Billing/Shipping Address Distance. Где - то ближе, где - то дальше. И в 4 заказах 8 разных адресов. Интересно...

https://yadi.sk/i/WhgOb5gY3TKuM8

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

https://yadi.sk/i/yM9ggX4b3TKvvh

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

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

Top Payment Abuse Signals

Вернёмся и теперь разберём 55 основных пунктов(атрибутов) проверки платежей. В Top Payment Abuse Signals у всех показывается только 55 атрибутов. Но, не забывайте, у каждого аккаунта есть своя кастомная панель, которую он может настроить под себя. И добавить туда хоть все атрибуты. У данной системы имеется 181 атрибут на проверку, но все атрибуты разобрать сразу сложно. Мы постараемся их разобрать в следующей статье.

https://yadi.sk/i/ExN8k6CZ3TKyu8

Значок "Планета Земля" - означает, что значение данного атрибута находиться в blacklist'е.

Цвета восклицательного знака - означают ранг риска. Если восклицательного знака нет, риск нейтральный. То - есть не даёт фрод баллов.

Нажав на определенный атрибут, мы можем посмотреть, у каких аккаунтов этот атрибут одинаковый. Также описание атрибута, по описанию атрибута я буду делать перевод.

Некоторые атрибуты могут различаться только временем: за последний час/день/месяц.

(?) - требует дополнения/разъяснения.

https://yadi.sk/i/f8T04VYN3TL2JR

Теперь все атрибуты, по порядку:

Email similarity to billing name - От 0 до 1. (от 0% до 100%) Насколько E-Mail адрес (без домена и цифр) совпадает с биллинг именем.

Unique billing last 4 (past hour) - Кол-во разных 4 последних цифр CC за последний час. Наш "клиент" бил с 4 разных кредиток, вот и значение 4. То - есть по сути, это кол-во разных кредиток введенных пользователем за последний час. То - есть, если вы оплатите четыре заказа одной кредиткой значение будет равно 1.

Unique billing addresses (past month) - Кол - во разных биллинг адресов. Как Вы помните, в начале наш "клиент" зачем - то вбил биллинг адрес, который он так и не использовал. Поэтому их 5.

Email domain - домен почты. (то, что идёт после "@")

Number of users with the same shipping address - Кол - во разных пользователей, которые используют адрес доставки, как у нашего "клиента".

Estimated email address age - Ориентировочный возраст почты "клиента". Возможно просчитывается по словарям или базам почт. К примеру, сейчас почту: [email protected] - вряд ли зарегистрируешь, она скорее всего древняя. А вот [email protected] зарегистрировать легко.

Payment method card bin - BIN карты. В данном случае это китайский бин, поэтому он в "blacklist'е".

Unique billing BINs (past month) - Кол-во разных BIN'ов на данном аккаунте за последний месяц.

User location - Локация "клиента" по IP.

Browser/OS - Система и браузер.

Host providing this user's email service - Хост предоставляющий услуги для домена почты "клиента".

Shipping/billing address distance - Дистанция между билл и шип адресами.

Changes in payment methods in the last day - Кол-во измененных видов оплаты за последний день.

IP organization - Привязанный к IP провайдер интернета.

Network - IP-сеть.

Payment method payment gateway - Способ оплаты.

Unique billing postal codes (past month) - Кол-во уникальных биллинг почтовых индексов за последний месяц.

Account age - Возраст аккаунта.

Unique billing BINs (past day) - Количество разных BIN'ов за последний день.

Unique billing postal codes (past hour) - Кол-во уникальных биллинг почтовых индексов за последний час.

https://yadi.sk/i/s7vh_RcI3TL6q2

Shipping address country - Страна получения пака.

Purchase amount in USD - Стоимость заказа в USD.

Number of users with the same billing address - Кол - во разных пользователей, которые используют этот же билл адрес. 59 пользователей используют тот же билл [Number of different users that share this billing address] (?)

Time since previous transaction - Время между последними транзакционными событиями.

Shipping name length - Количество символов в имени получателя.

Unique billing addresses (past day) - Кол - во разных биллинг адресов за последний день.

Unique Billing Names (past month) - Кол - во разных биллинг имен за последний месяц.

Timezone offset - Разница между UTC временем и временем "клиента", в минутах, узнается через браузер.

Number of digits in the shipping address - Кол - во цифр в шип адресе.

IP address - IP с которого зашёл "клиент".

https://yadi.sk/i/w7NXfI3n3TLBbT

Unique billing names (past hour) - Кол - во разных биллинг имен за последний день.

Mx records from email domain count - Количество MX Records на домене почты.

Credit Card BIN And Last4 - BIN и последние 4 цифры CC.

Unique billing BINs (past hour) - Кол - во разных BIN'ов на данном аккаунте за последний час.

Number of digits in the billing address - Кол - во цифр в платежном адресе.

Digit-Normalized email address - Адрес электронной почты с пониженным регистром и с заменой цифр на знак "#".

API event without page view - пользователь получил "non-transaction" API событие. Но обошёл/не прошёл Javascript антифрода.

Signup to transaction time - Кол - во дней между транзакцией и регистрацией.

Browser fingerprint - Уникальный идентификатор браузера.

https://yadi.sk/i/Yx0hNfdC3TLDzv

Unique Shipping Add in Orders (Month) - Кол - во уникальных адресов доставки за последний месяц.

Billing last name in email - Отображается ли последнее слово имени биллинг адреса в адресе почты.

Latest name - Последнее имя.

Billing address is reshipper - Является ли биллинг адрес известным адресом пересыла/посреда.

IP/credit card country match - Соответствие стран IP/CC.

Shipping name fraction vowels - Какая часть символов в имени шиппинг адреса является гласными.

Transaction billing last 4 - Последние 4 цифры биллинг транзакции.

IP connection type - [Connection of the IP block the user connected from] (?)

Device fingerprint - Уникальный отпечаток устройства, с которого подключился пользователь.

Unique Billing Names in Orders (Month) - Кол - во уникальных биллинг имен за последний месяц.

Latest changed password - Последний измененный пароль/изменялся ли пароль.

Ratio of digits to address length - Отношение цифр ко всем символам шипинг адреса.

https://yadi.sk/i/KCNjECwD3TLLD4

Вот и всё, на сегодня!

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

Что будет во второй части?

Мы разберём, так же как и сегодня, поведение юзера и его атрибуты с более низкой оценкой антифрода (50~60).

Возможно, рано или поздно, я напишу статью где отсортирую все атрибуты по категориям и всё по этим 181 атрибутам распишу.

В зависимости от того, понравиться ли эта статья Вам, будет принято мною решение, писать продолжение или нет.

Статья взята с ВВХ.