Как разблокировать карту «Тройка»

Почему нельзя просто подложить карту «тройка» под чехол

На карточке «Тройка» присутствует НФС чип и некоторые хотят обхитрить окружающих — вставляют платежное средство под чехол, но результат не радует. Почему? Тут несколько факторов, которые доказывают малую эффективность работы карты в данном случае. Это:

  1. Передача сигнала у карт «Тройка» незначительна. Работают они на очень близком расстоянии. Чтобы транзакция осуществилась, придется класть карточку к турникету вплотную. Чехлы же не позволяют это сделать. Отсюда и проблемы со считыванием данных. Прежде чем платеж пройдет, человек обратит на себя всеобщее внимание, так как специальный сигнал будет звучать и слышим окружающими.
  2. Внушительный размер карточки. Не под каждый чехол «Тройка» вместится, так как ее размер такой же как кредитка. Нередко края карты остаются снаружи и чехол не удается закрепить на гаджете так как нужно. Некоторые лица ухитряются уменьшать платежное средство, но после такой махинации оно уже не работает полноценно. Практически по всей карте идут «дорожки» НФС-чипа и задев одну из них вы рискуете испортить карту.
  3. Блокировка работы бесконтактных сервисов. Если вы пользуетесь Apple/Android/Samsung Pay, то установка «Тройки» на задней части корпуса смартфона станет причиной постоянных сбоев как при оплате проезда, так и покупок.

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

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

Troikadumper

TroikaDumper – уникальный мобильный клиент, который дает возможность считать содержимое транспортно карты «Тройка» и перезаписывать его с нужной корректировкой информации. Пользователи должны знать, что для правильной и бесперебойной работы приложения портативный девайс должен иметь встроенный чип NFC производителя NXP с поддержкой карт Mifare. С полным списком гаджетов можно ознакомиться на сайте разработчика в хранилище GitHub.

Данная версия утилиты предназначена специально для портативных гаджетов на платформе Android.

Среди основных особенностей утилиты есть возможность вносить изменения на транспортную карту «Тройка». Осуществляется поддержка чтения полного объема хранимой информации и корректировка конкретных значений на определенных позициях. Если сказать по-другому, то пользователь может считать любую информацию с пластиковой карты:

  • состояние счета;
  • дата последнего использования; 
  • ID турникета.

А также вносить корректировки в  значения любой позиции. Иногда это позволяет вносить деньги на баланс без оплаты.

Создатели утилиты рекомендуют пользователям не пополнять баланс на сумму, превышающую 100 рублей, поскольку протоколы могут видоизменяться в зависимости от размера вносимой суммы. Также стоит отметить, что после каждого использования откорректированного значения «Тройки» потребуется выполнить списание средств с использованием валидатора желтого цвета в городском электротранспорте.

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

  • В основе принципа работы утилиты лежит обнаружение слабых мест в формате хранения информации транспортной карты «Тройка»;
  • возможность считывания полного содержимого карты, сохранять и перезаписывать все корректировки;
  • портативное устройство должно быть оборудовано NFC чипом производства NXP, который осуществляет поддержку частоты карт Mifare;
  • бесплатное пополнение транспортной карты «Тройка»;
  • простой и очень удобный пользовательский интерфейс;
  • распространение по free-лицензии;
  • осуществляется поддержка всех актуальных версий операционной системы Android.

Атака повторного воспроизведения

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

Все устройства, работающие с балансом электронного кошелька (турникеты, терминал), проверяют достоверность подписи, и, в случае несоответствия подписи, возвращают ошибку “карта неисправна”.

Установлено, что подпись формируется на основе уникального идентификационного номера карты (UID), поэтому клонирование сектора памяти электронного кошелька из одной карты на другую с отличным UID, всегда дает недействительную подпись.

Несмотря на то, что области памяти электронного кошелька защищены с помощью имитовставки, система оказалась уязвима для атаки повторного воспроизведения. Было сохранено состояние памяти сектора электронного кошелька до прохода через турникет, после чего выполнен проход и операция списания 31 рубля с баланса карты.

После чего состояние памяти карты было возвращено к исходному состоянию. В результате, на карте была восстановлена сумма баланса до прохода через турникет. Данную операцию удалось повторить несколько раз. Из этого следует вывод, что система не защищена от подобного вида атак.

шаги атаки повторного воспроизведения
image

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

