Атака позволяет обойтись без ввода PIN-кода при бесконтактных платежах Visa

Ученые из Швейцарской высшей технической школы Цюриха разработали атаку, которая позволяет не водить PIN-код во время совершения бесконтактных платежей по картам Visa Credit, Visa Electron и VPay. Данная атака позволяет злоумышленнику, который владеет данными украденной бесконтактной карты Visa, использовать карту для оплаты дорогостоящих товаров, чья цена намного превышает лимит бесконтактных транзакций. И PIN-код при этом не понадобится.

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

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

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

В итоге атака выглядит следующим образом: смартфон, который имитирует PoS-устройство, помещают рядом с украденной картой, а смартфон, работающий в качестве эмулятора карты, используют для оплаты товаров. Идея заключается в том, что эмулятор PoS просит карту произвести платеж и модифицирует детали транзакции, а затем передает измененные данные через Wi-Fi на второй смартфон, который в итоге совершает крупный платеж без необходимости ввода PIN-кода (ведь злоумышленник изменил данные транзакции таким образом, чтобы ввод PIN-кода не требовался). Демонстрацию атаки можно увидеть ниже.

«Наше приложение не требует root-прав или каких-либо хитроумных хаков Android. Мы успешно протестировали его на обычных устройствах Pixel и Huawei», — пишут исследователи.

Если говорить о технической стороне вопроса, такая атака возможна из-за конструктивных недостатков стандарта EMV и бесконтактного протокола Visa. Эти баги позволяют злоумышленнику модифицировать данные бесконтактной транзакции, включая те поля, которые отвечают за детали транзакции и необходимость верификации владельца карты.

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

Для обнаружения этих проблем исследователи использовали модифицированную версию инструмента под названием Tamarin, который ранее уже применялся для обнаружения сложных уязвимостей в криптографическом протоколе TLS 1.3 (PDF), а также в механизме аутентификации 5G (PDF).

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

«Также наш символический анализ выявил, что в ходе оффлайновой бесконтактной транзакции с помощью карты Visa или старой карты Mastercard, карта не аутентифицируется с терминалом посредством ApplicationCryptogram (AC) — созданного картой криптографического доказательства транзакции, которое терминал не может верифицировать (может только эмитент карты). Это позволяет злоумышленникам обманом вынудить терминал принять недостоверную оффлайновую транзакцию. Позже, когда эквайер добавит данные транзакции к клиринговой записи, банк-эмитент обнаружит неверную криптограмму, но к тому времени преступник уже давно скроется вместе с товаром».

