Во время анализа приложений мы постоянно находим различные токены от сервисов аналитики, а иногда и от нескольких, разных сервисов геолокации, карт и многих других, не сильно критичных (вроде).
После этой статьи я стану намного пристальнее на них смотреть и на те возможности, что они дают. И обязательно добавлю такую проверку в анализ.
Если кратко — багхантер практически с помощью одного grep, детального изучения документации и функционала сервисов FCM получил возможность отправить любое push-сообщение от имени уязвимого приложения. А в их числе оказались и гугловские сервисы (Google music, Youtube Music и т.д.),то есть миллиарды пользователей!
В статье подробно описан процесс анализа, изучения сервиса FCM, есть алгоритм, как искать и проверять валидность таких ключей (что с их помощью действительно можно отправить push), как сделать PoC и как митигировать подобные риски.
И спасибо автору за ссылки на материалы, статьи и утилиты, которые он использовал при анализе. Помимо нескольких интересных вещей по мобильным приложениям, есть и на что посмотреть в части прикладных инструментов.
Советую прямо сегодня посмотреть ваши мобильные приложения на наличия ключей FCM и проверить, валидны ли они для отправки произвольных пушей.
Потрясная статья, конечно 🙂