Card testing: что на самом деле происходит с вашим чекаутом до первого чарджбэка

Всплеск отказов, который пока не стал чарджбэком
Однажды утром в панели платежей появляется что-то странное: десятки новых регистраций за последний час, в каждой добавлена карта и предпринята попытка небольшого платежа, большинство отклонено. Никто не звонил с жалобой. Ни одного спора не поступило. Проверите через неделю, и их, возможно, до сих пор не будет. Велик соблазн прочитать это как ничего особенного, как проблему ботов для почты поддержки, а не платёжную проблему для вашего торгового счёта. Это неверное прочтение, и к моменту, когда появится чарджбэк, на который можно указать пальцем, главный ущерб уже, как правило, нанесён в другом месте.
То, на что вы смотрите, называется card testing: кто-то прогоняет партию украденных или угаданных номеров карт через ваш чекаут или через форму «добавить карту», чтобы выяснить, какие из них ещё работают. Ваш сайт не цель. Это инструмент. Мошеннику не нужно ничего из того, что вы продаёте; ему нужно, чтобы ваша платёжная форма бесплатно сказала, какой из номеров в купленном списке живая карта, а какой мёртвый пластик.
Это особенно важно для оператора каталога объявлений для взрослых, потому что советы, обычно написанные для онлайн-продавцов, предполагают обычного ритейлера с обычным процессинговым банком. Ваш счёт почти наверняка проходит через высокорисковый гейтвей, со своими условиями резерва и своей, более узкой, терпимостью именно к тому типу всплеска отказов, который порождает атака тестирования карт. Механизм везде одинаков; то, во что он вам обходится, нет.
Этот текст о механизме: как работает тестирование карт, во что оно реально обходится до того, как появится хоть один спор, почему высокорисковый счёт переносит ту же атаку хуже, чем стандартный, и что изменить в чекауте на этой неделе, а не после следующей атаки.
Ничто из этого не требует, чтобы вы стали аналитиком по борьбе с мошенничеством. Требуется лишь понять, что на самом деле означает всплеск в вашей панели, чтобы перестать считать его фоновым шумом.
Что такое card testing на самом деле, и почему такой чекаут удобен для атаки
У мошенника, который покупает или собирает партию номеров карт, проблема возникает раньше, чем возможность: большинство этих номеров уже мёртвые, аннулированные или заявленные как украденные. Проверять их по одному настоящей покупкой было бы медленно и быстро сжигало бы легитимных продавцов, потому что отклонённую покупку обычно замечает держатель карты, а помечает банк. Поэтому мошенник ищет более дешёвый и тихий способ задать тот же вопрос: жива ли ещё эта карта.
Тихий способ: привязать карту к аккаунту или выполнить проверку авторизации, а не завершать покупку. Собственная документация Stripe прямо говорит: мошенники предпочитают этот путь, потому что связанные с ним проверки обычно не отображаются в выписке держателя карты, а значит у настоящего держателя нет очевидной причины что-то заметить и сообщить. Когда этот путь недоступен, запасным вариантом становится небольшая покупка, доллар или два, выбранная потому, что она всё ещё достаточно мала, чтобы остаться незамеченной в выписке, полной настоящих трат.
В любом случае запрос должен куда-то попасть, и скрипту всё равно, что продаёт это «куда-то». Ему важно, легко ли добраться до формы и стоит ли что-нибудь между отправленным номером карты и ответом. Форма регистрации, позволяющая посетителю создать аккаунт и привязать карту без входа в систему, без CAPTCHA, без ограничения на число попыток одного посетителя, это именно такая форма, какой бы бизнес за ней ни стоял.
Руководство J.P. Morgan для продавцов по этим атакам прямо описывает схему выбора цели: мошенники ищут продавцов, не оснащённых для обнаружения атаки или защиты от неё, часто используя их как то, что в руководстве называют «мулом»: промежуточную цель, используемую исключительно для того, чтобы выяснить, активен ли ещё аккаунт. Небольшой или средний оператор каталога объявлений с минимальным чекаутом, часто на более дешёвом высокорисковом гейтвее, не включающем CAPTCHA и защиту на основе машинного обучения, которую платформа вроде Stripe предлагает по умолчанию, соответствует этому описанию больше, чем крупный ритейлер, и не из-за тематики сайта, а из-за того, что он может себе позволить построить.
В результате получается форма мошенничества, которая не имеет ничего общего с вашими объявлениями, вашей модерацией или честностью ваших рекламодателей, и всё дело в том, насколько открыт ваш процесс ввода карты для скрипта, у которого больше нет более продуктивного места, куда податься.
Во что это обходится до того, как кто-то что-то оспорит
Инстинкт ждать чарджбэка, прежде чем считать это проблемой, понятен, и это неверный инстинкт. Руководство J.P. Morgan говорит прямо: не рассчитывайте на процесс чарджбэков, чтобы выявить атаку card testing, потому что окно между транзакцией и спором достаточно велико, чтобы сайт подвергся повторным ударам, прежде чем кто-либо заметит проблему. К моменту, когда придёт первый спор, атака, вызвавшая его, может уже закончиться, а вторая уже идти.
Первая по времени плата это не спор, а комиссия. Каждый запрос авторизации, который ваш гейтвей отправляет платёжным сетям от вашего имени, одобренный или отклонённый, это транзакция, которую ваш эквайер обрабатывает и, как правило, тарифицирует. Скрипт тестирования, делающий сотни попыток за час, обходится вам не потерянными продажами; он обходится вам трафиком авторизации, который вы платите независимо от результата, сверх любой фиксированной или процентной комиссии, которую ваш процессор уже берёт за то, что вы высокорисковый счёт.
Вторая плата репутационная, в самом буквальном, механическом смысле: Stripe описывает всплеск отказов как нечто способное само по себе испортить то, как эмитенты карт и платёжные сети воспринимают ваш бизнес, делая каждую вашу транзакцию более рискованной даже после прекращения атаки, что может означать, что начнут отклоняться и карты легитимных клиентов. Рекомендации Checkout.com говорят то же самое со стороны эквайера: высокий уровень отказов сигнализирует о риске тем, кто решает, насколько внимательно наблюдать за вашим счётом, независимо от того, превратятся ли эти отказы когда-либо в чарджбэк.
Третья плата это та, что в итоге действительно проявляется как спор. Часть атаки тестирования удаётся, потому что некоторые из номеров это живые карты, привязанные к реальным людям. Именно эти небольшие успешные платежи держатель карты в итоге замечает в выписке и заявляет как мошенничество, превращая их в те чарджбэки, которых вы ждали как первого сигнала. О том, как эти споры, когда они приходят, влияют на ваш счёт, смотрите, что на самом деле определяет долю споров каталога объявлений: атака тестирования часто становится тихим первым актом проблемы, с которой вы встречаетесь только позже, уже в этой форме.
Почему высокорисковый счёт переносит ту же атаку хуже
Программы на уровне сетей, отслеживающие доли споров и мошенничества, не являются первой линией защиты, на которую опирается ваш процессор. Под ними лежит собственный, более узкий внутренний порог вашего эквайера, тот, который он устанавливает сам, именно потому что отвечает перед сетью, если весь его портфель продавцов приближается к черте. К моменту, когда счёт официально пересёк бы порог, опубликованный платёжной сетью, эквайер, как правило, уже отреагировал на свою собственную, более низкую, частную цифру, часто увеличением резерва или ручной проверкой, а не формальным уведомлением с названием программы.
Для высокорискового торгового счёта этот частный, более ранний порог уже тот, под которым вы живёте каждый день; именно поэтому у счёта высокорисковое ценообразование и условие резерва, которого у обычного торгового счёта нет. Выходным дням, полным отказов от card testing, не нужно задевать ни одной цифры, которую когда-либо опубликует платёжная сеть, чтобы вызвать реакцию: нужно лишь сдвинуть цифру, которую ваш собственный эквайер уже наблюдает внимательнее, чем обычный счёт, а это по определению более низкая планка для превышения.
Сам резерв усугубляет проблему, а не просто её отражает. Процессор, реагирующий на всплеск отказов удержанием большей доли выручки или удержанием её дольше, забирает оборотный капитал у бизнеса, который уже платит больше обычного продавца за обработку того же объёма. Это деньги, которые вы не можете потратить на инструменты борьбы с мошенничеством, остановившие бы следующую атаку, и именно в эту ловушку в которую легче всего попадает скудный, ограниченный в наличности высокорисковый оператор.
Ничто из этого не означает, что ваш счёт хрупок из-за того, что вы продаёте. Это означает, что эквайер уже внимательнее наблюдал за вашими цифрами ещё до того, как первая тестовая транзакция затронула ваш чекаут, а атака тестирования один из самых быстрых способов сдвинуть цифру, за которой он наблюдает.
Что проверить и изменить на этой неделе
Начните с того, чтобы выяснить, заметили бы вы это вообще. Извлеките уровень отказов за последний месяц и ищите закономерность, на которую прямо указывает J.P. Morgan: группа новых аккаунтов, созданных в короткий промежуток времени, каждый с добавленной картой или попыткой платежа на малую сумму, которая отклоняется, часто с узкого диапазона IP-адресов или устройств. Если ваша панель не делает эту закономерность видимой с первого взгляда, это уже сам вывод: сейчас вы полагаетесь на чарджбэк, который придёт недели спустя, чтобы сказать вам то, что ваш журнал отказов уже знает сегодня.
Возвращайте деньги немедленно, не ждите. Если какая-то из тестовых транзакций прошла успешно, вернуть её сразу после обнаружения закономерности, а не ждать, заметит ли держатель карты, это самое дешёвое, что вы можете сделать, и это также первый шаг в официальном чек-листе Stripe против card testing. Возврат, который вы инициируете сами, засчитывается совершенно иначе, чем спор, поданный держателем карты: платёж никогда не становится чарджбэком, а значит никогда не попадает в то, как на самом деле разрешаются споры в вашей доле.
Включите проверки, которые уже существуют. Проверка адреса и сверка CVV, стандартные функции практически любого гейтвея, и их часто оставляют на мягкой настройке, потому что ужесточение может отклонить вместе с ботами и нескольких легитимных клиентов. Для бизнеса, который уже несёт высокорисковые тарифы, этот компромисс обычно стоит сделать осознанно, а не оставлять на настройке по умолчанию, которую никто на самом деле не выбирал.
Поставьте барьеры именно на создание аккаунтов и ввод карты, а не только на чекаут. Настоящая цель скрипта тестирования это ваш процесс регистрации и добавления карты, а не страница покупки, поэтому CAPTCHA и жёсткий лимит на то, сколько аккаунтов или карт может создать один IP-адрес за день, должны стоять именно там. Спросите напрямую у своего гейтвея, какие инструменты скорости и ограничения частоты включены в ваш конкретный тариф, потому что высокорисковые провайдеры очень сильно различаются в этом, а более дешёвые часто продают счёт без защит, которые обычный гейтвей включает по умолчанию.
Наконец, перестаньте объяснять отклонённым клиентам, почему их отклонили. Раскрытие конкретной причины, будь то неверный CVV или несовпадающий адрес, даёт скрипту тестирования именно тот недостающий фрагмент украденной записи карты, который нужен для уточнения следующей попытки. Общее сообщение об отказе ничего не стоит настоящему клиенту, который всё равно может позвонить в поддержку, и лишает мошенника той единственной информации, которая делает его следующую попытку точнее предыдущей.


