Специалист по безопасности Игорь Шевцов изучил на наличие уязвимостей " Тройку" — электронную карту, используемую для оплаты проезда на общественном транспорте столицы России. В итоге программист выявил в системе " дыру", которая позволила ему пополнять баланс кошелька без занесения денег, бесплатно ездить в метро и автобусах, а также пользоваться другими услугами (проходить в зоопарк, на каток, арендовать велосипеды и Т. Д.).
Ни к каким особым техническим средствам разработчик не прибегал. Все, что понадобилось ему для взлома " Тройки" — это дешевый Android-смартфон и компьютер. Воспользовавшись методом обратного инжиниринга (когда хакеры воссоздают алгоритмы, пытаясь понять принцип действия программы), Шевцов декомпилировал APK-файл мобильного приложения " Мой проездной", которое дает возможность напрямую пополнять карту при помощи смартфона с функцией NFC.
Так, хакер сумел получить доступ к памяти карты и изучить структуру складирования данных. Проанализировав исходный код, Шевцов обнаружил возможность производить запись в память " Тройки" без занесения на насчет реальных средств." Несмотря на применяемые системы предохранения, такие как ключи доступа к карте и криптографическая подпись в секторе электронного кошелька, подделка баланса оказалась возможна", — написал программист.
Результатом его исследования стала разработка приложения TroikaDumper, которое дает возможность эксплуатировать уязвимости системы электронного кошелька и подделывать баланс. Эту программу Шевцов выложил в открытый доступ, предупредив, что предназначена она только в целях ознакомления, а подделка проездных билетов является уголовным преступлением и преследуется законно.