Содержание статьи
Читай также
О принципах, на которых строится безопасность банковских платежных систем, ты можешь узнать из предыдущих моих статей:
- Разбираемся, как работают системы безопасности кредитных карт
- Как хакеры крадут деньги с банковских карт
- Как работают атаки на чиповые карты
Все они теперь доступны для чтения без подписки.
Технологически платежи NFC являются продолжением стандарта EMV, поэтому все происходившие «в дикой природе» атаки уже были известны исследователям. Когда я занялся темой бесконтактных платежей, мне все же удалось найти несколько новых интересных случаев, но подобные атаки все так же фокусируются на обратной совместимости и других недостатках основных механизмов EMV — авторизации, аутентификации, верификации.
Проведя тесты с десятками карт, я был поражен масштабом проблем в банках. С начала 2000-х они никуда не делись, и с приходом бесконтактных платежей таких проблем просто стало больше. Одна из особенностей мошенничества именно с бесконтактными картами заключается в том, что его трудно подтвердить, так как злоумышленнику нет необходимости получать физический доступ к твоим картам. Поэтому банки нередко опротестовывают подобные жалобы клиентов.
Легаси
Первым, кто еще в 2014 году обратил внимание на небезопасность режимов легаси при бесконтактном методе оплаты, был исследователь Питер Филлмор (Peter Fillmore).
Что такое бесконтактные легаси‑режимы и зачем они создавались в 2013 году? Легаси‑режимы — специальные режимы для терминалов, которые не умели работать с криптографией, в основном американских. Также из‑за обратной совместимости карты и терминалы, все‑таки умеющие в современную криптографию, можно использовать в легаси‑режимах. Представь себе, что по твоей чиповой карте можно совершать платежи с магнитной полосой, — примерно о таком уровне безответственности идет речь.
Карты Visa в режиме легаси MSD (Magnetic Stripe Data) попросту передают Track2 Equivalent с динамическим полем CVV, меняющимся «время от времени». То есть один и тот же CVV можно использовать больше одного раза. Однако этот режим также обладает недостатком, позволяющим использовать некорректное значение поля CVV2, о чем уже говорилось в предыдущей статье. То есть данные, считанные с магнитной полосы, с чипа или бесконтактного чипа карты, могут быть записаны и воспроизведены специальным приложением по протоколу NFC и банк будет считать это бесконтактной транзакцией. Русский программист Дмитрий Холодов даже разместил в Google Play приложение, позволяющее считывать и сохранять эти данные на телефоне с Android.
Карты MasterCard пошли чуть дальше: в их режиме легаси, называющемся PayPass M-Stripe, карта принимает от терминала случайное число UN, использует счетчик ATC и генерирует поле авторизации CVC3 на основе этих данных. Далее терминал сам создает из перечисленных значений динамический Track2 Equivalent и посылает банку для авторизации платежа.
Режим обладает главным недостатком — низкой энтропией поля UN и отсутствием других полей для энтропии, таких как сумма платежа, дата транзакции. UN может занимать от 3 до 5 байт, каждый байт состоит только из цифр. Значит, на вход карте может поступить 999, 9999 или 99 999 различных значений UN. В первых двух случаях, поднеся к карточке сотовый телефон с установленным приложением, злоумышленник может быстро клонировать все транзакции с карты.
Далее злоумышленник совершает платеж на терминале, который поддерживает режим M-STRIPE, используя телефон с клонированными транзакциями. Терминал генерирует случайное поле UN, телефон ищет в своей базе транзакций корректную пару ATC/CVC3, относящуюся к этому UN, и отдает терминалу.
Тут стоит напомнить, что платежные системы рекомендуют следить за порядком значений счетчика и не принимать транзакции со значительными прыжками этих самых значений ATC. Если системы антифрода настроены корректно, злоумышленникам не удастся совершить более одного платежа, потому что для следующего платежа значение случайного поля UN приведет к появлению такого же случайного значения поля ATC, гораздо выше или ниже предыдущего. Если же системы антифрода запуганы «озлобленными покупателями», у злоумышленника в руках будет полноценный клон карты, который он сможет использовать множество раз.
Другой обнаруженный исследователями способ мошенничества — заставить терминал поверить, что энтропия UN = 0. Тогда он вернет только одно возможное значение UN = 00000, и ему соответствует только одна пара ATC/CVC3. В этом случае клонировать карту становится невероятно легко. Нам даже удалось найти один российский банк, который был подвержен такой атаке.
Одно из хороших описаний недостатков режимов легаси на русском языке выходило в 2018 году. Однако я спешу не согласиться с автором в том, что проблема в целом решена: за последний год я нашел две работающих в режиме Legacy российских карты MasterCard, а также одну карту и один карточный эквайринг в России, которые поддерживают уж совсем небезопасный режим Visa MSD.
Подход к реализации режимов легаси интересен еще и с точки зрения применимости атак на них в реальном мире. Атаки на карты Visa до сих пор чрезвычайно популярны и имеют повсеместное распространение. Ведь для того, чтобы совершать бесконтактные платежи по картам Visa, можно использовать информацию, доступную для продажи на специальных форумах, — Track2 или Track2 Equivalent.
Легаси‑режим карт MasterCard тоже обладает уязвимостями, позволяющими их атаковать. Однако эти атаки гораздо сложнее применить в реальных условиях, поскольку для них нужен физический доступ к карте жертвы, хотя бы на минуту. Вот почему подобные атаки практически не встречаются в «дикой природе».
Стоит отметить, что большинство мобильных кошельков — GPay, SamsungPay, кастомные HCE (Host-Card Emulation, приложение на Android, которое эмулирует карты) — также поддерживают режимы M-Stripe и MSD. Но об этом мы поговорим в разделе, посвященном мобильным кошелькам и другим нестандартным платежным устройствам.
Клонирование карт и транзакций
Клонировать бесконтактные карты EMV, чтобы их транзакции могли проходить авторизацию в реальном времени, невозможно. Злоумышленники или исследователи пока что не научились извлекать криптографические ключи для создания платежных криптограмм. Однако это не единственный способ изготовить функциональный клон карты:
- значение Track2 Equivalent можно записать на магнитную полосу и совершать платежи за пределами России, как это было описано в статье, посвященной атакам на EMV;
- для клонирования транзакций также используется другая техника, описанная ранее, — Cryptogram Replay;
- наконец, полнофункциональный клон карты или ограниченного числа транзакций можно создать, используя уязвимости режимов легаси, о которых я рассказал выше.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»