Angriff der Woche: Sprachübertragungen in LTE (ReVoLTE)

Vom Übersetzer und TL;DR

  1. TL;DR:

    Es scheint, dass VoLTE noch schlechter abgesichert ist als die ersten Wi-Fi-Clients mit WEP. Ein reines architektonisches Versagen, das es ermöglicht, den Datenverkehr ein wenig zu XOR’en und den Schlüssel wiederherzustellen. Ein Angriff ist möglich, wenn man sich in der Nähe des Anrufers befindet und dieser häufig Anrufe tätigt.

  2. Danke für den Hinweis und TL;DR Klukonin

  3. Forscher haben eine App entwickelt, um zu prüfen, ob Ihr Anbieter anfällig ist, weitere Informationen hier. Teilen Sie die Ergebnisse in den Kommentaren, in meiner Region ist VoLTE bei MegaFon deaktiviert.

Über den Autor

Matthew Green.

Ich bin Kryptograf und Professor an der Johns-Hopkins-Universität. Ich habe kryptografische Systeme entwickelt und analysiert, die in drahtlosen Netzwerken, Zahlungssystemen und Plattformen zum Schutz digitaler Inhalte verwendet werden. In meinen Forschungen untersuche ich verschiedene Möglichkeiten, Kryptografie zu nutzen, um die Privatsphäre der Benutzer zu erhöhen.

Es ist eine Weile her, dass ich einen Beitrag im Format „Angriff der Woche“, geschrieben habe, und das hat mich frustriert. Nicht weil es keine Angriffe gab, sondern hauptsächlich, weil es keinen Angriff auf etwas gab, das häufig genug verwendet wird, um mich aus meiner kreativen Krise zu holen.

Aber heute bin ich auf etwas gestoßen eine interessante Attacke namens ReVoLTE auf Protokolle, deren Kompromittierung mich besonders erfreut, insbesondere die Protokolle von Mobilfunknetzen (Voice over) LTE. Ich bin begeistert von genau diesen Protokollen – und dieser neuen Attacke – da es sehr selten ist, echte Protokolle und Implementierungen von Mobilfunknetzen zu sehen, die gehackt werden. Dies liegt hauptsächlich daran, dass diese Standards in verrauchten Räumen entwickelt und in 12.000-seitigen Dokumenten festgehalten sind, die nicht jeder Forscher bewältigen kann. Darüber hinaus erfordert die Umsetzung dieser Attacken den Einsatz von komplexen Funkprotokollen.

Somit können ernsthafte kryptografische Schwachstellen weltweit verbreitet werden und möglicherweise nur von Regierungen genutzt werden, bevor ein Forscher darauf aufmerksam wird. Aber mitunter gibt es Ausnahmen, und der heutige Angriff ist eine davon.

Autoren schützt man sich vor: David Rupprecht, Katharina Kohls, Thorsten Holz und Christina Pöpper von der Ruhr-Universität Bochum und der New York University Abu Dhabi. Dies ist ein hervorragender Angriff auf die Reinstallation des Schlüssels im Sprachprotokoll, den Sie wahrscheinlich schon verwenden (vorausgesetzt, Sie gehören zur älteren Generation, die immer noch Telefonanrufe über Mobiltelefone tätigt).

Für den Anfang – ein kurzer historischer Überblick.

Was sind LTE und VoLTE?

Die Grundlage unserer modernen Mobilfunkstandards wurde in Europa bereits in den 1980er Jahren durch den Standard Global System for Mobile (Globales System für mobile Kommunikation) gelegt. GSM war der erste Hauptstandard der digitalen Mobiltelefonie, der eine Reihe revolutionärer Funktionen einführte, wie z. B. die Nutzung von Verschlüsselung zum Schutz von Telefonanrufen. Frühes GSM wurde hauptsächlich für Sprachkommunikation entwickelt, obwohl man gegen Gebühr auch andere Daten übertragen konnte..

Mit dem aufkommenden Bedarf an Datenübertragung im Mobilfunk wurden die Standards für Long Term Evolution (LTE) entwickelt, um diese Art der Kommunikation zu optimieren. LTE basiert auf einer Reihe älterer Standards wie GSM, EDGE und HSPA und zielt darauf ab, die Datenübertragungsrate zu erhöhen. In diesem Bereich gibt es viel Markenbildung und Verwirrung durch fehlerhafte Bezeichnungen, aber kurz gesagt ist LTE ein Datentransfersystem, das eine Brücke zwischen alten Protokollen der Datenübertragung und zukünftigen Mobilfunktechnologien schlägt. 5G.

Die Geschichte zeigt uns, dass, sobald ausreichend (IP) Bandbreite vorhanden ist, die Konzepte von „Sprache“ und „Daten“ zu verschwimmen beginnen. Dasselbe gilt für moderne Mobilfunkprotokolle. Um diesen Übergang reibungsloser zu gestalten, definieren die LTE-Standards Voice-over-LTE (VoLTE), das einen IP-Standard für die direkte Übertragung von Sprachrufen über das Datennetzwerk des LTE-Systems darstellt, wodurch der vermittelte Teil des Mobilfunknetzes vollständig umgangen wird. Wie bei herkömmlichen VoIP-Anrufen, VoLTE-Anrufe können vom Mobilfunkbetreiber terminiert und mit dem traditionellen Telefonnetz verbunden werden. Oder (was zunehmend üblich wird) sie können direkt von einem Mobilfunkkunden zu einem anderen und sogar zwischen verschiedenen Anbietern geroutet werden.

Wie bei standardmäßigem VoIP basiert VoLTE auf zwei beliebten IP-basierten Protokollen: dem Sitzungsinitiierungsprotokoll (Session Initiation Protocol – SIP) zur Anrufeinrichtung und dem Echtzeittransportprotokoll (Real Time Transport Protocol, das eigentlich RTTP heißen sollte, aber tatsächlich RTP genannt wird) zur Verarbeitung von Sprachdaten. VoLTE bringt zudem einige zusätzliche Bandbreitenoptimierungen mit sich, wie z.B. Header-Komprimierung.

Was hat das also mit Verschlüsselung zu tun?

LTE, wie auch GSM, verfügt über einen Standard-Satz von kryptografischen Protokollen zur Verschlüsselung von Paketen während ihrer Übertragung durch die Luft. Diese sind hauptsächlich zum Schutz Ihrer Daten gedacht, während sie zwischen Ihrem Telefon (auch als „Endgerät“ oder UE bezeichnet) und der Mobilfunkantenne (oder überall, wo Ihr Anbieter die Verbindung terminieren möchte) verschoben werden. Dies geschieht, weil Mobilfunkanbieter externe Abhörgeräte als Bedrohungen betrachten. Natürlich.

(Die Tatsache, dass VoLTE-Verbindungen direkt zwischen Kunden in verschiedenen Netzwerken der Anbieter erfolgen können, bedeutet jedoch, dass das VoLTE-Protokoll einige zusätzliche und optionale Verschlüsselungsprotokolle auf höheren Netzwerkebenen enthalten kann. Dies bezieht sich nicht auf den aktuellen Artikel, außer dass diese alles verderben können. Wir werden später kurz darauf eingehen).

Historisch gesehen hatte die Verschlüsselung in GSM zahlreiche Schwachstellen: schlechte Verschlüsse, Protokolle, bei denen sich nur das Telefon bei der Antenne authentifizierte (was bedeutet, dass ein Angreifer sich als Antenne ausgeben konnte, was zu „Stingray“ führte) und so weiter. LTE hat viele der offensichtlichen Fehler korrigiert, während jedoch der Großteil der bisherigen Struktur beibehalten wurde.

Lassen Sie uns mit der Verschlüsselung beginnen. Wenn wir annehmen, dass der Schlüssel bereits erstellt wurde – und wir werden gleich darüber sprechen – wird jedes Datenpaket mit einem Stromverschlüsselungsverfahren unter Verwendung eines bestimmten Schlüssels namens „EEA“ (der in der Praxis durch Dinge wie AES implementiert werden kann) verschlüsselt. Im Wesentlichen ist hier der Verschlüsselungsmechanismus CTR, wie unten gezeigt:

Angriff der Woche: Sprachübertragungen in LTE (ReVoLTE)
Der Hauptverschlüsselungsalgorithmus für VoLTE-Pakete (Quelle: ReVoLTE). EEA ist der Schlüssel, „COUNT“ ist ein 32-Bit-Zähler, „BEARER“ ist eine eindeutige Sitzungs-ID, die VoLTE-Verbindungen von gewöhnlichem Internetverkehr trennt. „DIRECTION“ zeigt an, in welche Richtung der Verkehr fließt – von UE zum Turm oder umgekehrt.

Da der Verschlüsselungsalgorithmus (EEA) unter Verwendung eines starken Schlüssels wie AES implementiert werden kann, ist es unwahrscheinlich, dass es eine direkte Attacke auf den Schlüssel selbst gibt, wie das zu Zeiten von GSM der Fall war.Es ist jedoch offensichtlich, dass selbst bei einem starken Schlüssel dieses Verschlüsselungsschema ein hervorragendes Mittel ist, um sich selbst ins Bein zu schießen.

Insbesondere wird im LTE-Standard ein (nicht authentifizierter) Streaming-Verschlüsselungsmodus verwendet, der extrem anfällig ist, wenn der Zähler – sowie andere Eingaben wie „Bearer“ und „Richtung“ – irgendwann wiederverwendet werden. In der modernen Sprache bezieht sich der Begriff für dieses Konzept auf eine „Nonce-Wiederverwendungsangriff“, jedoch sind die potenziellen Risiken nicht neu. Sie sind bekannt und uralt, die bis in die Zeit des Glam-Metals und sogar Disco zurückreichen.

Angriff der Woche: Sprachübertragungen in LTE (ReVoLTE)
Angriffe auf die Wiederverwendung von Nonce im CTR-Modus existierten bereits, als Poison bekannt wurden.

Um fair zu bleiben, besagen die LTE-Standards: „Verwenden Sie diese Zähler bitte nicht erneut“. Aber die LTE-Standards umfassen etwa 7000 Seiten, und es ist ohnehin so, als würde man Kinder bitten, nicht mit einer Pistole zu spielen. Sie werden es unvermeidlich tun, und schreckliche Dinge werden geschehen. In diesem Fall ist die geladene Pistole ein Angriff, bei dem der Schlüsselstream wiederverwendet wird, bei dem zwei unterschiedliche vertrauliche Nachrichten mit denselben Bytes des Schlüsselstreams XOR-verknüpft werden. Es ist bekannt, dass dies äußerst destruktive Auswirkungen auf die Vertraulichkeit von Nachrichten hat..

Was ist ReVoLTE?

Der ReVoLTE-Angriff zeigt, dass diese sehr anfällige Verschlüsselungspraxis in der Realität von tatsächlichen Geräten falsch verwendet wird. Insbesondere analysieren die Autoren reale VoLTE-Anrufe, die mit kommerzieller Hardware getätigt wurden, und zeigen, dass sie etwas verwenden können, das als „Key-Reinstallation-Angriff“ bezeichnet wird. (Ein großes Verdienst an der Entdeckung dieses Problems gebührt Raza und Lu (Raza & Lu), die als Erste auf die potenzielle Verwundbarkeit hingewiesen haben. Doch die ReVoLTE-Forschung verwandelt sie in einen praktischen Angriff).

Lassen Sie mich Ihnen kurz die Essenz des Angriffs zeigen, obwohl Sie sich auch den ursprünglichen Dokument ansehen sollten..

Man kann annehmen, dass sobald LTE eine Verbindung zur Paketdatenübertragung herstellt, die Aufgabe der Sprachübertragung über LTE lediglich eine Frage der Weiterleitung der Sprachpakete über diese Verbindung zusammen mit all Ihrem anderen Datenverkehr wird. Mit anderen Worten, VoLTE wird ein Konzept sein, das nur über 2. Ebene [OSI-Modell – Beispiel]vorhanden ist. Das ist nicht ganz richtig.

