Петербургский студент научился бесплатно (но незаконно) ездить в транспорте по карте "Подорожник", перезаписывая её через Android-смартфон с NFC.

20-летний студент заочного отделения ЛЭТИ по имени Антон протестировал возможность перезаписи проездных карт "Подорожник", используемых в метро и наземном транспорте Санкт-Петербурга. Как выяснилось, система метро оперативно блокирует модифицированные карты, однако в автобусах и троллейбусах города проверка работает иначе и фактически позволяет ездить бесплатно.

Карты "Подорожник" работают на базе стандарта MIFARE, и для их чтения и записи подойдёт почти любой NFC-ридер, в том числе встроенный в смартфоны на базе Android. Используя описанную в 2015 году методику атаки на подобные карты и внешний NFC-ридер, Антон получил доступ к содержимому её 4 КБ внутренней памяти.

Программист обнаружил, что из 40 секторов памяти данные изменяются только в трёх из них: вероятнее всего, в них записывается информация о балансе карты и о времени последней поездки. В одном из этих секторов находится имитовставка — код, создающийся по определённому алгоритму на основе перезаписываемых данных: если не знать этот алгоритм, задать хранящимся на карте переменным произвольные значения (например, баланс в 1000 рублей) не выйдет.

Поделиться опытом для меня интереснее, чем пытаться сэкономить на проезде, тем более нарушая закон​

Поэтому Антон решил идти по другому пути: он пополнял карту, записывал содержимое её памяти, применял её (проходя через турникет или в автомате пополнения), а затем пытался восстановить прежнее содержимое памяти и пробовал воспользоваться "Подорожником" снова. Для удобства он написал собственное приложение для Android и назвал его Plantain: благодаря ему он мог перезаписывать карты на ходу, прикладывая их к смартфону.

Оказалось, что если вставить перезаписанный "Подорожник" в автомат, он тут же блокируется, и использовать его больше нельзя. Если пройти по нему через турникет метро, карта блокируется примерно через два часа. Однако в наземном транспорте Антон смог воспользоваться перезаписанными картами без ограничений: в течение двух недель тестирования их никто не заблокировал.

По словам Антона, получить ключ, при помощи которого защищено содержимое карты, очень непросто: он вшит в турникеты и валидаторы, доступ к нему есть только у разработчиков. Если этот ключ утечёт, это будет гораздо более серьёзной проблемой, чем возможность ездить по карте в наземном транспорте.

Антон подчеркнул, что провёл исследование из интереса, а не ради экономии, тем более что подделка проездного преследуется по УК РФ: "Поделиться опытом для меня интереснее, чем пытаться сэкономить на проезде, тем более нарушая закон".

Ссылка на источник: TJ