
Привет, Хабр! На связи Иван Глинкин, специалист по аппаратному реверс-инжинирингу из команды Бастиона. Сегодня поделюсь интересным кейсом разбора платежного POS-терминала. Когда-то эти маленькие черные коробочки были крепким орешком для хакеров. Однако отвертка, паяльный фен, логический анализатор и, конечно же, пытливый ум исследователя творят чудеса. К тому же сами разработчики и даже регуляторы порой дают в руки исследователям все козыри, будто только и ждут успешного взлома устройств.
Эта статья — не просто очередной «сказ про то, как железку взломали», а попытка вывести универсальную методологию аппаратного реверс-инжиниринга на основе исследования конкретного устройства. Мы пошагово пройдем весь путь: от сбора информации в открытых источниках до физического вскрытия, обхода защиты и перехвата «секретных переговоров» между чипами.
Итак, часть первая: вскрытие и разведка боем. Поехали!
Маленькая коробочка для больших денег
Оплата курьерской доставки, заказа в кофейне, покупки в супермаркете: мы, не задумываясь, доверяем POS-терминалам свои деньги каждый день. Но насколько безопасны транзакции и хорошо ли защищены эти устройства?
В информационном поле то и дело встречаются новости об очередных опасных уязвимостях в подобных терминалах. Например, в 2024 году группа польских исследователей нашла в терминалах известной китайской фирмы шесть уязвимостей, через которые можно было поднять привилегии до root, обойти защиту песочницы и получить полный доступ к выполнению операций. И это только один пример. Так что команда Бастиона не могла обойти вниманием эти маленькие коробочки, в которых оборачиваются большие деньги.
На сей раз ко мне в руки попал карманный мобильный POS-центр QPOS Mini. Устройство было нерабочим и, судя по всему, давно выведенным из эксплуатации. При включении всплывало уведомление «Защищенный режим», а соединение со смартфоном не устанавливалось.

На вид терминал напоминает обычный калькулятор. Его длина — 89,7 мм, вес — всего 75г. На сайте вендора можно найти характеристики устройства — вот самые важные:
Операционная система: RTOS;
Процессор: 32-bit ARM 108MHz;
Память: 256KB RAM, 1MB Flash;
Батарея: 3.7V/250mAh;
Коммуникация: Bluetooth 3.0 & 4.2;
Поддерживаемые карты: контактные и бесконтактные EMV-карты, карты с магнитной лентой, NFC (включая Mifare).
Впрочем, нас больше интересует богатый внутренний мир терминала — платы, основные компоненты и их расположение.
Шаг 1: разведка на диване, или Всё уже вскрыли до нас
Как говорится, удача любит подготовленных. 90% работы можно сделать, не доставая паяльник и отвертку и даже не вставая с дивана. Первый шаг в рамках нашей методологии — тщательное изучение открытых источников и сбор информации об устройстве.
Представленная в интернете техническая документация буквально разбирает до винтика тестируемое устройство. Эти разведданные помогают еще до физического взлома определиться с подходящими методами и средствами атаки, подобрать инструментарий. Словом, OSINT, OSINT и еще раз OSINT!
Американский аттракцион щедрости для аппаратного хакера
Куда же стоит заглянуть при сборе информации для аппаратного реверс-инжиниринга платежного POS-терминала? Для начала зайдите на официальный сайт американской FCC (Federal Communication Commission) — Федеральной комиссии по связи. FCC — это своеобразный аналог российского ФСТЭК. В США любое электронное устройство, которое передает радиоволны, должно пройти сертификацию FCC перед выводом на рынок. Правда, сайт госоргана довольно неудобный и к тому же не работает в России без VPN. Гораздо проще доставать нужную информацию через созданное энтузиастами зеркало.
Сайт FCC — клондайк полезной информации для аппаратного хакера. Здесь вам и характеристики платежного терминала, и отчеты по испытаниям и замерам, и, наконец, самое интересное — детальные фото и схемы «интерьера» и «экстерьера» устройства. Даже не нужно разбирать сам терминал, чтобы понять, как он устроен. Это всё равно что производитель сейфов, обязанный публиковать в открытом доступе изображения внутренностей своей продукции — взламывайте на здоровье! В результате у нас есть фотографии платы в высоком разрешении, понимание всех компонентов терминала (NFC, Bluetooth-антенна и т. д.) и их расположения.

Собираем анамнез
Переходим от общего устройства терминала к конкретным компонентам. После сбора информации с сайта FCC я отправился искать в сети даташиты на ключевые чипы, а также сведения о приложении и прошивке. Вот самые полезные находки:
Даташит на модуль YC1021, передающий данные по Bluetooth с устройства на смартфон. В документации подробно описаны характеристики и устройство микросхем Bluetooth-модуля.
Даташит на основной чип MAX23550. Это электронный мозг устройства и полноценный SoC (System on Chip). Важно, что чип содержит флеш-память на 1 мегабайт, где хранится вся прошивка устройства. К слову, в планах — вытащить оттуда прошивку. Сложность в том, что в чипе реализован форм-фактор с шарами вместо традиционных пинов. Соответственно, придется выпаивать модуль и искать подходящий адаптер для считывателя. Но когда дополнительные трудности останавливали настоящего аппаратного хакера?
Техническая спецификация на POS-терминал с сайта разработчика. Это подробное досье устройства: как оно выглядит, что содержит, какими обладает характеристиками и какие сертификации имеет. Представлена информация об операционной системе (RTOS — Real Time Operating System), процессоре, оперативной памяти, дисплее и т. д.
Сайт российской локализации мобильного приложения LifePay. Здесь также можно найти сведения об устройстве терминала, принципах работы и установке мобильного приложения. Отдельный раздел сайта содержит инструкции по обновлению прошивки. Правда, самой прошивки здесь нет — её придется запрашивать у разработчика.
GitLab-репозиторий для мобильного приложения на Android. С его помощью можно допиливать приложение, добавлять сертификаты на карты «Мир» и решать другие задачи.
Российский ресурс 2can. Там лежат готовая прошивка для мобильного приложения, инструкции по обновлению, драйверы для ОС, сам загрузчик. Это бесценный материал для дальнейшего анализа.
Также кое-какие сведения, а именно название устройства и MAC-адрес, удалось узнать при попытке подключиться к терминалу по Bluetooth еще до вскрытия устройства. Спойлер: эти данные совпадут с теми, что позже выдаст логический анализатор на этапе перехвата переговоров.

Итого: за несколько часов удалось найти фото внутренностей устройства, схемы ключевых чипов и даже образец прошивки — и для этого понадобился лишь компьютер и интернет.
Шаг 2: аккуратное вскрытие
Следующий этап — деликатное вскрытие устройства. Здесь нужно действовать как опытный домушник (уж простите за такое сравнение) — чисто и не оставляя следов. Но обо всем по порядку.
«За четырьмя печатями»
Крышка с задней стороны терминала закрыта на четыре винтика, помеченных защитными гарантийными наклейками. Если они надорваны или отсутствуют — значит, устройство вскрывали, и гарантия на него больше не действует. Вернуть такой терминал уже не получится. Так и напрашивается аналогия с приклеенным к дверному косяку волоском из шпионских фильмов.

«Танцы с паяльным феном»
Как известно, против лома нет приёма. На YouTube я подсмотрел способ, как аккуратно снять гарантийные наклейки: сначала нагреваем их паяльным феном до 80–100 °C, чтобы размягчить клей, затем с помощью шприца впрыскиваем под край изопропиловый спирт.

На видео всё выглядело просто и элегантно, но на практике оказалось сложнее: как видно на фото ниже, из четырех наклеек только две удалось снять без повреждений. Проблема в том, что наклейки утоплены глубоко в пазы корпуса — чтобы извлечь их, не повредив, нужно серьезно изловчиться.

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

Первым делом отпаиваем аккумулятор, чтобы ничего не сломать и не замкнуть контакты.

Далее осторожно открываем верхнюю крышку основной платы, где находятся ключевые компоненты: Bluetooth-модуль, управляющий чип MAX23550 и прочее. Затем отпаиваем NFC-антенну и дополнительную батарею.

Шаг 3: anti-tampering — обход «сигнализации»
Теперь нужно обойти защиту от вскрытия (так называемый anti-tampering), которой оснащается большинство подобных POS-терминалов. При попытке включения вскрытое устройство и вправду впало в панику перешло в защитный режим (Limiting mode) и отказалось работать. Это напоминает датчик вскрытия корпуса на ПК. Но где наша не пропадала? Обойти «сигнализацию» помог старый добрый метод «научного тыка».
Маленькая кнопка — большая победа
Внимательно осмотрев устройство, я обнаружил едва заметный микропереключатель на оборотной стороне платы. На задней крышке видны пластиковые «ноги», которые как раз зажимают данную кнопку. Нажимаешь ее, и терминал больше не считает себя вскрытым и «просыпается». Убираешь палец с переключателя — тревожный сигнал поступает на чип, и снова всплывает надпись «Limiting mode». Бинго!
Хотя нужно еще найти заветный переключатель. Может быть, придется выпаять какой-нибудь резистор или другой компонент, перекрывающий доступ к кнопке.

Другой вопрос: как зафиксировать переключатель в нажатом состоянии? Можно, конечно, постоянно давить на него пальцем, но есть способ удобнее. Достаточно демонтировать кнопку и аккуратно запаять ведущие к ней два контакта перемычкой из припоя. Всё гениальное просто: защита от вскрытия обойдена легким движением руки паяльника.

Шаг 4: перехват переговоров — подслушиваем UART
Теперь переходим к следующему этапу нашего взлома — прослушиванию UART и перехвату «переговоров». Спойлер: всё самое интересное происходит не в радиоэфире, а на самой плате. Но не будем забегать вперед.
Ищем RX/TX, или Где у чипов «уши» и «рот»?
Прежде всего возвращаемся к технической документации на Bluetooth-чип и находим выводы RX (Receive — прием) и TX (Transmit — передача): этот интерфейс UART служит «прямой линией» для обмена информацией с главным процессором. Рассматриваем под микроскопом плату и сам чип, сверяем всё с микросхемой из документации… Вот они — «уши» и «рот» чипа (те самые RX и TX).

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

Никаких проблем! Прослеживаем дорожки от ножек чипа к более удобным для соединения контактным площадкам и действуем дальше. В качестве механизма соединения используем PCBite probes, так как они позволяют достаточно точно установить контакты без пайки в ограниченном рабочем пространстве. А с помощью специальной программы для перепрошивки можно узнать baud rate для подключения через UART. Программа выдала два показателя: 115 200 и 3 686 400. Оказалось, что нам нужен первый из них (115 200).

Подключаем анализатор и видим всё
Теперь подключаем к найденным точкам на плате UART-адаптер, а потом — логический анализатор, и наблюдаем поток данных между чипом SoC и Вluetooth-модулем (частично в зашифрованном, а частично в открытом виде).

Как видно, зашифрованные «крокозябры» соседствуют с читаемыми комбинациями: CFF, CMF, ATNM, ASTL, E-Mouse и т. д. Чип SOC отправляет AT-команды на Bluetooth-модуль, а тот, в свою очередь, незатейливо отвечает «ОК». Вот соединение и перехвачено.
Правда, неясно, шифруется ли трафик при проведении транзакций и рабочем чипе. В таком случае Bluetooth-модуль передает информацию в мобильное приложение, которое потом направляет данные по HTTPS. Не исключено, что такая передача тоже осуществляется в незашифрованном, читаемом виде. Но это нам еще предстоит выяснить в следующей части исследования.
Загадка AT+NVRAM — ключ шифрования на ладони?
Как выявил дальнейший анализ, иногда критическая уязвимость — это не баг, а фича или, точнее говоря, архитектурное решение. Но обо всем по порядку.
AT-команды в прямом эфире
Итак, берем логический анализатор и передаем вывод в программу Logic 2 (PC-клиент для логического анализатора). Очевидно, что в незащищенном виде на микросхему передаются AT-команды. Чип задает Bluetooth-модулю его имя (AT+NAME), MAC-адрес (AT+ADDRESS) и т. д.

Перечень основных AT-команд:
AT+NAME— имя устройства;AT+ADSS— MAC-адрес;AT+BLEADSS— Bluetooth Low Energy (BLE) адрес;AT+BLENAME— BLE-имя;AT+UARTC=1— предположительно, эта команда означает, что используется вывод 1 коммуникации UART.
Следы неудачной авторизации
В одном из ответов всплыл код: 0хС5 0х01 0х80 0х44. Незамысловатая проверка (перевод последовательности в формат HEX и поиск в Google) показала, что такая комбинация используется системой Windows в уведомлениях о неудачных попытках авторизации. Или это совпадение, или кто-то решил унифицировать в терминале ошибки, сделав их такими же, как в Windows. С этим еще будем разбираться.

«Тайна третьего байта»
Итак, главный чип передает зашифрованную информацию на Bluetooth-модуль, который тоже отвечает что-то непонятное. Интересно, что все ответы практически однотипные: 040Е 0401 03FC и т. д.
Различия в ответах прослеживаются только в третьем байте: либо 01, либо 03, либо 10. От чего это зависит, опять же, нам еще предстоит выяснить.

Загадочная «посылка» AT+NVRAM
Среди передаваемых AT-команд бросается в глаза интересная последовательность: AT+NVRAM — и далее длинный набор зашифрованных данных. Как известно, NVRAM означает энергонезависимую память с произвольным доступом, которая сохраняет данные даже при отключении питания. Вluetooth-модуль же по обыкновению отвечает на команду лаконичным «ОК». А что, если в этой шифрованной «абракадабре» (переведенной в формат HEX) и кроется сеансовый ключ шифрования?

Если гипотеза верна, то защищенный процессор передает ключ по открытому каналу на Bluetooth-чип для дальнейшей работы — вот это поворот! С таким же успехом можно отправить получателю ключ от сейфа в обычном почтовом конверте с курьером.
Если это смелое предположение подтвердится, то загадочную последовательность получится использовать для расшифровки памяти, где хранятся все данные. Возможно, именно этим мы и займемся в первую очередь в следующей части исследования.
Вместо заключения: что в сухом остатке и куда копать дальше?
Что можно вынести из первой части исследования? Перечислим по пунктам.
-
Методология аппаратного реверс-инжиниринга платежного POS-терминала верхнеуровнево делится на несколько основных этапов:
разведка и OSINT;
деликатное вскрытие устройства;
обход защиты против вскрытия;
перехват и прослушивание сигнала;
проверка гипотез и получение доступа к данным;
перепрошивка устройства.
Пока что два последних этапа остались за рамками исследования — так что работы еще непочатый край.
Тщательный OSINT — залог успешного взлома. В открытых источниках хранится масса ценной информации об общем устройстве терминала, его компонентах и характеристиках. Это позволяет сэкономить время при взломе и заранее определиться с техниками и инструментарием.
Anti-tampering (защита от вскрытия) также нельзя назвать броней. Система защиты оказалась бессильной перед простой перемычкой из припоя. Главное — хорошенько осмотреть плату, поэкспериментировать и найти нужный переключатель. Словом, метод «научного тыка» никто не отменял.
Внутренний обмен данными между чипами — вот главная «ахиллесова пята» подобных терминалов. Только часть отправляемой по UART информации шифруется, к тому же передача осуществляется по открытому каналу. Это открывает не простое, а прямо-таки панорамное окно возможностей для успешного взлома.
Выдвигайте критические гипотезы. Для этого нужно обращать внимание на странные закономерности и непонятные зашифрованные фрагменты, наподобие нашей загадочной команды AT+NVRAM. Если предположение о передаче сессионного ключа шифрования по открытому каналу подтвердится, то налицо фатальная угроза безопасности.
Дайте знать в комментариях, интересно ли вам продолжение этой истории «препарирования» POS-терминала. Если интерес окажется высоким, вот чем займемся в следующий раз:
будем выпаивать чип памяти;
проанализируем полную прошивку в поисках криптоконтейнеров;
пытаться расшифровать прошивку с помощью перехваченного ключа;
попробуем перепрошить устройство, чтобы вернуть его к жизни.
Оставайтесь на связи — впереди много интересного.
Еще приглашаю всех в свой телеграм-канал: http://t.me/glinkinivan. Там вы найдете массу интересного по теме реверс-инжиниринга.

Бастион — защищаем бизнес от киберугроз
t.me/bastiontech — делимся собственным опытом, экспертизой, результатами исследований и прогнозами
Комментарии (32)

dmitryrf
14.10.2025 09:47Антитампер обычно работает несколько сложнее - ключи удаляются при вскрытиии корпуса. То, что вы запаяли перемычку, уже ни на что не повлияет

HydrAttack Автор
14.10.2025 09:47и да, и нет.
буквально неделю назад закончили тестировать ПоС терминалы наших доверителей. Антитемперы стояли. Да, после вскрытия надпись "нас ломают" во весь экран и невозможно ничего сделать.
но проседание одного интересного контакта на землю дало свои результаты и мы внутри. терминал работает, деньги уходят. видимо производитель подумал, что большой ифрейм на весь экран нас остановит))
R0bur
14.10.2025 09:47Если дело обстоит действительно так, как Вы написали, то описанное в статье устройство не соответствует пункту A1.1 PCI POS PED Security Requirements Version 2.1, который требует, чтобы при обнаружении попытки вскрытия устройства незамедлительно и без возможности восстановления уничтожалась вся секретная информация, которая в нём хранится.

Groh
14.10.2025 09:47А если подождать, пока сядет внутренняя батарейка, а после этого открыть корпус?

MaFrance351
14.10.2025 09:47Уйдёт в тампер. Все эти флаги записаны в NVRAM, если обнаружится повреждение данных, всё равно сработает защита. Само собой, ключи тоже сдохнут.

MaFrance351
14.10.2025 09:47О что вспомнил. Был такой терминал Hypercom Optimun T2100. При срабатывании тампера он показывал на экране вот это:
Официально их надо было направлять производителю. Но у нас кто-то нашёл метод борьбы с этим. Надо было раскусить ножку батарейки, припаять два провода, собрать терминал, выведя их через отверстие в корпусе, подать питание (терминал при этом нормально загрузится) и соединить их, вновь подключив батарейку к схеме. После этого можно было штатно заливать ключи.
Правда, нюанс в том, что такие терминалы ушли в историю примерно пятнадцать лет назад. Более новые аппараты от этого Hypercom (T4210, T4220, M4230) уже так не ломались, а в случае сбоя списывались с концами. Ни на одном современном, если он прошёл сертификацию, такая операция уже не прокатит.

HydrAttack Автор
14.10.2025 09:47Нашу бы находчивость и прямые руки да в русло создание своего...

MaFrance351
14.10.2025 09:47Собственно, до прихода современных моделей терминалов, которые без взаимодействия с производителем и дистрибьютором особо не отремонтировать, было всего несколько типов, которые не удавалось вернуть к жизни после вскрытия. Это Telium-1 (SAGEM Monetel), Telium-2 (Ingenico ICT, IWL, IPP и все остальные такого типа), Hypercom после T2100 (на T42XX записывалось что-то во Flash, отчего терминал блокировался, пин-пады у них в принципе не ремонтировались, потому что были залитые), PAX с новыми версиями прошивки (которые на ломаном английском писали о том, что требуется авторизация) и NewPOS 8210. Все остальные без проблем оживлялись. Сейчас же это всё уже история...

MaFrance351
14.10.2025 09:47А что за терминалы, если не секрет?

HydrAttack Автор
14.10.2025 09:47К сожалению, марку и модель сказать не могу по понятным причинам. Могу лишь подсветить, что там андроид...

MaFrance351
14.10.2025 09:47Эхх, ну ладно. А то было интересно узнать, каким устройствам нельзя доверять.
Но вот в "классических" терминалах вскрытие гарантированно стирает ключи. Исключение - всякие древности типа Nurit 292, VeriFone PINPad 1000+ (не путать с PP1000SE, я сейчас про пин-пад овальной формы с плёночной клавой), которые были выпущены до прихода в силу новых версий PCI PED и где тамперы не были предусмотрены конструкцией. Что после вскрытия - зависит от производителя. Где-то просто сбрасывается NVRAM вместе с ключами (VeriFone Omni 3350, 3750), где-то надо сбросить тампер комбинацией кнопочек или спецпрошивкой (VeriFone VX, Ingenico Unicapt32, старые PAX, NewPOS 8110), где-то терминал необратимо дохнет и требует восстановления у дилера (почивший Hypercom, новые VeriFone, новые PAX, все Ingenico Telium, практически все Android POS). То, что у подопытного экземпляра ключи не сбросились, выглядит как какой-то жуткий косяк, после которого, по-хорошему, следовало бы вообще отозвать всю модель (интересно, она сертификацию вообще проходила?).
Интересно посмотреть про защищённость новых сберовских терминалов (которые Kozen P10, P12). Судя по тому, что в интернете гуляют кастомные прошивки на них, там есть много интересного...

event1
14.10.2025 09:47Строго говоря, деликатное вскрытие устройства не удалось. Пломбы повреждены, а значит вернуть изменённое устройство в легальный оборот не удастся. В остальном — класс. Защита от вскрытия прижатой корпусом кнопкой — забавное решение.
И ещё вопрос, а разве финансовые транзакции не шифруются картой/телефоном? Если да, то единственная атака, которая тут просматривается, это показать на экране одну сумму, а списать другую. Или я что-то упускаю?

HydrAttack Автор
14.10.2025 09:47деликатное вскрытие устройства не удалось
Каюсь :) были сильно утоплены... но где алиэкспресс с наклейками не пропадал))
Тут на самом деле атак может быть несколько. Как показывает практика, не все финансовые учреждения общаются по шифрованному каналу, значит можно посмотреть внутрь. Также, через вайршарк или другой сетевой анализатор можно получить айпишник и порт процессинга и там навести шорошу...
Касаемо денег, замый идеальный сценарий - это возврат средств, но это уже совсем другая история...
event1
14.10.2025 09:47Как показывает практика, не все финансовые учреждения общаются по шифрованному каналу, значит можно посмотреть внутрь
И увидеть там транзакцию подписанную телефоном или картой. Я конечно не настоящий хакер, но ценность такого подсматривания мне не ясна
Также, через вайршарк или другой сетевой анализатор можно получить айпишник и порт процессинга и там навести шорошу.
Так он же в сеть через телефон ходит. В телефоне всяко проще подсмотреть. Да и вряд ли адрес API банка куда подключаются десятки тысяч устройств каждый день — это такой уж секрет.

HydrAttack Автор
14.10.2025 09:47подписанную
Подписанная и шифрованная - немного разные вещи
это такой уж секрет
На самом деле да, это коммерческая тайна
xxxgoes
14.10.2025 09:47И с каждым ларьком заключается NDA? Звучит сомнительно. В любом случае это секрет полишинеля. Узнать точку входа не сложно. Очевидно что она достаточно надежно защищена от DDoS.

select26
14.10.2025 09:47Точка входа запросто может быть за VPN.
Или за WAF. Я настраивал оба одновременно.

MaFrance351
14.10.2025 09:47Это какой-то очень простенький пин-пад (хотя, наверное, как раз логично искать уязвимости внутри таких). Но со стороны клавиатуры наверняка тоже есть похожие элементы.
С кнопкой и вправду интересное решение. Обычно ставят просто контактные пятачки на плате и проводящую резинку на корпусной детали. Впрочем, тут всё равно заморочились и сделали довольно типичную защиту от подсовывания металлических предметов или впрыскивания из шприца токопроводящей жидкости. Там у кнопки три контакта, если просто шмякнуть плюху припоя или впрыснуть солёную воду, то цепь безопасности через внешнее кольцо окажется закорочена на землю и ключи сдохнут.

MaFrance351
14.10.2025 09:47Кстати, эти чипы применяются и в других аппаратах. Как-то раз довелось препарировать терминал, где сам пин-пад и хранилище ключей были реализованы на базе собрата этого МК - MAX23555.
Но даташит на него под NDA. Возможно, прочитать память удастся и без документации, но понадобится довольно глубокий реверс схемотехники.

HydrAttack Автор
14.10.2025 09:47Прочитал Вашу статью. Достаточно подробно и интересно. Спасибо!
У нас один из подопытных был наподобие такого. Только, как сказал выше, на оборотной стороне под крышкой аккума 6 контактов, один из которых нужно просадить на землю - тогда терминал грузится нормально без всплывающего аларма. Правда если этот контакт вернуть в исходное положение (разомкнуть контакт от земли) - терминал ругается на вскрытие).
НО! банковское приложение грузится - дольше обычного, но загружается и переходит в стандарный режим работы.
MaFrance351
14.10.2025 09:47Хмм... Интересно, можно ли на том, что я препарировал, такое провернуть. Поинтересуюсь у товарища, которому я его после обзора отдал.

HydrAttack Автор
14.10.2025 09:47Если есть возможность - держите в курсе - интересно узнать Ваш сценарий.

MaFrance351
14.10.2025 09:47Ну я написал ему, он его ещё не разобрал и не выкинул. Так что если удастся выяснить что-то интересное, то напишу обязательно.

vvzvlad
14.10.2025 09:47Внимательно осмотрев устройство, я обнаружил едва заметный микропереключатель на оборотной стороне платы. На задней крышке видны пластиковые «ноги», которые как раз зажимают данную кнопку. Нажимаешь ее, и терминал больше не считает себя вскрытым и «просыпается». Убираешь палец с переключателя — тревожный сигнал поступает на чип, и снова всплывает надпись «Limiting mode». Бинго!
Anti-tampering (защита от вскрытия) также нельзя назвать броней. Система защиты оказалась бессильной перед простой перемычкой из припоя. Главное — хорошенько осмотреть плату, поэкспериментировать и найти нужный переключатель. Словом, метод «научного тыка» никто не отменял.
Боже, вы что, впервые терминал увидели? Не читали кучу статей про кишки терминала? Не в курсе, как работают тамперы?
Срабатывает тампер и контроллер стирает ключи (опционально пережигает перемычку внутри себя или записывает RO-флаг, который та же самая перемычка по сути). Все, у вас в руках трупик, который использовать никак нельзя. Его даже запровизионить нельзя снова, залив ключи от банка, он все, уже мертв. Ну вот кнопочку можно опять нажать, да, порадоваться надписи. Вытащить ключи терминала тоже нельзя, они в криптохранилище, ими можно только подписать данные или проверить подпись.
Если гипотеза верна, то защищенный процессор передает ключ по открытому каналу на Bluetooth-чип для дальнейшей работы — вот это поворот! С таким же успехом можно отправить получателю ключ от сейфа в обычном почтовом конверте с курьером.
Что вы несете? Какой ключ вообще? Почитайте про то, как работают банковские карты, пожалуйста. Приложение банка отправляет на сервер банка "хочу списать 50 рублей", сервер банка подписывает и отправляет транзацию, "списание 50 рублей", терминал получает, показывает на экране сумму, отправляет на карту (опционально запрашивает пин в зависимости от настроек банка/карты), карта внутри себя сверяет подпись сервера, подписывает транзакцию, отправляет обратно, ее получает терминал, перекидывает на телефон, телефон отправляет на сервер банка, тот сверяет подпись, убеждает в том, что она подписана картой клиента, и проводит транзакцию. Никаких ключей никуда не передается, вытащить из карты их нельзя, поменять транзакцию тоже. Максимум что можно сделать с этим терминалом — это написать прошивку, которая будет сохранять пин-код. Но это уже не имеет никакого особого смысла, раньше вместе с копией магнитной полосы можно было сделать дубликат карты и снять деньги в банкомате, а щас все транзакции по чипу.
Даже сумму поменять нельзя, она приходит на терминал уже подписанным пакетом с банка. Ну наверное можно ввести на телефоне 1000р, а показать на терминале 500р, чтобы клиент оплатил, но ему же придет тут же смс о списании 1000 и он закономерно спросит "а какого хрена". Может один клиент не заметит, но деньги-то все равно уйдут на р/с компании. Второй заметит, напишет в поддержку банка, и уже та спросит компанию "какого хрена". Это как ходить с терминалом по метро и пытаться списать из карт в кошельках сумму доступную без пин-кода. Пять раз прокатит, на шестой счет заблокируют. И в том и в другом случае компания даже денег получить не успеет, они на холде будут валяться.

