Angriff der Woche: Sprachanrufe in LTE (ReVoLTE)

Vom Übersetzer und TL;DR

  1. TL;DR:

    Es scheint, dass VoLTE noch schlechter geschützt ist als die ersten WLAN-Clients mit WEP. Ein rein architektonischer Fehler, der es ermöglicht, den Verkehr ein wenig zu XORen und den Schlüssel wiederherzustellen. Der 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 festzustellen, ob Ihr Anbieter anfällig ist, detaillierter hier. Teilen Sie die Ergebnisse in den Kommentaren, in meiner Region ist VoLTE bei MegaFon deaktiviert.

Über den Autor

Matthew Green.

Ich bin Kryptograph und Professor an der Johns-Hopkins-Universität. Ich habe kryptographische Systeme entwickelt und analysiert, die in drahtlosen Netzwerken, Zahlungssystemen und Plattformen zum Schutz digitaler Inhalte verwendet werden. In meiner Forschung betrachte ich verschiedene Möglichkeiten, Kryptographie zu nutzen, um das Datenschutzniveau der Benutzer zu erhöhen.

Es ist lange her, dass ich einen Beitrag im Format „Angriff der Woche“, geschrieben habe, und das hat mich gestört. Nicht weil es keine Angriffe gab, sondern hauptsächlich, weil es keinen Angriff auf etwas ausreichend Verbreitetes gab, um mich aus meiner kreativen Krise zu holen.

Aber heute bin ich auf einen interessanten Angriff gestoßen, genannt ReVoLTE, auf Protokolle, deren Brechung mir besonders Freude bereitet, nämlich auf die Mobilfunkprotokolle (Voice over) LTE. Ich bin begeistert von gerade diesen Protokollen – und diesem neuen Angriff – weil es sehr selten ist, echte Protokolle und Implementierungen von Mobilfunknetzen zu beobachten, die verletzt werden. Hauptsächlich, weil diese Standards in verrauchten Räumen entwickelt und in 12000-seitigen Dokumenten festgehalten werden, die nicht jeder Forscher bewältigen kann. Darüber hinaus erfordert die Durchführung dieser Angriffe, dass die Forscher komplizierte Funkprotokolle nutzen.

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

Autoren Angriffe: 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, das Sie wahrscheinlich bereits verwenden (vorausgesetzt, Sie gehören zur älteren Generation, die immer noch Telefongespräche mit dem Mobiltelefon führt).

Zunächst – ein kurzer historischer Rückblick.

Was sind LTE und VoLTE?

Die Grundlage unserer modernen Standards für Mobilfunk wurde in Europa bereits in den 80er Jahren durch den Standard Global System for Mobile (Globales System für Mobilkommunikation) gelegt. GSM war der erste wesentliche Standard der digitalen Mobilkommunikation, der eine Reihe revolutionärer Funktionen einführte, wie zum Beispiel die Verwendung von Verschlüsselung zum Schutz von Telefongesprächen. Frühes GSM wurde hauptsächlich für die Sprachkommunikation entwickelt, obwohl man gegen Gebühr auch andere Daten übertragen konnte..

Im Laufe der Zeit, als die Bedeutung der Datenübertragung im Mobilfunk zunahm, wurden die Standards Long Term Evolution (LTE) entwickelt, um diese Art der Kommunikation effizienter zu gestalten. LTE basiert auf einer Gruppe älterer Standards wie GSM, EDGE und HSPA und ist darauf ausgelegt, die Datenübertragungsraten zu erhöhen. In diesem Bereich gibt es viel Branding und irreführende Benennungen,aber TL;DR ist, dass LTE ein Datentransfersystem ist, das eine Brücke zwischen alten Protokollen der Paketübertragung und zukünftigen Technologien der mobilen Datenübertragung 5G..

Natürlich sagt uns die Geschichte, dass, sobald genügend (IP) Bandbreite vorhanden ist, Konzepte wie „Sprache“ und „Daten“ anfangen werden, sich zu vermischen. Das Gleiche 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 Übertragung von Sprachtelefonaten direkt über die Datenebene des LTE-Systems darstellt, wodurch der schaltbare Teil des Mobilfunknetzes vollständig umgangen wird. Wie bei herkömmlichen VoIP-Anrufen können VoLTE-Anrufe vom Mobilfunkanbieter terminiert und mit dem normalen Telefonnetz verbunden werden. Oder (was zunehmend häufig vorkommt) siekönnen weitergeleitet werden. können weitergeleitet werden direkt von einem Mobilfunkkunden zum anderen und sogar zwischen verschiedenen Anbietern.

Wie bei standardmäßiger VoIP basiert VoLTE auf zwei beliebten IP-basierten Protokollen: dem Sitzungsinitiationsprotokoll (Session Initiation Protocol – SIP) zur Anrufeinrichtung und dem Echtzeit-Transportprotokoll (Real Time Transport Protocol, das RTTP genannt werden sollte, tatsächlich aber RTP heißt) zur Verarbeitung von Sprachdaten. VoLTE fügt auch einige zusätzliche Bandbreitenoptimierungen hinzu, wie z. B. Header-Komprimierung.

Okay, was hat das mit Verschlüsselung zu tun?

LTE hat, wie das GSM, einen Standard-Satz von kryptografischen Protokollen zur Verschlüsselung von Paketen während ihrer Übertragung über Luft. Sie sind hauptsächlich dazu gedacht, Ihre Daten während der Übertragung zwischen dem Telefon (das als „Benutzergerät“ oder UE bezeichnet wird) und dem Mobilfunkmast (oder wo auch immer Ihr Anbieter entscheidet, die Verbindung zu terminieren) zu schützen. Das geschieht, weil Mobilfunkanbieter externe Abhörgeräte als Feinde betrachten. Natürlich.

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

Historisch gesehen hatte die Verschlüsselung in GSM viele Schwachstellen: schlechte Verschlüsselungen, Protokolle, bei denen nur das Telefon sich am Mast authentifizierte (das bedeutet, dass ein Angreifer sich als Mast ausgeben konnte und damit einen „Stingray“) und so weiter. LTE hat viele der offensichtlichen Fehler behoben und gleichzeitig die meisten der alten Strukturen beibehalten.

Lassen Sie uns mit der Verschlüsselung selbst beginnen. Angenommen, die Schlüsselerstellung hat bereits stattgefunden – und wir werden gleich darüber sprechen – dann wird jedes Datenpaket mit einem Stromverschlüsselungsverfahren unter Verwendung einer bestimmten Verschlüsselung namens „EEA“ verschlüsselt (die in der Praxis durch Dinge wie AES umgesetzt werden kann). Im Wesentlichen ist der Verschlüsselungsmechanismus hier CTR, wie unten gezeigt:

Angriff der Woche: Sprachanrufe in LTE (ReVoLTE)
Der Hauptalgorithmus zur Verschlüsselung von VoLTE-Paketen (Quelle: ReVoLTE). EEA – einen Verschlüsselungsalgorithmus, „COUNT“ – einen 32-Bit-Zähler, „BEARER“ – eine eindeutige Sitzungs-ID, die VoLTE-Verbindungen und den normalen Internetverkehr trennt. „DIRECTION“ gibt an, in welche Richtung der Verkehr fließt – von UE zu dem Sendemast oder umgekehrt.

Da der Verschlüsselungsalgorithmus selbst (EEA) mit einem starken Verschlüsselungsalgorithmus wie AES implementiert werden kann, ist es sehr unwahrscheinlich, dass es einen direkten Angriff auf den Algorithmus gibt, wie dies in den Zeiten von GSM der Fall war.Es ist jedoch offensichtlich, dass diese Verschlüsselungsmethode selbst bei starker Verschlüsselung ein ausgezeichnetes Mittel zur Selbstschädigung darstellt.

Insbesondere wird im LTE-Standard ein (nicht authentifizierter) Stromverschlüsselungsmodus verwendet, der extrem anfällig sein wird, wenn der Zähler – und andere Eingaben wie „bearer“ und „direction“ – irgendwann wiederverwendet werden. In der modernen Terminologie wird dieses Konzept als „Attcke mit wiederverwendetem Nonce“ bezeichnet, aber die potenziellen Risiken sind nicht neu. Sie sind bekannt und uralt, bis in die Zeiten des Glam-Metals und sogar der Disco.

Angriff der Woche: Sprachanrufe in LTE (ReVoLTE)
Angriffe zur Wiederverwendung von Nonce im CTR-Modus gab es schon zu der Zeit, als Poison bekannt wurden.

Um fair zu sein, wird in den LTE-Standards gesagt: „Verwenden Sie diese Zähler bitte nicht wieder“. Aber die LTE-Standards umfassen etwa 7000 Seiten, und es ist letztlich so, als würde man Kinder bitten, nicht mit einer Waffe zu spielen. Sie werden es zwangsläufig tun, und es wird schreckliche Dinge passieren. In diesem Fall ist die gefährliche Waffe die Angriffstechnik zur Wiederverwendung des Schlüsselstroms, bei der zwei verschiedene vertrauliche Nachrichten mit denselben Bytes des Schlüsselstroms XOR-verknüpft werden. Bekanntlich hat dies äußerst destruktive Auswirkungen auf die Vertraulichkeit der Nachrichten..

Was ist ReVoLTE?

