Чип и скимм: клонирование карт EMV с помощью атаки Pre-play

Tomcat

Professional
Messages
2,656
Reputation
10
Reaction score
650
Points
113
Абстрактно
Разделы документа:
I. Дымящийся пистолет
II. Фон
III. Обзор транзакции в банкомате
IV. Два варианта атаки перед игрой
В. Атаки перед игрой, основанные на слабом ранге
VI. Более глубокая проблема: атаки перед игрой из-за недостатка протокола
VII. Ограничения и защита
VIII. Обсуждение
IX. Выводы

Абстрактно:​

EMV, также известная как «Чип и PIN-код», является ведущей системой карточных платежей во всем мире. Он используется по всей Европе и большей части Азии, а также начинает внедряться и в Северной Америке. Платежные карты содержат чип, позволяющий выполнять протокол аутентификации. Этот протокол требует, чтобы терминалы торговых точек (POS) или банкоматы генерировали одноразовый номер, называемый непредсказуемым числом, для каждой транзакции, чтобы гарантировать ее актуальность. Мы обнаружили две серьезные проблемы: широко распространенный недостаток реализации и более глубокий, более трудный для устранения недостаток самого протокола EMV. Первый недостаток заключается в том, что некоторые разработчики EMV просто использовали счетчики, временные метки или собственные алгоритмы для предоставления этого nonce. Это подвергает их атаке «до начала игры», которая неотличима от клонирования карты с точки зрения журналов, доступных банку-эмитенту карты, и может быть осуществлена, даже если клонировать карту физически невозможно. Клонирование карт — это тот самый тип мошенничества, который EMV должна была предотвратить. Мы описываем, как мы обнаружили уязвимость, методологию исследования, которую мы разработали для определения масштаба уязвимости, данные экспериментов с банкоматами и терминалами в полевых условиях, а также нашу реализацию атак для проверки концепции. Мы нашли недостатки в широко распространенных банкоматах крупнейших производителей. Теперь мы можем объяснить, по крайней мере, часть растущего числа случаев мошенничества, в которых жертвам отказывают в возмещении средств со стороны банков, заявляющих, что карты EMV не могут быть клонированы и, следовательно, клиент, участвующий в споре, должен ошибаться или быть соучастником. Вторую проблему выявила приведенная выше работа. Независимо от качества случайного числа, имеет место сбой протокола: фактическое случайное число, сгенерированное терминалом, может быть просто заменено на то, которое злоумышленник использовал ранее при перехвате кода аутентификации с карты. Этот вариант атаки перед игрой может быть осуществлен вредоносным ПО в банкомате или POS-терминале или посредником между терминалом и эквайером. Изучаем дизайн и...

РАЗДЕЛ I.

Дымящийся пистолет​

В настоящее время EMV является ведущей в мире схемой платежей по дебетовым и кредитным картам, а также снятия наличных в банкоматах: по всему миру используется более 1,62 миллиарда карт. Банки США поздно внедрили эту систему, но сейчас начинают выпускать карты EMV для своих клиентов. Карты EMV содержат чип смарт-карты, и их сложнее клонировать, чем карты с магнитной полосой, которые им предшествовали.
EMV был внедрен в Европе в течение последних десяти лет, причем Великобритания была одной из первых, кто внедрил его (с 2003 по 2005 годы). После его внедрения банки стали более агрессивно относиться к клиентам, которые жаловались на мошенничество, и возник циклический цикл. Жертвам будет отказано в компенсации; они искали в Google техническую информацию о мошенничестве с картами и находили ту или иную академическую группу с исследовательскими работами по этой теме; исследователи изучат историю их болезни; и довольно часто обнаруживалась новая уязвимость.
Случай, положивший начало исследованию, о котором мы здесь сообщаем, произошел с г-ном Гамбином, мальтийским клиентом HSBC, которому было отказано в возмещении средств за серию транзакций, счета за которые были выставлены на его карту и которые, по утверждению HSBC, должны были быть совершены с его картой и PIN-код в банкомате в Пальме, Майорка, 29 июня 2011 года. В таких случаях мы советуем жертве мошенничества потребовать журналы транзакций у банка. Во многих случаях банки отказываются или даже удаляют журналы во время процесса спора, оставляя клиентам спорить по общим вопросам. Некоторые суды недавно критиковали банки за это, и в деле Гамбина банк предоставил подробные данные журнала. Мы заметили, что одно из полей файла журнала, «непредсказуемое число» или UN, постепенно увеличивалось:

6956556-graphic-1-source-large.gif


UN, по-видимому, состоит из 17-битного фиксированного значения, а младшие 15 бит — это просто счетчик, который увеличивается каждые несколько миллисекунд, циклически повторяясь каждые три минуты.
Мы задавались вопросом, если «непредсказуемое число», генерируемое банкоматом, на самом деле предсказуемо, может ли это создать возможность для атаки, в ходе которой преступник, имеющий временный доступ к карте (скажем, в магазине, принадлежащем мафии), сможет вычислить коды аутентификации, необходимые для снятия наличных в этом банкомате в какой-то момент в будущем, для которого можно спрогнозировать стоимость UN. Мы называем этот сценарий атакой «до игры».
Мы обнаружили, что некоторые банкоматы генерируют неверные случайные числа и что атаки действительно возможны. Более того, мы обнаружили, что такие атаки также возможны, когда банкомат генерирует криптостойкое случайное число из-за ошибки в протоколе. Следуя нашей политике ответственного раскрытия информации, в начале 2012 года мы проинформировали организации банковской отрасли о необходимости обновления программного обеспечения банкоматов. Сейчас мы публикуем результаты нашего исследования, чтобы клиенты, чьи требования о возмещении были ошибочно отклонены, имели доказательства для их преследования, а также чтобы сообщества криптовалют, безопасности и банковского регулирования могли извлечь уроки. Это значительные суммы. Инженерам интересно разгадать, почему мог возникнуть такой серьезный сбой, как он мог оставаться незамеченным так долго и что это может сказать нам о гарантиях. На научном уровне можно извлечь уроки о природе отзыва в криптографических протоколах, пределах формальной проверки и взаимодействии между разработкой протокола и экономикой безопасности.
Остальная часть статьи организована следующим образом. В разделе II мы даем общую информацию, рассказывая историю EMV и обсуждая ее влияние на показатели мошенничества в целом. В разделе III мы даем техническую информацию, описывая, как работает транзакция EMV и как можно организовать нашу атаку «предварительной игры». В разделе V описаны наши экспериментальные методы и результаты: как мы разработали карту сбора данных для сбора последовательностей UN из банкоматов и что мы узнали, изучая подержанные банкоматы, купленные на eBay. В разделе VI описывается недостаток протокола, а в разделе VII обсуждаются возможные способы защиты. В разделе VIII представлен наш научный анализ: что следует извлечь из этого сообществам, занимающимся криптовалютой и безопасностью, как можно сделать EMV более надежным и как можно сделать такие сбои менее вероятными в будущих крупномасштабных системах, использующих криптографию для аутентификации и авторизации. Наконец, в разделе IX мы делаем некоторые выводы.

РАЗДЕЛ II.

Фон​

EMV (названный в честь первоначальных разработчиков Europay, MasterCard и Visa) был разработан в середине 1990-х годов для борьбы с растущей угрозой подделки карт с магнитной полосой, когда организованные преступные группировки, имеющие доступ к оборудованию для производства карт, производили клонированные карты, используя данные из выброшенных квитанций или тайно считывались с законных карт сначала в точках продаж (POS), а затем в банкоматах (ATM). Платежный терминал выполняет протокол EMV с помощью чипа, который обменивается выбранными данными транзакции, запечатанными кодом аутентификации криптографического сообщения (MAC), рассчитанным с использованием симметричного ключа, хранящегося в карте и передаваемого банку, выпустившему карту («эмитенту»). . Идея состоит в том, что банк должен иметь возможность обнаружить поддельную карту, не содержащую этого ключа, а физическая устойчивость чипа к взлому должна препятствовать извлечению ключа злоумышленником.

6956556-fig-1-source-large.gif

Рисунок 1.
Уровни мошенничества с платежными картами, выпущенными в Великобритании

Многие страны, в том числе Великобритания, перешли к аутентификации держателей карт с помощью ПИН-кода, а не подписи как в POS, так и в банкоматах, тогда как ранее ПИН-коды использовались только в банкоматах. Целью было усложнить использование украденной карты. Это одновременное внедрение привело к появлению термина «Чип и ПИН», который широко используется в англоязычном мире для обозначения EMV. С точки зрения непрофессионала, чип защищает от подделки карты, а ПИН-код — от злоупотреблений с украденной картой.
EMV не сократил мошенничество, как предсказывали его сторонники. Хотя пользоваться поддельными и украденными картами стало сложнее, преступники адаптировались двумя способами, как видно из рисунка 1. Во-первых, они перешли к транзакциям «без карты» — платежам через Интернет, по почте и по телефону — которые остались за пределами EMV.
Во-вторых, они начали делать клоны EMV-карт с магнитной полосой. Всегда существовал некий «скимминг» банкоматов, когда мошенники помещали устройства в горло банкоматов для захвата данных карт и записи PIN-кодов; и теперь, когда ПИН-коды требовались повсюду, а не только в банкоматах, возможности для скимминга значительно возросли. Одновременное развертывание EMV с магнитной полосой означало, что в EMV можно было использовать резервные функции и функции обратной совместимости; в течение нескольких лет все банкоматы по-прежнему принимали карты с магнитной полосой, и даже после того, как в Великобритании это начало постепенно прекращаться для карт местного выпуска, все еще можно было использовать клоны британских карт с магнитной полосой в банкоматах в США. . Вот почему вскоре после завершения внедрения EMV в Великобритании в 2005 году возросло количество случаев мошенничества с контрафактной продукцией. Вместо того, чтобы вводить ПИН-коды только в банкоматах, клиенты теперь вводят ПИН-код в POS-терминалах, которые гораздо легче подделать.
Общий уровень мошенничества был снижен после 2008 года за счет усовершенствований внутренних механизмов обнаружения мошенничества; более агрессивной тактикой по отношению к клиентам, оспаривающим транзакции; и за счет сокращения количества банкоматов в Великобритании, которые принимают «резервные» транзакции с магнитной полосой по картам, выпущенным EMV. Резервное мошенничество теперь достаточно сложно, чтобы подтолкнуть преступное сообщество к более изощренным атакам с использованием смарт-карт.
Предыдущие исследования показали, что можно использовать украденную карту EMV в POS-устройстве, не зная PIN-кода. При наличии подходящего устройства «посредник» мошенник может обманом заставить терминал поверить в то, что был введен правильный PIN-код, в то время как карта думает, что она авторизует транзакцию с использованием чипа и подписи; преступники теперь предстали перед судом во Франции за использование этой уязвимости «без ПИН-кода» .
Однако уязвимость «без ПИН-кода» не объясняет всех случаев, когда люди связывались с авторами, когда им было отказано в возмещении средств за транзакцию в банкомате или POS-терминале, совершение которой они категорически отрицают. Одним из таких дел был случай с Аленом Жобом, который подал в суд на свой банк с требованием возмещения, но проиграл его после того, как судья пришел к выводу, что карта клиента, вероятно, использовалась, а не была клоном. В этом случае банк уничтожил файлы журналов, несмотря на то, что спор продолжался, что противоречит правилам Visa, и судья предупредил, что суд может быть не столь терпим к такому поведению в будущем.
Число таких случаев неизвестно. Приведенные выше данные о мошенничестве в Великобритании учитывают только убытки банков и торговцев, а не те, в которых обвиняют клиентов; а с момента введения EMV банки осуществили «сдвиг ответственности», как они это называют, что означает, что, когда транзакция оспаривается, то, если использовался PIN-код, ответственность несет клиент, а если PIN-код не использовался, транзакция возвращается продавцу. Спорные транзакции, в которых записи банка показывают, что использовался ПИН-код, рассматриваются банками не как мошенничество против клиента, а как попытка мошенничества со стороны клиента (или, возможно, халатность со стороны клиента), независимо от того, что атака без ПИН-кода подпадает под эту категорию. категория. Это может быть идеально с точки зрения банков, но не так для их клиентов. Британское исследование преступности 2008/2009 гг. показало, что 44% жертв мошенничества не получили обратно все свои деньги, несмотря на то, что как банковские инструкции, так и Европейская директива о платежных услугах требуют, чтобы клиенты, которые не действовали небрежно или нечестно, получали возмещение. Из 44%, которым не были полностью возмещены убытки, 55% потеряли от 25 до 499 фунтов стерлингов (40 т о790) и 32% потеряли £500 и более. Таким образом, существует большой разрыв между статистикой банков и данными обследования преступности. Мы считаем, что уязвимость, которую мы раскрываем в этой статье, может отчасти объяснить это; Случай г-на Габена - не единственный случай, который дошел до нас, и нападение, которое мы здесь описываем, является убедительным объяснением.

РАЗДЕЛ III.

Обзор транзакции в банкомате​

Транзакция EMV состоит из трех этапов:
  1. аутентификация карты, при которой данные карты считываются и аутентифицируются банкоматом или POS-терминалом;
  2. проверка держателя карты, при которой лицо, предъявившее карту, проверяется с помощью ПИН-кода или подписи; и
  3. авторизация транзакции, при которой банк-эмитент решает, следует ли продолжать транзакцию.
Принципалами являются карта, банкомат и эмитент 1. Этот процесс показан на рисунке 2. Описание ниже несколько упрощено и представляет собой типичный поток транзакций в Великобритании. Другие страны могут незначительно отличаться, но по существу будут схожи.
Во время аутентификации карты карта предоставляет банкомату записи данных, которые включают номер карты, даты начала и окончания действия, а также варианты протокола, которые поддерживает карта. Карта также обеспечивает статическую цифровую подпись RSA над выбранными записями, что направлено на то, чтобы не дать мошенникам изготовить карты на основе известных или угаданных номеров счетов. Некоторые карты также предоставляют возможности динамической генерации подписей, известные как «Динамическая аутентификация данных» (DDA).
После аутентификации карты происходит проверка держателя карты по подписи или PIN-коду. При транзакции в банкомате карта в этом не участвует. Клиент вводит свой ПИН-код на ПИН-пад, где он шифруется и возвращается эмитенту карты для проверки через сеть банкоматов.
Наконец, выполняется авторизация транзакции. Банкомат отправляет на карту различные поля транзакции: сумму, валюту, дату, результаты проверки терминала (TVR — результаты различных проверок, проводимых банкоматом) и nonce (в терминологии EMV — «непредсказуемое число»). или ООН). Карта отвечает криптограммой запроса авторизации (ARQC), которая представляет собой криптографический MAC, рассчитанный на основе предоставленных данных вместе с некоторыми предоставленными картой данными, включая счетчик транзакций приложения (ATC – 16-битное число, хранящееся на карте и увеличивающееся при каждом транзакция) и данные приложения эмитента (IAD — собственное поле данных для передачи информации с карты к ее эмитенту).
ARQC отправляется банкоматом эмитенту вместе с зашифрованным PIN-кодом. Эмитент проверяет PIN-код и проверяет ARQC, пересчитывая MAC по полученным полям данных. Дополнительные проверки включают проверку наличия достаточных средств, отсутствие сообщений о краже карты и отсутствие пометок программного обеспечения для анализа рисков о транзакциях как подозрительных. Затем эмитент возвращает в банкомат код ответа авторизации (ARC) и криптограмму ответа авторизации (ARPC), предназначенные для карты.
ARC разрешает банкомату выдавать наличные, который, в свою очередь, передает ARC и ARPC также на карту. Карта проверяет ARPC (который обычно представляет собой MAC поверх ARQC, связанный с ARC) и возвращает аутентифицированную запись расчета, известную как сертификат транзакции (TC), который может быть отправлен эмитенту немедленно или через некоторое время. время спустя в рамках процесса урегулирования.

6956556-fig-2-source-large.gif

Рисунок 2.
Схема транзакции EMV в банкомате. Обратите внимание: хотя сообщения между картой и банкоматом проверены, сообщения между эмитентом и банкоматом могут различаться в зависимости от правил схемы карты.

POS-транзакции выполняются аналогично, за исключением того, что проверка владельца карты обычно выполняется путем отправки PIN-кода на карту, которая сверяет его с сохраненным значением. Проверка PIN-кода локально или онлайн не имеет значения для обсуждаемой здесь атаки. Если POS-устройство генерирует непредсказуемые числа, которые на самом деле можно предсказать, то оно также будет уязвимо для атаки перед игрой.

РАЗДЕЛ IV.

Два варианта атаки перед игрой​

При обычной транзакции EMV карта отправляет ARQC в банкомат, чтобы доказать, что она активна, присутствует и участвует в транзакции. Банкомат полагается на то, что эмитент проверит это и авторизует транзакцию. Простое воспроизведение ARQC не должно работать, поскольку компетентный эмитент предотвращает воспроизведение, отклоняя любую транзакцию, счетчик транзакций приложения (ATC) которого он уже видел 2 . ATC предотвращает простые атаки повторного воспроизведения, но не может гарантировать эмитенту, что ARQC был вычислен сегодня, а не вчера. Для обеспечения актуальности используется nonce — непредсказуемое число (UN). Это 32-битное поле, генерируемое банкоматом. Однако мы обнаружили два основных недостатка, которые делают ООН практически ненужной:( а )ошибка в спецификации и инженерии, приводящая к появлению предсказуемых UN, которыми можно воспользоваться;( б )более глубокая и более трудная для исправления ошибка протокола, которая позволяет злоумышленнику выбрать произвольную UN при атаке перед игрой. Эти недостатки вместе с дополнительной классической ошибкой протокола делают всю систему EMV уязвимой для атаки перед игрой.
Недостаток спецификации, который делает возможным базовую атаку перед воспроизведением, заключается в том, что EMV не включает идентификатор терминала – классическая ошибка протокола; на самом деле это поразительно напоминает пресловутый протокол Woo-Lam. Хотя структура EMV может поддерживать это посредством обозначения в списке полей, которые должны быть MAC-кодированы в ARQC (CDOL1), стандартный формат, разработанный Visa (формат криптограммы версии 10), требует только кода страны терминала. Страну, в которой злоумышленник будет использовать сканированные данные, предсказать заранее нетрудно.
Недостаток спецификации означает, что когда банкомат или POS-терминал генерирует предсказуемые случайные числа, происходит атака «предварительного воспроизведения» — данные аутентификации собираются в один момент времени и передаются одной или нескольким возможным проверяющим сторонам в какой-то более поздний момент, уже определяется при сборе данных. Практическая реализация заключается в том, что взломанный терминал в магазине собирает данные карты и ARQC, а также PIN-код жертвы для использования позже в тот же день или на следующий день в банкоматах заданного типа. Действительно, если злоумышленник знает, как предсказать UN в банкомате данной марки, он может собрать ARQC для использования в любом банкомате этого типа в данной стране и в определенную дату в будущем. Подробно этот вариант мы обсудим в разделе V.
Более глубокий недостаток конструкции протокола заключается в том, что хотя терминал генерирует случайное число, на него полагается банк-эмитент. Это означает, что устройство «посредник» между терминалом и банком может быть использовано для атаки на систему, в которой генерация случайных чисел работает. Злоумышленник записывает ARQC в ответ на nonce.Ни передает его терминалу, который фактически сгенерировал nonceН'. Терминал отправляет ARQC вместе с данными транзакции иН'в банк; изменения в MITMН'кН; и сделка вполне может быть принята. Это означает, что терминал, зараженный вредоносным ПО, может списать с вашей карты не один, а несколько раз и на произвольные суммы. Подробно этот вариант мы обсудим в разделе VI.

РАЗДЕЛ V.

Атаки перед игрой, основанные на слабом ранге​

Разработчики протокола EMV недостаточно тщательно продумали, что требуется от ООН, чтобы быть «непредсказуемой». Спецификации и процедуры тестирования на соответствие просто требуют, чтобы четыре последовательные транзакции, выполняемые терминалом, имели уникальные непредсказуемые номера, тест 2CM.085.00. Таким образом, рациональный разработчик, у которого нет времени обдумывать последствия, вероятно, предпочтет использовать счетчик, а не криптографический генератор случайных чисел (ГСЧ); у последнего будет более высокая вероятность провалить тестирование на соответствие (из-за парадокса дня рождения).
Последняя версия спецификации EMV, Книга 4, стр. 57] предлагает некоторые рекомендации относительно того, как генерировать непредсказуемое число, но предыдущие версии оставляли алгоритм полностью на усмотрение разработчиков. Даже предложенная конструкция (хэш или исключающее-или предыдущих ARQC, счетчика транзакций и времени) не будет адекватной для генерации действительно непредсказуемого числа, поскольку ARQC будут равны нулю, если банкомат будет перезагружен, а время и счетчик транзакций предсказуемы. Тем не менее, если злоумышленник сможет заранее предсказать «непредсказуемое число», он сможет в один день получить ARQC с карты и использовать их в банкомате на следующий.
Например, в случае с банкоматом в Пальме, который начал это направление исследований, счетчик перезагружается каждые три минуты, поэтому злоумышленник может запросить у карты в своем магазине двадцать ARQC в точках цикла 15-битного счетчика. При посещении банкомата он может использовать свою атакующую карту, чтобы сначала откалибровать счетчик банкомата, а затем инициировать транзакции, когда ожидается, что счетчик достигнет значения, для которого у него есть захваченный ARQC.
В теории все это очень хорошо, но осуществимо ли это на практике? Мы решили это выяснить.

А. Экспериментальный метод и результаты.​

Атаки на EMV перед игрой теоретически обсуждались и раньше, но для того, чтобы реальная атака сработала, существует множество практических проблем. В этом разделе мы описываем наш собственный подход к ним: поиск уязвимостей, которые можно использовать, просмотр данных и развертывание атаки. Каждый этап процесса должен быть завершен преступниками с разумной доходностью и приемлемо низкими затратами (включая вероятность быть пойманным).

Б. Выявление уязвимых банкоматов​

Для выявления уязвимых банкоматов мы использовали три подхода: анализ файлов журналов, сбор UN в полевых условиях и реверс-инжиниринг банкоматов.

1) Анализ файлов журналов​

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

2) Активное зондирование банкоматов​

Даже там, где доступны журналы банкоматов, временные метки имеют точность всего лишь секунду или около того, а не миллисекунду, поэтому, возможно, можно идентифицировать только совершенно неслучайные алгоритмы генерации UN. Как исследователям, так и мошенникам требуется более совершенный подход к сбору данных. Это должно быть в меру скрытным, поскольку общественность осведомлена о проблеме скимминга в банкоматах; неоднократное использование примитивных инструментов анализа в банкомате может стать способом быть арестованным.
Поэтому мы создали набор карт пассивного мониторинга, добавив к стандартной дебетовой карте нашу собственную схему анализатора протоколов банкоматов, состоящую из дополнительного микроконтроллера с памятью для хранения данных. Это было сделано следующим образом. Сначала пластик с задней стороны карты, над чипом, был снят ножом, обнажив корпус чипа. Затем с помощью дешевого гравировального инструмента с плоским металлическим резаком аккуратно срезали часть пластика между гнездом для чипа и краем карты (рис. 3 вверху слева). Это было сделано осторожно, чтобы не удалить слишком много пластика и не прорезать края или лицевую сторону карты. Сам чип, залитый эпоксидной смолой, относительно хорошо защищен от механических повреждений во время этой операции.
Затем мы установили в это пространство микрочип PIC18F24K22 в корпусе UQFN толщиной 0,5 мм, приклеили несколько защитных резисторов к пластику рядом с чипом и подключили их к клеммным контактам тонкими проводами. Этот микроконтроллер работает от напряжения от 1,8 В до 5,5 В, поэтому его можно подключать непосредственно к клеммам карты; но поскольку мы использовали микросхему памяти с напряжением 3,3 В для быстрого хранения данных, некоторые дополнительные схемы управления питанием и сопряжения были добавлены в тонкие корпуса толщиной от 0,3 до 0,5 мм ( рис. 3 вверху справа). Чип памяти поставляется в стандартном корпусе WSON толщиной 0,7 мм, поэтому нам пришлось уменьшить его толщину до 0,5 мм; его тщательно фрезеровали на наждачной бумаге, сняв 0,15 мм спереди и 0,05 мм сзади. Затем ее вклеили внутрь открытки (рис. 3 посередине слева). Наконец, все компоненты были соединены вместе (рис. 3 в центре справа). Для этого процесса требовалось увеличительное стекло, поскольку некоторые компоненты имеют шаг штифтов 0,4 мм. Для программирования микроконтроллера и загрузки данных о транзакциях банкомата на ПК через соединение RS-232 был создан специальный карточный интерфейс (рис. 3 внизу слева). После первоначальных лабораторных испытаний область с добавленной схемой была залита эпоксидной смолой и проверена штангенциркулем, чтобы убедиться, что она по-прежнему соответствует профилю карты 0,8 мм и чтобы карта не застряла в банкомате (рис. 3 внизу справа). Эпоксидная заливка защитила схему, но сделала эту часть карты более хрупкой, что потребовало осторожного обращения между попытками сбора данных. Это противоречило нашему желанию сохранять сдержанность и вести себя как обычный пользователь банкомата, поэтому обычной практикой стало переносить карту из безопасного хранилища в кошелек при подходе к банкомату и выходе из него. Чтобы не потерять отслеживание того, какие UN были получены из каких банкоматов после дня работы в поле, мы вставили фиктивные транзакции в поток, записываемый регистратором. Это было сделано с помощью карты для выполнения тестовой транзакции с помощью эмулятора терминала на ноутбуке в машине.

6956556-fig-3-source-large.gif

Рисунок 3.
Карта пассивного мониторинга, содержащая настоящий чип EMV, с микроконтроллером мониторинга и флэш-памятью.

