ML/DS Lunatic, Microsoft MVP && Coffee Addicted
0,0
рейтинг
23 марта 2015 в 00:02

Разработка → Антифрод. Быстро, дешево… отлично (часть 1)

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

В первой части статьи я расскажу почему вопрос мошеннических платежей (fraud) стоит так остро для всех участников рынка электронных платежей – от интернет-магазинов до банков – и в чем основные сложности, из-за которых стоимость разработки таких систем подчас является слишком высокой для многих участников ecommerce-рынка.

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

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

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

Get Started!


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

Не менее интенсивно растет количество мошеннических операций и разнообразие видов мошенничества. Россия, наряду с Англией, Францией, Германией, Испанией, входит в топ-5 европейский стран по годовому объему мошеннических операций с банковским картами. Общий объем потерь от мошенничества по картам в 2013 году в Европе превысило 1 млрд. евро. На Россию приходится 110 млн. евро, из них 2,4 млн. евро мошенничество при оплате через интернет.

Полная цепочка участников проведения online-платежа при покупке товара/услуги через интернет в общем случае выглядит приблизительно так:

Online Payment Flow


Кто есть кто?
Мерчант – продавец товара/услуги, представляет собой веб-приложение, в котором клиент может оплатить товар/услугу.

Клиент – покупатель, оплачивающий товара/услугу на сайте мерчанта с помощью своей банковской карты (или другим доступным образом).

Электронная платежная система (ПС) – сервис, принимающий оплату электронными деньгами, банковскими картами (и не только) через Интернет (примеры ПС: Яндекс.Деньги, WebMoney).

Банк-эквайер – банк, предоставляющий услуги по обработке платежей по банковским картам;

Международная платежная система (МПС) – система расчетов между банками разных стран, которые используют единые стандарты платежных средств. Примеры МПС: Visa, Master Card, American Express.

Банк-эмитент — банк выпустивший банковскую карту, которой клиент пытается оплатить товар/услугу.

Проблема


Проблема мошеннических транзакций (фрод, от англ. fraud) затрагивает всех участников этой цепочки: от покупателей до банка, выпустившего клиенту карту (банк-эмитент). Для всех участников за исключением держателей карт мошеннические транзакции подразумевают как значительные финансовые издержки, так и репутационные риски. Для ecommerce-отрасли в целом фрод также имеет ощутимые негативные последствия – это как недополученная прибыль, так и недоверие со стороны интернет-пользователей, что, в свою очередь, препятствует более широкому распространения электронных платежей.

Таким образом, наличие системы распознания мошеннических платежей (antifraud-система) для любого серьезного участника проведения online-платежа (опять же, кроме покупателя) – рыночная необходимость. В то же время хорошая антифрод-система – это чаще всего «долго, дорого…», сложности.

Сложности решения


Финансовые сложности: стоимость разработки vs штрафы за фрод


И если для банка затраты на антифрод-системы – это, в масштабах бизнеса, вполне приемлемая сумма; для платежной системы – составная часть бизнес-процесса; то мерчанты часто не имеют финансовой возможности и/или понимания, как создавать и поддерживать подобные системы.

Но и игнорировать фрод мерчант не может: деньги за мошеннические платежи в лучшем случае просто не достанутся мерчанту (даже если услуга уже оказана), в худшем – мерчант еще и будет оштрафован. Размер штрафа, в общем случае, начинает с 10$ и растет пропорционально объему мошеннических транзакций. Кроме того, при большом количестве фрода МПС (Visa, MasterCard) могут наложить (не побоюсь этого слова) санкции на мерчанта.

Эффективным способом снижения затрат на стороне мерчанта может быть введение дополнительных сложностей проверок для клиента и делегирование части/всех обязанностей проверки на фрод другому участнику. Наиболее распространенным способом является 3-D Secure (делегирование обязанности проверки банку-эмитенту).

3-D Secure
3-D Secure – протокол, добавляющий дополнительный уровень безопасности для онлайн-кредитных и дебетовых карт. По сути представляет собой двухфакторную аутентификацию владельца карты.

Но стоит учитывать, что добавление таких шагов, требующих от пользователя дополнительных действий, нередко ведут драматическому снижению количества успешно завершенных транзакций (@Gremnix озвучивал цифру снижения количества успешных платежей в 20-25% при включении 3-D Secure для России).

Юридические сложности


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