Der ReVoLTE-Angriff zeigt, dass diese äußerst anfällige Verschlüsselungskonstruktion in der Praxis von realer Hardware falsch verwendet wird. Insbesondere analysieren die Autoren echte VoLTE-Anrufe, die mit kommerzieller Hardware durchgeführt wurden, und zeigen, dass sie etwas verwenden können, das als „Key-Renewal-Angriff“ bezeichnet wird. (Ein großer Dank für die Entdeckung dieses Problems geht an Raze und Lu. (Raza & Lu), die erstmals auf eine potenzielle Schwachstelle hingewiesen haben. Doch die ReVoLTE-Studien verwandeln sie in einen praktischen Angriff.

Lassen Sie mich Ihnen kurz die Essenz des Angriffs zeigen, obwohl Sie sich auch das Ursprungsdokument.

ansehen sollten. Man kann annehmen, dass, sobald LTE eine Verbindung für die Datenübertragung herstellt, die Übertragung von Sprache über LTE lediglich eine Frage der Routenführung von Sprachpaketen über diese Verbindung zusammen mit dem gesamten anderen Verkehr ist. Mit anderen Worten, VoLTE wird ein Konzept sein, das nur über Ebene 2 [OSI-Modell – siehe Beisp.]. Das ist nicht ganz richtig. Tatsächlich führt die Sicherungsebene von LTE das Konzept des „Bearers“ ein. Ein Bearer sind separate Sitzungsidentifikatoren, die verschiedene Arten von Paketverkehr trennen. Der gewöhnliche Internetverkehr (Ihr Twitter und Snapchat) läuft über einen Bearer. Die SIP-Signalisierung für VoIP erfolgt über einen anderen, während Sprachverkehrspakete über einen dritten bearbeitet werden. Ich kenne mich nicht besonders gut mit den Mechanismen der Funkkanäle und der Netzwerk-Routenführung von LTE aus, denke aber, dass dies so gemacht wird, weil LTE-Netzwerke eine ordnungsgemäße Funktion der QoS-Mechanismen (Quality of Service) gewährleisten wollen, damit verschiedene Paketströme mit unterschiedlichen Prioritätsstufen bearbeitet werden: d.h. Ihre

weniger wichtigen TCP-Verbindungen mit Facebook könnten eine niedrigere Priorität haben als Ihre Echtzeit-Sprachanrufe. Im Großen und Ganzen ist das kein Problem, aber die Folgen sind die folgenden. Die Schlüssel für die LTE-Verschlüsselung werden jedes Mal separat erstellt, wenn ein neuer „Bearer“ eingerichtet wird. Prinzipiell sollte dies jedes Mal neu geschehen, wenn Sie einen neuen Anruf tätigen. Dadurch wird sichergestellt, dass für jeden Anruf ein anderer Verschlüsselungsschlüssel verwendet wird, was die Wiederverwendung desselben Schlüssels zur Verschlüsselung zweier verschiedener Sätze von Sprachpaketen ausschließt. Tatsächlich besagt der LTE-Standard so etwas wie: „Sie sollten bei jedem neuen Bearer, der zur Behandlung eines neuen Anrufs eingerichtet wird, unterschiedliche Schlüssel verwenden.“ Aber das bedeutet nicht, dass das tatsächlich so geschieht.

Das ist im Grunde kein Problem, aber die folgenden Konsequenzen ergeben sich daraus. Die Schlüssel zur Verschlüsselung von LTE werden jedes Mal separat erstellt, wenn ein neuer „Bearer“ eingerichtet wird. Im Prinzip sollte dies jedes Mal wiederholt werden, wenn Sie einen neuen Anruf tätigen. Dies bedeutet, dass bei jedem Anruf ein anderer Verschlüsselungsschlüssel verwendet wird, was die Möglichkeit ausschließt, denselben Schlüssel zur Verschlüsselung von zwei verschiedenen VoIP-Paket-Sets wiederzuverwenden. Tatsächlich besagt der LTE-Standard so etwas wie: „Sie sollten bei jedem neuen Bearer, den Sie zur Bearbeitung eines neuen Anrufs einrichten, unterschiedliche Schlüssel verwenden“. Aber das bedeutet nicht, dass dies in der Praxis auch so geschieht.

In der Tat werden in praktischen Implementierungen zwei unterschiedliche Aufrufe, die in unmittelbarer zeitlicher Nähe erfolgen, denselben Schlüssel verwenden – obwohl zwischen ihnen neue (gleichnamige) Bearer eingerichtet werden. Die einzige praktische Änderung, die zwischen diesen Aufrufen geschieht, besteht darin, dass der Verschlüsselungszähler auf Null zurückgesetzt wird. In der Literatur wird dies manchmal als Key-Reinstallation-Attacke. Man könnte argumentieren, dass dies im Wesentlichen ein Implementierungsfehler ist, obwohl in diesem Fall die Risiken offenbar weitgehend aus dem Standard selbst resultieren.

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

Das führt uns zu einem vollständigen und effektivsten Angriffszenario. Stellen wir uns einen Angreifer vor, der den Funkverkehr zwischen dem Zieltelefon und dem Mobilfunkmast abfangen kann und der es irgendwie „geschafft hat“, zwei unterschiedliche Anrufe aufzuzeichnen, wobei der zweite direkt nach dem ersten erfolgt. Stellen Sie sich nun vor, dass er irgendwie den unverschlüsselten Inhalt eines der Anrufe erraten kann. Bei solch einer glücklichen Fügung kann unser Angreifer den ersten Anruf vollständig entschlüsseln, indem er einfach XOR zwischen den beiden Paketsets anwendet.

Natürlich hat Glück hier nichts verloren. Da Telefone für den Empfang von Anrufen gedacht sind, wird ein Angreifer, der den ersten Anruf abhören kann, in der Lage sein, den zweiten Anruf genau in dem Moment einzuleiten, wenn der erste endet. Dieser zweite Anruf, im Falle der Wiederverwendung desselben Verschlüsselungsschlüssels mit einem auf Null zurückgesetzten Zähler, ermöglicht die Wiederherstellung der unverschlüsselten Daten. Darüber hinaus kann unser Angreifer, da er während des zweiten Anrufs tatsächlich die Daten kontrolliert, den Inhalt des ersten Anrufs wiederherstellen – dank einer Vielzahl spezifisch umgesetzter Kleinigkeiten, die auf seiner Seite spielen.

Hier ist eine Darstellung des allgemeinen Angriffsplans, entnommen von Originaldokument:

Angriff der Woche: Sprachanrufe in LTE (ReVoLTE)
Überblick über den Angriff aus Dokument ReVoLTE. Dieses Schema sieht vor, dass zwei verschiedene Anrufe mit demselben Schlüssel stattfinden. Der Angreifer kontrolliert einen passiven Sniffer (oben links) sowie ein zweites Telefon, mit dem er einen zweiten Anruf an das Telefon des Opfers tätigen kann.

Funktioniert der Angriff wirklich?

Auf der einen Seite ist das wirklich die zentrale Frage für den Artikel über ReVoLTE. Theoretisch sind all die oben genannten Ideen großartig, werfen aber viele Fragen auf. Solche wie:

  1. Ist es (akademischen Forschern) tatsächlich möglich, ein VoLTE-Gespräch abzufangen?
  2. Stellen reale LTE-Systeme die Schlüssel tatsächlich neu ein?
  3. Kann man tatsächlich einen zweiten Anruf schnell genug und zuverlässig initiieren, damit das Telefon und der Sendemast denselben Schlüssel wiederverwenden?
  4. Selbst wenn Systeme die Schlüssel neu einstellen, kann man tatsächlich den unverschlüsselten Inhalt des zweiten Anrufs erkennen – wenn man bedenkt, dass Dinge wie Codecs und Neucodierung den (bitweisen) Inhalt dieses zweiten Anrufs vollständig ändern können, selbst wenn man Zugang zu den "Bits" hat, die von deinem angreifenden Telefon ausgehen?

Auf einige dieser Fragen gibt die Arbeit zu ReVoLTE eine positive Antwort. Die Autoren verwenden einen kommerziellen softwarekonfigurierbaren Sniffer für den Funkstream namens Airscope zum Abfangen des VoLTE-Anrufs von der absteigenden Linie. (Ich denke, dass das einfache Beherrschen der Software und ein grobes Verständnis, wie sie funktioniert, den armen Doktoranden Monate des Lebens gekostet haben – was für solche akademischen Forschungen typisch ist).

Die Forscher fanden heraus, dass für das Auslösen der Schlüsselwiederverwendung der zweite Anruf schnell genug nach Abschluss des ersten stattfinden muss, aber nicht zu schnell – etwa zehn Sekunden für die Betreiber, mit denen sie experimentierten. Glücklicherweise spielt es keine Rolle, ob der Benutzer während dieser Zeit den Anruf entgegennimmt – der "Anruf", d.h. die SIP-Verbindung selbst zwingt den Betreiber dazu, denselben Schlüssel erneut zu verwenden.

Viele der ernsthaftesten Probleme hängen mit dem Problem (4) – dem Empfangen von unverschlüsselten Inhalten eines Anrufs, der von einem Angreifer initiiert wurde, zusammen. Dies geschieht, weil mit Ihren Inhalten viel passieren kann, während sie vom Telefon des Angreifers zum Telefon des Opfers über das Mobilfunknetz übertragen werden. Zum Beispiel kann es zu Störungen wie der Umkodierung eines kodierten Audio-Streams kommen, die den Klang unverändert lässt, aber seine binäre Darstellung völlig verändert. In LTE-Netzen wird auch Header-Komprimierung von RTP verwendet, die einen Großteil des RTP-Pakets erheblich verändern kann.

Schließlich müssen die Pakete, die vom Angreifer gesendet werden, in etwa mit den Paketen übereinstimmen, die während des ersten Telefonanrufs gesendet wurden. Das kann problematisch sein, da die Modifikation von Stille während des Telefonanrufs zu kürzeren Nachrichten führt (sogenanntes Komfortrauschen), die schlecht mit dem ursprünglichen Anruf synchronisiert werden können.

Der Abschnitt „real world attack“ sollte im Detail gelesen werden. Er behandelt viele der oben genannten Probleme – insbesondere haben die Autoren festgestellt, dass einige Codecs nicht umkodiert werden und dass ungefähr 89 % der binären Darstellung des Zielanrufs wiederhergestellt werden können. Dies ist mindestens für zwei europäische Betreiber relevant, die getestet wurden.

Das ist eine erstaunlich hohe Erfolgsquote und, um ehrlich zu sein, viel höher, als ich erwartet hatte, als ich begann, an diesem Dokument zu arbeiten.

Was können wir also zur Behebung dieses Problems unternehmen?

Die unmittelbare Antwort auf diese Frage ist ganz einfach: Da die Essenz der Verwundbarkeit in einem Angriff auf die Wiederverwendung (Reinstallation) des Schlüssels liegt, beheben Sie einfach dieses Problem. Stellen Sie sicher, dass für jeden Telefonanruf ein neuer Schlüssel erhalten wird, und erlauben Sie niemals, dass der Paketzähler mit demselben Schlüssel auf null zurückgesetzt wird. Problem gelöst!

Vielleicht auch nicht. Dafür wäre eine Modernisierung einer großen Anzahl von Geräten erforderlich, und ehrlich gesagt ist eine solche Fixierung für sich genommen nicht besonders zuverlässig. Es wäre schön, wenn die Standards einen sichereren Weg finden könnten, um ihre Verschlüsselungsmodi umzusetzen, die nicht von vornherein katastrophal anfällig für solche Probleme bei der Wiederverwendung von Schlüsseln sind.

Eine der möglichen Optionen ist die Verwendung von Verschlüsselungsmodi, bei denen eine nicht zweckgebundene Verwendung von Nonce nicht zu katastrophalen Folgen führt. Das könnte für einige moderne Hardware zu teuer sein, aber es ist definitiv eine Richtung, über die die Designer in Zukunft nachdenken sollten, insbesondere 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, von denen viele sehr ähnliche Konstruktionen und Protokolle verwenden. Wenn Sie mit dem Problem konfrontiert sind, denselben Schlüssel in mehreren weit verbreiteten Protokollen wie WPA2 erneut zu installieren, haben Sie nicht das Gefühl, dass es vielleicht an der Zeit ist, Ihre Spezifikationen und Testverfahren zuverlässiger zu machen? Hören Sie auf, die Implementierer von Standards als nachdenkliche Partner zu betrachten, die auf Ihre Warnungen achten. Behandeln Sie sie wie (unfreiwillige) Gegner, die unvermeidlich alles falsch umsetzen werden.

Oder alternativ können wir das tun, was Unternehmen wie Facebook und Apple immer häufiger tun: Die Verschlüsselung von Sprachanrufen auf einer höheren Ebene des OSI-Netzwerkstapels durchzuführen, ohne auf Mobilgeräte-Hersteller angewiesen zu sein. Wir könnten sogar Ende-zu-Ende-Verschlüsselung für Sprachanrufe vorantreiben, so wie es WhatsApp mit Signal und FaceTime tut, in der Annahme, dass die US-Regierung einfach aufhört, uns Steine in den Weg zu legen. Dann würden viele dieser Probleme (außer einigen Metadaten) einfach verschwinden. Diese Lösung ist besonders relevant in einer Welt, in der sogar Regierungen sich nicht sicher sind, ob sie ihren Geräteanbietern vertrauen..

Oder wir können einfach das tun, was unsere Kinder schon getan haben: aufhören, diese lästigen Sprach-Anrufe zu beantworten.

Quelle: habr.com

60GB SSD 8Gb DDR4