Tatsächlich führt die LTE-Kanalschicht das Konzept des „Bearers“ ein. Ein Bearer ist ein individuelles Sitzungsidentifikationsmerkmal, das verschiedene Arten von Paketdatenverkehr trennt. Der reguläre Internetdatenverkehr (wie Ihr Twitter und Snapchat) läuft über einen Bearer. Die SIP-Signalisierung für VoIP erfolgt über einen anderen, und die Sprachpakete werden über einen dritten verarbeitet. Ich bin nicht besonders gut in den Mechanismen von Funkkanälen und LTE-Netzwerkrouting, aber ich nehme an, dass dies so gemacht wird, weil LTE-Netzwerke die QoS-Mechanismen (Quality of Service) sicherstellen wollen, sodass verschiedene Datenströme mit unterschiedlichen Prioritätslevels verarbeitet werden: d.h. Ihre zweitrangigen TCP-Verbindungen zu Facebook können eine niedrigere Priorität haben als Ihre Echtzeit-Sprachgespräche.

Das ist eigentlich kein Problem, aber die Folgen sind wie folgt. Bei der Einrichtung eines neuen "bearers" werden die Schlüssel zur Verschlüsselung von LTE jedes Mal neu erstellt. Grundsätzlich sollte dies jedes Mal passieren, wenn Sie ein neues Telefonat führen. Dadurch wird für jedes Gespräch ein anderer Verschlüsselungsschlüssel verwendet, was ausschließt, dass derselbe Schlüssel zur Verschlüsselung zweier unterschiedlicher Sprachtelefonate wiederverwendet wird. Tatsächlich besagt der LTE-Standard etwa: „Sie sollten bei der Einrichtung eines neuen bearers für die Bearbeitung eines neuen Telefonanrufs unterschiedliche Schlüssel verwenden“. Das bedeutet jedoch nicht, dass dies auch tatsächlich so geschieht.

In der Praxis verwenden tatsächlich zwei verschiedene Anrufe, die in unmittelbarem zeitlichem Abstand erfolgen, denselben Schlüssel - trotz der Tatsache, dass zwischen ihnen neue (mit demselben Namen bezeichnete) bearer eingerichtet werden. Die einzige praktische Änderung, die zwischen diesen Anrufen erfolgt, besteht darin, dass der Verschlüsselungszähler auf null zurückgesetzt wird. In der Literatur wird dies manchmal als Angriff auf die Wiederherstellung des Schlüssels. Es kann gesagt werden, dass es im Grunde genommen ein Implementierungsfehler ist, obwohl in diesem Fall die Risiken offenbar größtenteils aus dem Standard selbst resultieren.

In der Praxis führt dieser Angriff zur Wiederverwendung des Schlüsselstroms, wobei der Angreifer verschlüsselte Pakete $inline$C_1 = M_1 oplus KS$inline$ und $inline$C_2 = M_2 oplus KS$inline$ erhalten kann, was es ermöglicht, $inline$C_1 oplus C_2 = M_1 oplus M_2$inline$ zu berechnen. Noch besser, wenn der Angreifer eines der $inline$M_1$inline$ oder $inline$M_2$inline$ kennt, kann er sofort das andere wiederherstellen. Dies gibt ihm einen starken Anreiz einen der beiden unverschlüsselten Komponenten zu erfahren..

Das führt uns zu dem vollständigsten und effektivsten Angriffszenario. Stellen wir uns einen Angreifer vor, der den Funkverkehr zwischen dem Zieltelefon und dem Mobilfunkturm abfangen kann und zufällig zwei verschiedene Anrufe aufgezeichnet hat, wobei der zweite direkt nach dem ersten stattfindet. Stellen Sie sich nun vor, dass er irgendwie den unverschlüsselten Inhalt eines der Anrufe erraten kann. Bei einem solchen glücklichen Zufall. Unser Angreifer kann den ersten Anruf vollständig entschlüsseln, indem er ein einfaches XOR zwischen zwei Paketsets anwendet.

Natürlich hat das nichts mit Glück zu tun. Da Telefone für den Empfang von Anrufen bestimmt sind, kann ein Angreifer, der den ersten Anruf abhören kann, einen zweiten Anruf genau in dem Moment initiieren, wenn der erste endet. Dieser zweite Anruf ermöglicht es, unverschlüsselte Daten wiederherzustellen, wenn der gleiche Verschlüsselungsschlüssel mit einem zurückgesetzten Zähler erneut verwendet wird. Darüber hinaus kann unser Angreifer, da er die Daten während des zweiten Anrufs kontrolliert, den Inhalt des ersten Anrufs wiederherstellen – dank zahlreicher spezifisch implementierter Details, die ihm zugutekommen.

Hier ist eine Darstellung des allgemeinen Angriffsplans, entnommen aus dem ursprünglichen Dokument:

Angriff der Woche: Sprachübertragungen in LTE (ReVoLTE)
Übersicht des Angriffs aus dem ReVoLTE-Dokument. Dieses Schema geht davon aus, dass zwei verschiedene Anrufe mit demselben Schlüssel stattfinden. Der Angreifer kontrolliert einen passiven Sniffer (oben links) und ein zweites Telefon, mit dem er den zweiten Anruf an das Opfertelefon durchführen kann.

Funktioniert der Angriff wirklich?

Einerseits ist dies in der Tat die zentrale Frage für einen Artikel über ReVoLTE. Theoretisch sind alle oben genannten Ideen großartig, werfen jedoch viele Fragen auf, wie zum Beispiel:

  1. Ist es akademischen Forschern tatsächlich möglich, eine VoLTE-Verbindung abzufangen?
  2. Setzen reale LTE-Systeme tatsächlich Schlüssel neu ein?
  3. Kann man tatsächlich einen zweiten Anruf so schnell und zuverlässig initiieren, dass das Telefon und der Sendemast den Schlüssel erneut verwenden?
  4. Selbst wenn Systeme Schlüssel neu einsetzen, ist es möglich, den unverschlüsselten Inhalt des zweiten Anrufs zu entschlüsseln – unter Berücksichtigung, dass Dinge wie Codecs und Rekodierung den Inhalt dieses zweiten Anrufs (bitweise) komplett verändern können, selbst wenn Sie Zugriff auf die „Bits“ aus Ihrem angreifenden Telefon haben?

Auf einige dieser Fragen gibt die Arbeit von ReVoLTE positive Antworten. Die Autoren verwenden einen kommerziellen programmierbar rekonfigurierbaren Funkstrom-Sniffer namens Airscope für die Abhörung von VoLTE-Anrufen auf der abgehenden Leitung. (Ich denke, dass das bloße Beherrschen der Software und ein gewisses Verständnis ihrer Funktionsweise den armen Doktoranden Monate ihres Lebens gekostet haben – was typisch für solche akademischen Forschungen ist).

Die Forscher fanden heraus, dass für die Wiederverwendung des Schlüssels der zweite Anruf ausreichend schnell nach dem ersten stattfinden muss, aber nicht zu schnell – etwa zehn Sekunden für die Betreiber, mit denen sie experimentiert haben. Glücklicherweise spielt es keine Rolle, ob der Benutzer in dieser Zeit den Anruf annimmt – der "Anruf", also die SIP-Verbindung selbst, zwingt den Betreiber, denselben Schlüssel wieder zu verwenden.

Viele der gravierendsten Probleme drehen sich um die Herausforderung (4) – den Erhalt von unverschlüsselten Dateninhalt eines Anrufs, der von einem Angreifer initiiert wurde. Dies geschieht, weil mit Ihren Daten viel geschehen kann, während sie von dem Telefon des Angreifers zum Telefon des Opfers über das Mobilfunknetz übertragen werden. Zum Beispiel können solche Tricks wie die Neukodierung des kodierten Audio-Streams erfolgen, die den Klang unverändert lässt, jedoch dessen binäre Darstellung völlig verändert. In LTE-Netzen wird zudem Header-Komprimierung für RTP verwendet, die einen Großteil des RTP-Pakets erheblich beeinflussen kann.