Мария Нефёдова: Блондинка, гик, книжный червь, синефил. Редактор ленты новостей; иногда автор Сцены.

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

  • То ли дело карты "MIR" - там можно в бесконтактном режиме не вводить PIN до какой-то суммы. Т.е. НЕ НУЖНО ВЗЛОМА! Вот уж где безопасники - улучшатели удобств не зря съели свой хлеб. А я об этой фигне вообще узнал случайно)
    Не понимаю, кто и зачем вообще придумал отсутствие требования вводить PIN.
    Пусть даже лимит был бы 100 руб. 100 руб тут, 100 руб там... Один фиг деньги владельца карты могут быть потрачены, а даже если сумма будет недостаточной для возбуждения уголовного дела, владельцу карты от этого будет не легче.

    • * Про возбуждение уголовного дела - просто к тому, что страх этого может останавливать часть противоправных действий. Но не более.

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

      • Тут ещё прикол в том, что я вообще не знал о том, что эта карта бесконтактная) И не должен был: я не заказывал ни дополнительных функций, ни перевыпуск карты (перевыпускать карту каждые несколько лет — инициатива банка), а много лет назад у моей карты с очень большой вероятностью не было этой функции — значит, по логике вещей, и сейчас быть не должно.
        Спасибо за совет) Да, была идея сходить в банк, когда будет не лень, обязательно схожу)

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

          • А я не и должен быть компетентен в банковских вопросах — не моё это.
            А почему гемороен? Разве я сейчас тут поднимаю какие-то неправильные вопросы?
            Спасибо, конечно, что сказали про приложение на сотовом. Но у меня нет приложения. И не будет. Нафиг мне всякие левые исполняемые файлы. Но есть смысл вместо того, чтобы идти в банк, позвонить в саппорт и уточнить, спасибо)
            Вы видели, как написан мой первый коммент? По его структуре должно быть понятно, что я и не приравниваю объект своего комментария к сабжу статьи.

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

      • Ну, трата денег есть трата денег. Нужно же как-то удостоверяться, что деньги тратит их владелец (или хотя бы тот, кому их доверили), а не кто-то посторонний, верно?
        Я не очень разбираюсь в технических особенностях оплаты телефонами/часами. Но на самом деле не важно, PIN-код используется или какая-то функция в телефоне. Просто, если оплачиваешь картой, то должна как-то защищаться карта, а если телефоном/часами, то телефон/часы, вот и всё)

    • В статье как раз про превышения лимита и говорится

    • "отсутствие требования вводить PIN" - если пин не надо вводить, то его нельзя и продолбать. Имхо, лучше махнуть картой и бесконтактно списать 900р, чем вводить пин на неведомом устройстве, которое хз кто доработал (могли накладку на клавиатуру сделать, а могли и само устройство перепрошить, в какой-нибудь кафешке, или на АЗС). Короче, при выборе между "потерять небольшую сумму" или "продолбать пин и перевыпустить карту" я бы выбрал первое.

      • А в чём смысл, если для бо́льших сумм всё равно нужно вводить PIN на том же устройстве, возможно, доработанном?
        Для кого-то 900 руб небольшая сумма, а для кого-то большая. Наиболее корректно тут было бы дать возможность клиенту самому выбирать. Причём явно — чтобы сначала он выбрал такую "небольшую" для него сумму, а уже потом для него включалось это удобство, если оно ему вообще нужно.
        Также замечу: если бы была гарантия, что банк просто (именно ПРОСТО) вернёт несанкционированно потраченные деньги, не было бы никаких проблем. А так это всё-таки деньги клиента. Что вообще значит "небольшая" для кого-то другого сумма?) Нельзя поощрять несанкционированное использование даже одной чужой копейки, т.е. даже маленькую кражу, поскольку кража есть кража. Или я не прав?

        • Эммм. Я могу только высказать своё ИМХО. "Небольшая сумма" - ограничение установленное банком. Ибо paypass имеет ограничение в 1000р и поменять его я никак не могу. С другой стороны, меня такое ограничение вполне устраивает.

          Мне это удобно. Потому что я могу расплачиваться где попало.
          А пинкод ввожу только в ограниченном числе мест, которым я доверяю.
          Про "даже одной чужой копейки"... Ну, у меня тоже бывает случается жаба. Но нервы всё таки дороже. Я точно не буду нервничать из-за суммы < 1000р. По крайне мере, пока я не на пенсии.

          • Ну... вообще, речь не о том, что удобно лично вам, и даже не о том, что неудобно лично мне. Речь о том, что деньги клиентов должны защищаться хоть как-то. Был же PIN-код для этого, и как-то ведь с этим жили. А что теперь? Ну ладно, можно вместо PIN-кода использовать и другую систему защиты. Но главное, чтобы она вообще была, а разве она есть?
            А вот на счёт удобства оплаты: тут на самом деле проблема в том, что мы сейчас живём в обществе потребления — людям лишь бы побольше потратить) (а потом ещё попахать и ещё потратить) А банки этому процессу, ясное дело, помогают.

        • "нужно вводить PIN на том же устройстве" - не на том же.
          Я чётко разграничиваю (у себя в голове) доверенные и не очень устройства.

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

Похожие материалы