О стандарте PCI PSS
PCI DSS (Payment Card Industry Data Security Standard) – стандарт безопасности данных индустрии платёжных карт, представляющий собой список требований по обеспечению безопасности хранения и передачи платежных данных. Для тех, кого интересуют детали стандарта: Official PCI Security Standards Council Site.

При разработке антифрод-системы необходимо также учитывать некоторые законодательные ограничения на хранение/обмен платежных и персональных данных клиента. В России это «О персональных данных» (152-ФЗ). Подробнее положений этого закона коснемся позже при рассмотрении программной архитектуры сервиса.

Технические сложности


Антифрод-система является business-critical системой, т.к. ее простой будет вести либо к остановке бизнес-процесса, либо, при некорректной работе системы, к увеличению рисков финансовых потерь для компании.

Отсюда повышенные требования к надежности работы, безопасности хранения данных, отказоустойчивости, масштабируемости системы.

В команде, занимающейся разработкой антифрод-системы, можно выделить следующие роли и сферы ответственности этих ролей:
  • эксперт в предметной области: платежные системы, банковские системы, оплата через интернет, юридические ньансы работы таких систем;
  • архитектор: проектирование высокодоступного надежного (лучше еще и распределенного и масштабируемого) приложения;
  • разработчик: высокоуровневый язык программирования, асинхронное и многопоточное программирование, хорошая математическая подготовка;
  • data scientist: исследователь, любит данные и математику;
  • project manager (куда ж без них): координация разработки.

Преимущества мерчанта


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

Но у мерчанта есть и преимущество – уникальная информация о покупателе товара/услуги, которая чаще всего недоступна другим участникам online-платежа (например, банку эмитенту или МПС). Так ECN-площадки с большой вероятностью обладают реальным именем плательщика; интернет-магазины, предлагающие услугу доставки, с большой вероятностью знают реальную страну, город проживания плательщика и т.д.

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

Заключение Продолжение следует…


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

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

Доступна antifraud-система будет как web-сервис и будет предусмотрена возможность подключения к сервису сторонних мерчантов. Финансовой целью будет сделать разработку сервиса на порядок(и) дешевле за счет применения ряда подходов, ведущих к значительному снижению первоначальных финансовых затрат на оборудование и ПО, сокращению количества специалистов и затраченных человеко-часов.

