
Поставщики пластиковых карт с чипами для системы «Тройка» заявили, что проблема заключается в программном приложении, с помощью которого удалось получить доступ к информации и памяти карты.
Сам хакер констатировал, что к чипу «Тройки» не применимы все известные оффлайн-атаки, хотя спецификация на его технологию открыта.
Уязвимости относятся к протоколам обмена информации и программному обеспечению верхнего уровня, загружаемому в чип и разработанному специально для «Тройки», как предполагает один из зеленоградских экспертов в области криптозащиты информации.
Как отмечают специалисты, для предотвращения атаки, на первый взгляд, достаточно было бы внедрения в протокол записи на карту счетчиков транзакций, которые в сочетании с контролем целостности позволили бы предотвратить атаку методом повтора. Чип «Тройки» представляет собой криптопроцессор, который позволяет реализовать широкий спектр методов защиты».
Подробности своего исследования и детальный разбор системы безопасности карты, программист изложил в статье, выложенной на одном из интернет-сайтов. Изучив инфраструктуру, работающую с картой «Тройка» — турникеты в метро, валидаторы в метро и наземном транспорте, автоматы продажи билетов метро, приложения для смартфонов, — он выбрал самую простую цель для атаки, не требующую специальных технических средств и дорогого оборудования: Android приложение «Мой проездной», предназначенное для самостоятельного пополнения Тройки с помощью смартфона с функцией NFC.
В результате Швецов создал приложение TroikaDumper, которое позволяет просматривать и подделывать баланс карты даже без подключения к интернету. И ездить на метро и наземном транспорте бесплатно — приложение опубликовано в исходных кодах и в скомпилированном виде для работы на смартфонах Android с NFC модулем производства NXP.
Сначала программист протестировал взломанную карту на наземном транспорте: троллейбусах, автобусах, трамваях. По его словам, единожды положив на карту 50 рублей, он совершил в течение пяти дней 57 поездок на общую сумму 1767 рублей. После чего вернул карту в кассу метро и получил обратно ее залоговую стоимость — 50 рублей.
Затем он купил новую карту для тестирования систем метрополитена и также пополнил ее на 50 рублей. За два дня он совершил 12 поездок на общую сумму 384 рубля. На третий день карта оказалась заблокирована на всех турникетах метро и наземного транспорта. Из чего хакер сделал вывод, «что турникеты в метро имеют защиту от данного вида атак, однако срабатывает она с задержкой в несколько дней». Изучив механизм обнаружения мошеннических операций, взломщик нашел способ обойти блокировку и наездил еще более десяти поездок в метро в течение недели.
Согласно выводу самого программиста, для исправления найденных уязвимостей необходимо усовершенствование формата хранения данных в памяти карты и обновление программного обеспечения всех систем, работающих с картой. Кроме того, наличие механизма блокировки карт в системе турникетов говорит о том, что подобные проблемы уже возникали раньше, только злоумышленники их не обнародовали.
Отметим, приложение «Мой проездной» — совместный с банком ВТБ пилотный проект московского метро, запущенный в 2015 году.
Сама карта «Тройка» была появилась на московском транспорте в 2013 году. По данным сайта troika.mos.ru, продано более 7 миллионов карт.