EMV MITM Кардинг Кредитные карты

Уязвимость в картах Visa позволяет обходить проверку PIN кода при безконтактной оплате

Уязвимость в картах Visa позволяет обходить проверку PIN кода при безконтактной оплате

Кто сказал, что кардинг умирает? Нет, он просто становится более интелектуальным, если ещё 15 лет назад любой гастарбайтер в европе, накопивший на MSR206 и познакомившийся с одним из дампобарыг в интернетах, мог назвать себя кардером, то сейчас ситуация координально изменилась и для успешной атаки на платежные системы теперь требуются не только специфические знания, но и определнные склад ума.

А то, что несмотря на почти повсеместный приход новых методов защиты, индустрия электронных платежей по прежнему изобилует уязвимостями на этот раз доказывают исследователи из ETH Zurich.

Исследователи наглядно продемонстрировали способ атаки на EMV, позволяющий обойти проверку PIN-кода карты даже при транзакциях на большие суммы. Суть этой MITM атаки заключается в том, чтобы ввести в заблуждение платежный терминал и платежный шлюз, передав вместе с деталями карты информацию о том, что аутентификация кардхолдера была выполнена на платежном устройстве (например, смартфоне), примерно так, как это делают Apple Pay, Google Pay и прочие.

Разберемся?

Подменяем передаваемые терминалу данные с помощью MITM атаки

EMV (сокращение от Europay, Mastercard и Visa), широко используемый международный стандарт протокола оплаты смарт-картами, требующий подтверждения с помощью PIN кода при снятии крупных сумм с платежных карт.

Исследователи из ETH, обнаружили критический недостаток в протоколе EMV, позволяющий с помощью атаки “человек посередине” (MitM) через приложение для Android, которое “сообщает терминалу, что проверка PIN-кода не требуется, поскольку проверка держателя карты уже была выполнена на его устройстве”, обойти проверку PIN.

Это означает, что отныне PIN код не помешает злоумышленникам использовать краденную бесконтактную карту Visa для оплаты своих транзакций, даже если сумма превышает лимит. Для проведения атаки кардеры должны иметь получить доступ к карте, либо украв её, либо скопировав с неё информацию NFC. Исследователи заявляют, что для проведения транзакции достаточно и данных с трека карты, а именно её номера и PVV.

Уязвимость возникает из-за того, что метод проверки держателя карты (CVM), использующийся для проверки того, является ли лицо, пытающееся совершить транзакцию с помощью карты, законным владельцем карты, не защищен криптографически.

Демонстрация

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

Image
Атака MITM на платежную карту

Устройства на схеме – это платежный терминал (слева) и бесконтактная карта жертвы (справа). Телефон рядом с платежным терминалом является эмулятором карты злоумышленника, а телефон рядом с картой жертвы – устройством эмулирующим POS терминал. Устройства злоумышленника обмениваются данными друг с другом по Wi-Fi, а с терминалом и картой по NFC.

Существует шесть разновидностей бесконтактных протоколов EMV, и каждый из них поддерживается одним из брендов карт: Mastercard, Visa, American Express, JCB, Discover и UnionPay. Атака с обходом PIN-кода применима к протоколу Visa и (возможно) к протоколам Discover и UnionPay, но последние два не тестировались на практике.

К сожалению, исследователи не опубликовали технические детали атаки или код приложения Андроид.

А ещё можно совершать offline – транзакции и не платить

Также исследователи обнаружили вторую уязвимость бесконтактных транзакций в автономном (оффлайн) режиме, выполняемыми либо с помощью карты Visa, либо старой картой Mastercard, что позволяет злоумышленнику изменить определенный фрагмент данных, называемый Application Cryptogram (криптограммой приложения, AC), прежде чем он будет передан терминалу оплаты.

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

Преступник может атаковать этот механизм отложенной обработки, используя карту для осуществления небольшой оффлайн-транзакции. К тому моменту, когда банк-эмитент отклонит транзакцию из-за неправильной криптограммы, преступник заберёт купленные товары. В РФ лимит таких транзакций – до 1000р. Есть страны со значительно большим лимитом. Можно поесть и заправиться. Профит.

Волшебные CTQ (Card Transaction Qualifiers) и TTQ (Terminal Transaction Qualifiers)

CTQ

CTQ устанавливается эмитентом карты во время её выдачи и определяет, какие действия будут выполняться в POS-терминале, когда происходит транзакция. Эти данные стандартны для всех EMV карт и позволяют эмитенту карты передавать контрольные значения POS терминалу во время транзакции. К сожалению, публичной документации не так много. Тем не менее из того, что мы нашли, можно понять какие именно контрольные значения существуют и важность того за что они отвечают. При обмене данных между терминалом и картой CTQ не шифруются!

БитСостояниеОписание
8 True Требовать онлайн PIN
7TrueТребовать онлайн подпись
6TrueПереходить в онлайн режим, если оффлайн аутентификация не удалась и ридер поддерживает онлайн-режим
5TrueПереключать интерфейс, если оффлайн аутентификация не удалась и ридер поддерживает VIS
4TrueПереходить в онлайн, если срок действия приложения истёк
3TrueПереключать интерфейс CashTransactions
2TruaПереключать интерфейс для Cashback Transactions
1N/ARFU
CTQ байт 1

БитСостояниеОписание
8TrueConsumer Device CVMPerformed. Восьмой бит не используется картами Visa и обычно устанавливается в False
7TrueCard supports Issuer Update Processing at the POS
6N/ARFU
5N/ARFU
4N/ARFU
3N/ARFU
2N/ARFU
1N/ARFU
CTQ байт 2

Устанавливая значения контрольных битов, CTQ управляет следующими параметрами транзакции:

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

TTQ

БитЗначениеОписание
8TrueContactless MSD supported
7TrueContactless VSDC supported
6TrueContactless qVSDC supported
5TrueEMV contact chip supported
4TrueOffline-only reader
3TrueOnline PIN supported
2TrueSignature supported
1TrueOffline Data Authentication (ODA) for Online Authorizations supported
TTQ байт 1

БитЗначениеОписание
8TrueOnline cryptogram required
7TrueCVM required
6True(Contact Chip) Offline PIN supported
5N/ARFU
4N/ARFU
3N/ARFU
2N/ARFU
1N/ARFU
TTQ байт 2

БитЗначениеОпеписание
8TrueIssuer Update Processing Supported
7TrueMobile functionality supported (Consumer Device CVM)
6N/ARFU
5N/ARFU
4N/ARFU
3N/ARFU
2N/ARFU
1N/ARFU
TTQ байт 3

Своими настройками CTQ и TTQ определяют, как будет проходить транзакция и что требуется и для её выполнения. И эти данные передаются незашифрованнми!

По моему всё понятно, осталось лишь достать Proxmark и разобраться с деталями.

Последствия

Привет, 2000-е! Не только при наличии данных второго трека можно опять проводить транзакции не “парясь” и закупать товар фурами, но и в перерывах между шоп-ранами, кардеры могут абсолютно на халяву заправлять топливо и жрать благодаря оффлайн-уязвимостям. Уязвимости в протоколе затрагивают фундаментальные функции системы и не могут быть быстро исправлены.

Также, напоминаю, что Github изобилует Host Card Emulation Андроид приложениями и всё что нужно – это немного их допилить.

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

Новая эра кардинга?

Вангую подъем цен на дампы Visa в даркнет-шопах.

P.S. Детали исследования читаем на https://emvrace.github.io/

Очень злой админ
Очень злой админ Автор статьи

Админ сайта. Публикует интересные статьи с других ресурсов, либо их переводы. Если есть настроение, бывает, что пишет и что-то своё.

Комментарии

Leave a Reply

Your email address will not be published. Required fields are marked *