Спецпроекты

Пользователи Android по всему миру получили странные сообщения таинственного происхождения

Безопасность Пользователю Техника

Пользователям Android приходили бессодержательные уведомления: возможно, кто-то пытался проверить слабые места в протоколе Google FCM.

Атака ни о чем

Владельцы смартфонов на базе Android по всему миру получали серию странных уведомлений неясного происхождения. Эксперты компании Sophos полагают, что речь идет о хакерах, тестирующих уязвимость в нескольких популярных приложениях под Android, которые гипотетически позволяют получить контроль над службой FCM (Firebase Cloud Messaging). В заголовках уведомлений как раз значилось FCM Messages.

Первыми эти сообщения получили пользователи Google Hangouts; позднее аналогичные уведомления пришли пользователям Microsoft Teams.

Эксперты Sophos обратили внимание на недавнюю публикацию, которую сделал эксперт в сфере кибербезопасности под псевдонимом Abss, в которой он задавался вопросом, насколько безопасен механизм аутентификации между приложениями под Android, использующими FCM, и серверной стороной этой службы.

Abss выяснил, что существует возможность извлечь токены авторизации FCM из множества популярных приложений, используя отладочные инструменты. Те мониторят работу приложения и в критических точках записывают данные - аргументы и вызовы функций. Затем Abss нашел способ доставлять посторонние сообщения через специфические HTTP-запросы к интерфейсу службы FCM; однако это зависит от так называемых «тем» (topics) - серверных атрибутов, определяемых приложением; например, приложение может задать тему «новости» (news) и сгруппировать пользователей, заинтересованных в новостных материалов, так чтобы им всем сразу направлялись сходные уведомления.

Возможно, с помощью бессодержательных уведомлений кто-то пытался проверить слабые места в протоколе Google FCM

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

Однако вскоре выяснилось, что можно рассылать одни и те же уведомления сразу по целым комбинациям тем (объединяемых через булевы операции), что значительно расширяло потенциальный круг получателей, а также задать отправку уведомлений всем, кто не заинтересован в какой-либо теме. То есть, если в качестве такой темы задать случайную комбинацию символов, уведомления поступят всем пользователям данного приложения. Просто в силу банальной логической операции.

Практическая работа

В Sophos полагают, что кто-то очень внимательно изучил публикацию Abss и попытался на практике использовать описанную в ней проблему, следствием чего и стала «странная» рассылка.

В Microsoft уже заявили, что выяснили, в чем заключается проблема, и приняли меры к ее разрешению; Google также обновил Hangouts, чтобы подобные уведомления не сыпались пользователям.

Однако очевидно, что аналогичные меры придется принимать и многим другим разработчикам.

«FCM - весьма популярный у разработчиков интерфейс, и, следовательно, он используется во множестве разных приложений. Исправления необходимо вносить во все, - считает Анастасия Мельникова, эксперт по информационной безопасности компании SEC Consult Services. - И хотелось бы надеяться, что Google также найдет или уже нашел возможность нейтрализовать проблему в самом FCM. Но в целом проблема намного шире: речь идет о том, чтобы предотвратить несанкционированную выдачу любых токенов, API и чувствительной информации из приложений».