Баг Инжиниринг
«Интерфакс» сообщает, что Московский метрополитен и банк ВТБ устранили уязвимость в мобильном приложении «Мой проездной». Как ранее утверждали многочисленные источники, баг позволял хакерам пополнять баланс карты «Тройка» и таким образом не платить за поездки на московском городском транспорте.
Ранее на блог-платформе «Хабрахабр» был описан метод, при помощи которого потенциальный злоумышленник мог произвольно пополнять баланс карты «Тройка» без денег. Исследователи оценили разнообразные векторы атаки, включая турникеты, валидаторы и автоматы пополнения карты наличными, и остановились на методе реверс-инжиниринга приложения «Мой проездной» как наиболее простом способе.
По итогам тестирования хакеры создали приложение TroikaDumper, которое совместимо с устройствами на Android с поддержкой NFC. Оно позволяет без подключения к Интернету просматривать записанные в памяти карты данные, включая баланс электронного кошелька, время последнего прохода через турникет, идентификатор последнего турникета, серийный номер карты «Тройка» и идентификационный номер карты (UID).
«В течение пяти дней было совершено 57 поездок в наземном транспорте на общую сумму 1767 рублей. После чего карта была возвращена в кассу метрополитена и был получен возврат залоговой суммы в 50 рублей», — отчитались эксперты о проверке разработанного эксплойта.
Разработка эксплойта заняла две недели. Хотя приложение использует различные методы защиты от взлома (например, ключи доступа к карте и криптографическую подпись в секторе электронного кошелька), атака удалась. Самой трудоемкой задачей стало изучение структуры данных в памяти, но, так как они хранились в незашифрованном виде, компрометация транспортной карты прошла более легко и не потребовала физического проникновения в инфраструктуру.
Source: threatpost.ru