Смартфоны NFC позволили исследователям взломать системы торговых точек и банкоматы

Смартфоны с поддержкой NFC позволили исследователям взламывать системы торговых точек и банкоматы, получая на некоторых из них выполнение специального кода.

Несмотря на то, что банкоматы являются одним из немногих способов снять деньги со своего банковского счета на ходу, на протяжении многих лет банкоматы, как известно, имели множество проблем с безопасностью. Даже сейчас ничто не мешает хакеру установить скиммер для карт в банкомате, поскольку большинство людей никогда не заметят его наличие. Конечно, за прошедшие годы произошел и ряд других атак, более сложных, но в целом всегда следует быть осторожным при использовании банкомата. Теперь появился новый способ взлома банкомата, и все, что для него нужно, — это смартфон с NFC.

Как Проводной отчеты, Хосеп Родригес — исследователь и консультант в IOActive, охранной фирме, базирующейся в Сиэтле, штат Вашингтон. Весь последний год он посвятил поиску уязвимостей в считывателях NFC, используемых в банкоматах и ​​системах торговых точек. Многие банкоматы по всему миру позволяют вам прикоснуться к своей дебетовой или кредитной карте, затем ввести PIN-код и снять наличные, вместо того, чтобы требовать от вас вставки его в сам банкомат. Хотя это более удобно, оно также позволяет решить проблему присутствия физического скиммера карт над устройством чтения карт. Бесконтактные платежи в торговых точках также повсеместно распространены.

Источник: Google

Взлом NFC-ридеров

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

Более того, Родригес говорит, что он может даже заставить по крайней мере один банкомат неназванной марки выдавать наличные, хотя это работает только в сочетании с ошибками, которые он обнаружил в программном обеспечении банкомата. Это называется "джекпот", для чего преступники на протяжении многих лет пытались получить доступ к банкомату, чтобы украсть наличные, множеством способов. Он отказался указать бренд или методы из-за соглашений о неразглашении с поставщиками банкоматов.

«Вы можете изменить прошивку и изменить цену, например, на один доллар, даже если на экране показано, что вы платите 50 долларов. Вы можете сделать устройство бесполезным или установить своего рода программу-вымогатель. Здесь есть много возможностей», говорит Родригес об атаках на точки продаж, которые он обнаружил. «Если вы выполните последовательную атаку, а также отправите специальную полезную нагрузку на компьютер банкомата, вы сможете выиграть банкомат — например, обналичить деньги, просто нажав на свой телефон».

Источник: Хосеп Родригес.

В число затронутых поставщиков входят ID Tech, Ingenico, Verifone, Crane Payment Innovations, BBPOS, Nexgo и неназванный поставщик банкоматов, и все они были предупреждены от 7 месяцев до года назад. Однако большинство систем торговых точек не получают обновлений программного обеспечения или получают их редко, и вполне вероятно, что многим из них для этого требуется физический доступ. Поэтому вполне вероятно, что многие из них остаются уязвимыми. «Физическое исправление сотен тысяч банкоматов потребует много времени», — говорит Родригес.

Чтобы продемонстрировать уязвимости, Родригес поделился видео с Проводной показывая, как он машет смартфоном над считывателем NFC банкомата в Мадриде, в результате чего банк отображает сообщение об ошибке. Он не продемонстрировал атаку с использованием джекпота, поскольку мог законно протестировать ее только на машинах, полученных в рамках консультирования по безопасности IOActive, что затем нарушило бы их соглашение о неразглашении. Родригес спросил Проводной не публиковать видео, опасаясь юридической ответственности.

Выводы «отличное исследование уязвимостей программного обеспечения, работающего на встроенных устройствах», — говорит Карстен Нол, основатель охранной фирмы SRLabs и хакер-прошивщик, рецензировавший работу Родригеса. Нол также упомянул, что у реальных воров есть несколько недостатков, в том числе взломанный NFC. считыватель позволит злоумышленнику украсть только данные кредитной карты с магнитной полосой, но не PIN-код или данные из EMV. чипсы. Атака с джекпотом банкомата также требует наличия уязвимости в прошивке банкомата, что является серьезным препятствием.

Тем не менее, получение доступа для выполнения кода на этих машинах само по себе является серьезным недостатком безопасности и часто является первой точкой входа в любую систему, даже если это не более чем доступ на уровне пользователя. Как только вы преодолеете внешний уровень безопасности, зачастую внутренние программные системы оказываются далеко не такими безопасными.

Генеральный директор и главный научный сотрудник Red Balloon Анг Цуй был впечатлен результатами. «Я думаю, вполне вероятно, что как только вы запустите выполнение кода на любом из этих устройств, вы сможете получить прямо к главному контроллеру, потому что эта штука полна уязвимостей, которые не были исправлены уже больше года. десятилетие», — говорит Цуй. "Оттуда," он добавляет, «вы можете полностью контролировать кассетный диспенсер» который хранит и выдает наличные пользователям.

Выполнение пользовательского кода

Возможность выполнять собственный код на любой машине является серьезной уязвимостью и дает злоумышленнику возможность исследовать базовые системы на машине, чтобы найти больше уязвимостей. Nintendo 3DS является ярким примером этого: игра под названием Кубический ниндзя был, как известно, одним из первых способов использования 3DS и выполнения доморощенного продукта. Эксплойт, получивший название «Ninjhax», вызвал переполнение буфера, что привело к выполнению специального кода. Хотя сама игра имела доступ к системе только на уровне пользователя, Ninjhax стал основой для дальнейших эксплойтов для запуска кастомных прошивок на 3DS.

Источник: Облачное сияние

Для упрощения: переполнение буфера срабатывает, когда объем отправленных данных превышает выделенное для этих данных хранилище, а это означает, что избыточные данные затем сохраняются в соседних областях памяти. Если соседняя область памяти может выполнять код, злоумышленник может злоупотребить этим, чтобы заполнить буфер мусорные данные, а затем добавить в конец их исполняемый код, где он будет прочитан в соседние Память. Не все атаки на переполнение буфера могут выполнять код, а многие просто приводят к сбою программы или вызывают неожиданное поведение. Например, если поле может содержать только 8 байт данных, а злоумышленник принудительно ввел 10 байт, то дополнительные 2 байта в конце переполнятся в другую область памяти.

Подробнее: «PSA: если ваш компьютер работает под управлением Linux, вам следует обновить Sudo прямо сейчас»

Родригес отмечает, что возможны атаки переполнения буфера на считыватели NFC и устройства в торговых точках, поскольку многие из них он купил на eBay за последний год. Он отметил, что многие из них страдают от одного и того же недостатка безопасности: они не проверяют размер данных, отправляемых через NFC с кредитной карты. Создавая приложение, которое отправляло данные в сотни раз больше, чем ожидает читатель, можно было вызвать переполнение буфера.

Когда Проводной обратились к пострадавшим компаниям за комментариями, ID Tech, BBPOS и Nexgo не ответили на запросы о комментариях. Ассоциация индустрии банкоматов также отказалась от комментариев. Ingenico ответила заявлением, что меры по снижению безопасности означают, что переполнение буфера Родригеса может только привести к сбою устройств, но не привести к выполнению специального кода. Родригес сомневается, что они действительно смогли бы предотвратить выполнение кода, но не создали доказательство концепции для демонстрации. В Ingenico заявили, что «принимая во внимание неудобства и последствия для наших клиентов», они все равно выпускают исправление.

Verifone заявила, что обнаружила и исправила уязвимости в торговых точках в 2018 году до того, как о них стало известно, хотя это лишь показывает, что эти устройства никогда не обновляются. Родригес говорит, что в прошлом году он протестировал свои NFC-атаки на устройстве Verifone в ресторане и обнаружил, что оно все еще остается уязвимым.

«Эти уязвимости присутствуют в прошивке уже много лет, и мы ежедневно используем эти устройства для управления нашими кредитными картами и нашими деньгами», — говорит Родригес. «Их нужно обезопасить». Родригес планирует поделиться техническими подробностями этих уязвимостей на вебинаре в ближайшие недели.