Лучший способ предотвратить мошенничество в приложении Marketplace?

Я разрабатываю веб-сайт торговой площадки, где преподаватели и студенты могут найти друг друга. Я создаю систему онлайн-платежей (наподобие elance или guru.com), где репетитор может получать деньги, а мы берем свою долю.

Пара вопросов:

  1. Как лучше всего заблокировать IP-адреса из определенных стран, таких как Нигерия? (Обратите внимание, я использую Ruby on Rails, поэтому любые рекомендации, относящиеся к этому, были бы еще лучше, но если нет, то тоже хорошо.)

  2. Какие еще методы я могу использовать, помимо блокировки определенных IP-адресов? (Я уже делаю AVS и обычные проверки шлюза).

  3. Какие распространенные мошенничества мне нужно проверить?

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

Я полагаю, что это похоже на проблемы, с которыми сталкиваются такие сайты, как Paypal или Google Checkout (некоторые называют их сайтами-агрегаторами), поскольку они берут небольшую процентную комиссию, поэтому, если первоначальный источник средств потерян, это огромная потеря (во много раз кратная прибыль, в отличие от обычных продуктов с более высокой маржой).

Пара дополнительных замечаний:

  1. Мои учетные записи пользователей уже требуют проверки электронной почты - это минимум, я ищу что-то помимо этого
  2. На прямом депозите есть 3-5 дней ожидания - этого требует банк - но все равно не дает ответа на вопрос, как за эти 3-5 дней определить мошенничество это или нет, чтобы его можно было аннулировать
  3. Я бы предпочел избегать решения, которое наказывает хороших людей вместе с плохими, например, взимая плату за регистрацию или заставляя их оставлять свои средства на этом счете до тех пор, пока не будет запрошен вывод (например, Paypal).

person Brian Armstrong    schedule 04.04.2009    source источник
comment
Почему люди не комментируют, когда голосуют против?   -  person Shoban    schedule 04.04.2009


Ответы (5)


Вот что я сделал до сих пор, если у людей есть дополнительные предложения, пожалуйста, ответьте:

  1. Установите флаг «проверка мошенничества», который, если он установлен, требует, чтобы кто-то (я) просмотрел его вручную, прежде чем средства прямого депозита будут отправлены
  2. Если отправляемая сумма > 300 долл. США, то выполняется автоматическая проверка на мошенничество.
  3. Если IP-адреса запросов репетитора и студента совпадают, то проверка на мошенничество
  4. проверьте их имена и адреса и посмотрите, «существенно ли они совпадают» — т. е. они оба могут иметь имя «Джон», поэтому существует пороговое значение того, сколько «совпадений» является причиной для отметки о мошенничестве.

Функция выглядит примерно так (обратите внимание, что она не включает код для проверки IP-адресов)

  def fraud_review invoice
    return true if invoice.total > 300

    #try to find out if they are the same person!
    client = invoice.client
    tutor = invoice.tutor

    count = 0
    client.full_name.split.each do |piece|
      count += 1 if tutor.full_name.include? piece
    end
    client.name_on_card.split.each do |piece|
      count += 1 if tutor.full_name.include? piece
    end
    client.street.split.each do |piece|
      count += 1 if tutor.street.include? piece
    end

    return true if count > 2
    false
  end
person Brian Armstrong    schedule 07.04.2009

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

  1. Все платежи производятся с подтвержденных учетных записей пользователей (подтвержденных по электронной почте)
  2. Задержка платежей по безналичному расчету банка на 3-5 дней.
  3. Вместо того, чтобы платежи напрямую применялись к кредитной карте / банковскому счету пользователя, они могут храниться «в сети» аналогично тому, как это делает PayPal, и пользователи должны вручную запрашивать снятие средств.
  4. Для блокировки IP я бы перешел на уровень сервера и настроил таблицы IP. Я не сисадмин, поэтому тонкостей не знаю.
  5. Я читал и участвовал в нескольких сайтах, пытающихся снизить вредоносную деятельность путем введения номинальной платы за регистрацию. Это неожиданно снижает уровень кретинизма, присутствующего на сайте.

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

person jerebear    schedule 04.04.2009
comment
+1 к №2. В зависимости от того, куда вы отправляете деньги, вам могут понадобиться налоговые формы (например, W-9 в США). Вы можете потенциально добавить проверку личности в этот процесс. Не пытайтесь сделать все это с помощью программного обеспечения, пока не поймете свои слабые места. - person runako; 07.04.2009

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

person chaos    schedule 04.04.2009
comment
не могли бы вы порекомендовать кого-нибудь, кто может использовать бесплатно? - person Outlier; 15.03.2016

Я собираюсь ответить на этот вопрос, исходя из общей стратегии обнаружения мошенничества, а не ответа, ориентированного на Ruby-On-Rails. Относительно современные системы обнаружения мошенничества обычно включают некоторые из следующих элементов:

  1. Постоянные файлы cookie — хранить файлы cookie в жесткий диск пользователя. Вы можете использовать это, чтобы сравнить трафик, поступающий с одного и того же устройства, притворяющегося разными людьми.
  2. Отпечаток устройства — это может решать только с помощью JavaScript. Вы можете использовать это, чтобы сравнить трафик, поступающий с одного и того же устройства, притворяющегося разными людьми.
  3. Ищите сигнатуры для автоматизированных скриптов. Это может помочь, если кто-то пытается вставить украденные учетные данные из другого сервиса в ваш сервис. Я уверен, вы знаете, что пользователи никогда не используют учетные данные повторно!
  4. Репутация IP - выходной узел Tor? (Информация из открытых источников). В зависимости от вашего приложения может быть законный случай разрешить трафик от tor, но если пользователь должен сообщить вам, кто он такой, чтобы использовать ваш сервис, то анонимность невозможна.
  5. Попытки запутывания — Соответствует ли UA машине? Если кто-то пытается запутать их происхождение, скорее всего, они ничего хорошего не замышляют. Вы можете заблокировать этот трафик в зависимости от вашего уровня комфорта.

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

Есть над чем подумать: вы упомянули, что устанавливаете жестко закодированный барьер в 3000 долларов. Я предполагаю, что решительный мошенник догадается об этом и попробует что-то около 2999,99 долларов, чтобы обойти ваш контроль.

person Jo Bennet    schedule 01.05.2018

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

person Jack BeNimble    schedule 04.04.2009