Подробности эксперимента, описание программной архитектуры сервиса и детальный разбор наиболее критичных модулей будут описаны в следующих частях статьи.
Dmitry Petukhov @codezombie
карма
47,0
рейтинг 0,0
ML/DS Lunatic, Microsoft MVP && Coffee Addicted
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

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

  • +1
    Но у мерчанта есть и преимущество – уникальная информация о покупателе товара/услуги, которая чаще всего недоступна другим участникам online-платежа (например, банку эмитенту или МПС)


    Но подождите — как банк может выпустить карту без идентификации клиента?
    • +2
      Автор просто упустил или не знал того что антифрод системы могут стоять на любом элементе. Начиная в сценария в банкомате — когда для примера не дает выполнить более 2-х операций подряд по одной карте и заканчивая эмитентским процессином. И для каждой такой точки существуют свои системы и наиболее оптимальные алгоритмы и правила работы.
      А судя по картинке автор хочет рассказать про 2-5 % операций. Надо смотреть глобально и не придумывать ни чего нового, а воспользоваться то что рекомендуют ПС.
      IMHO Тема сисек не то что не раскрыта, а даже не пробовали поднять одеяло.
      • –2
        Автор просто упустил или не знал того что антифрод системы
        А Вы откуда знаете, что он не знает?
        А судя по картинке автор хочет рассказать про 2-5 % операций
        Как Вам картинка об этом рассказала?
        Тема сисек не то что не раскрыта, а даже не пробовали поднять одеяло.
        Опять — зачем выдавать желаемое за действительное? В первых строчках же написано, что статья раскрывает, почему тема фрода стоит так остро. Раскрыть тему мошеннических банковских платежей в рамках одной статьи — это утопия.
        • +2
          1 Если бы автор имел общее представление то начал бы с начала, а не с конца. Борьба с фродом начинается на эмитентской стороне. Пытаться сделать фрод на эквайере это решение проблемы см. п.4.
          2 Это объем операций кторые проходят по нарисованной им краинке.
          3 Черт побери! С фродом в e-commerce решается все довольно просто- не регистрировать терминалы без 3DS.
          4 Очевидно что многие так называемые ЭПС строятся с одной целью — разбавить серый или черный трафик, белым трафиком. На белом трафик проблема фрода отсутствует при условии что он 3DS.
          • 0
            3 Черт побери! С фродом в e-commerce решается все довольно просто- не регистрировать терминалы без 3DS.


            То, что это помогает на 70-90% согласен
            Немного туплю… Почему это панацея??
            • 0
              Отчасти потому, что наличие 3DS само по себе сильно снижает риск пролетания фрода по ворованным картам (украсть номер карты можно, украсть кнему ещё и 3DS пароль, если он постоянный, уже сложнее). И отчасти потому, что за пролетевший фрод будет ответственным тот, кто провёл операцию без 3DS (банк, ПС, мерчант...). Если все провели по 3DS — то скорее всего попал владелец карты.
              • 0
                Если дополнительная аутентификация на стороне клиентского банка осуществляется по одноразовому SMS паролю, то после появления айфонов, айпадов и прочих «лопат», мне кажется это уже давно не панацея; так как траяны могут экранировать SMS и переслать его злоумышленнику…

                По большому счету 3D просто «перекладывает ответственность»… В этом плане это решение для мерчанта и головная боль для банка.
                • 0
                  Экранирование или перехват СМС всё-таки пока что технически достаточно непростая задача, но к сожалению уже в недалёком будущем это станет реальностью. Гораздо больше мошеннических действий совершается сейчас путём замены (несанкционированного перевыпуска) или клонирования сим-карты, а также с помощью социальной инженерии — попросту, выманивания у клиентов одноразовых кодов/паролей.
                • 0
                  Secure Code в 3DS может быть: 1 Фиксированный 2 Динамический 2.1 полностью формируемый на стороне эмитента и передаваемый по альтернативному каналу Его может для пример сообщить «голосовой робот», а не обязательно СМС. 2.2 формируемый на стороне держателя карты- чип редер который работает с приложением EMV карты 3 Квазиднамический — кодовые таблицы Можно что то даже скомбинировать: в ПИН-конвертере сообщить 4 секретные цифры ПИН2 которые вводятся перед четырьмя цифрами переданными через СМС. При все формализованости 3DS тут можно много чего придумать.
    • 0
      как банк может выпустить карту без идентификации клиента?
      Где вы это в статье прочли?

      У банка есть информация о держателе карты, у мерчанта — о заказчике услуги. Никто не гарантирует, что это одни и те же люди.
      • 0
        Но у мерчанта есть и преимущество – уникальная информация о покупателе товара/услуги, которая чаще всего недоступна другим участникам online-платежа (например, банку эмитенту или МПС). Так ECN-площадки с большой вероятностью обладают реальным именем плательщика; интернет-магазины, предлагающие услугу доставки, с большой вероятностью знают реальную страну, город проживания плательщика и т.д.


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

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

    • 0
      Вы говорите о каких-то конкретных «сложных и навороченных» антифрод-системах или же абстрактно? Очень интересно выслушать мнение, это негативный опыт работы с каким-то промышленным решением или чьей-то собственной внутренней разработкой?
      • 0
        И опыт своей разработки (Ц_Ф_Т) и общение с банками имеющими такие системы.
        К сожалению, подробности обсуждать не имею права.
  • +1
    Меня давно терзает вопрос: кто и зачем просит указывать тип карты и имя владельца при оплате у некоторых ПС?
    У 99% используется один и тот же эквайер, так что вопрос маршрутизации не стоит (либо решается определением по номеру), а имя вообще никуда не уходит.
  • 0
    Меня давно терзает вопрос: кто и зачем просит указывать тип карты и имя владельца при оплате у некоторых ПС?
    У 99% используется один и тот же эквайер, так что вопрос маршрутизации не стоит (либо решается определением по номеру), а имя вообще никуда не уходит.
    • +1
      Я думаю, это исключительно пережитки прошлого. Кому-то лень переделывать формочки :)
    • 0
      Поле «имя на карте» помогает немного в защите от ботов, проверяющих список ворованных карт. Не все боты одинаково умные и многие подставляют в поле всякую фигню, которую легко распознать и блокировать платеж еще до отправки в платежную систему.
  • +1
    Дмитрий, спасибо за статью. Здорово, что тут есть люди, занимающиеся исследованием в области антифрода. С интересом жду продолжения, а пока у меня пара вопросов по первой части.

    • Вы упомянули эксперта и data scientist как членов комнады разработки антифрод-системы. Если с архитектором, программистом и проджектом всё более-менее понятно, то какие роли на ваш взгляд у первых двух? Как они между собой взаимодействуют и как «делят поле»? Кто чем занимается?
    • «Доступна antifraud-система будет как web-сервис» — не терпится заранее узнать, какая целевая аудитория будет у предполагаемого решения? Банки, платёжные системы, агрегаторы, мерчанты? Прошу прощения, если забегаю вперёд.


    Спасибо.
    • 0
      Эксперт и data scientist — это именно роли. Возможен вариант, что обе роли выполняет один человек. Если все же люди разные, то взаимодействие приблизительно такое: эксперт говорит 'где-то тут должен быть бозон Хигса', data scientist ищет аномалии, применяет методы статистики и ML и находит!
      Это, конечно, упрощенно. Взаимодействие внутри команды, как Вы понимаете, это большая тема.

      У antifraud как web-сервис будет наиболее интересен мерчантам, менее интересен агрегаторам, общий подход и практики будут интересны и банкам.
      • 0
        Быстрый должен быть сервис.
        На транзакцию всего 40 секунд отведено, а нужно:
        1 )принять транзакцию,
        2) обработать
        3) обезличить и отправить (XML?) в сервис
        4) время пробега
        5) приняли в сервис
        6) пробили по черным спискам (самый базовый анифрод)
        7) адский дата майнинг или на баесах с нейронками принятие решение (да/нет)
        8) формирование ответа
        9) пробег от сервиса
        10) прием от вашего сервиса
        11) разбор ответа сервиса
        12) проведение операции на стороне заказчика
        13) отправка ISO8583 в ПС

        это в первом приближении. =)

        обычно же антифрод ставят инхаус рядом-рядом с процессингом.
        как у вас с этим?
        и что с источниками данных (черные списки карт, точек продаж, IP)?
        • 0
          Сорри, а «40 секунд» откуда взялось? Почему именно 40?
          • 0
            Это нормативы МПСов.
            Обычно 2-3 секунды, за 40 могут погрозить, а за 120 откатят по таймауту.
            • 0
              А, понятно, спасибо. Я-то держал в голове SLA для антифрода на порядок меньше, чем 40 секунд.
  • +1
    Дмитрий, и ещё один вопрос. Вы совершенно справедливо упомянули PCI DSS, который неизбежен там, где используются банковские карты. Но так ли необходимо самой антифрод-системе находиться внутри PCI-DSS периметра?
    • 0
      Нет, не обязательно находиться внутри PCI DSS периметра. Более того, надо максимально стараться этого избежать.
      Но, как не парадоксально, именно для этого уже на уровне требований и архитектуры системы необходимо думать о PCI DSS. Во второй части юридическим аспектам будет уделено больше внимания.
    • 0
      На самом деле на стороне банка можно просто говорить «по подозрению в мошенничестве мы отключили услугу X, для более подробной информации позвоните по телефону Y-YYY-YYYYYYY»…
      • +1
        Можно. Но какое отношение это имеет к PCI DSS? :)
  • 0
    А можно проименовать операции 1-9 на первой диаграмме? Особенно интересуют те, что не real-time.
    • +1
      Например, посмотрите схему эквайринга в этой статье — там чуть больше пояснений по операциям.
  • 0
    Но и игнорировать фрод мерчант не может: деньги за мошеннические платежи в лучшем случае просто не достанутся мерчанту (даже если услуга уже оказана), в худшем – мерчант еще и будет оштрафован. Размер штрафа, в общем случае, начинает с 10$ и растет пропорционально объему мошеннических транзакций. Кроме того, при большом количестве фрода МПС (Visa, MasterCard) могут наложить (не побоюсь этого слова) санкции на мерчанта.


    На счет «деньги не достануться» согласен.
    На счет штрафов — можно поподробнее? На основании чего, кто и как налагает штрафы?
    • 0
      Штрафы налагают платёжные системы, у которых есть специальные программы по контролю уровня фрода (Global Merchant Chargeback Monitoring Program у Visa и Global Merchant Audit Program), которые устанавливают допустимые уровни по количеству и суммам мошеннических транзакций и чарджбэков. Превысил и не принял меры — штраф и санкции.
  • 0
    Если вы делаете проект «for fun», то могу только пожелать удачи.
    Если хотите коммерциализировать, то не хотелось бы убивать ваш энтузиазм и не рекламы ради, но все это уже придумано.
    Непросто будет сделать что-то дешевле и лучше сервиса за 1 цент/транзакция, сделанного парнями из Гугла. В России такой тоже имеется, например, у ПС Assist.
    Сами понимаете, в machine learning все зависит от количества данных, поэтому выигрывает тот, у кого больше данных.

    По своему опыту в платежах, вижу в статье несколько не совсем верных посылов.
    Например, мерчанты (за исключением больших, типа того же упомянутого badoo) почти всегда пользуются антифродом от ПС, уговорить их интегрировать что-то еще непросто.
    Также цифры по «потерянным» платежам с/без 3DS могут разниться, 20% — это скорее экстремальный случай, зависит от бизнеса мерчанта.
    PCI DSS, в общем-то не нужен. Первые 6 и последние 4 цифры карты вполне хватает для ее идентификации и их можно хранить без сертификации. По персональным данным, конечно, надо смотреть.
    • 0
      Я вот тоже сначала вспомнил было про SiftScience, но давайте дождёмся продолжения статьи! Мне самому ужасно интересно, может быть нас ожидает что-то революционное :)

      PS маски 6/4 по понятным причинам недостаточно для однозначной идентификации карты, а вот шифрованного номера карты в виде уникального токена — достаточно вполне.
      • 0
        Хотелось бы ошибиться, но тут идея может быть не в стартапе, а в рекламе облаков и machine learning от богомерзкого M$.
        • 0
          Ну вот и посмотрим! :)
    • +1
      Если хотите коммерциализировать, то не хотелось бы убивать ваш энтузиазм и не рекламы ради, но все это уже придумано. Непросто будет сделать что-то дешевле и лучше сервиса за 1 цент/транзакция, сделанного парнями из Гугла. В России такой тоже имеется, например, у ПС Assist.


      1 цент — транзакция это недешево. Во вторых не все кейсы покрываются! И это самое важное.

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

      Вот мысленный эксперимент. в банке Z возникает новый тип мошенничества… Это "пожар"… Нужно за 1-2 часа написать быдлокод, чтобы «хоть как-то работало», затем за рабочий день нормальный скрипт. В противном случае клиенты банка могут потерять N-цеть миллионов рублей за Y суток… А через Y дней (за исключением изменений в ядре системы) все что вы написали — уже не актуально.

      Теперь вопрос: как вы себе представляете согласование со сторонней организацией? Есть только один способ — выписать мальчика, который постоянно будет у вас в офисе… Иначе процесс согласования / изменения и т.д. может занять все Y дней, а то и больше… В некоторых случаях проще самостоятельно такого мальчика нанять в штат и сделать свое решение.

      • +1
        Безусловно в штате должен быть тот, кто управляет антифрод-системой, никакой искусственный интеллект работу живых аналитиков не заменит. Но! В случае ахтунга не нужно «писать быдлоколд и согласовывать со сторонней организацией», а достаточно добавить в антифрод-систему новые данные и новые правила по новому типу мошенничества руками управляющего ей штатного эксперта / аналитика. Даже в сложных случаях это вопрос максимум нескольких часов. Антифрод от SiftScience, который был упомянут в предыдущем комментарии (и большинство других промышленных коммерческих антифрод-систем), собственно примерно так и устроен.
      • –1
        новый тип мошенничества

        Возможно, но это будет скорее внутренняя проблема банка, мы же говорим о фроде с картами для мерчантов, там все более-менее универсально.
        Нужно за 1-2 часа написать быдлокод, чтобы «хоть как-то работало»

        В банках большинство кода такого, так что ничего не изменится.
        Более того, система, построенная на базе machine learning, может выявить аномалии гораздо раньше, чем «аналитики», склонные долго обедать и работать 8 часов в день.
  • 0
    Общий объем потерь от мошенничества по картам в 2013 году в Европе превысило 1 млрд. евро. На Россию приходится 110 млн. евро, из них 2,4 млн. евро мошенничество при оплате через интернет.
    А откуда статистика, можно уточнить?
    Еще интересно, а вы сами с какой стороны выступаете? и для кого разрабатывается антифрод система?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.