Експлойт FCM за дивними сповіщеннями від Microsoft Teams, Hangouts

click fraud protection

Нещодавно розкрита вразливість у Firebase Cloud Messaging призвела до дивних сповіщень від таких програм, як Microsoft Teams і Hangouts.

Здається, ми не можемо пройти й дня, щоб десь у програмному забезпеченні чи службі не з’явилася ще одна серйозна помилка безпеки. Цього тижня, схоже, настав час для Firebase Cloud Messaging зіткнутися з уразливістю, яку легко використовувати.

Хмарний обмін повідомленнями Firebase це структура від Google, яка полегшує доставку сповіщень через програми майже на будь-якій платформі. За допомогою простої конфігурації програми та сервера ви можете надсилати загальні або цільові push-повідомлення своїм користувачам за лічені хвилини. Більшість програм Android, які надсилають push-повідомлення, ймовірно, використовують для цього Firebase Cloud Messaging (або застарілу Google Cloud Messaging). Це включає програми від окремих розробників-аматорів до програм від таких гігантських корпорацій, як Microsoft і, звичайно, Google.

Експлойт

Ось тут і з’являється цей експлойт. Якщо ви використовуєте такі програми, як

Microsoft Teams або Google Hangouts, ви, можливо, нещодавно помітили надходження випадкових сповіщень, як на знімку екрана нижче. Це від людей, які використовують переваги неправильних конфігурацій Firebase Cloud Messaging.

Знімок екрана з /u/ToTooThenThan на Reddit.

Я не буду вдаватися в подробиці, але ця проблема насправді не є провиною Google. Щоб безпечно надсилати push-сповіщення, Google вимагає, щоб сервер, який фактично їх надсилає, також надсилав ключ для підтвердження їх автентичності. Цей ключ має бути лише у вашій консолі Firebase і на вашому сервері.

Але в постраждалих програмах з будь-якої причини також є вбудований ключ. Він не використовується, але він є, у відкритому вигляді, щоб будь-хто міг його побачити та використати. Як не дивно, Google Hangouts і Google Play Music, як і Microsoft Teams, уразливі до цього експлойту. Тож Google винен певною мірою, але не дуже.

І це може бути використано в досить підлих цілях. Хоча здається, що більшість «реалізацій» цієї вразливості використовувалися лише для надсилання дивних текстів людям, зловмисник може здійснити фішингове шахрайство. Текст сповіщення може бути приблизно таким: «Ваш сеанс закінчився. Торкніться тут, щоб увійти знову", з URL-адресою, яка запускається, коли ви торкаєтеся. Така URL-адреса може стати сайтом, який виглядає, скажімо, як сторінка входу Microsoft. Але замість входу в Microsoft ви надаєте комусь свій логін.

Що мають робити користувачі?

нічого Ви, як користувач, мало що можете зробити, щоб зупинити ці сповіщення. Ви можете заблокувати канали, з яких вони надходять (або взагалі заблокувати сповіщення від програми), але ви не можете відфільтрувати незаконні сповіщення, оскільки, наскільки відомо Firebase, вони є законним.

Що ви можете зробити, це бути обережними. Якщо ви отримали сповіщення, у якому, здається, запитують дані для входу або будь-яку іншу особисту інформацію, не натискайте на нього. Натомість відкрийте програму безпосередньо. Якщо сповіщення було справжнім, програма вкаже це. В іншому випадку це, ймовірно, спроба фішингу. Якщо ви торкнетеся сповіщення, негайно закрийте будь-який веб-сайт, що відкривається.

І нарешті, якщо ви вже десь вказали свій пароль через сповіщення, негайно змініть його, скасуйте авторизацію всіх пристроїв, на яких ви ввійшли в систему (якщо застосовно), і ввімкніть двофакторну автентифікацію, якщо ви цього не зробили вже.

Що мають робити розробники?

Якщо ви впровадили Firebase Cloud Messaging у свої програми, перевірте файли конфігурації, щоб переконатися, що ключі вашого сервера там відсутні. Якщо вони є, негайно анулюйте їх, створіть нові та переконфігуруйте свій сервер.

Знову ж таки, це не дуже технічна стаття, тому ви захочете перейти за посиланнями нижче, щоб отримати докладнішу інформацію про пом’якшення.

Відповіді Google і Microsoft

Про це повідомив представник Google Щоденний ковток що проблема «конкретно пов’язана з розробниками, які включають ключі API у свій код для служб, які не повинні бути включені, які потім можуть бути використані», а не сама служба Firebase Cloud Messaging скомпрометовано. «У випадках, коли Google може визначити, що використовується ключ сервера, ми намагаємося попередити розробників, щоб вони могли виправити свою програму», — додав речник.

Корпорація Майкрософт опублікувала наступну заяву в Twitter:

Подальше читання

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

  • Поглинання служби обміну хмарними повідомленнями Firebase: невелике дослідження, яке призвело до винагороди на суму понад 30 тисяч доларів
  • Уразливість обміну повідомленнями Google Firebase дозволила зловмисникам надсилати push-повідомлення користувачам програми