Schließlich müssen die vom Angreifer gesendeten Pakete in etwa mit den Paketen übereinstimmen, die während des ursprünglichen Telefonanrufs gesendet wurden. Dies kann problematisch sein, da Modifikationen von Stille während eines Anrufs zu kürzeren Nachrichten führen (sogenannter Komfortrausch), die schlecht mit dem ursprünglichen Anruf harmonieren können.

Bereich „Echte Welt-Angriffe“ Es lohnt sich, alle Details zu lesen. Viele der oben genannten Probleme werden behandelt – insbesondere fanden die Autoren heraus, dass einige Codecs nicht rekodiert wurden und dass etwa 89 % der binären Darstellung des Zielaufrufs wiederhergestellt werden können. Dies ist zumindest für zwei getestete europäische Anbieter relevant.

Das ist eine erstaunlich hohe Erfolgsquote, und ehrlich gesagt, deutlich höher, als ich erwartet hatte, als ich mit der Arbeit an diesem Dokument begann.

Was können wir also zur Behebung unternehmen?

Die sofortige Antwort auf diese Frage ist äußerst einfach: Da die Essenz der Schwachstelle in der Wiederverwendung (Reinstallation) des Schlüssels besteht, sollten Sie einfach dieses Problem beheben. Stellen Sie sicher, dass für jeden Anruf ein neuer Schlüssel generiert wird und lassen Sie niemals den Paketzähler mit demselben Schlüssel auf Null zurücksetzen. Problem gelöst!

Vielleicht auch nicht. Dafür wäre eine umfangreiche Aufrüstung der Hardware erforderlich, und ehrlich gesagt ist eine solche Fixierung allein nicht besonders zuverlässig. Es wäre wünschenswert, wenn die Standards einen sichereren Weg finden könnten, um ihre Verschlüsselungsmodi zu implementieren, der nicht von Natur aus katastrophal anfällig für Probleme mit Schlüsselwiederverwendungen ist.

Eine der möglichen Optionen ist die Verwendung von Verschlüsselungsmodi, bei denen die nicht zielgerichtete Nutzung von Nonce nicht zu katastrophalen Konsequenzen führt. Dies könnte für einige moderne Hardware zu teuer sein, aber es ist definitiv eine Richtung, über die Designer in der Zukunft nachdenken sollten, besonders angesichts der Tatsache, dass die 5G-Standards bald die Welt erobern werden.

Diese neue Forschung wirft auch die allgemeine Frage auf, warum die gleichen verdammten Angriffe in einem Standard nach dem anderen weiterhin auftreten, viele von ihnen verwenden sehr ähnliche Konstruktionen und Protokolle. Wenn Sie auf das Problem stoßen, denselben Schlüssel in mehreren weit verbreiteten Protokollen wie WPA2 neu zu installieren, kommt Ihnen dann nicht der Gedanke, dass es vielleicht an der Zeit ist, Ihre Spezifikationen und Testverfahren zuverlässiger zu gestalten? Es reicht, die Standardimplementierer als nachdenkliche Partner zu betrachten, die Ihre Warnungen ernst nehmen. Behandeln Sie sie wie (unbeabsichtigte) Gegner, die unvermeidlich alles falsch implementieren werden.

Oder als Alternative könnten wir das tun, was immer mehr Unternehmen wie Facebook und Apple machen: Das Verschlüsseln von Sprachanrufen auf einer höheren Ebene des OSI-Netzwerkstapels ermöglichen, ohne auf die Hardware-Hersteller von Mobilfunkanbietern angewiesen zu sein. Wir könnten sogar Ende-zu-Ende-Verschlüsselung von Sprachrufen fördern, wie es WhatsApp mit Signal und FaceTime tut, in der Annahme, dass die US-Regierung einfach aufhören wird, uns Steine in den Weg zu legen.. In einer Welt, in der viele dieser Probleme (mit Ausnahme einiger Metadaten) einfach verschwinden würden, ist diese Lösung besonders relevant. sogar Regierungen sich nicht sicher sind, ob sie ihren Hardwareanbietern vertrauen..

Oder wir könnten einfach das tun, was unsere Kinder bereits getan haben: Aufhören, auf diese lästigen Sprach-Anrufe zu antworten.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster