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

Наскоро разкрита уязвимост в Firebase Cloud Messaging доведе до странни известия от приложения като Microsoft Teams и Hangouts.

Изглежда, че не може да мине ден без друг значителен пропуск в сигурността да се появи някъде в някой софтуер или услуга. Тази седмица изглежда е времето Firebase Cloud Messaging да се сблъска с лесно експлоатируема уязвимост.

Firebase Cloud Messaging е рамка от Google, за да улесни доставянето на известия чрез приложения на почти всяка платформа. С някаква проста конфигурация както на вашето приложение, така и на сървър, можете да изпращате общи или целеви насочени известия до вашите потребители в рамките на минути. Повечето приложения за Android, които доставят насочени известия, вероятно използват Firebase Cloud Messaging (или наследеното Google Cloud Messaging), за да направят това. Това включва приложения от отделни разработчици любители до приложения от гигантски корпорации като Microsoft и, разбира се, Google.

Експлойтът

И точно тук се появява този експлойт. Ако използвате приложения като

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

Екранна снимка от /u/ToTooThenThan в Reddit.

Няма да навлизам в много подробности тук, но този проблем всъщност не е по вина на Google. За да изпраща сигурно насочени известия, 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 успее да идентифицира, че се използва сървърен ключ, ние се опитваме да предупредим разработчиците, за да могат да коригират приложението си“, добави говорителят.

Microsoft публикува следното изявление в Twitter:

Допълнителна информация

Ето няколко статии, които навлизат в много повече подробности за това какво представлява този експлойт, как работи и как можете да сте сигурни, че не сте уязвими. Ако сте разработчик на приложения или просто искате да проверите как работи това, погледнете.

  • Превземане на Firebase Cloud Messaging Service: Малко проучване, което доведе до 30 000 $+ награди
  • Уязвимостта в съобщенията на Google Firebase позволи на нападателите да изпращат насочени известия до потребителите на приложението