Как бесплатно ездить на автобусе с помощью nfc
Пользователь ресурса «Хабрахабр» рассказал об уязвимости в системе карты «Тройка», а также создал приложение, которое позволяет бесплатно пополнять баланс. «Взломанная» карта может использоваться для оплаты проезда в общественном транспорте.
Разработчик Игорь Шевцов пояснил, что целью его исследования была проверка защищенности системы от подделки баланса, а также оценка безопасности инфраструктуры, работающей с картой. Вся работа была проведена без использования специальных технических средств — ему понадобился только смартфон с NFC-чипом. На поиск уязвимости у него ушло 15 дней. Для взлома системы Игорь Шевцов использовал мобильное приложение «Мой проездной», через которое он смог получить доступ к памяти карты и изучить структуру хранения данных.
«Больше всего времени заняло изучение структуры данных в памяти карты. Это оказалось возможным из-за того, что данные хранятся в незашифрованном виде. В случае, если бы данные в памяти карты были зашифрованы, вероятнее всего, потребовалось бы физическое проникновение в системы, работающие с картой, что делает атаку существенно сложнее», – пишет Шевцов.
В результате, найденные «дыры» в системе позволили выполнить подделку баланса, который записан на электронном кошельке карты «Тройка». Программист также создал приложение под названием TroikaDumper, которое можно скачать с GitHub, и дал рекомендации, как избежать финансовой блокировки. Он отметил, что предоставляет эти материалы «исключительно в ознакомительных целях.
«Не оперируйте суммами баланса более 100 рублей. Никогда не проходите в метро два раза с одинаковым временем последнего прохода. После записи дампа обновите текущее время на карте, используя валидатор в наземном транспорте. То есть, перед каждым проходом в метро нужно выполнить списание через желтый валидатор в автобусе или трамвае», – отметил хакер.
Как заявил разработчик, для исправления недочетов системы «необходимо усовершенствование формата хранения данных в памяти карты и обновление программного обеспечения всех систем, работающих с картой». Представитель Департамента транспорта и развития дорожно-транспортной инфраструктуры заявил, что об уязвимостях им ничего не известно.
Чем мне нравится работа сервисов бесконтактной оплаты за границей и не нравится в России, так это неодинаковым отношениям к клиентам. Если в США или, скажем, в Европе пользователям Apple Pay или Google Pay регулярно предоставляются различные скидки или повышенный кэшбек при покупке в магазинах-партнёрах, то в России с этим большая напряжёнка. Кажется, последний раз Google устраивала что-то подобное года полтора назад, когда можно было совершить 10 поездок в Яндекс.Такси за 1 рубль при оплате Google Pay. Но платёжная система МИР решила нарушить молчание.
Оплачивать проезд в общественном транспорте картами МИР дешевле
Этим летом платёжная система МИР запустила акцию, в рамках которой можно получить скидку на проезд в общественном транспорте. Да, это не так выгодно, как в своё время было у Яндекс.Такси за оплату Google Pay, но всё-таки лучше, чем совсем ничего. Рассказываю, что и как тут устроено.
Скидка в транспорте по карте МИР
Для начала отмечу, что скидки на проезд предоставляются в разных регионах. От этого зависит и размер дисконта. Например, в Мордовии, где я живу, скидка составляет 5 рублей при стоимости проезда в 25 рублей. Но круто, что акция действует не только на городском, но и пригородном транспорте, а также у частников. То есть, если вы ездите на маршрутках и платите за проезд картой, скидка тоже будет.
Оплачивать проезд можно как самой картой, так и смартфоном через SberPay и Mir Pay
На данный момент известно о следующих регионах, подключившихся к акции:
Чтобы получить скидку на проезд, оплату нужно производить либо картой МИР с поддержкой бесконтактных транзакций, либо через совместимый платёжный сервис. Если карта не поддерживает бесконтактную оплату, подойдёт Mir Pay, SberPay, Samsung Pay и Tinkoff Pay, но последний мне не нравится. Очень важно платить именно бесконтактно, потому что терминалы в общественном транспорте не поддерживают контактную оплату.
Оплата проезда телефоном
Приятно, что оплата сразу проводится со скидкой. Терминал распознаёт, что платят картой МИР, и назначает меньшую сумму, чем тем пассажирам, которые платят другими картами. То есть вам не придётся ждать кэшбека, через которых некоторые банки реализуют свои акции. Это очень удобно. Но ни в коем случае не соглашайтесь на оплату межбанковским переводом. В этом случае проезд придётся оплатить по полной стоимости.
Google Pay не поддерживает карты МИР, потому придётся выбрать другой сервис
Несмотря на то что карты МИР есть у многих банков, привязать их сегодня официально можно только к тем четырём сервисам, что указаны выше, если не считать Apple Pay, который на Android недоступен. Дело в том, что Google Pay, являющийся самым популярным платёжным сервисом, не поддерживает карты МИР, а получит их поддержку только к концу года.
Что такое Alipay и как этим пользоваться?
Не знаю, как вам, а мне очень нравится SberPay – почитайте опыт использования. Да, этот сервис поддерживает только собственные карты Сбербанка, но устроен он и правда здорово. Мало того, что он защищён лучше, чем Google Pay, предлагая подтверждать транзакции биометрией, так ещё и поддерживает карты МИР, благодаря чему я могу ездить на общественном транспорте со скидкой.
Свободное общение и обсуждение материалов
Время соцсетей потихоньку уходит, но это не значит, что в них нет ничего хорошего. Для многих пользователей это наиболее привычный способ общения с друзьями и даже хранения информации. С ВКонтакте происходит очень много всего: теперь бренд и вовсе называется VK, но это не значит, что в легендарной соцсети нет полезных фишек. Я уже рассказывал о том, почему я отказался от своей странички: на днях я вспомнил о ней, а также о том, что полезного было и есть VK - классные функции никуда не делись и по-прежнему радуют пользователей, помогают им быть гибкими и многое другое. Сегодня поделюсь с вами своим видением о самых полезных функциях ВКонтакте за все годы существования социальной сети.
Мобильные технологии не стоят на месте и меняются практически каждый день: те процессы, что были привычны еще 5-10 лет назад, ушли в прошлое, а их место заняли другие. Им, впрочем, уже тоже быстро находят замену, ведь ничто не вечно под луной. СМИ постоянно рассказывают пугающие факты о смартфонах и сотовых сетях, после которых становится не по себе: вспоминаю, что еще 10 лет назад я и не мог представить себе, насколько смартфоны двуличны, что скрывается за их повседневным использованием и даже производством. Хочу рассказать вам о пяти фактах, которые я узнал за все это время, но есть желание забыть их поскорее.
Магазины приложений - лучшее, что происходило со смартфонами. Пользователи Android не застали такого, но в первые годы своего существования iPhone не имел встроенного магазина приложений и приходилось довольствоваться только тем, что было установлено в телефоне изначально. Самые продвинутые могли сделать джейлбрейк, но часто это приводило к окирпичиванию устройства. Еще раньше установка приложений тоже была непростой задачей, которая требовала смекалки от пользователей КПК и кнопочных телефонов. Но все изменилось с появлением Google Play и AppStore. Именно они сделали смартфоны нашими незаменимыми помощниками. Вот только в последнее время над ними все больше сгущаются тучи. Кто в этом виноват и почему так происходит?
И не прошло суток, как я пишу новую статью, и тоже имеющую отношение к технологии NFC. А именно — оффлайн транзакции в общественном транспорте, почему так и какие плюсы и минусы для пассажиров и перевозчиков это несет. Около пяти лет назад отшумели несколько скандалов, связанных со взломом карт «Тройка» в Москве. Тогда хакерам требовалось получить ключи для доступа к содержимому карт Mifare 1K и подобным, а так же довольно специфичное ПО для работы с ними. В то же время, вероятность быть обнаруженным была довольно-таки высока — карты с несоответствиями содержимого и сервера «Тройки» быстро отправлялись в стоп-лист, и при попытке пройти по такой карте, турникет издавал пронзительный вопль, привлекая внимание. Что же изменилось, когда терминалы стали поддерживать банковские карты?
Именно такую картину при оплате проезда можно наблюдать в некоторых больших городах. Новые терминалы могут работать как со старыми картами Mifare, так и с бесконтактными EMV картами. Надо ли говорить что несмотря на отшумевшие скандалы, уязвимости старых Mifare никуда не делись? Но в этой статье, мы поговорим об уязвимостях которые привносит поддержка EMV.
Предупреждение для маргиналов, жуликов и хакеров всех мастей:
Описанное ниже носит чисто информативно-познавательный характер. Я понимаю, что некоторых читателей в силу разных субъективных причин данное предупреждение не остановит, но все же помните — существуют статьи УК РФ №159 и №272!
Немного теории
EMV (Europay Mastercard Visa) — стандарт описывающий поведение чипа платежной карты в различных сценариях для обеспечения максимально возможной безопасности платежей. Более подробно про это можно прочитать здесь, в посте уважаемого AlexGre. Нас интересует только то, что в некоторых случаях протокол позволяет оффлайн транзакции, то есть операцию, которую проводит карта и терминал исключительно между собой, а в банк-эквайер информация о транзакции передается позднее. Плюсом данного подхода несомненно является то, что это решение идеально подходит для условий, где нет связи, или соединение нестабильное — как тот же автобус, например. Минус вытекает из названия — терминал не может проверить наличие денежных средств на карте, как и статус самой карты. Подтвердить или опровергнуть списание средств по конкретной операции банк сможет только во время синхронизации. Что будет, если предъявить кондуктору пустую или заблокированную карту? А ничего не будет. С помощью базовых APDU-команд терминал спросит у карты срок ее действия и сравнит с системным временем — если срок действия не истек — тогда он спросит у карты ее PAN — это тот самый номер карты, выбитый на ней. Сохранив эти данные, далее на усмотрение TRM (Terminal Risk Managment, Управление Рисками Терминала), терминал передаст случайное число карте, та его хеширует и подписывает своим ключом, терминал сохраняет исходное число и ответ карты, чтобы позднее передать их в банк. Произведя эти операции, терминал отправляет карте команду завершения связи и обрывает соединение, печатая чек-билет. Позже терминал не сможет списать деньги с этой карты — PAN карты отправляется в стоп-лист — пока не погасить долг, эту карту ни в одном автобусе не примут. Идеальная система, не правда ли? Казалось бы, какие тут уязвимости, никакой халявы все за все заплатят в итоге. Все бы так и оставалось, если бы не одно большое «Но»… Или несколько.
Apple/Samsung/Google Pay — токенизация
И вот 9 сентября 2014 года компания Apple представила новый способ бесконтактных платежей поверх существующей инфраструктуры. Apple Pay была ориентирована на простоту, скорость и приватность. Простоту обеспечивал (и обеспечивает) интуитивно-понятный интерфейс Wallet, а приватность обеспечивается токенизацией. При добавлении карты в Wallet, платежная система (например Mastercard или Visa), генерирует токен. Токен это PAN — но не тот, что выбит на добавляемой карте, а его эквивалент в платежной системе. Отныне запросы POS-терминалов по этому виртуальному PAN будут рассмотрены платежной системой как если бы это был номер физической карты. При таком подходе, даже потенциально скомпрометированный терминал не видит реального номера карты — токен можно использовать только для платежей на POS-терминалах, в остальных случаях он бесполезен. Позже по такому же принципу стали работать Samsung Pay и Google Pay (Ранее — Android Pay).
Токены в оффлайн транзакциях
Таки да. Устройство с бесконтактной оплатой здесь равносильно физической карте. И в случае ошибки платежа — терминал в автобусе педантично занесет PAN в стоп-лист. Справедливость восторжествовала! Только… PAN то эфемерный! При каждом добавлении карты в мобильное устройство токен будет разный. Соответственно — передобавляем карту в устройство — и мы вылезли из стоп-листа не заплатив ни копейки. При необходимости повторить. Таким образом для воспроизведения данной атаки подойдет любое устройство, способное произвести бесконтактную оплату. То есть 90 процентов всех телефонов с NFC.
Как бороться?
Такой транспортный валидатор проводит онлайн транзакции, если есть возможность сделать это онлайн. В городе такая возможность есть почти всегда.
с 31 октября работа сервиса прекращена (кроме теле2)
ситмкарты с МБ продолжают работать как и раньше до исчерпания баланса который на них есть.
Дальнейшее автопополнение и прочие действия с сервисом, посредством номера 3210 не работает, но.
ручное пополнение по номеру МБ и ручная запись проездных всё еще доступны и прекрасно работают, и будут работать вплоть до истечения срока действия nfc симкарты.
А если вам так полюбилось автопополнение то есть костыль в виде привязки МБ в приложении Метро Москвы и соответствующей настройки
Так же остатки баланса можно перенести на обычную Тройку обратившись в центры Московский транспорт
Услуга реализована с помощью технологии NFC и потому требует совместимого с ней смартфона (наличие в смартфоне nfc не гарантирует работу услуги. Уточняйте у оператора)
Для работы услуги необходимо заменить sim-карту на специальную.
По сути Мобильный билет является альтернативой и почти полным аналогом*, привычных многим, бумажных Единых или карте Тройка (транспортной её части)
*каждый МБ имеет 10-значный номер как у карт Тройка, по которому происходит его идентификация в системе общественного транспорта
стоимость подключения и пользования услугой - бесплатно.
в момент подключения услуги с баланса телефона автоматически спишется 150руб, которые упадут на счет МБ.
Непосредственно сам проезд в транспорте тарифицируется так же как по карте ТРОЙКА.
Для оплаты проезда заводится отдельный счет, с которого и происходят все расчеты.
Пополнять этот счёт можно с баланса своего сотового. Есть автопополнение при снижении до определённого порога.
При совместном использовании МБ и платежного Gpay, обычно работает так - при поднесении смарта к турникету с выключенным экраном - срабатывает МБ, а если экран включён (даже заблокированный) срабатывает Gpay
отслеживать баланс кошелька, количество поездок и срок действия записанного проездного можно в приложении Метро Москвы привязав там свой МБ по номеру
в международном роуминге сервис лучше отключать-тк может набежать большая сумма из-за его автоматических обращений на короткий номер услуги
про пополнение МБ и запись на него проездных билетовпополнить баланс МБ можно через автопополнение , или через различные сервисы пополнения карт ТРОЙКА (по номеру карты с дальнейшей активацией этого пополнения желтым терминалом в метро)
Так же существует возможность прямого пополнения баланса кошелька (без последующей валидации в метро) и самостоятельной записи на МБ стандартных проездных билетов Единый (на 60 поездок или на 1/30/90/365 дней). А вот ТАТ, билеты зоны Б и электричку на "мобильный билет" записать нельзя.
Прямое пополнение и запись на МБ проездных билетов делается с помощью андроид приложений Метро Москвы, Мой умный город, ну и Тройка. Пополнение и проверка
Для таких манипуляций необходим второй смартфон с NFC, который поддерживает работу с этими приложениями или же использовать внешний nfc типа ACR122U + соответствующий софт к нему, или же купить нужный билет через ЛК с привязанным МБ в приложении Метро Москвы и потом активировать его на желтом терминале в метро. (делов то на пять секунд: подошёл>тапнул "активировать удаленное пополнение">прислонил смарт>готово)
Также можно посредством терминалов Элекснет.
Ещё напрямую с Тройкой (а значит и с МБ), работают терминалы Мегафона, Евролат, Велобайк. Но тут сильно зависит от модели терминала - часто проездной надо вставлять в них, для записи, что совершенно не годится для работы с сабжем, ведь смартфон-то туда не засунешь.
Ещё вариант. Узнав 10-значный номер вашего МБ, можно пополнять баланс кошелька по аналогии c Тройкой в разных онлайн сервисах и платежных системах типа яндекса, киви, онлайн-банкингов - с последующей активацией такого пополнения в желтом валидаторе метро.
Ну и до кучи можно попытаться записать нужный билет в кассах самого метро (чисто технически это возможно) но по незнанию и некомпетентности сотрудник билетной кассы может вам отказать в такой операции. Пробуйте (тут мелькали комменты что некоторые всё таки смогли такое провернуть)
по пользовательской информации. для симок МЕГАФОНА вроде как есть ограничение записи на МБ проездных. То бишь можно только кошелёк пополнить а всякие 90дней и прочее нет
обсуждение приложения "Метро Москвы" - умеет пополнять Тройку и МБ, записывать проездные и активировать удалённые платежи. В приложении есть Личный Кабинет, где можно привязать свой проездной, отслеживать баланс и видеть историю поездок, блокировать и переносить баланс и проездные между привязанными картами., можно настроить автопополенение (но его надо будет потом активировать) в бета-версии появилась ВИРТУАЛЬНАЯ ТРОЙКА, но её функционал не равен обычной карте Тройка (на виртуальную можно записать не все виды проездных которые можно на обычную)
-В двухсимочных смартфонах, для правильной и корректной работы сервиса, nfc-симку рекомендуется устанавливать в слот №1
-номер карты Тройка в МБ можно посмотреть в приложениях (нужен второй смартфон с NFC) Метро Москвы, Яндекс.метро, Тройка.Пополнение и проверка, Мой умный город, Транспортные карты. Или в терминалах Элекснет, Велобайк, Европлат, Мегафон (в тех из них где карту нужно прикладывать а не вставлять)
-Услуга может не работать при отключенном/разряженном смартфоне и при отсутствии покрытия сети оператора.
-На многих столичных станциях метро можно оплатить проезд посредством банковской карты с технологией MasterCard-payPass, VISA-payWave, МИР, Samsung, Apple, Google Pay это даёт возможность оплачивать проезд в метро без специальной симкарты, смартфону достаточно просто поддерживать Gpay - обычно такой турникет соответствующе обозначен (как на кассах в магазине стикерами платежных систем)
обратите внимание, что стоимость отличается от Тройки или МБ. Не имеет функционала 90минут
был в крупном ТЦ (там салоны всех четырех столичных операторов)
Ни в одном и знать не знают про реализацию этой услуги с помощью NFC-антенны.
В МТС ткнул их ссылкой на сайт с описанием - подивились но никогда не видели такого.
по видимому услуга невостребованная совсем.
по примеру Мегафона - не во всех офисах есть такие сим-карты. В какие-то не завезли, какие-то не входят в список "избранных" (остальных, видимо, и не информировали вообще)
Откуда информация? Как это физически возможно? Телефон передавать в окошко? :lol:
По непроверенной информации, так же существует возможность записи на такой билет стандартных единых билетов (самый выгодный из которых 60 поездок- в котором 1поездка стоит меньше 27руб)
Да, с помощью другого телефона с nfc и полноценно работающим приложением "Мой проездной". Записал себе Единый на 60 поездок :blush: Откуда информация? Как это физически возможно? Телефон передавать в окошко?
вроде где то в описании мелькало. может по номеру телефона? он же по любому привязан к услуге.
если это не так исправлю Будет ли работать часофон (например, Q18) как "тройка"?
Подробнее. Я куплю часофон (не на андроиде, например, Q18, NFC есть в часофоне). Вставлю в него SIM-карту с поддержкой NFC.
Смогу ли проходить в московское метро, прикладывая часофон к турникету? Или это работает только на определенных моделях смартфонов, к которым часофоны не относятся?
О Мобильном билете узнала только после того, как был утерян телефон. Обычный кнопочный.
Сразу же была заменена сим-карта, куплен новый кнопочный телефон-звонилка.
Часа через 4 стали приходить смски с номера 3210 для активации этого сервиса.
Операторы 3210 советуют отключить в сим-меню Мобильный билет. Но он и так отключён!
(В сим-меню новой сим-карты, он, кстати, есть).
Затем отправляют в Мегафон, Мегафон - обратно в 3210.
Смски идут почти постоянно по 20-30 в сутки.
Отключить это невозможно!
3210 не может заблокировать конкретный номер телефона, чтобы эти смс-ки перестали приходить.
Пока внесла 3210 в черный список.
Но! Эта зараза не только присылает смски.
Но и заставляет телефон отсылать исходящие смс при включении!
Т.е. в детализации я получают по 2 исходящих смс на номер 3210 сразу после включения телефона утром.
В телефоне это никак не отражается - только в распечатке смс/звонков.
Читайте также: