Хакер нашел способ получать в торговых автоматах бесконечные кофе и еду. Видео

Безопасность Пользователю Техника
мобильная версия
, Текст: Роман Георгиев
Хакер нашел способ получать бесконечные кофе и еду в торговых автоматах. Видео Эксперт нашёл уязвимости в мобильном приложении для автоматических продуктовых киосков и обеспечил себе в них «бесконечный кредит».

Где у него база?

Итальянский эксперт по безопасности Маттео Писани (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. - Разработчики, очевидно, не ожидали, что его кто-то будет препарировать и анализировать на уязвимости. По нынешним временам такой подход - весьма опрометчив».

Сам Писани уведомил создателей приложения о найденных проблемах за месяц до того, как опубликовал подробности о своих экспериментах. Со своей стороны он порекомендовал разработчикам сменить архитектуру приложения на более надёжную.