Тройка дампер

Введение

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

. Очевидно, что распространение карты будет только увеличиваться. Транспортная сеть города обслуживает территорию с населением свыше 20 млн человек и обеспечивает перевозку более 350 млн пассажиров в месяц. В свете этого становится важным вопрос защищенности карты.

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

Какие бывают «Тройки»

Транспортные карты выпускаются в виде карт, браслетов, брелоков и колец.

Карты

Рисунки разные, но основной – синий.

Карты «Тройка» есть с разным рисунком. Стоят 50 рублей.

На редкие карты идёт настоящая охота. К примеру, карту с цифрой «10 000 000», которая символизировала количество выпущенных «Троек», хотели продать за 1,8 млн рублей, но покупателей не нашлось. Впрочем, часто можно купить редкую карту с рук за 5-10 тыс. рублей.

Все остальные варианты считаются сувенирной продукцией, но функции свои исправно выполняют. Продаются браслеты, брелоки и кольца в сувенирных киосках.

Брелоки

Удобная вещь с хорошей дальностью срабатывания. И потерять тяжелее.

Брелоки из прочного пластика можно носить на ключах. Вариантов дизайна много, официальная цена брелока — 300 рублей.

Фишка: брелок можно сточить и положить под чехол iPhone, а затем удобно «платить смартфоном» на турникетах. Подробнее – в нашей статье.

Браслеты

Чем-то похожи на браслеты от Apple Watch. Жаль, что несовместимы.

Браслеты «Тройка» впервые показали 10 сентября 2017 года. Тогда волонтёры раздавали их бесплатно в честь дня города. Позднее браслеты стали продавать по 450 рублей.

Кольца

Самый странный аксессуар, а цену вообще ничем не объяснить.

Кольца «Тройка» – самый странный вариант. Обойдётся в 2200 рублей. Водонепроницаемое: выдерживает до 20 атмосфер.

Увы, сделано фактически из пластика. Турникеты реагируют на него медленно. Есть жалобы, что в автобусах не срабатывает с первого раза.

Как платить «Тройкой» со смартфона

Если у вас Android-смартфон с NFC, вы можете не носить с собой карту «Тройка», браслеты или брелоки, а записать данные прямо в гаджет. Для этого есть сервис Мобильный билет».

Что нужно сделать:

1. Поменять у оператора свою SIM-карту на совместимую с сервисом — она будет с NFC-чипом.

2. После того, как вы вставите карту и выйдете в мобильную сеть, на смартфон придет SMS от «Мобильного билета».

3. Отправьте в ответ «1», и с вашего баланса на баланс сервиса спишутся 150 рублей. Их можно будет использовать для оплаты проезда.

4. Сервис автоматически пополняет свой баланс с баланса мобильного, когда на проезд остаётся меньше 90 рублей. Все операции подтверждаются SMS с номера 3210.

Если отправить «0» на номер 3210 и выключить «Мобильный билет» через SIM-меню, сервис деактивируется. Но деньги с баланса никуда не денутся — как только активируете сервис снова, можно будет их тратить.

Список поддерживаемых смартфонов есть . iPhone в нём, понятное дело, нет, но можно «заколхозить» и ни в чем себе не отказывать.

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

Анализ памяти карты Тройка

Перехваченные из приложения «Мой проездной» ключи доступа к секторам карты Тройка используем для локального чтения памяти карты с помощью Android приложения MCT — Mifare Classic Tool. Приложение позволяет найти все сектора, к которым подходят перехваченные ключи, так называемый перебор по словарю.

данные в памяти карты в шестнадцатеричном формате

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

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

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

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

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

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

Принцип работы и тарифы

В тарифах легко запутаться, это факт.

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

«Кошелек»

Начнем с самого простого. «Кошелек» можно пополнить, а затем тратить деньги на проезд. За поездку на метро, монорельсе или наземном транспорте спишется 36 рублей (со 2 января – уже 38 рублей!).

За билет «90 минут» (один проход в метро + любое количество пересадок на трамвае, автобусе, троллейбусе в течение 90 минут) – 56 рублей (58 рублей со 2 января).

«Единый»

Здесь есть два варианта: на количество поездок или на количество дней. Чтобы не запутаться, приводим сразу новые тарифы, которые будут действовать со 2 января.

На карту можно записать 1, 2 или 60 поездок (билеты на 20 и 40 поездок больше продавать не будут). После покупки билетов на 1 и 2 поездки есть 5 дней на их активацию, на 60 поездок – 90 дней (пока не закончатся поездки). Оптом дешевле:

Можно также записать билеты, которые действуют определенное время (количество поездок может быть любым). Есть варианты на разное количество дней, а также на календарный месяц. Билет на 7 дней из сетки убрали. Если брать «Единый» на год и ездить каждый день, выходит совсем дешево:

Красное – «Зона А», серое – «Зона Б».

Билеты на 1 и 3 дня нужно активировать не позднее 10 дней с момента продажи. Остальные билеты начинают действовать сразу после покупки.

«ТАТ»

Если вы редко пользуетесь метро и монорельсом, имеет смысл купить билет «ТАТ» на трамвай, автобус и троллейбус. Билеты будут продаваться 1 поездку или на 30 дней, вариант на 60 поездок отменяют.

Цена на одну поездку разная в зонах А и Б:

  • Зона А: «старая Москва» в пределах МКАД и Новомосковский административный округ. Одна поездка обойдётся в 38 рублей
  • Зона Б: Троицкий и Зеленоградский административные округа. Одна поездка здесь стоит 45 рублей

Безлимитный билет на 30 дней стоит 1194 рубля. Если ездить два раза в день, то одна поездка в среднем обойдётся в 20 рублей.

«90 минут»

По билету «90 минут» вы можете один раз пройти через турникет метро или монорельса, а также совершить любое количество поездок на трамвае, автобусе и троллейбусе за 90 минут.

Из метро на МЦК можно выйти, дополнительно деньги не спишутся. Одна поездка стоит 59 рублей.

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

В результате экспериментов было установлено, что сектор памяти, хранящий информацию о балансе электронного кошелька, содержит криптографическую подпись для подтверждения подлинности данных, так называемую имитовставку. Данный механизм служит для защиты данных от подделки. Подпись обновляется каждый раз в момент изменения баланса электронного кошелька. Это может быть операция списания при проходе через турникет, либо операция пополнения кошелька через терминал или приложение «Мой проездной».
Все устройства, работающие с балансом электронного кошелька (турникеты, терминал), проверяют достоверность подписи, и, в случае несоответствия подписи, возвращают ошибку “карта неисправна”.
Установлено, что подпись формируется на основе уникального идентификационного номера карты (UID), поэтому клонирование сектора памяти электронного кошелька из одной карты на другую с отличным UID, всегда дает недействительную подпись.

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

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

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

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

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

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

Путем подбора значений было установлено, что нулевой и первый байт в первом секторе хранит идентификатор последнего турникета, через который осуществлялся проход. Далее второй и третий байты содержат дату последнего прохода в виде количества дней от 1.1.1992.
Соответственно, 0x2260 = 8800, где 8800 число дней от 1.1.1992, что с учетом високосных лет приходится на дату 5 февраля 2016 и соответствует действительной дате прохода.

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

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

и для расчета минут

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

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

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

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

Как пополнить карту «Тройка»

Пример терминала пополнения «Тройки» в метро.

Пополнить карту «Тройка» можно без комиссии на сумму от 1 до 3000 рублей.

Кассы и терминалы: на станциях метро, в «Аэроэкспрессе», банкоматах МКБ, «Элекснет», EuroPlat, «Мегафон», Velobike.

В терминалах и кассах метро записывают на карту билеты «Единый» и «90 минут», а билеты «ТАТ» – только в терминалах.

Абонементы на электрички записывают в кассах станций пригородного сообщения, в билетных автоматах на вокзалах, в терминалах «Электричка» и РЖД.

Проще всего пополнять «Тройку» в банковских приложениях.

Cо смартфона: в приложении «Метро Москвы», на официальном сайте Тройки, в приложениях банков (Тинькофф, Сбербанк, Альфа-Банк и другие) и платёжных систем («Портмоне», Qiwi, «Яндекс.Денгьги» и другие).

Важно. При пополнении с iPhone нужно активировать операцию с помощью жёлтого валидатора в турникетах метро

NFC-чипы производства NXP в iPhone конфликтуют с чипами из карты «Тройка», поэтому вы не сможете пополнить её напрямую.

А вот на Android-смартфонах пополнение можно совершать встроенным NFC, приложив карту к задней панели девайса.

4pda troika dumper

27 November 2018

Views: 143

Как бесплатно ездить в метро. Москва. Без хайдаDownload: http://ulelerex.hotelsvr.ru/?dl&keyword=4pda+troika+dumper&source=pastelink.netКнопка записи находится левее кнопки архива. С помощью утилиты ibotpeaches.Наиболее простым способом взлома оказался реверс-инжиниринг Android-приложения «Мой проездной», используемого для пополнения Тройки. Вы действительно работали в проектах по транспортным картам?Как бесплатно ездить в метро. Москва. Без хайда — Далее будут описаны шаги реверс-инжиниринга приложения для получения требуемых данных.Пользователь «Хабрахабра» Игорь Шевцов о найденной уязвимости в своей статье, где подробно рассказал, как осуществлялся взлом. И даже создал для смартфонов на Android с NFC, позволяющее легко эксплуатировать уязвимость. Всего на исследование уязвимости у Игоря ушло пятнадцать дней. При этом оказалось, что для этого даже не нужны специальные технические средства или использование физических систем транспортной инфраструктуры. Больше всего времени заняло изучение структуры данных в памяти карты. Это оказалось возможным из-за того, что данные хранятся в незашифрованном виде. В случае, если бы данные в памяти карты были зашифрованы, вероятнее всего, потребовалось бы физическое проникновение в системы, работающие с картой, что делает атаку существенно сложнее. Итогом исследования стало написание приложения TroikaDumper, позволяющее легко эксплуатировать уязвимости в системе карты Тройка, имея смартфон с поддержкой функции NFC. Приложение просто в использовании и может быть использовано массово. Для исправления найденных уязвимостей необходимо усовершенствование формата хранения данных в памяти карты и обновление программного обеспечения всех систем, работающих с картой.То есть, перед каждым проходом в метро нужно выполнить списание через желтый валидатор в автобусе или трамвае. Аэроэкспресс 450 рублей Прокат велосипедов Стоимость не уточнялась Московский зоопарк 500 рублей Планетарий 450 рублей Каток в парке горького Стоимость не уточнялась Возможные цели атаки Был проведен обзор инфраструктуры, работающей с картой Тройка, для установления наиболее привлекательных целей для атаки. И тогда не надо ваши дуалки с апплетом, злоумышленнику тогда будет проще «сниффернуть» траффик и выдернуть ключи если ему очень надо. Вся ИТ-отрасль это доказывает см. Приложение просто в использовании и может быть использовано массово. Приложение позволяет сохранять состояние памяти и записывать его на карту.

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

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

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

Где можно платить «Тройкой», кроме транспорта

Да, заплатить «Тройкой» можно даже в Третьяковской галерее.

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

Список достопримечательностей внушительный — в него, к примеру, входят Третьяковская галерея в Лаврушинском переулке, и Музей «Лунариум» Московского Планетария, а также Музей советских игровых автоматов, ЦПКиО им. Горького и каток в нём, Московский зоопарк.

В парке «Зарядье» на проход на объекты и мероприятия Медиацентра, Заповедного посольства и Подземного музея при оплате картой «Тройка» дадут скидку 5%, также можно будет оплатить парковку. В «Экспериментариуме» и интерактивном музее «Живые системы» карта дает скидку 10%.

Но и минусы есть: в Третьяковке и «Лунариуме» оплатить картой «Тройка» можно только один входной билет. Так что если идёте компанией, позаботьтесь, чтобы «Тройки» были у всех.

В остальных случаях можно купить любое количество входных билетов, на которые хватит лимита «Кошелька». Не забудьте заранее его пополнить!

Обход блокировки карты

Экспериментально были найдены способы избегать блокировки карты при использовании атаки повторного воспроизведения. Основные факторы срабатывания блокировки:

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

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

Можно ли ездить по «Тройке» бесплатно?

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

По сети гуляет инструкция по взлому «Тройки». Оригинал лежит .

Суть в следующем: с помощью Android-смартфона с NFC-чипом производства NXP и приложения TroikaDumper, созданного Ильёй Шевцовым, можно получить доступ к памяти карты и изменить данные в ней.

Разработчик выяснил, что данные в памяти карты хранятся в незашифрованном виде, и научился подделывать баланс.

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

Возможные цели атаки

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

Турникеты в метро

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

Потенциальный вектор атаки: проникновение в сеть, MitM.______

Валидаторы в наземном транспорте

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

Потенциальный вектор атаки: физическое извлечение прошивки и данных из памяти устройства.______

Валидаторы в метро

Служат для проверки состояния проездных билетов и записи баланса на электронный кошелек карты Тройка. Подключены к сети. Предположительно, работают на базе x86-компьютера и операционной системы Windows.

Потенциальный вектор атаки: проникновение во внутреннюю сеть, эксплуатация уязвимостей операционной системы._____

Автоматы продажи билетов метро

Служат для продажи проездных билетов и пополнения электронного кошелька карты Тройка. Возможна оплата наличными и кредитными картами с помощью систем PayPass/PayWave.
Работают на базе x86 компьютера под управлением операционной системы Windows. В момент сбоя управляющей программы можно видеть интерфейс операционной системы и служебные программы.
Подключены к сети по технологии Ethernet, замечен UTP кабель, идущий к автомату.

Потенциальный вектор атаки: проникновение во внутреннюю сеть, эксплуатация уязвимостей операционной системы._

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

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

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

Как пополнять карту «Тройка»?

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

Также карту можно пополнить через SMS или онлайн – на сайте «Тройка», в приложении вашего банка, платёжных системах вроде «Портмоне».

На iPhone пополнять карту «Тройка» удобно с Apple Pay в приложении «Метро Москвы».

Только не забудьте активировать пополнение с помощью желтого валидатора в турникетах метро! Хоть Apple и использует NFC-чипы производства NXP, они конфликтуют с чипами из карты «Тройка».

Есть версия приложения «Метро Москвы» и для Android. Для проведения операции потребуется смартфон с NFC. Пополняете счёт в приложении, прикладываете карту к смартфону и пользуетесь – всё просто.

Аналогичным образом работает пополнение в приложении «Мой проездной».

Пополнять карту можно и из других систем вроде Qiwi и «Яндекс.Денег». Смартфон с NFC в любом случае используется только для активации пополнения – вместо желтого валидатора в терминале.

Но разработчики предупреждают, что не все NFC-чипы поддерживают Mifare Classic. Так что вероятность отказа в пополнении существует.

Получение ключей от карты Тройка

В запросе на чтение карты Тройка передается сессионный ключ, полученный в момент аутентификации, и серийный номер карты в формате base64.

В ответе содержатся ключи A и B от секторов 2,4,7,8 в формате base64.
Примечательно, что здесь так же присутствуют ключи B, которые используются для записи данных на карту, хотя для запроса баланса достаточно было бы ключей А, разрешающих только чтение секторов памяти.

Запрос баланса

После получения ключей с сервера, происходит считывание необходимых секторов памяти с карты и отправка содержимого памяти на сервер. В данном примере видны сектора 0,4,7,8.

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

Итог анализа API

Из перехваченных сообщений видно, что ключи для чтения карты Тройка загружаются с сервера каждый раз во время чтения карты. Были получены ключи от секторов 2,3,4,6,7,8,15. Найдены сектора памяти, содержащие данные электронного кошелька и информацию о билетах, записанных на карте. Все эти данные получены за одну операцию считывания баланса. Платежные реквизиты в приложение добавлены не были, никаких платежных операций не производилось. Примечательно, что для операции чтения баланса с сервера загружаются одновременно A и B ключи, хотя ключи B используются для записи данных в память карты. В результате, атакующий может получить возможность записи данных на карту, выполняя только операции чтения.

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

Заключение

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

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

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

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

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий