Schwachstelle in TikTok entdeckt

TikTok
Bildquelle: Alexander56891 / Shutterstock.com

Das Imperva Red Team hat eine Schwachstelle in der beliebten Social Media-Plattform TikTok entdeckt. Mit dieser konnten potenzielle Angreifer die Aktivitäten der Plattformnutzer auf mobilen und auf Desktop-Geräten überwachen.

Die Sicherheitslücke hat ein Window Event Handler verursacht, der den Ursprung einer Nachricht nicht ordnungsgemäß überprüfte. Dadurch bekamen Angreifer Zugang zu sensiblen Benutzerinformationen. Inzwischen wurde die Lücke wieder geschlossen. Im Folgenden beschreibt Imperva die Funktionsweise dieser Schwachstelle und zeigt ihre möglichen Auswirkungen auf TikTok-Nutzer auf.

Anzeige

Die Entdeckung der Schwachstelle

In den letzten Jahren sind Webanwendungen immer komplexer geworden. Zur Verbesserung der Funktionalitäten nutzen Entwickler verschiedene APIs und Kommunikationsmechanismen.

Eine besondere Bedeutung kommt dabei den Message Event Handler zu. Der Erfahrung nach werden diese Handler oft als Quellen von Sicherheitslücken übersehen, obwohl sie Eingaben aus externen Quellen verarbeiten.

Same-Origin-Policy überwinden

Die PostMessage-API – auch bekannt als HTML5-Web-Messaging-API – ist ein leistungsstarker Kommunikationsmechanismus, der eine sichere herkunftsübergreifende Kommunikation zwischen verschiedenen Fenstern oder Iframes innerhalb einer Webanwendung ermöglicht. Dadurch lassen sich Nachrichten zwischen Skripten unterschiedlicher Herkunft austauschen – die Einschränkungen der Same-Origin-Policy werden überwunden. Diese schränkt nämlich die gemeinsame Nutzung von Daten zwischen verschiedenen Quellen im Web ein.

Die API besteht aus einer Funktion – window.postMessage() – und einer Ereignismeldung. Die Funktion postMessage() wird verwendet, um eine Nachricht vom Quellfenster an das Zielfenster oder den Iframe zu senden, während das Nachrichtenereignis auf der Empfängerseite ausgelöst wird, wenn eine neue Nachricht empfangen wird.

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Analyse von TikToks Quellcode für Message Event Handler

Im ersten Schritt bei der Entdeckung der Schwachstelle wurden alle Message Event Handler in der Webanwendung von TikTok identifiziert. Dazu war eine umfassende Analyse des Quellcodes erforderlich, um die Stellen zu finden, an denen die PostMessage-API genutzt wurde.

Nachdem alle Message Event Handler identifiziert waren, wurde der Code jedes Handlers sorgfältig analysiert. So konnten ihr Zweck bestimmt und die Sicherheitsauswirkungen der Verarbeitung nicht vertrauenswürdiger Nachrichten bewertet werden.

Identifizierung der Schwachstelle in TikToks Nutzerverfolgung

Während der Code-Analyse stieß das Red Team von Imperva auf ein Skript in der TikTok-Webanwendung, das anscheinend mit der Benutzerverfolgung zu tun hatte. Das Skript enthielt insbesondere einen Message Event Handler, der für die Verarbeitung eingehender Nachrichten des Typs “simulator:verify” verantwortlich war. Dieser Handler wurde wohl für ein clientseitiges Caching-System verwendet.

Bei näherer Betrachtung wurde klar, dass dieser Message Event Handler die Herkunft eingehender Nachrichten nicht ordnungsgemäß prüfte. Das machte ihn anfällig für die Ausnutzung durch böswillige Akteure. Weiteres Ergebnis der Analyse war, dass der Handler als Antwort auf diese Nachrichten sensible Benutzerinformationen zurücksendete, was das Risiko zusätzlich erhöhte.

Abbildung 1
Auszug aus dem verwundbaren Quellcode, der für die Verarbeitung eingehender Nachrichten und die Rücksendung von Informationen an den Absender zuständig ist.

Wie im obigen Codeschnipsel gezeigt, gelingt es der Funktion receiveMessage nicht, den Ursprung der eingehenden Nachricht zu überprüfen. Die Funktion ruft auch die postVerify-Funktion auf, die sensible Informationen zurücksendet – darunter auch die aktuelle TikTok-URL und eine Liste von Ereignissen, die verschiedenen Aktionen entsprechen, welche auf der Plattform durchgeführt werden können. Diese Informationen werden entweder an window.opener oder window.parent gesendet, wobei es sich auch um eine beliebige Website handeln kann.

Die Plattform leitete den Nutzer automatisch auf seine Profilseite um, wenn er zum Endpunkt /profile auf TikTok weitergeleitet wird. Dadurch wird versehentlich der TikTok-Benutzername des Nutzers preisgegeben und seine Privatsphäre wird preisgegeben.

Abbildung 2

Ausnutzung der Schwachstelle

Durch Ausnutzung dieser Schwachstelle können Angreifer über die PostMessage-API bösartige Nachrichten an die TikTok-Webanwendung senden und so die Sicherheitsmaßnahmen umgehen. Der Message Event Handler würde dann die bösartige Nachricht so verarbeiten, als käme sie von einer vertrauenswürdigen Quelle. Dadurch erhält der Angreifer Zugang zu sensiblen Benutzerinformationen.

Zugang zu den Informationen der TikTok-Nutzer

Wird diese Schwachstelle ausgenutzt, können Angreifer Zugriff auf verschiedene Arten von Informationen der TikTok-Nutzer erlangen, einschließlich:

  1. Das Gerät des Benutzers: Der Angreifer kann auf Informationen zum Gerät des Benutzers zugreifen, z. B. auf den Gerätetyp, das Betriebssystem und die Browserdetails.
  2. Einsicht in die Video-Playlist: Angreifer könnten beobachten, welche Videos der Nutzer auf der Plattform angesehen hat, und dadurch seine Interessen und Vorlieben identifizieren.
  3. Dauer der Aufrufe: Zusätzlich zu den angesehenen Videos könnten die Angreifer auch Informationen über die Dauer der Aufrufe sammeln, die weitere Einblicke in das Nutzerverhalten und das Engagement geben.
  4. Kontoinformationen: Persönliche Informationen, die mit einem TikTok-Konto verbunden sind, wie der Benutzername, Videos und andere Kontodetails.
  5. Suchanfragen: Durch den Zugriff auf die TikTok-URL können Angreifer die Suchbegriffe einsehen, die der Nutzer eingegeben hat, und so seine Interessen und potenziell sensible Informationen einsehen.

Diese Informationen können generell für böswillige Zwecke wie gezielte Phishing-Angriffe, Identitätsdiebstahl oder Erpressung verwendet werden.

www.imperva.com/de

Anzeige

Artikel zu diesem Thema

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.