Eine kürzlich bekannt gewordene Schwachstelle in Firebase Cloud Messaging hat zu seltsamen Benachrichtigungen von Apps wie Microsoft Teams und Hangouts geführt.
Es scheint, dass wir keinen Tag verbringen können, ohne dass irgendwo in einer Software oder einem Dienst eine weitere erhebliche Sicherheitslücke auftaucht. Diese Woche scheint es für Firebase Cloud Messaging an der Zeit zu sein, auf eine leicht auszunutzende Sicherheitslücke zu stoßen.
Firebase Cloud-Messaging ist ein Framework von Google, das die Übermittlung von Benachrichtigungen über Apps auf fast jeder Plattform erleichtert. Mit einer einfachen Konfiguration sowohl Ihrer App als auch eines Servers können Sie innerhalb von Minuten allgemeine oder gezielte Push-Benachrichtigungen an Ihre Benutzer senden. Die meisten Android-Apps, die Push-Benachrichtigungen übermitteln, verwenden dazu wahrscheinlich Firebase Cloud Messaging (oder das alte Google Cloud Messaging). Dazu gehören Apps von einzelnen Hobbyentwicklern bis hin zu Apps von Großkonzernen wie Microsoft und natürlich Google.
Der Exploit
Und hier kommt dieser Exploit ins Spiel. Wenn Sie Apps wie verwenden Microsoft-Teams oder Google HangoutsMöglicherweise haben Sie in letzter Zeit bemerkt, dass zufällige Benachrichtigungen eingehen, wie im folgenden Screenshot. Diese stammen von Personen, die falsche Konfigurationen von Firebase Cloud Messaging ausnutzen.
Ich werde hier nicht zu sehr ins Detail gehen, aber dieses Problem ist nicht wirklich die Schuld von Google. Um Push-Benachrichtigungen sicher zu versenden, verlangt Google, dass der Server, der sie tatsächlich sendet, auch einen Schlüssel sendet, um zu bestätigen, dass sie echt sind. Dieser Schlüssel sollte sich nur in Ihrer Firebase-Konsole und auf Ihrem Server befinden.
Aber auch die betroffenen Apps, aus welchen Gründen auch immer, haben den Schlüssel eingebaut. Es wird nicht verwendet, steht aber im Klartext zur Verfügung, damit jeder es sehen und verwenden kann. Ironischerweise scheinen Google Hangouts und Google Play Music sowie Microsoft Teams für diesen Exploit anfällig zu sein. Es ist also gewissermaßen die Schuld von Google, aber auch nicht wirklich.
Und es kann für ziemlich schändliche Zwecke verwendet werden. Obwohl es den Anschein hat, dass die meisten „Implementierungen“ dieser Sicherheitslücke nur zum Versenden seltsamer Textnachrichten an Personen verwendet wurden, ist es für einen Angreifer möglich, einen Phishing-Betrug auszuführen. Der Text der Benachrichtigung könnte etwa lauten: „Ihre Sitzung ist abgelaufen.“ Bitte tippen Sie hier, um sich erneut anzumelden“, mit einer URL, die gestartet wird, wenn Sie darauf tippen. Bei dieser URL könnte es sich am Ende um eine Website handeln, die beispielsweise wie die Anmeldeseite von Microsoft aussieht. Aber anstatt sich bei Microsoft anzumelden, geben Sie jemandem Ihr Login.
Was sollten Benutzer tun?
Nichts. Sie als Benutzer können nicht viel tun, um diese Benachrichtigungen zu stoppen. Sie können die Kanäle blockieren, auf denen sie eingehen (oder Benachrichtigungen von der App insgesamt blockieren), aber Sie können die unzulässigen Benachrichtigungen nicht herausfiltern, da sie, soweit Firebase weiß, dies tun Sind legitim.
Was Sie jedoch tun können, ist, vorsichtig zu sein. Wenn Sie eine Benachrichtigung erhalten, in der Sie offenbar nach Ihren Anmeldedaten – oder anderen persönlichen Daten – gefragt werden, tippen Sie nicht darauf. Öffnen Sie stattdessen die App direkt. Wenn die Benachrichtigung echt war, zeigt die App dies an. Andernfalls handelte es sich wahrscheinlich um einen Phishing-Versuch. Wenn Sie auf eine Benachrichtigung tippen, schließen Sie sofort alle geöffneten Websites.
Und schließlich: Wenn Sie Ihr Passwort bereits irgendwo über eine Benachrichtigung eingegeben haben, ändern Sie es sofort. Deaktivieren Sie alle angemeldeten Geräte (falls zutreffend) und aktivieren Sie die Zwei-Faktor-Authentifizierung, falls Sie dies nicht getan haben bereits.
Was sollten Entwickler tun?
Wenn Sie Firebase Cloud Messaging in Ihren Apps implementiert haben, überprüfen Sie die Konfigurationsdateien, um sicherzustellen, dass Ihre Serverschlüssel nicht darin enthalten sind. Wenn dies der Fall ist, machen Sie sie sofort ungültig, erstellen Sie neue und konfigurieren Sie Ihren Server neu.
Auch hier handelt es sich nicht um einen sehr technischen Artikel. Sie sollten daher die untenstehenden Links besuchen, um weitere Informationen zur Risikominderung zu erhalten.
Google- und Microsoft-Antworten
Das sagte ein Google-Sprecher Der tägliche Schluck dass das Problem „insbesondere damit zusammenhängt, dass Entwickler API-Schlüssel in ihren Code für Dienste aufnehmen, die dies nicht tun sollten.“ enthalten sein, was dann ausgenutzt werden könnte“, und nicht der Firebase Cloud Messaging-Dienst selbst kompromittiert. „In Fällen, in denen Google feststellen kann, dass ein Serverschlüssel verwendet wird, versuchen wir, die Entwickler zu benachrichtigen, damit sie ihre App reparieren können“, fügte der Sprecher hinzu.
Microsoft gab auf Twitter die folgende Erklärung ab:
Weiterführende Literatur
Hier sind ein paar Artikel, die ausführlicher darauf eingehen, was dieser Exploit ist, wie er funktioniert und wie Sie sicherstellen können, dass Sie nicht angreifbar sind. Wenn Sie ein App-Entwickler sind oder einfach nur herausfinden möchten, wie das funktioniert, werfen Sie einen Blick darauf.
- Übernahme des Firebase Cloud Messaging Service: Eine kleine Recherche, die zu Prämien in Höhe von über 30.000 $ führte
- Die Messaging-Sicherheitslücke in Google Firebase ermöglichte es Angreifern, Push-Benachrichtigungen an App-Benutzer zu senden