Модифицированная карта остается действительной платежной картой – поток транзакций протекает в обычном режиме – поэтому ее всегда следует принимать. Однако его можно вставить в различные банкоматы и POS-устройства, не вызывая подозрений. Более примитивные подходы, когда карта подключена к ноутбуку, оставляют провода, выходящие из слота, и могут вызвать проблемы в банкоматах, которые удерживают карту внутри во время считывания.
Другое возможное оборудование для мониторинга включает в себя карты беспроводной ретрансляции, передающие данные на внешнюю карту, проводную карту, адаптированную для совместимости со слотами для карт банкоматов, накладную прокладку, наклеенную поверх утонченной существующей карты, или сверхпростую прокладку, состоящую просто из антенна, подсоединенная к линии передачи данных карты (которую мы могли наблюдать с помощью техники «TEMPEST»).
В случае с POS-терминалами продавцов часто просят отвернуться во время ввода PIN-кода и не брать в руки карту клиента. Таким образом, существующие инструменты мониторинга, такие как «Детектив смарт-карт», оказались пригодными для тайного использования со скрытым проводом, проходящим через рукав экспериментатора. Мы использовали «Детектив» для анализа непредсказуемых цифр с POS-терминала, расположенного рядом с нашим офисом, с согласия владельца POS.
Для каждого исследованного банкомата мы собрали от пяти до пятидесяти непредсказуемых чисел, выполняя повторные запросы баланса 4 , а затем снимая небольшие суммы наличных. Использование запросов баланса сводит к минимуму количество снятий средств с карты, поскольку внезапное повторное снятие средств может вызвать срабатывание системы обнаружения мошенничества и привести к блокировке карты. Стоимость компонентов и рабочей силы таких карт составляет несколько сотен фунтов, поэтому желательно избегать их захвата банкоматами.

3) Реверс-инжиниринг кода банкомата​

Чтобы лучше понять процесс генерации непредсказуемых чисел внутри банкоматов, мы приобрели для анализа две реальные машины. На рисунке 4 показаны банкоматы NCR и Hanco/Triton с поддержкой EMV, приобретенные на eBay по 100 фунтов стерлингов каждый. Некоторые из них недавно находились в эксплуатации, а некоторые вышли из строя и использовались только для разработки. Барнаби Джек описал, как подержанные банкоматы можно легко вернуть в эксплуатацию, просто вызвав мастера по ремонту.
Мы провели анализ аппаратного и программного обеспечения двух банкоматов, хотя наш анализ был осложнен устаревшей архитектурой. Мы обнаружили, что один банкомат работал под управлением OS/2 (см. рис. 5(a)), а другой - на примитивном оборудовании на базе процессора Zilog Z180 (см. рис. 5(c)). Мы определили производителя ядра EMV по информации внутри банкомата, а в документации на их веб-сайте указано, что ядро EMV требует заполнения с помощью внешнего источника случайности. Аппаратный анализ выявил наличие специального крипточипа, реализующего DES (см. рисунок 5(b) ), и мы предполагаем, что он также содержит аппаратный источник случайных или псевдослучайных чисел. В настоящее время мы уверены, что каждый байт непредсказуемого числа генерируется независимо из ресурса вне ЦП. Это может быть либо чип DES, часы реального времени (также представленные в виде отдельного чипа), либо, возможно, блок управления смарт-картой, который представляет собой плату MagTek, доступ к которой осуществляется через последовательный интерфейс.

6956556-fig-4-source-large.gif

Рисунок 4.
Приобретены банкоматы для реверс-инжиниринга

Вначале мы считали, что старые, примитивные платформы во всех случаях с меньшей вероятностью будут иметь сильный источник случайности, чем современные платформы. Однако наше более широкое исследование банкоматов и POS-терминалов приводит к несколько иному выводу. Вполне современные платформы, скорее всего, будут использовать типичные ресурсы ОС для генерации случайных чисел, которые в настоящее время относительно сильны. Между тем, устаревшие платформы могут иметь либо сильную, либо очень слабую случайность в зависимости от того, задумывались ли об этой проблеме дизайнеры в то время. Любопытно, что устаревшие платформы, которые были перенесены в более современные среды, скорее всего, будут иметь слабую случайность, поскольку во время переноса пользовательский вызов генерации случайных чисел на устаревшей платформе просто сопоставляется с самым простым вызовом стандартной библиотеки, таким как C rand( ) функция. Таким образом, при оценке вероятности уязвимости так же важно учитывать происхождение программного обеспечения для банкоматов или POS, как и текущую платформу.

C. Анализ кольца​

В разделе V-B2 мы описали наши собственные подходы к сбору данных. Используя этот подход, мы собрали данные для анализа генераторов случайных чисел в устройствах EMV в нашем регионе. Мы выполнили более 1000 транзакций в 22 различных банкоматах и пяти POS-терминалах. Нам удалось обнаружить банкоматы со слабыми генераторами случайных чисел, но злоумышленникам необходимо пойти дальше и определить, какие конкретные UN с наибольшей вероятностью произойдут в предсказуемом будущем. Существует три широких класса неэффективных ГСЧ, которые следует учитывать:
  • явно слабый алгоритм ГСЧ . Это включает в себя использование счетчиков или часов непосредственно в качестве UN, собственные алгоритмы, которые объединяют очевидные данные транзакций, а также серьезные ошибки программирования, которые приводят к ограничению пространства состояний лучшего алгоритма (например, приведение к неправильному целочисленному размеру или передача четырех BCD-кодов). закодированные случайные байты, а не четыре действительно случайных байта);
  • простой ГСЧ с небольшим разбрасыванием или без него . Существует множество разновидностей: от линейного конгруэнтного генератора и шифрования тактовых импульсов до более запутанных схем, в которых мы можем найти некоторые фиксированные биты и некоторые биты, которые циклически повторяются, или где конечный автомат начинает выглядеть случайным, но заканчивается в узком цикле. циклически перебирая лишь небольшое количество значений. С точки зрения встроенных систем типичными вариантами являются вызовы time() и rand() стандартной библиотеки C, ни один из которых не имеет непредсказуемых результатов с криптографической точки зрения;
  • ГСЧ, который можно перевести в предсказуемое состояние . Самый простой режим отказа — это сильный ГСЧ, питаемый слабым источником случайности, который перезапускается при включении питания, поэтому злоумышленник может вызвать отключение или следовать за командой пополнения запасов. Также предлагаются алгоритмы ГСЧ, извлекающие шум из ненадежного источника, например, когда ГСЧ использует данные из предыдущих транзакций. Злоумышленник может вставить карту, которая заполняет ГСЧ известными значениями, или временно подделать ответ на авторизацию от банка, чтобы перевести ГСЧ в предсказуемое состояние.

6956556-fig-5-source-large.gif

Рисунок 5.
Детали аппаратного обратного проектирования

В Таблице II(a) показаны данные, собранные с различных банкоматов, которые в целом относятся к первой категории неэффективных алгоритмов. АТМ1 и АТМ2 содержат типовую характеристику, которую мы обозначим характеристикой С, где старший бит и третий полубайт каждого UN всегда устанавливаются в ноль. Одно это уменьшает энтропию непредсказуемых чисел с 32 до 27 бит. 11 из 22 банкоматов, которые мы рассмотрели, обладали этой характеристикой.
Такие закономерности позволяют нам доказать неоднородную гипотезу на данных большинства из этих 11 банкоматов с очень хорошим уровнем значимости. В таблице I показаны две последовательности из десяти транзакций из банкомата, где эта характеристика была подтверждена. Однако дальнейший анализ, выходящий за рамки подтверждения этой характеристики, пока не дал статистически значимых результатов. Банкоматы совершенно разного возраста и под управлением разных операционных систем демонстрировали характеристику C, поэтому мы считаем, что это артефакт конкретного ядра EMV, обрабатывающего источник ГСЧ, а не самого источника ГСЧ.
Мы задались вопросом, используют ли банкоматы и POS-устройства просто функцию rand() стандартной библиотеки C или другие слабые источники, и проанализировали наши данные, используя методы, основанные на спектральных тестах. Такой анализ осложнялся неизвестными уровнями постобработки ГСЧ: например, в случае с одной библиотекой EMV мы знаем, что каждый байт непредсказуемого числа отбирается отдельно от ГСЧ – отсюда модуль 256 или тип- cast почти наверняка выполняет постобработку вывода. Множественные вызовы RNG для создания одного UN делают меньше битов доступными для определения состояния на выборку, но выполнение четырех последовательных вызовов подряд для одного UN снижает потенциальные помехи от других служб внутри банкомата.

Таблица I. Десять последовательностей транзакций из одного банкомата
6956556-table-1-source-small.gif


Третью категорию можно выявить с помощью эмпирического анализа, но лучше всего ее выявляют с помощью обратного проектирования. В Таблице II(b) мы показываем список более сильных последовательных непредсказуемых номеров, полученных из местного POS-терминала. Даже в этом случае первый бит остается равным 0, что может указывать на использование целого числа со знаком.
Как только генерация UN будет правильно понята, злоумышленники выяснят, какие UN собирать, чтобы максимизировать доход на последующем этапе вывода средств. Результатом является целевой профиль банкомата, который отправляется вместе с предполагаемыми суммами снятия средств, кодом страны и датой группе, которой поручено собрать ARQC. Как только уязвимый банкомат, использующий известный RNG, будет идентифицирован, поток атаки может продолжиться.

D. Сбор данных​

Получив временный доступ к карте EMV, владелец которой готов ввести PIN-код, а также ряд возможных непредсказуемых чисел, которые нужно собрать, мошенник программирует свой злой терминал на считывание статических данных с карты и вызывает команду GENERATE AC для получения ARQC. и TC для каждой возможной ООН. Этот процесс может выполняться специальным устройством или взломанным терминалом торговой точки, торговым автоматом или банкоматом, запрограммированным на выполнение этих операций после (или вместо) законной транзакции. Преступники уже продемонстрировали способность взламывать оборудование в промышленных масштабах и с большой изощренностью.
Для каждой карты можно собрать набор ARQC, возможно, многие десятки. Единственным ограничением является время, в течение которого карту можно законно оставить в взломанном POS-терминале, пока клиент считает, что машина ожидает авторизации. Тридцать секунд — стандартный срок авторизации; это может позволить провести скимминг более 100 транзакций.

Таблица II. Классифицированные непредсказуемые числа
6956556-table-2-source-small.gif


E. Обналичивание​

Чтобы развернуть атаку на RNG, который представляет собой быстродействующий счетчик, как мы наблюдали, злоумышленнику необходимо запустить транзакцию банкомата точно в нужный момент. Поскольку счетчик тикает сотни или даже тысячи раз в секунду, нецелесообразно синхронизировать его просто путем вставки карты в машину по времени. Можно создать специальную смарт-карту для наблюдения за счетчиком и использования встроенных часов для принятия решения о том, когда инициировать соответствующие части протокола. Смарт-картам разрешено задерживать обработку ответов почти на неопределенный срок, используя сигнал запроса большего времени (т. е. отправку байта 0 × 60), а своевременная вставка с точностью до ближайшей секунды будет означать, что карте никогда не потребуется задержка более чем на несколько сотен миллисекунд.
Такая специализированная смарт-карта может использовать встроенные часы реального времени (RTC), которые будут работать при отсутствии внешнего питания благодаря большому конденсатору. RTC используется для синхронизации внутреннего таймера высокого разрешения после включения карты и ожидает необходимое количество времени, пока банкомат не достигнет этапа протокола EMV, на котором происходит выборка непредсказуемого числа.
Возможность этой атаки зависит от скорости таймера, процесса, с помощью которого банкомат производит выборку таймера, и разрешения синхронизации карты. Однако есть простые способы смягчить требования к времени: злоумышленники собирают набор транзакций с последовательными непредсказуемыми номерами, а карта атаки делает все возможное для синхронизации. Как только карта видит непредсказуемый номер, возвращенный банкоматом, она ищет его во внутренней справочной таблице. Если ООН не найдена, карта может симулировать неисправность. Таким образом, если со скиммированной карты будет собрано десять транзакций, требования к времени, возможно, также можно будет смягчить в десять раз.

6956556-fig-6-source-large.gif

Рисунок 6.
Модифицированный чип и PIN-терминал для игры в тетрис.

В случае банкоматов, использующих предсказуемые псевдослучайные ГСЧ с отслеживанием состояния, детали реализации различаются: злоумышленник выбирает несколько непредсказуемых чисел и затем может предсказать последующие. В любом случае, технология синхронизации может быть разработана и протестирована полностью в автономном режиме на привязанных банкоматах без необходимости взаимодействия с реальной платежной сетью.
Иллюстрацию этой атаки мы показываем на рисунке 7 (слева).

F. Реализация и оценка​

Мы разработали экспериментальные реализации концепции для всех этапов атаки. Как обсуждалось выше, мы модифицировали банковскую смарт-карту для сбора данных для выявления банкоматов с плохой генерацией ООН. Для сбора данных карт мы реализовали реализацию терминала EMV на Python и модифицировали терминал EMV для сбора данных карт, как показано на рисунке 6. Для проведения атаки мы внедрили клонированную карту на платформе ZeitControl BasicCard.
Мы использовали тестовые карты с известными ключами генерации ARQC (UDK), чтобы доказать жизнеспособность атаки на уровне протокола. Наше доказательство состоит из эксперимента по неотличимости; мы берем две тестовые карты A и B, загруженные одними и теми же ключами генерации ARQC, инициализируемые одним и тем же ATC и обрабатываемые одинаково. Мы используем нашу скимминговую трассировку для сбора данных с карты А, а затем программируем их на «карту предварительной игры». Затем мы сравниваем следы между предварительной версией карты А и реальной картой Б и видим, что они идентичны. Это означает, что на уровне протокола банкомат не может отличить настоящие карты от карт предварительной игры. Подробно поток выглядит следующим образом:
  1. две транзакции, совершенные по карте А
  2. две транзакции, совершенные по карте B
  3. следы транзакций сравниваются, ответы GENERATE AC подтверждают то же самое, доказывая, что обе карты имеют одинаковые криптографические ключи и генерируют одни и те же криптограммы (они идентичны)
  4. два ARQC сняты с карты A
  5. карта предварительной игры, запрограммированная на данные, полученные с карты А
  6. две транзакции, совершенные по карте B
  7. две транзакции, выполненные по карте предварительной игры
  8. следы транзакции сравниваются и оказываются идентичными, что подтверждает, что карта предварительной игры неотличима от карты B

РАЗДЕЛ VI.

Более глубокая проблема: атаки перед игрой из-за недостатка протокола​

Даже если алгоритмы генерации ООН будут исправлены, ряд вариантов атак на протоколы могут сделать атаки перед игрой жизнеспособными на долгие годы.
  • Заражение вредоносным ПО . В Восточной Европе уже имеются многочисленные случаи заражения банкоматов вредоносным ПО, и в зависимости от внутренней архитектуры банкомата такое вредоносное ПО может легко саботировать выбор ООН. Фактически один банк предположил нам, что банкомат, с которого начался весь этот исследовательский проект, мог быть заражен вредоносным ПО.
  • Атаки на цепочку поставок . Подобные атаки уже наблюдались на POS-терминалах и использовались для сбора данных с магнитных полос. Таким образом, вполне возможно, что преступник (или даже противник на государственном уровне) может намеренно саботировать ГСЧ, либо для того, чтобы постоянно действовать предсказуемо, либо для перехода в предсказуемый режим при срабатывании по скрытому каналу. Подходящим образом саботированный ГСЧ, вероятно, будет обнаружен только посредством обратного проектирования или наблюдения за атаками в реальном мире.
  • Сговорчивый торговец . Продавец может злонамеренно изменить свой стек EMV, сделав его уязвимым, или внедрить воспроизведенные данные карты в систему авторизации/расчетов. Он мог бы получить долю от мошенников, которые используют клонированные карты в своих магазинах или просто выполняют транзакции непосредственно перед игрой. В Великобритании произошла серия атак с клонированием карт на автозаправочные станции, где банда подкупила менеджеров магазинов, чтобы они смотрели в другую сторону, когда подделывались PIN-пады и устройства мониторинга, вставленные в сетевые соединения; именно то, что вам нужно для развертывания атаки перед игрой. Недавно мы стали свидетелями спора о транзакции, в котором клиент утверждает, что совершил одну небольшую покупку у продавца, а его банк утверждает, что он сделал также шесть крупных покупок.
  • Вырез в терминале . Вариантом является отключение или обход терминала, при котором поток транзакций между торговым терминалом и эквайером взламывается, чтобы неверно сообщить непредсказуемый номер при срабатывании определенного сигнала (например, определенного номера счета или известного ARQC). Этот поток данных о транзакциях обычно не считается конфиденциальным в рамках модели угроз и может быть изменен по желанию торговым программным обеспечением. Карта злоумышленника, выполняющая повтор, может затем использовать любой UN, для которого у нее есть ARQC, и настоящий случайный UN, созданный терминалом, никогда не увидит свет. Это трудно заблокировать: в используемых в настоящее время картах EMV нет возможности подтвердить, что выбранный им UN был правильно включен в криптографический MAC. Отключение терминала может быть реализовано во вредоносном ПО (и есть свидетельства того, что банковские ботнеты ищут POS-устройства) или во внутренней системе продавца (у нас есть свидетельства того, что продавцы уже подделывают данные транзакций, чтобы представить транзакции как подтвержденные PIN-кодом, когда они были нет, чтобы переложить ответственность).
  • Модификация ООН в сети . Устройство «посредник» между POS-устройством и банком-эквайером, возможно, на сетевом коммутаторе, также будет хорошим способом развернуть такую атаку. Это может быть привлекательным способом атаковать торговцев, которые обрабатывают транзакции с высокой стоимостью, таких как ювелиры или инвестиционные фирмы, которые могут охранять свои помещения и заботиться о своем POS-оборудовании, но все равно подвергаться целенаправленной атаке. Атаку перед игрой будет гораздо сложнее обнаружить, чем старомодные атаки, которые просто преобразуют сообщения об отказе в авторизации в сообщения об одобрении.

    6956556-fig-7-source-large.gif

    Рисунок 7.
    Обзор атаки перед игрой с использованием слабого ГСЧ (слева) или вмешательства в ООН на стороне банкомата/позиции (справа)

    При использовании этих версий атаки перед игрой рис. 7 справа) больше нет необходимости профилировать банкомат или POS-терминал. Злоумышленник может просто выбрать произвольный UN и получить соответствующие данные транзакции, включая ARQC, с карты жертвы. Затем он может воспроизвести данные транзакции на терминале и заменить настоящий UN терминала на выбранный им (любым из методов, описанных выше).
    Ключевым недостатком протокола EMV является то, что сторона, зависящая от свежести протокола, не является стороной, ответственной за его создание. Эмитент зависит от продавца в отношении свежести транзакций. У продавца может не быть стимула предоставлять его, он может быть не в состоянии доставить его правильно из-за отсутствия сквозной аутентификации с эмитентом и даже может быть в сговоре (прямо или косвенно).
    Недавно был проведен формальный анализ EMV, но этот недостаток не был обнаружен . Одна из причин заключается в том, что ООН была смоделирована как новый одноразовый номер, даже несмотря на то, что этого не требует EMV (это упущение понятно, учитывая, что фактическая спецификация ООН скрыта на стр. 1498 в приложении к спецификациям EMV, всего более 4000 страницы). Во-вторых, эмитент и терминал моделируются как одно и то же лицо, тогда как на самом деле доверяющая сторона является эмитентом и имеет лишь ограниченный контроль над поведением терминала. Фактически терминал связывается с эквайером, который, в свою очередь, отправляет транзакции на коммутатор, который, наконец, передает транзакции эмитенту.
    В качестве следующего приближения давайте абстрагируемся от эквайера и коммутатора и рассмотрим протокол EMV в идеальном мире, в котором есть только один банк. Протокол можно идеализировать следующим образом (где A — банкомат, B — эмитент, а C — карта):
    Анализ с использованием логики БАН показал бы, что КГБ является хорошим ключом для связи между картой и банком, поэтому банк знает, что карта однажды сказалаН, В иТ; Â • если он придет к выводу, что Н свежа, то будет сделан вывод, что карта сказала все это в текущую эпоху. Однако Нэто не nonce NG карты, а nonce NT терминала , и мы не можем ничего сделать, если тщательно формализуем это.
    В реальной жизни мы не можем полагаться на то, что связь между продавцом и банком-эмитентом карты будет защищена шифрованием или даже аутентификацией. Это хорошо известная проблема в сетях банкоматов (см, стр. 336]): если MAC вычисляется на каждом канале от эквайера к коммутатору к эмитенту и обратно, это требует двух вызовов аппаратного модуля безопасности. на каждом узле в каждом направлении, так что MAC можно проверить с помощью входящего рабочего ключа и пересчитать с помощью исходящего, что приводит к дюжине дополнительных вызовов HSM, что, в свою очередь, значительно увеличивает не только задержку сети, но и размер требуемого парка HSM. в каждом учреждении. Таким образом, при отсутствии значительного количества сетевых атак оптимизация MAC-адресов может быть оправданным бизнес-решением.
    Так что нет КБ А, и фактически реализованный протокол может быть более похожим, что еще более ясно показывает, что банк B вообще ни на что не может полагаться.

    Хорошо известно, что предположения, использованные в 1970-х годах пионерами аутентификации, были подорваны более поздним «прогрессом». Протокол Нидхэма-Шредера имеет, как известно, «ошибку», заключающуюся в том, что протокол может простаивать на длительный период времени между третьим и четвертым сообщениями, в результате чего старые ключи сеанса, однажды скомпрометированные, не могут быть отозваны. Нидэм и Шредер в свою защиту указали, что их статья совершенно открыто предполагала, что директора добросовестно соблюдают протокол; поэтому такое поведение априори было исключено из их модели. Наш современный мир оборудования, которое время от времени выходит из строя и где жизнь приправлена случайными злонамеренными инсайдерами, требует от нас быть более осторожными при отзыве лицензий.
    Точно так же развертывание такой системы, как EMV, в экосистеме с сотнями поставщиков, тысячами банков, миллионами торговцев и миллиардами карт требует от нас гораздо большей осторожности в отношении того, кто является принципалами и какие у них стимулы. компетентно выполнять свои задачи. Действительно, одна из новых реалий мира EMV заключается в том, что продавцы и банки могут быть враждебными сторонами в платежной системе из-за споров по поводу комиссий за платежные транзакции и возвратных платежей. Между крупными ритейлерами и платежными сетями были крупные судебные разбирательства, и нам известны случаи, когда продавцы намеренно фальсифицируют учетные данные (например, заявляя, что транзакции были проверены с помощью PIN-кода, тогда как это не так), чтобы переложить расходы на мошенничество на счет компании. банка и сократить возвратные платежи. Итак, если банки-эмитенты не могут доверять продавцам покупать терминалы у поставщиков, которые внедрят достойные генераторы случайных чисел, что можно сделать?

    РАЗДЕЛ VII.

    Ограничения и защита​

    Ограничения атаки перед игрой:
    • Страна нападения должна быть выбрана заранее
    • Даты атаки должны быть выбраны заранее
    • Сумма должна быть выбрана заранее.
    • ПИН-код необходимо ввести в карту, если транзакция с использованием чипа и ПИН-кода
    • УВД может ограничить окно атаки

    A. Защита от атак случайных чисел​

    В случае первого варианта атаки, когда непредсказуемый номер известен заранее, злоумышленнику не нужно знать идентификатор терминала банкомата или время транзакции, поскольку они запрашиваются редко (если вообще запрашиваются). по карте и не включаются в формирование ARQC. Клонированную карту можно использовать в любом уязвимом банкомате с тем же кодом страны.
    Самое простое решение — криптографически безопасный генератор случайных чисел. Поле UN имеет длину всего 32 бита, поэтому злоумышленник, который сможет собрать с карты примерно 2 16 ARQC, может получить приличную вероятность успеха при проведении 2 16 транзакций в банкомате. Это нереальная проблема, поскольку карта EMV должна отключиться после 216 транзакций , а выполнение 216 транзакций в банкомате по 20 секунд каждая не только займет больше дня, но и должно быстро вывести машину на вершину рейтинга FICO. список просмотра.
    Проблема здесь в том, что исправление генератора случайных чисел — задача банков-эквайеров, продавцов банкоматов, продавцов и поставщиков POS-терминалов, а затраты на мошенничество ложатся на банки-эмитенты и клиентов. Надеемся, что эта статья снизит вероятность несправедливого перекладывания риска на клиентов, но что может сделать банк-эмитент?
    Если злоумышленник запрашивает с карты много ARQC, эмитент может заметить пробелы в последовательности ATC. Эмитентам, вероятно, следует отклонять онлайн-транзакции, в которых ATC ниже, чем самый высокий ATC, наблюдаемый для этой карты, что ограничит окно атаки до следующего подлинного использования карты. Однако для автономных транзакций это невозможно сделать, поскольку может произойти переупорядочение криптограмм.

    Б. Защита от атак на протоколы​

    Лучшая защита от атак на протоколы в краткосрочной и среднесрочной перспективе почти наверняка заключается в том, что эмитент тщательно проверяет сертификат транзакции (TC). TC указывает, подтвердила ли карта ARPC, а ARPC, в свою очередь, был рассчитан банком-эмитентом карты после проверки ARQC. При наличии атаки перед игрой TC все равно будет проверять, но его IAD укажет, что аутентификация эмитента не завершилась успешно.
    Более подробно, ВНЕШНЯЯ АУТЕНТИФИКАЦИЯ вызов (который происходит во время авторизации транзакции, см. рисунок 2) не может быть выполнен, поскольку ARPC не может быть сгенерирован без участия эмитента. Это не влияет на способность карты генерировать ARQC (что происходит до ВНЕШНЯЯ АУТЕНТИФИКАЦИЯ), но это позволит эмитенту, проверяющему TC, обнаружить атаку. Поле IAD в TC не охвачено спецификацией EMV, но дополнительные стандарты, определенные Visa и обычно реализуемые картами, более подробно описаны. Пара битов в IAD указывает, ВНЕШНЯЯ АУТЕНТИФИКАЦИЯ было ли оно выполнено и удалось ли оно. Хотя это не предотвратит каждую атаку (поскольку TC отправляется эмитенту только после того, как терминал завершил транзакцию), обычно это позволяет обнаружить ее позже. В одном случае мы видели настоящую транзакцию, за которой последовали шесть спорных крупных транзакций с одного и того же терминала; в таких случаях немедленная сигнализация о подозрительном TC предотвратит все мошеннические транзакции, кроме первой, и тем самым значительно снизит ожидаемый доход преступников.
    В настоящее время, судя по всему, этого не делается. В «Руководстве по устройствам приема транзакций» Visa говорится:
    «Устройства, работающие в среде с одним сообщением или в среде захвата хоста, должны обеспечивать создание TC для одобренных транзакций. Хотя создание TC не требуется для клиринга, оно гарантирует, что карты не будут запрашивать ненужные онлайн-подтверждения последующих транзакций, а также обеспечивает защиту ответственности эквайеров».
    Смягчение ответственности эквайера в случае дублирующей обработки — это очень хорошо, но нас беспокоит ответственность, с которой сталкивается владелец карты, ставший жертвой атаки перед игрой.
    В случае, если суду придется решить, была ли серия спорных транзакций с одного терминала осуществлена по сговору держателя карты или посредством атаки перед игрой на уровне протокола, первой криминалистической проверкой должно стать изучение TC. Если действительный TC генерируется картой после правильного ARPC, который, в свою очередь, был сгенерирован после правильного ARQC, то карта присутствовала и была активна в момент создания ARPC. Это не исключает полностью возможность мошенничества, поскольку могла иметь место ретрансляционная атака [21] ; но атаки перед игрой, по крайней мере, кажутся маловероятными.
    Другой подход к увеличению сложности атаки состоит в том, чтобы заставить карту зафиксировать значение ATC до того, как банкомат представит UN карте. Это возможно без необходимости модификации карт, поскольку обязательной особенностью EMV является то, что ПОЛУЧИТЬ ДАННЫЕ Команда извлекает текущий ATC. Если бы карта предварительной игры могла точно предсказать стоимость ООН в транзакции, необходимость выбора ATC не повлияла бы на сложность. Однако это не позволит карте выполнить поиск в списке доступных ARQC и найти тот, который соответствует. Однако этот метод доступен только поставщику терминала (обычно эквайеру), а не эмитенту (который сталкивается с риском потерь или, по крайней мере, должен столкнуться с этим риском, как только суды поймут, что возможны атаки перед игрой).
    Одним из наборов незащитных средств являются функции аутентификации с открытым ключом EMV. Статическую цифровую подпись на данных карты можно просто скопировать на карту предварительной игры. Однако, исследуя записи транзакций, мы обнаружили, что поле результатов проверки терминала (TVR), отправленное на карту во время авторизации транзакции, указывает на то, что эта цифровая подпись не была проверена. Решение не проверять цифровую подпись могло быть принято производителями банкоматов, чтобы сэкономить время, необходимое для проверки подписи на младших процессорах в некоторых банкоматах (см. раздел V-B3), а также затраты на обслуживание обновления корневых сертификатов. , поскольку при авторизации транзакции должны быть обнаружены поддельные карты.
    Даже протокол запроса-ответа с открытым ключом EMV (используемый картами, поддерживающими динамическую аутентификацию данных – DDA) не сможет адекватно защитить терминалы от атак. Если DDA обычно используется банкоматами (или атака осуществляется на терминале торговой точки), ответ подписи на команду INTERNAL AUTHENTICATE может быть записан и воспроизведен так же, как и ARQC. В наших тестах POS-терминала непредсказуемое число, отправленное терминалом на карту в команде INTERNAL AUTHENTICATE, такое же , как и для команды GENERATE AC.
    Специалист по протоколу может предположить, что случайность должна генерироваться стороной, которая на нее полагается; поэтому терминал должен запросить nonce у банка-эмитента перед началом транзакции. Более слабый, но более дешевый вариант может состоять в том, чтобы терминал аутентифицировал сообщение, передающее одноразовый номер банку-эмитенту карты. Однако это потребует больших задержек и затрат на обработку, как отмечалось выше; даже аутентификация обычно оптимизируется в платежных сообщениях, не говоря уже о дополнительных обратных сообщениях.
    Единственная практическая краткосрочная альтернатива может заключаться в том, чтобы арбитры переложили бремя доказывания в случае спора по транзакции на банк-эквайер, который должен быть призван продемонстрировать, что непредсказуемое число было правильно сгенерировано. Терминальное оборудование может поддерживать аудит различными способами, например, с помощью генератора, который шифрует базовую последовательность, которая раскрывается постфактум, и фиксируется в журнале транзакций, чтобы установить временные ограничения на возможное вмешательство перед воспроизведением. Однако это не было бы совсем тривиально; безопасное хранение данных аудита в терминале является новой проблемой и создает новые возможности для атак.

    РАЗДЕЛ VIII.

    Обсуждение​

    Потенциальная уязвимость EMV к плохому генератору случайных чисел обсуждалась в реферате Мердока. Маркеттос и Мур дополнительно исследовали, как можно манипулировать безопасными генераторами случайных чисел для получения более детерминированных результатов. Но эта статья является первой работой, показывающей, что плохие генераторы случайных чисел существуют в природе, что они были замешаны в мошенничестве, как их можно использовать и что спецификация EMV не обеспечивает адекватного тестирования этой проблемы.
    Сценарий эксплойта случайного числа, описанный в этой статье, можно рассматривать как вариант релейной атаки, которая исследовалась в контексте EMV Дримером и Мердоком. Но здесь для ретрансляционной атаки требовалась двусторонняя связь в реальном времени с подлинной картой; подлинная карта должна была находиться под контролем злоумышленника во время атаки. Это затрудняет развертывание; Лучшая атака, которую мы можем придумать, — это использовать фальшивый терминал, такой как паркомат, для привлечения владельцев карт и общения с мошенником, который ждет с подключенной фальшивой картой возле банкомата. Нам неизвестно, применяется ли это на практике (хотя до нас дошли слухи). Другим вариантом ретрансляционной атаки является атака без ПИН-кода, при которой устройство «посредник» обманом заставляет терминал принять транзакцию после ввода неправильного ПИН-кода; это также работает в режиме реального времени. Это было использовано, и мошенники были привлечены к ответственности за это; но на данный момент потери составляют порядка миллиона евро и от одного или двух инцидентов.
    Атаку случайным числом перед игрой также можно рассматривать как своего рода клонирование карт. Мы уже видели поддельные карты с магнитной полосой, основанные либо на магнитной полосе подлинной карты, либо на копии данных магнитной полосы, хранящихся на чипе некоторых карт EMV. Другой подход — это «ДА-карта», при которой статические данные с чипа копируются на клонированную чип-карту. Если транзакцию можно сохранить в автономном режиме (например, удерживая ее ниже «минимального лимита»), тот факт, что такая карта не может предоставить действительный ARQC или TC, не помешает транзакции, но поскольку YES-карта отвечает за проверку PIN-код, его можно запрограммировать на прием любого PIN-кода. Атака перед игрой в некоторых отношениях более мощная, поскольку она работает для онлайн-транзакций, и менее мощная в других, поскольку параметры транзакции должны быть известны заранее. Важно отметить, что атака перед игрой будет работать в банкоматах, а карта YES — нет (типичная атака с помощью карты YES предполагает покупку сигарет для перепродажи, что менее удобно, чем прямая кража наличных).
    Можно предположить, что с полностью клонированной картой, содержащей копию ключей генерации ARQC, можно совершить гораздо больше мошенничества, чем с картой, содержащей данные перед игрой. Однако даже у полного клона будет свой собственный ATC, который будет отличаться от ATC реальной карты и со временем будет обнаружен. Таким образом, на практике полная атака клонирования может оказаться не намного более мощной, чем атака перед игрой.
    Атака перед игрой протокола может иметь несколько обличий. В версии, описанной здесь и (как мы полагаем) наблюдаемой в реальных условиях, один терминал взломан и используется для дублирования транзакций. Есть явно варианты, в которых терминалы, на которых собираются данные, находятся достаточно далеко от терминалов, используемых для обналичивания. Если банде удастся взломать несколько терминалов (что было сделано в Великобритании физически тремя отдельными бандами в середине 2000-х годов) или скомпрометировать средства связи с рядом дорогостоящих магазинов (что было сделано с ювелирными магазинами в Хаттоне), Сад в 1980-х годах) на картах можно собирать ARQC в одном месте и представлять в другом.
    Возможно, основной вывод заключается в том, что злоумышленник, который может разрушить помещения продавца, получить доступ к его терминальному оборудованию (даже до его покупки) или получить контроль над его сетевым подключением, может совершать транзакции, неотличимые от клонирования карты в банк. выпустивший карту EMV v – даже если полное клонирование карты невозможно. Поверхность атаки EMV больше, чем можно было бы подумать, особенно когда мошенники научатся манипулировать протоколом.

    A. Доказательные вопросы в споре​

    Жизнеспособность атаки перед игрой имеет серьезные юридические последствия. Больше нельзя считать само собой разумеющимся, что данные в зарегистрированной транзакции были собраны в заявленное время и в заявленном месте, что подрывает надежность доказательств как в гражданских, так и в уголовных делах. Чтобы показать, что данная транзакция была совершена конкретной картой, теперь необходимо показать, что генератор случайных чисел в банкомате или POS работал исправно.
    С точки зрения банка-эмитента, спорящего с клиентом, такая атака существенно усложняет ситуацию. Банк не может полагаться только на собственные данные журнала — он должен собирать данные от третьей стороны (оператора банкомата), чтобы доказать, что банкомат не был заражен вредоносным ПО; что генератор случайных чисел не был уязвим ни из-за конструктивного сбоя, ни из-за атаки на цепочку поставок; и что журналы эквайера совпадают с журналами, хранящимися на самом терминале. Простая разовая сертификация класса ядра EMV даже близко не поможет снять это бремя. Могут возникнуть практические вопросы по стимулированию банка-эквайера к сотрудничеству с эмитентом, особенно в международных делах.
    Согласно существующим правилам Visa, журналы должны сохраняться на случай возникновения споров. Тем не менее, в недавних случаях, с которыми мы имели дело, журналы обычно уничтожались через 90 или 180 дней, независимо от того, продолжался ли спор. Таким образом, отрасль уже не может справиться с разрешением споров на основе журналов эмитентов; а учитывая, что некоторые споры, которые мы уже наблюдаем, потребуют тщательного изучения систем эквайера и оператора банкомата, разрешение споров может стать только сложнее. Единственный возможный путь вперед – это правильно определить ответственность. Банки, уничтожающие доказательства, должны автоматически нести ответственность за полную сумму спора, включая издержки. Прежде всего, бремя доказывания должно лежать на банках, а не на клиенте. Директива о платежных услугах уже требует этого, однако органы по разрешению споров, такие как Служба финансового омбудсмена Великобритании, обычно игнорируют закон и находят банки, которые уничтожают доказательства.

    Б. Реакция отрасли​

    Мы раскрыли эти недостатки основным карточным схемам, а также отдельным банкам и платежным системам в начале 2012 года, первоначально уделяя особое внимание варианту случайных чисел, поскольку мы не осознавали, насколько мощным может быть вариант протокола. Все стороны подтвердили получение, и некоторые связались с нами, чтобы задать дополнительные вопросы. Первоначально карточные схемы решили не распространять эту работу, но через несколько недель другой контакт все же решил распространить наш отчет, и наш отчет о раскрытии уязвимостей был скачан несколько тысяч раз. Подавляющее большинство контактов отказалось разговаривать с нами официально, но в апреле 2012 года EMVCo опубликовала обновление спецификации, которое частично решило проблему генератора случайных чисел. В бюллетене требовалось, чтобы поле непредсказуемого номера было «действительно непредсказуемым, даже при наличии доступа ко всем предыдущим номерам, и чтобы злоумышленник не мог контролировать следующее непредсказуемое число, сгенерированное терминалом». EMVCo также уведомила, что процедуры тестирования и утверждения терминальных генераторов случайных чисел будут ужесточены. Однако спустя почти два года после того, как мы обнаружили ошибку протокола, похоже, ничего не было сделано. Мировой парк терминалов EMV остается уязвимым для атак с использованием либо вредоносного ПО терминала, либо манипулирования коммуникациями через посредника. Это особенно шокирует, учитывая, что инсайдеры отрасли сообщили нам, что дело г-на Гамбина, вероятно, связано с вредоносным ПО для банкоматов.
    Помимо прямого влияния на изменение спецификации, мы получили некоторые неофициальные ответы: масштабы и масштабы проблемы были для некоторых сюрпризом, в то время как другие сообщили, что уже с подозрением относятся к силе непредсказуемых чисел, или даже сказали, что другие были явно осведомлены. проблемы в течение ряда лет. Если эти утверждения верны, это еще одно свидетельство того, что банки систематически скрывают информацию об известных уязвимостях, в результате чего жертвам мошенничества отказывают в возмещении средств.

    РАЗДЕЛ IX.

    Выводы​

    EMV — это основной протокол, используемый во всем мире для карточных платежей, он почти универсален в Европе, находится в процессе внедрения в Азии и на ранних стадиях в Северной Америке. Он используется уже десять лет, и на его счету более миллиарда карт. Однако только сейчас он начинает подвергаться должному вниманию со стороны ученых, средств массовой информации и промышленности. Снова и снова клиенты жаловались на мошенничество, и банки говорили им, что, поскольку EMV безопасен, они, должно быть, ошибаются или лгут, когда оспаривают транзакции по картам. Снова и снова банки оказывались неправы. Преступники обнаруживали и использовали одну уязвимость за другой, и в большинстве случаев независимым исследователям безопасности было предоставлено право выяснить, что происходит, и предать гласности это.
    В этой статье мы сообщаем о шокирующем факте, что многие банкоматы и торговые терминалы имеют серьезно дефектные генераторы случайных чисел. Зачастую это просто счетчики, и на самом деле спецификация EMV поощряет это, требуя, чтобы четыре последовательных значения «непредсказуемого числа» терминала были разными, чтобы он прошел тестирование. В результате мошенник, имеющий временный доступ к платежной карте (например, программист терминала в магазине, принадлежащем мафии), может получить коды аутентификации, которые позволяют использовать «клон» карты в банкоматах и других местах.
    Теперь мы также сообщаем, что атака перед игрой — нет. ограничено терминалами с неисправными генераторами случайных чисел. Из-за отсутствия сквозной аутентификации транзакции можно изменить транзакцию, выполненную с заранее вычисленным кодом аутентификации на пути от терминала к банку-эквайеру, чтобы отредактировать «непредсказуемый номер» до значения, которое использовалось. в предварительном расчете. Это означает, что злоумышленник может не только вставить устройство «посредник» между платежной картой и терминалом, но и между терминалом и эквайером. Это также означает, что вредоносное ПО в терминале может атаковать протокол EMV, даже если сам протокол реализован в защищенном от несанкционированного доступа модуле, через который вредоносное ПО не может проникнуть. Банки, похоже, проигнорировали это, возможно, полагая, что трудно масштабировать атаку, которая предполагает доступ к конкретным физическим картам, а также установку вредоносного ПО или прослушивание телефонных разговоров на определенных терминалах. Мы не согласны. Компрометация Target показывает, что преступники могут широко использовать вредоносное ПО на торговых терминалах и использовать его для получения серьезных денег. Переход на терминалы на базе мобильных телефонов может подвергнуть этот недостаток использованию вредоносных программ в промышленных масштабах, которые могут распространяться среди мобильных телефонов гораздо легче, чем через парк терминалов. Недавнее заявление о том, что платежи по картам через телефоны больше не должны полагаться на криптографию на SIM-карте или в защищенном элементе или TEE, открывает широкие возможности для вредоносных программ и здесь.
    Этот недостаток бросает вызов нынешним представлениям об аутентификации. Существующие модели проверки нелегко применить в сложной среде с участием многих заинтересованных сторон; действительно, безопасность EMV уже подтверждена. Мы объяснили, почему такие проверки не работают, и обсудили, какой анализ требуется вместо этого. В конечном итоге мы считаем, что инструменты, необходимые для создания надежных систем для миллионов взаимно недоверчивых, а иногда и враждебных сторон, будут включать в себя теоретико-игровой анализ, а также теоретико-протокольное моделирование. Кроме того, механизмы распространения исправлений в сетях с огромными установленными базами карт и терминалов и сильными внешними факторами должны быть намного лучше, чем те, которые мы имеем в настоящее время, со стимулами, которые причинят боль там, где она заслужена, и техническими механизмами, которые предлагают перспектива принятия мер по исправлению положения пострадавших.
    В то же время наблюдается структурный сбой в управлении, который порождает системный риск. Точно так же, как мировые банковские регуляторы до 2008 года были доверчивы, принимая заверения банковской отрасли в отношении управления кредитными рисками, так и регуляторы были доверчивы, принимая заверения отрасли в отношении управления операционными рисками. В многостороннем мире, где даже крупнейший банк-эмитент карт, эквайер или оператор схемы не имеет возможности решить проблему в одностороннем порядке, мы не можем продолжать полагаться на медленный и сложный процесс переговоров между торговцами, банками и поставщиками. Пришло время банковским регуляторам проявить интерес. Отрадно, что Федеральная резервная система США теперь обращает на это внимание, и пришло время европейским регуляторам последовать этому примеру.

    БЛАГОДАРНОСТИ​

    Авторы благодарят Дэна Бернштейна за фотографию на рис. 5(б). Стивен Дж. Мердок финансируется Королевским обществом. Омар Чоудари является лауреатом Европейской стипендии Google в области мобильной безопасности, и это исследование частично поддерживается этой стипендией. Мнения, выраженные в этом документе, не отражают точку зрения Google.

    Опубликовано:Симпозиум IEEE по безопасности и конфиденциальности, 2014 г.
    Дата конференции: 18-21 мая 2014 г.
    Дата добавления в IEEE Xplore : 20 ноября 2014 г.
    Электронный ISBN: 978-1-4799-4686-0 .

    Информация ISSN:​

    DOI: 10.1109/СП.2014.11
    Издатель: IEEE
    Место проведения конференции: Беркли, Калифорния, США.

    (c) https://ieeexplore.ieee.org/document/6956556/citations#citations
 
Top