MaFrance351
14.10.2025 09:47Все, у вас в руках трупик, который использовать никак нельзя. Его даже запровизионить нельзя снова, залив ключи от банка, он все, уже мертв.
Большинство из них таки оживляются. Правда, для сброса тампера в современных экземплярах обычно нужен софт от производителя (который обычно есть у дистрибьютора этих терминалов). Если бы они сдыхали с концами, то даже при мелкой неисправности типа продавившейся кнопки или сдохшего термопринтера терминал пришлось бы выкидывать.
А вот клавиатуры банкоматов и вправду невосстанавливаемые. Большую их часть до сих пор даже заливают эпоксидкой, чтобы наверняка.

Soarerru
14.10.2025 09:47даже при мелкой неисправности типа продавившейся кнопки или сдохшего термопринтера терминал пришлось бы выкидывать
А их реально чинят? Там же реальная стоимость 100 рублей ведро. Где на них з/ч брать? У меня сейчас наглядная история - правда, из немного другой сферы, но показательно: на китайциклы сейчас з/ч купить нереально, даже у дилера нет, даже если завод-производитель по документам российский. Ну, что-то по мелочам можно достать с Али, что-то подходит от других моделей (достаточно универсально), но в целом - если серьёзная поломка или ДТП - то мотак идёт на свалку.

MaFrance351
14.10.2025 09:47Ремонтируют. Они стоят как новенькие смартфоны.

Запчасти заказывают в Китае или у дистрибьютора этих терминалов.

Z55
14.10.2025 09:47(мысли в слух)
А на кого рассчитана такая защита, с кнопкой? Мне сходу не пришёл в голову ни один вариант. Если электронщик, то это не защита, а фикция. Если диванный эксперт, то ему внутрь особо и не надо, а если залезет...ну посмотрит как там что выглядит, и закроет назад. Правда, а на кого рассчитана эта "защита"? Ну я понимаю, когда на электрических шкафах в электричках написано "не открывать при поднятом токоприёмнике", там вопрос жизни и смерти, а тут зачем блокировать устройство, если оно не в корпусе?

Jesting
14.10.2025 09:47Автору уже написали, но повторюсь: триггер темпера стирает ключи. Поведение описано в стандарте PCI PTS.
Requirement A1:
...The device uses tamper-detection and response mechanisms that cause it to become immediately inoperable and result in the automatic and immediate erasure of any sensitive data that may be stored in the...Терминал не может быть допущен к работе без сертификата на соответствие этому стандарту. Методика проверок на соответствие значительно серьезнее той, что применил автор в своем исследовании.
ky0
Зубодробительные аналогии слегка портят впечатление от годной по сути статьи.
HydrAttack Автор
Аналогии — побочный эффект попытки написать обзор, который не будет выглядеть как скучный даташит ;)