Электронный кошелек был пополнен единожды на сумму 50 рублей и все проходы через турникеты были выполнены с помощью атаки повторного воспроизведения.В течение пяти дней было совершено 57 поездок в наземном транспорте на общую сумму 1767 рублей. После чего карта была возвращена в кассу метрополитена и был получен возврат залоговой суммы в 50 рублей.

Для тестирования систем метрополитена была куплена новая карта и пополнена на 50 рублей. Все проходы через турникеты были выполнены с помощью атаки повторного воспроизведения. Было выполнено 12 поездок в течение 2 дней на общую сумму 384 рубля. На третий день карта была заблокирована на всех турникетах метро и наземного транспорта.

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

Как бесплатно ездить в метро. москва. без хайда

Что такое карта «Тройка»?

«Тройка» – транспортная карта для оплаты проезда на городском транспорте Москвы и других транспортных услуг. «Тройкой» можно воспользоваться для оплаты проезда на метро, наземном транспорте и пригородных электропоездах.

Почему же именно «Тройка»? Все очень просто: “…пополняемая карта…”, нашей целью будет “пополнить” баланс Вашей карты путем неких манипуляций, а каких именно Вы узнаете далее.

Что нам понадобиться:

  1. карта «Тройка»
  2. телефон с версией Android ≥ 4.0 и NFC чипом (NFC чип должен быть производства NXP)
  3. Некая софтина “TroikaDumper” (будет дана ниже)

Так, допустим что с 1 не возникнет проблем, а что насчет телефона? что еще за чип такой NFC?

NFC – Изначально, технология Near Field Communication (

NFC

) получила максимальное распространение в качестве технологии для совершения бесконтактных платежей. Вы можете использовать смарт-карту со встроенным NFC чипом как проездной в общественном транспорте, как платежную карту в учреждениях розничной торговли, как «умную» визитку или как бесконтактную карту-ключ. Если очень грубо сказать – это антенка которая осуществляет беспроводную связь на короткие расстояния

Вот небольшой списочек телефонов с NFC:

Что у нас тут по поводу софта?

Разработчик софта Игорь Шевцов нашел уязвимость карты «Тройка», которая позволяет пополнять баланс электронного кошелька без внесения денег. «Взломанная» карта может использоваться для оплаты проезда в общественном транспорте. И позже создал софт для OC android – TroikaDumper.

Скачать –

КЛИК

Как же пользоваться “TroikaDumper” ?

  1. Установите приложение скачав его по ссылке выше
  2. Запустите приложение и поднести карту Тройка.
    Должно отобразится состояние баланса, время последнего прохода и т. д.
    При считывании карты состояние памяти автоматически сохраняется и доступно в архиве (нижняя правая кнопка в виде папки)
  3. Для записи дампа памяти на карту выберите нужный дамп из архива и нажмите кнопку запись.
    Кнопка записи находится левее кнопки архива.

Могут ли заблокировать карту ? Разумеется, но что бы уменьшить шанс блокировки нужно:

  1. Не пополнять более чем на 100р
  2. Никогда не проходите в метро два раза с одинаковым временем последнего прохода. После записи дампа обновите текущее время на карте используя валидатор в наземном транспорте. То есть, перед каждым проходом в метро нужно выполнить списание через желтый валидатор в автобусе или трамвае.

Как узнать заблочили мою карту или нет ? Для этого есть еще одна замечательная программа под android, Troika Block – программа для проверки наличия “тройки” в стоп-листе.

Думаю как пользоваться ей Вы разберетесь, ничего сложного.

§

Что такое карта «Тройка»?

«Тройка» – транспортная карта для оплаты проезда на городском транспорте Москвы и других транспортных услуг. «Тройкой» можно воспользоваться для оплаты проезда на метро, наземном транспорте и пригородных электропоездах.

Почему же именно «Тройка»? Все очень просто: “…пополняемая карта…”, нашей целью будет “пополнить” баланс Вашей карты путем неких манипуляций, а каких именно Вы узнаете далее.

Что нам понадобиться:

  1. карта «Тройка»
  2. телефон с версией Android ≥ 4.0 и NFC чипом (NFC чип должен быть производства NXP)
  3. Некая софтина “TroikaDumper” (будет дана ниже)

Так, допустим что с 1 не возникнет проблем, а что насчет телефона? что еще за чип такой NFC?

NFC – Изначально, технология Near Field Communication (

NFC

) получила максимальное распространение в качестве технологии для совершения бесконтактных платежей. Вы можете использовать смарт-карту со встроенным NFC чипом как проездной в общественном транспорте, как платежную карту в учреждениях розничной торговли, как «умную» визитку или как бесконтактную карту-ключ. Если очень грубо сказать – это антенка которая осуществляет беспроводную связь на короткие расстояния

