На сегодняшний день ни одна компания розничной торговли не обходится без программы лояльности. Чаще всего для покупателя она включает в себя следующее:
- оформление карты магазина или сети;
- возможность начисления баллов в виде процента от стоимости или общей суммы покупки;
- использование накопленных баллов для получения скидки на товар или его частичной оплаты;
- приобретение товаров со скидкой большей, чем у покупателей без карт лояльности и так далее.
Бизнес получает лояльного и заинтересованного в движении товара покупателя, потребитель — возможность вне скидок и акций приобретать товар по более дешевой цене.
По данным сотрудников служб внутренней безопасности компаний, мошенничество с картами лояльности находятся в числе лидеров злоупотреблений среди сотрудников ритейла. По мнению экспертов, ритейлеры ежегодно теряют около 2% своей выручки из-за различного рода махинаций с картами лояльности клиентов.
Накопленные в программах лояльности баллы являются привлекательной мишенью для злоумышленников, ведь с помощью этих баллов они смогут приобретать билеты или получать другие товары и затем перепродавать их другим лицам. Ничего не подозревающие покупатели затем рискуют тем, что им откажут в посадке или у них конфискуют их покупку, если мошенничество будет обнаружено. Кроме того, преступники нередко приобретают накопленные баллы и используют скомпрометированные учетные записи для отмывания денег.
Все это указывает на то, что поставщикам программ лояльности необходимо использовать более тщательный подход к обеспечению безопасности, чтобы убедиться, что они предоставляют свои услуги именно законным пользователям, например, используя многофакторную аутентификацию в своих мобильных и других решениях.
Учитывая возможные потери, следует относиться к защите программ лояльности не менее серьезно, чем мы относимся к защите наших денежных счетов, ведь как правило ценность баллов может быть весьма высокой. Поставщикам программ лояльности следует внедрять более строгие методы аутентификации, которые позволят повысить уровень безопасности. Авиакомпании, к примеру, могут выявлять потенциальные риски не только посредством анализа идентификаторов и IP-адресов пользователей.
Далее мы проанализируем способы мошенничества с картами «лояльности» и разберём рекомендации, направленные на защиту данных карт.
Список уязвимостей и способов мошенничества с картами «лояльности»
Фишинг
Наиболее распространенными видами атак являются попытки фишинга (phishing) — когда пользователь получает на первый взгляд подлинное письмо от программы лояльности. При этом, чтобы установить вредоносное ПО на ваш компьютер или войти со своими реквизитами на поддельный веб-сайт, требуется сделать всего лишь один клик мыши, но в результате этого ваши учетные записи могут будут похищены.
В настоящее время такая схема настолько эффективна, а поведение пользователей настолько хорошо изучено мошенниками, что, согласно данным Barracuda Networks, срабатывают до 90% таких писем. Подобные атаки становятся возможными в результате совместного использования зараженных компьютеров с общим доступом, звонков из фальшивых колл-центров, передачи информации об учетных записях третьим лицам или даже в результате мошеннических действий, осуществляемых недобросовестными сотрудниками самой компании, которой принадлежит программа лояльности.
Так или иначе, распознать подобный вид мошенничества с использованием накопленных баллов весьма непросто, ведь хакеры располагают достаточным объемом информации, что не позволяет вывести их на чистую воду. Более того, как правило жертва не сразу видит хищение накопленных баллов, ведь мало кто проверяет состояние своего счета в программе лояльности на ежедневной основе.
Мошенничество с кассовыми операциями
Классической аферой на кассе с использованием функции возврата при наличии в компании любой программы лояльности (простая скидка, бонусная карта, всевозможные купоны) можно считать перекрестный возврат. Его схема проста до предела.
Посетитель магазина совершает некую покупку (к примеру, мобильный телефон), расплачивается, забирает свое приобретение и покидает торговую точку. Обслуживавший его сотрудник (злоумышленник), заранее запомнив номер чека, в свою очередь осуществляет возврат проданного товара. В результате образуется некоторый излишек по кассе (равный стоимости проданного устройства) и одна позиция по недостаче товара. Далее сотрудник заново «продает» фиктивно возвращенный товар, но уже с применением бонусных карт, сохраненных купонов, и иных возможных скидок. При этом разница между официальной стоимостью товара и его стоимостью с учетом скидки «уплывает» в карман недобросовестного сотрудника.
Существует множество схем мошенничества с картами. Всего-то нужно выполнить: пробить товар и начислить баллы на собственную карту, далее за начисленные баллы приобрести другой товар и третьим шагом возвратить оба товара за наличные. В результате в активе злоумышленника сумма начисленных баллов причем получает ее он в виде реальных денежных средств. Вся тонкость в том, что при возврате товара, начисленные баллы должны списываться обратно, но на втором шаге они уже потрачены на товар и списываться нечему, и, следовательно, появляется отрицательный баланс в программе лояльности.
Наличие веб-уязвимостей
У большинства торговых сетей есть свой веб-сайт для предоставления информации и предложения услуг. Как правило для активации бонусной карты необходимо зарегистрироваться на сайте или в мобильном приложении торговой сети. Для мошенников это лакомый кусок с возможностью украсть или подменить данные покупателя. Ниже представлены наиболее популярные веб-уязвимости для программ «лояльности»:
- инъекции — Injections;
- недочеты системы аутентификации и хранения сессий (Broken Authentication and Session Management);
- межсайтовый скриптинг — XSS (Cross Site Scripting);
- небезопасные прямые ссылки на объекты (Insecure Direct Object References);
- небезопасная конфигурация (Security Misconfiguration).
Далее мы рассмотрим применение некоторых этих уязвимостей на примере торговой сети.
Взлом карт «лояльности» в сети магазинов Fix Price
Сеть магазинов Fix Price была подвержена атаке злоумышленников по итогу которой было взломано 30 тысяч аккаунтов всего за 3 месяца. Общий баланс этих аккаунтов, составляет порядка полумиллиона рублей. Так же была собрана не хилая база номеров размером в более чем миллион записей(!). На каждый город примерно по 50 тысяч. Злоумышленники могут продавать эту базу спамерам.
Как уязвимость программы лояльности была использована в сети магазинов Fix Price?
Были взломаны аккаунты владельцев карт. На такие аккаунты ставят лёгкие пароли.
Пароли на которые чаще всего попадались аккаунты:- номер телефона без восьмёрки/семёрки;
- номер телефона с 8, 7, +7;
- 123456;
- 123456789;
- 1234567890;
- qwerty;
- fixprice;
- 111111.
Дальше бралась база номеров карт для перебора (brute force), в чём сайт очень помогал. При авторизации отправлялся всего 1 POST запрос на URL следующего вида (пример запроса):
В ответ приходил коротенький JSON, который содержал исчерпывающий ответ:
- номер не зарегистрирован;
- почта не зарегистрирована;
- неверный пароль;
- внутренняя ошибка сервера.
Также сайт никак не ограничивал попытки ввода неверного номера карты в форму, не применялась капча, таким образом, можно было поставить программу на взломанный компьютер и за день можно было перебрать все логины, которые нашли на этапе выше.
Похожая ситуация была этим летом с аккаунтами DNS (сейчас требуется подтверждение номера телефона при оформлении заказа), аккаунтами «Эльдорадо» (исправлено частично: всё ещё можно «купить» за чужой счет, но не более, чем на 400 руб.).
Рекомендации по противодействию мошенничеству с программой «лояльности»
Представленные ниже рекомендации направлены на улучшение организации программы лояльности и подходят для всех её участников: от сотрудников магазина до его покупателей:
- Техническое ограничение количества начислений баллов в день (неделю);
- Устанавливать временные ограничения между начислением и списанием (то есть списывать баллы можно только через несколько дней после начисления);
- Выборочные проверки нескольких карт с максимальным количеством покупок и проведение ручного анализа всех транзакции по ним;
- Ограничивать попытки ввода неверного номера карты в форму, применять капчу;
- Ограничить ввод запросов через URL;
- Установить случайную систему нумерации карт, алгоритм которой сложно просчитать;
- Одна карта должна присваиваться только одному номеру телефона;
- При оплате бонусной картой требуется её наличие;
- Блокировать слишком частые обращений к сценарию, например, не более трех запросов в секунду;
- Ограничить вход в один и тот же аккаунт с двух разных браузеров/сессий;
- Получение одноразового цифрового кода для подтверждения и согласия с суммой списания;
- Отправка клиенту SMS сообщения после списания с суммой покупки и количеством списанных бонусов;
- Отчет по стоимости покупок за период;
- Отчет по количеству операций за период;
- Холдирование бонусов (отложенное начисление/активация бонусов);
- Не переходить по сомнительным ссылкам и не вводить там свои данные. Проверка адреса отправителя;
- Не устанавливать простой пароль при активации карты «лояльности».
Заключение
Программа лояльности рассчитана на большую аудиторию, что не может не привлекать мошенников, особенно когда есть такое множество «дыр» в безопасности программы. Но если следовать вышеупомянутым рекомендациям, то риски можно минимизировать, и все участники программы будут довольны. А учитывая наличие тех же самых уязвимостей у большинства сайтов с возможностью оплаты, то рекомендации можно применить и к ним.
Автор статьи — младший консультант по информационной безопасности «АО «Кросс Технолоджис».