Итальянский эксперт по безопасности Маттео Писани (Matteo Pisani), технических директор компании Remoria VR, обнаружил ряд уязвимостей в автоматах-киосках производства Argenta, используя которые смог получить «неограниченный кредит», то есть возможность получать всё их содержимое бесплатно. Проблема, как выяснилось, заключалась в плохо реализованном мобильном приложении для этих автоматов.
Автоматы Argenta поддерживают протоколы Bluetooth Low Energy (BLE) и Near Field Communication (NFC), благодаря чему оплачивать товары можно с помощью смартфона. Для этого потребуется специализированное приложение.
Писани произвёл декомпиляцию приложения Argenta, активировал отладочный режим и установил его заново на свой смартфон, чтобы мониторить всю активность программы.
Довольно скоро он обнаружил отсылки к RushOrm, инструменту под Android для объектно-реляционного отображения классов Java в SQL-таблицах; из этого следовало, что у приложения есть какая-то база данных, которая должна содержать важную информацию.
За счет уязвимости в приложении для вендинговых киосков можно получить в них «бесконечный кредит»
База данных быстро нашлась - argenta.db, и оказалось, что она довольно слабо защищена. Анализ конфигурационного файла RushOrm показал, что для доступа к базе использовался код IMEI смартфона.
Ваш кредит 999 евро
Внутри базы обнаружились многочисленные таблицы, в том числе UseWallets («кошельки пользователей») с редактируемым полем walletCredit, определявшим «кредит» пользователя - т.е., сумму, на которую вендинговый киоск выдавал товар.
Эксперт быстро написал ещё одну программу под Android, которая позволяла редактировать размеры кредита. Причём никаких особых условий для изменения этого показателя - её можно было менять с нулевого показателя.
По словам Писани, в результате реверсной инженерии ему удалось найти крупные порции «чистого» кода, лишённого какой-либо обфускации, - что означает, что никаких специальных средств защиты пользовательских данных и обеспечения безопасности приложения разработчики не предпринимали.
«Ситуация довольно типична: автомат, в который раньше надо было бросать мелочь или физические купюры, понадобилось «подружить» с беспроводной оплатой, для чего было наспех написано приложение для смартфона, - говорит Олег Галушкин, директор по информационной безопасности компании SEC Consult Services. - Разработчики, очевидно, не ожидали, что его кто-то будет препарировать и анализировать на уязвимости. По нынешним временам такой подход - весьма опрометчив».
Сам Писани уведомил создателей приложения о найденных проблемах за месяц до того, как опубликовал подробности о своих экспериментах. Со своей стороны он порекомендовал разработчикам сменить архитектуру приложения на более надёжную.
Подробнее:
Автоматы Argenta поддерживают протоколы Bluetooth Low Energy (BLE) и Near Field Communication (NFC), благодаря чему оплачивать товары можно с помощью смартфона. Для этого потребуется специализированное приложение.
Писани произвёл декомпиляцию приложения Argenta, активировал отладочный режим и установил его заново на свой смартфон, чтобы мониторить всю активность программы.
Довольно скоро он обнаружил отсылки к RushOrm, инструменту под Android для объектно-реляционного отображения классов Java в SQL-таблицах; из этого следовало, что у приложения есть какая-то база данных, которая должна содержать важную информацию.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
За счет уязвимости в приложении для вендинговых киосков можно получить в них «бесконечный кредит»
База данных быстро нашлась - argenta.db, и оказалось, что она довольно слабо защищена. Анализ конфигурационного файла RushOrm показал, что для доступа к базе использовался код IMEI смартфона.
Ваш кредит 999 евро
Внутри базы обнаружились многочисленные таблицы, в том числе UseWallets («кошельки пользователей») с редактируемым полем walletCredit, определявшим «кредит» пользователя - т.е., сумму, на которую вендинговый киоск выдавал товар.
Эксперт быстро написал ещё одну программу под Android, которая позволяла редактировать размеры кредита. Причём никаких особых условий для изменения этого показателя - её можно было менять с нулевого показателя.
По словам Писани, в результате реверсной инженерии ему удалось найти крупные порции «чистого» кода, лишённого какой-либо обфускации, - что означает, что никаких специальных средств защиты пользовательских данных и обеспечения безопасности приложения разработчики не предпринимали.
«Ситуация довольно типична: автомат, в который раньше надо было бросать мелочь или физические купюры, понадобилось «подружить» с беспроводной оплатой, для чего было наспех написано приложение для смартфона, - говорит Олег Галушкин, директор по информационной безопасности компании SEC Consult Services. - Разработчики, очевидно, не ожидали, что его кто-то будет препарировать и анализировать на уязвимости. По нынешним временам такой подход - весьма опрометчив».
Сам Писани уведомил создателей приложения о найденных проблемах за месяц до того, как опубликовал подробности о своих экспериментах. Со своей стороны он порекомендовал разработчикам сменить архитектуру приложения на более надёжную.
Подробнее:
Для просмотра ссылки необходимо нажать
Вход или Регистрация