Anfällige Twitter-API lässt Zehntausende Angriffe offen

Millionen von iOS-Benutzern könnten für Man-in-the-Middle-Angriffe anfällig sein, die auf fehlerhaften Twitter-Code zurückgehen, der in beliebten iPhone-Apps verwendet wird.

Forscher warnen davor, dass eine alte Twitter-API immer noch von beliebten mobilen iOS-Applikationen verwendet wird, die als Teil eines Man-in-the-Middle-Angriffs missbraucht werden könnte. Sie könnte verwendet werden, um Twitter-Accounts zu kapern und andere Anwendungen von Drittanbietern zu kompromittieren, die mit der gleichen "Login mit Twitter"-Funktion verknüpft sind.

Nach Angaben von Forschern des deutschen Fraunhofer SIT ist der Übeltäter eine fehlerhafte TwitterKit-Bibliothek, die vor etwa einem Jahr durch Twitter ersetzt wurde. Eine Überprüfung der 2.000 beliebtesten deutschen iOS-Mobilfunkapplikationen ergab jedoch, dass der fehlerhafte Code noch immer von 45 Anwendungen genutzt wird und Millionen von deutschen Nutzern betrifft.

Weltweit könnte die Zahl der Anwendungen, die das fehlerhafte Twitter Kit-Framework nutzen, eher bei Zehntausenden liegen, so die Forscher.

Der Fehler, der als CVE-2019-16263 verfolgt wird, wird als Fehler im "Twitter Kit Framework durch 3.4.2 für iOS beschrieben, der das api.twitter.com SSL-Zertifikat nicht ordnungsgemäß validiert. Obwohl die Zertifikatskette eines aus einer Reihe von angehefteten Zertifikaten enthalten muss, gibt es bestimmte Implementierungsfehler, wie z.B. die fehlende Überprüfung des Hostnamens.

Twitter hat den Bibliothekscode des Twitter-Kits im Oktober 2018 abgelehnt. Damals forderte es die Entwickler auf, zu alternativen Bibliotheken zu wechseln. Es hinterließ jedoch alten Code auf seinem GitHub-Repository, ohne dass die Nutzer einen Hinweis darauf erhielten, dass der Code für Angriffe verwendet werden könnte, sagte Jens Heider, Leiter der mobilen Sicherheit am Fraunhofer SIT.

"Die Twitter-GitHub-Bibliothek enthält immer noch den bösartigen Code", sagte Heider gegenüber Threatpost. "Wir befürchten, dass die Entwickler es versäumen werden, ihre Anwendungen auf eine sichere Twitter-Bibliothek zu aktualisieren, da die Anwendungen, die den Code verwenden, anscheinend gut funktionieren", so Heider.

Obwohl er nicht bestimmte Anwendungen namentlich nennt, sagte Heider, dass zu den betroffenen Anwendungen Newsreader und viele andere Dienste oder Anwendungen gehören, die es einem Nutzer ermöglichen, sich über sein Twitter Access Token anzumelden: "Wenn ein Angreifer Zugang zum (Twitter-)OAuth-Token erhält, kann er es verwenden, um an den Ziel-Twitter-Account zu posten, frühere private Nachrichten zu lesen und die Tweets anderer Nutzer zu mögen und zu retweeten.

Das Problem stammt aus der Art und Weise, wie TwitterKit for iOS Zertifikate erhielt, um sicherzustellen, dass sie über einen entsprechenden öffentlichen Schlüssel verfügen. Ein TwitterKit ist ein Open-Source-Softwareentwickler-Kit (SDK), das laut Twitter von mobilen Anwendungen zur Anzeige von Tweets, zur Autorisierung von Twitter-Benutzern und zur Verlinkung mit der Twitter-API verwendet wird.

"Sie wollten die Sicherheit erhöhen, indem sie einen öffentlichen Schlüssel von vertrauenswürdigen Stammzertifizierungsstellen (CA), wie VeriSign, DigiCert und GeoTrust, implementierten. Also erstellten sie [ein] Array mit Einträgen von 21 Public-Key-Hashes für die CAs", schrieben die Forscher in einer Aufschlüsselung ihrer Forschung.

Sie erklärten, dass der Domainname des Blattzertifikats nicht von iOS verifiziert wird. Da er nicht verifiziert ist, wird jedes gültige Zertifikat (der 21) mit einem Hash des öffentlichen Schlüssels von der anfälligen Anwendung akzeptiert.

"Ein Angreifer mit einem gültigen Zertifikat für seine eigene Domäne, das von einer dieser CAs ausgestellt wurde, kann dieses Zertifikat für Man-in-the-Middle-Angriffe gegen Anwendungen verwenden, die über das Twitter-Kit für iOS mit api.twitter.com kommunizieren", schrieben die Forscher.

Heider sagte, der Angreifer könne diesen Fehler ausnutzen, um die Twitter OAuth-Token zu verwenden, um sich bei Diensten von Drittanbietern anzumelden, die das Twitter OAuth-Token-Framework unterstützen. OAuth ist ein offener Standard, mit dem Websites oder Anwendungen Zugang zu Daten auf anderen Websites gewährt werden kann, ohne ihnen die Passwörter zu geben.

Forscher sagten, dass sie Twitter im Mai 2019 kontaktiert und sie über die anfällige API informiert haben. "Twitter bestätigte den Fund, aber da die Bibliothek bereits veraltet war, haben sie keine Lösung angeboten", sagte Heider. Stattdessen hat Twitter den Twitter-API-Code durch eine aktualisierte Version ersetzt.

"Wir hätten gerne eine Mitteilung über die Fehler in dieser Bibliothek gesehen, die von so vielen Anwendungen genutzt wird", sagte er.

Twitter hat nicht auf eine Anfrage nach einem Kommentar zu dieser Geschichte geantwortet.

Um die Schwachstelle auszunutzen, so die Forscher, müsse ein Gegner zunächst die Kontrolle über einen Wi-Fi-Zugangspunkt übernehmen. Als nächstes würde sich ein Opfer in das abtrünnige drahtlose Netzwerk einloggen, und dann könnte der Angreifer das Twitter OAuth-Token für eine Benutzersitzung erbeuten.

Das Angriffsszenario umfasst einen Replay-Angriff, bei dem das Twitter OAuth-Token verwendet wird, um Zugang zum primären Twitter-Konto und auch zu anderen Konten und Diensten von Drittanbietern zu erhalten, die die Funktion "Anmeldung mit Twitter" unterstützen.

"Solche Probleme sind ... häufig, was die Notwendigkeit veranschaulicht, auf anfälligen oder veralteten Code von Dritten zu prüfen", schrieb Fraunhofer SIT.

Die Forscher werden ihre Arbeit am Dienstag auf der Sicherheitskonferenz it-sa 2019 in Nürnberg formell vorstellen.