Вот небольшой списочек телефонов с NFC:

Что у нас тут по поводу софта?

Разработчик софта Игорь Шевцов нашел уязвимость карты «Тройка», которая позволяет пополнять баланс электронного кошелька без внесения денег. «Взломанная» карта может использоваться для оплаты проезда в общественном транспорте. И позже создал софт для OC android – TroikaDumper.

Скачать –

КЛИК

Как же пользоваться “TroikaDumper” ?

  1. Установите приложение скачав его по ссылке выше
  2. Запустите приложение и поднести карту Тройка.
    Должно отобразится состояние баланса, время последнего прохода и т. д.
    При считывании карты состояние памяти автоматически сохраняется и доступно в архиве (нижняя правая кнопка в виде папки)
  3. Для записи дампа памяти на карту выберите нужный дамп из архива и нажмите кнопку запись.
    Кнопка записи находится левее кнопки архива.

Могут ли заблокировать карту ? Разумеется, но что бы уменьшить шанс блокировки нужно:

  1. Не пополнять более чем на 100р
  2. Никогда не проходите в метро два раза с одинаковым временем последнего прохода. После записи дампа обновите текущее время на карте используя валидатор в наземном транспорте. То есть, перед каждым проходом в метро нужно выполнить списание через желтый валидатор в автобусе или трамвае.

Как узнать заблочили мою карту или нет ? Для этого есть еще одна замечательная программа под android, Troika Block – программа для проверки наличия “тройки” в стоп-листе.

Думаю как пользоваться ей Вы разберетесь, ничего сложного.

Как разблокировать карту: пошаговые действия пассажира

Несмотря на то, что практически все современные фирмы предоставляют возможность удаленной персонализации, в транспортной компании Москвы такого нет. Провести идентификацию, то есть закрепить за особой карту «Тройка» нельзя по мобильному телефону «горячей линии» или определенной ссылке во всемирной паутине.

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

Разблокировать карту можно при непосредственном обращении в ближайший сервис Московского метрополитена. С собой захватить:

  • оригинал паспорта;
  • чек с последней оплатой.

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

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

Важно! Будьте готовы подтвердить информацию о карте, например, сказать, когда она была куплена, какие тарифные планы и электронные билеты на нее записывались, дату и сумму последнего пополнения и другое.

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

Метрополитен и втб устранили возможность взлома карты “тройка”

Москва. 27 мая. nfcexpert.ru — Уязвимость работы приложения «Мой проездной», из-за которой при помощи стороннего софта хакеры имели возможность менять баланс карты «Тройка», устранена, сообщили «Интерфаксу» в пятницу в пресс-службе московского метрополитена.

«Для нас бесперебойная и безопасная работа подобных систем — вопрос принципиальный и важный. Обнаружив эту проблему ранее, мы оперативно ее устранили совместно с коллегами из ВТБ», — сказал сотрудник пресс-службы.

Он отметил, что приложение «Мой проездной» — совместный с банком ВТБ пилотный проект, который был запущен в 2020 году. «По факту успешного завершения пилота данный функционал будет добавлен в перечень официальных точек пополнения», — сказал собеседник агентства.

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

«Мы регулярно реализуем инициативы по ее улучшению и открыты для совершенствования карты «Тройка» и билетной системы в целом», — заявил сотрудник пресс-службы.

Ранее в СМИ была распространена информация о том, что хакеры взломали систему карты «Тройка» и нашли способ пользоваться услугами московского транспорта бесплатно.

Номер турникета, дата и время прохода

Аналогичная методика была применена для изучения формата остальных данных в секторе. Было выполнено несколько проходов через турникеты метро и сохранено состояние памяти после каждого прохода. Проходы были выполнены с интервалом времени в 1 минуту попеременно на двух различных турникетах.

Путем подбора значений было установлено, что нулевой и первый байт в первом секторе хранит идентификатор последнего турникета, через который осуществлялся проход. Далее второй и третий байты содержат дату последнего прохода в виде количества дней от 1.1.1992.

Время прохода записано в четвертом байте и старших четырех битах пятого байта, и кратно 30 секундам, начиная с 00:00 часов. Следовательно, расчет времени можно выполнить в два действия:

для расчета часов imageimage

Таким образом получим время 15:30, что соответствует действительному времени прохода.

На основе полученных сведений можно расшифровать данные представленные в предыдущей таблице

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

Несмотря на то, что все данные хранятся в открытом виде, на их расшифровку было потрачено больше всего времени. При этом некоторые данные остались нерасшифрованными. Предположительно, последние пять байт в первом блоке восьмого сектора содержат криптографическую подпись (т.н. имитовставка, MAC), которая генерируется с использованием приватного ключа в памяти турникета.

Преимущества и недостатки приложения

Подключение Тройки в Apple Wallet — наилучшее решение. Плюсов приложение имеет предостаточно, к примеру:

  1. Apple Pay является достаточно безопасным сервисом. Никто не может забрать средства с привязанных карт. Во время транзакций никто не видит платежного средства, так как его не приходится доставать. Реальные номера карт также не отображаются. Также стоит учитывать, что перед проведением платежа для активации сервиса нужно проходить аутентификацию при помощи прикладывания пальца. Сделать это постороннему не под силу, так как идентичных папиллярных рисунков нет.
  2. Исключается потеря платежного инструмента. Не нужно носить все карты в кошельке, их можно положить дома в надежном месте.
  3. Можно объединить все карты в одно приложение. В Эпл Пей загружается до 8 карт.
  4. Экономия времени. Платежи через смартфон происходят за считанные секунды. Пользователю нужно всего лишь произвести разблокировку гаджета и поднести его к терминалу. На задний план уходит необходимость искать карту, получать сдачу и пр.

Список преимуществ прельщает многих, но и от недостатков не уйти. Таковые есть всегда и везде и приложение Валлет не исключение.

К минусам относят:

  1. Полная зависимость от смартфона и его зарядки. Если гаджет плохо работает или разряжен, то воспользоваться Apple Pay не получится. Тройка на Iphone в данном случае будет недоступна. Многих пугают такие ситуации, особенно, когда под рукой нет наличных. Приходится следить за состоянием телефона, носить с собой зарядное устройство, что не всем нравится.
  2. Не во всех местах в городе могут стоять терминалы с NFC. Отсутствие таких считывающих устройств говорит о невозможности использовать бесконтактный сервис. Тут ничего не поделаешь, придется расплачиваться карточкой или наличными.

Каждый сам решает для себя, удобно ли ему пользоваться тройкой через NFC и iPhone. Предварительно стоит взвесить все за и против.

Приложения для смартфонов

В Google Play Market было найдено несколько приложений, позволяющих работать с электронным кошельком карты Тройка. Наиболее популярным по числу установок является приложение «Мой проездной», позволяющее напрямую пополнять карту с помощью смартфона с функцией NFC. Это означает, что приложение содержит данные, позволяющие производить запись в память карты.

Потенциальный вектор атаки: реверс-инжиниринг приложения.____

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

Приложение «Мой проездной» предназначено для самостоятельного пополнения карты Тройка. Работает на смартфонах с операционной системой Android и функцией NFC. Приложение бесплатное и доступно для загрузки через Google Play Market (каталог приложений Android).

Суд над взломщиками карты "тройка".

Формат данных в секторе электронного кошелька

Чтобы понять структуру хранения данных в памяти карты, была использована чистая карта, купленная в кассе, по которой не было выполнено ни одной поездки. Далее карта была пополнена 10 раз на 1 рубль через автомат. После каждого пополнения состояние памяти сохранялось. В конце все сохраненные данные были сравнены и установлено, что изменения происходят только в двух блоках 8 сектора.

дампы памяти восьмого сектора после пополнений на 1 рубль
image

Видно, что данные изменяются в первом блоке (нумерация от нуля) с 9 по 15 байт. Очевидно, что в данном месте содержится баланс электронного кошелька. Путем подбора возможных форматов хранения данных было выяснено, что значение баланса электронного кошелька хранится в области памяти от младших 4 бит 8 байта до старших 3 бит 10 байта и рассчитывается по формуле

Где 137B8 значение в памяти карты в шестнадцатеричном формате, а 399 сумма в рублях.Таким образом можно рассчитать значения из предыдущей таблицы.

расчет баланса в секторе электронного кошелька
image

Заключение

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

Относительно легко был осуществлен реверс-инжиниринг приложения «Мой проездной», что позволило обойтись без взлома физических систем транспортной инфраструктуры.

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

Итогом исследования стало написание приложения TroikaDumper, позволяющее легко эксплуатировать уязвимости в системе карты Тройка, имея смартфон с поддержкой функции NFC. Приложение просто в использовании и может быть использовано массово.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *