Angriff der Woche: Sprachanrufe über LTE (ReVoLTE)

Vom Übersetzer und TL;DR

  1. TL; DR:

    Es scheint, dass VoLTE noch schlechter geschützt war als die ersten WLAN-Clients mit WEP. Eine ausschließlich architektonische Fehleinschätzung, die es Ihnen ermöglicht, den Datenverkehr ein wenig zu XORen und den Schlüssel wiederherzustellen. Ein Angriff ist möglich, wenn Sie sich in der Nähe des Anrufers befinden und dieser häufig telefoniert.

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

  3. Forscher haben eine App entwickelt, mit der Sie feststellen können, ob Ihr Mobilfunkanbieter anfällig ist. Lesen Sie mehr hier. Teilen Sie die Ergebnisse in den Kommentaren, VoLTE ist in meiner Region auf Megafon deaktiviert.

Über den Autor

Matthew Green.

Ich bin Kryptograf und Professor an der Johns Hopkins University. Ich habe kryptografische Systeme entworfen und analysiert, die in drahtlosen Netzwerken, Zahlungssystemen und Sicherheitsplattformen für digitale Inhalte verwendet werden. In meiner Forschung untersuche ich verschiedene Möglichkeiten, Kryptografie zur Verbesserung der Privatsphäre der Benutzer einzusetzen.

Es ist schon eine Weile her, seit ich ein Beitragsformat geschrieben habe „Angriff der Woche“, und es hat mich verärgert. Nicht, weil es keine Angriffe gab, sondern vor allem, weil es keinen Angriff auf etwas gab, das weit verbreitet genug war, um mich aus meiner Schreibblockade zu befreien.

Aber heute bin ich rübergekommen interessanter Angriff namens ReVoLTE für Protokolle, die ich besonders gerne hacke, nämlich LTE-Protokolle für Mobilfunknetze (Voice-Over). Ich freue mich über diese speziellen Protokolle – und diesen neuen Angriff –, da es sehr selten vorkommt, dass tatsächliche Protokolle und Implementierungen von Mobilfunknetzen gehackt werden. Vor allem, weil diese Standards in verrauchten Räumen entwickelt und in 12000-seitigen Dokumenten dokumentiert wurden, mit denen nicht jeder Forscher umgehen kann. Darüber hinaus zwingt die Umsetzung dieser Angriffe die Forscher dazu, komplexe Funkprotokolle zu verwenden.

Daher könnten sich schwerwiegende kryptografische Schwachstellen über die ganze Welt ausbreiten, möglicherweise nur um von Regierungen ausgenutzt zu werden, bevor irgendein Forscher davon Notiz nimmt. Aber von Zeit zu Zeit gibt es Ausnahmen, und der heutige Angriff ist eine davon.

Autoren AngriffeMitwirkende: 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 großartiger Angriff, um den Schlüssel in dem Sprachprotokoll neu zu installieren, das Sie wahrscheinlich bereits verwenden (vorausgesetzt, Sie gehören zu einer älteren Generation, die immer noch mit einem Mobiltelefon telefoniert).

Zunächst ein kurzer historischer Ausflug.

Was sind LTE und VoLTE?

Die Grundlage unserer modernen Mobilfunkstandards wurde bereits in den 80er Jahren in Europa durch den Standard gelegt Globales System für Mobilgeräte (Globales System für mobile Kommunikation). GSM war der erste große digitale Mobilfunkstandard, der eine Reihe revolutionärer Funktionen einführte, wie z Verschlüsselung um Telefongespräche zu schützen. Das frühe GSM war in erster Linie für die Sprachkommunikation konzipiert, obwohl Geld durchaus möglich wäre andere Daten übermitteln.

Da die Datenübertragung in der Mobilfunkkommunikation immer wichtiger wurde, wurden Long Term Evolution (LTE)-Standards entwickelt, um diese Art der Kommunikation zu optimieren. LTE basiert auf einer Gruppe älterer Standards wie GSM, EDGE и HSPA und soll die Geschwindigkeit des Datenaustauschs erhöhen. Es gibt viel Branding und irreführend durch falsche BezeichnungenDer entscheidende Punkt ist jedoch, dass LTE ein Datenübertragungssystem ist, das als Brücke zwischen älteren Paketdatenprotokollen und zukünftigen Mobilfunkdatentechnologien dient 5G.

Die Geschichte lehrt uns natürlich, dass Konzepte wie „Sprache“ und „Daten“ zu verschwimmen beginnen, sobald genügend (IP-)Bandbreite verfügbar ist. Gleiches gilt für moderne Mobilfunkprotokolle. Um diesen Übergang reibungsloser zu gestalten, werden LTE-Standards definiert Voice-over-LTE (VoLTE), ein IP-Standard für die direkte Übertragung von Sprachanrufen über die LTE-Datenebene, wobei der DFÜ-Teil des Mobilfunknetzes vollständig umgangen wird. Wie beim Standard VoIP-Anrufe,VoLTE-Anrufe können vom Mobilfunkbetreiber beendet und mit dem regulären Telefonnetz verbunden werden. Oder (was immer häufiger vorkommt) sie geroutet werden kann direkt von einem Mobilfunkkunden zum anderen und sogar zwischen verschiedenen Anbietern.

Wie Standard-VoIP basiert VoLTE auf zwei beliebten IP-basierten Protokollen: Session Initiation Protocol (Gesprächs Protokoll – SIP) für den Anrufaufbau und Echtzeit-Transportprotokoll (Echtzeit-Transportprotokoll, das eigentlich RTTP heißen sollte, aber eigentlich RTP heißt) zur Verarbeitung von Sprachdaten. VoLTE fügt außerdem einige zusätzliche Bandbreitenoptimierungen hinzu, beispielsweise die Header-Komprimierung.

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

LTE, so GSM, verfügt über einen Standardsatz kryptografischer Protokolle zum Verschlüsseln von Paketen, während diese über die Luft übertragen werden. Sie dienen hauptsächlich dem Schutz Ihrer Daten auf dem Weg zwischen dem Telefon (Benutzergerät oder UE genannt) und dem Mobilfunkmast (oder wo auch immer Ihr Anbieter die Verbindung beendet). Denn Mobilfunkanbieter betrachten externe Abhörgeräte als Feinde. Aber natürlich.

(Die Tatsache, dass VoLTE-Verbindungen direkt zwischen Clients in Netzwerken verschiedener Anbieter erfolgen können, bedeutet jedoch, dass das VoLTE-Protokoll selbst über einige zusätzliche und optionale Verschlüsselungsprotokolle verfügt, die auf höheren Netzwerkebenen auftreten können. Dies ist für den aktuellen Artikel nicht relevant, außer der Tatsache, dass Sie können alles ruinieren (wir werden als nächstes kurz darüber sprechen).

Historisch gesehen war die Verschlüsselung in GSM viele Schwachstellen: schlecht Chiffren, Protokolle, bei denen nur das Telefon gegenüber dem Tower authentifiziert wurde (was bedeutet, dass ein Angreifer sich als Tower ausgeben und generieren konnte "Stachelrochen") usw. LTE hat viele der offensichtlichen Fehler behoben und dabei weitgehend die gleiche Struktur beibehalten.

Beginnen wir mit der Verschlüsselung selbst. Unter der Annahme, dass die Schlüsselerstellung bereits stattgefunden hat – und darüber sprechen wir gleich – wird jedes Datenpaket mithilfe der Stream-Verschlüsselung mit etwas namens „EEA“ verschlüsselt (was in der Praxis mit Dingen wie AES implementiert werden kann). Im Wesentlichen handelt es sich hier um den Verschlüsselungsmechanismus CTRwie nachstehend:

Angriff der Woche: Sprachanrufe über LTE (ReVoLTE)
Der wichtigste Verschlüsselungsalgorithmus für VoLTE-Pakete (Quelle: ReVoLTE). EEA ist eine Chiffre, „COUNT“ ist ein 32-Bit-Zähler, „BEARER“ ist eine eindeutige Sitzungskennung, die VoLTE-Verbindungen vom regulären Internetverkehr trennt. „RICHTUNG“ gibt an, in welche Richtung der Verkehr fließt – vom UE zum Turm oder umgekehrt.

Da der Verschlüsselungsalgorithmus selbst (EEA) mit einer starken Verschlüsselung wie AES implementiert werden kann, ist es unwahrscheinlich, dass es auf diese Weise zu einem direkten Angriff auf die Verschlüsselung selbst kommt geschah in den Tagen von GSM. Es ist jedoch klar, dass dieses Verschlüsselungsschema selbst mit einer starken Verschlüsselung eine großartige Möglichkeit ist, sich selbst ins Bein zu schießen.

Insbesondere: Der LTE-Standard verwendet eine (nicht authentifizierte) Stream-Verschlüsselung mit einem Modus, der äußerst anfällig ist, wenn der Zähler – und andere Eingaben wie „Bearer“ und „Richtung“ – jemals wiederverwendet werden. Im modernen Sprachgebrauch lautet der Begriff für dieses Konzept „Nonce-Reuse-Angriff“, aber die potenziellen Risiken sind hier nichts Modernes. Sie sind berühmt und alt und reichen bis in die Zeit des Glam Metal und sogar der Disco zurück.

Angriff der Woche: Sprachanrufe über LTE (ReVoLTE)
Auch als Poison bekannt wurde, gab es Angriffe auf die Nonce-Wiederverwendung im CTR-Modus

Um fair zu sein, heißt es in den LTE-Standards: „Bitte verwenden Sie diese Messgeräte nicht wieder.“ Aber die LTE-Standards sind etwa 7000 Seiten lang, und auf jeden Fall ist es so, als würde man Kinder anflehen, nicht mit einer Waffe zu spielen. Das wird unweigerlich passieren, und es werden schreckliche Dinge passieren. In diesem Fall handelt es sich um einen Keystream-Wiederverwendungsangriff, bei dem zwei verschiedene vertrauliche Nachrichten dieselben Keystream-Bytes mit XOR versehen. Es ist bekannt, dass dies wirkt sich sehr destruktiv auf die Vertraulichkeit der Kommunikation aus.

Was ist ReVoLTE?

Der ReVoLTE-Angriff zeigt, dass dieses sehr anfällige Verschlüsselungsdesign in der Praxis von realer Hardware missbraucht wird. Konkret analysieren die Autoren echte VoLTE-Anrufe, die mit kommerziellen Geräten getätigt werden, und zeigen, dass sie einen sogenannten „Schlüssel-Neuinstallations-Angriff“ nutzen können. (Viel Anerkennung für die Entdeckung dieses Problems gebührt Reise und Lu (Raza & Lu), die als erste auf die potenzielle Schwachstelle hingewiesen haben. Aber die ReVoLTE-Forschung macht daraus einen praktischen Angriff.

Lassen Sie mich Ihnen kurz die Essenz des Angriffs zeigen, obwohl Sie hinschauen sollten Quelldokument.

Man könnte annehmen, dass, sobald LTE eine Paketdatenverbindung herstellt, die Aufgabe von Voice over LTE nur noch darin besteht, Sprachpakete zusammen mit dem gesamten übrigen Datenverkehr über diese Verbindung weiterzuleiten. Mit anderen Worten: VoLTE wird ein Konzept sein, das nur noch existiert Stufe 2 [OSI-Modelle – ca.]. Das ist nicht ganz richtig.

Tatsächlich führt die LTE-Verbindungsschicht das Konzept des „Trägers“ ein. Träger sind separate Sitzungskennungen, die verschiedene Arten von Paketverkehr trennen. Der reguläre Internetverkehr (Ihr Twitter und Snapchat) läuft über einen Träger. Die SIP-Signalisierung für VoIP erfolgt über einen anderen, und Sprachverkehrspakete werden über einen dritten verarbeitet. Ich kenne mich mit LTE-Funk- und Netzwerk-Routing-Mechanismen nicht besonders gut aus, glaube aber, dass dies auf diese Weise geschieht, weil LTE-Netzwerke QoS-Mechanismen (Quality of Service) erzwingen möchten, sodass unterschiedliche Paketströme mit unterschiedlichen Prioritätsstufen verarbeitet werden: d. h. dein zweitklassig TCP-Verbindungen zu Facebook haben möglicherweise eine niedrigere Priorität als Ihre Echtzeit-Sprachanrufe.

Dies stellt im Allgemeinen kein Problem dar, die Folgen sind jedoch wie folgt. Schlüssel für die LTE-Verschlüsselung werden bei jeder Installation eines neuen „Bearers“ separat erstellt. Grundsätzlich sollte dies bei jedem neuen Telefonat erneut passieren. Dies führt dazu, dass für jeden Anruf ein anderer Verschlüsselungsschlüssel verwendet wird, wodurch die Möglichkeit entfällt, denselben Schlüssel wiederzuverwenden, um zwei verschiedene Sätze von Sprachanrufpaketen zu verschlüsseln. Tatsächlich besagt der LTE-Standard so etwas wie „Sie sollten jedes Mal, wenn Sie einen neuen Träger installieren, einen anderen Schlüssel verwenden, um einen neuen Telefonanruf abzuwickeln.“ Dies bedeutet jedoch nicht, dass dies tatsächlich geschieht.

Tatsächlich verwenden in realen Implementierungen zwei verschiedene Anrufe, die in unmittelbarer zeitlicher Nähe stattfinden, denselben Schlüssel – trotz der Tatsache, dass zwischen ihnen neue Träger mit demselben Namen konfiguriert sind. Die einzige praktische Änderung, die zwischen diesen Aufrufen auftritt, besteht darin, dass der Verschlüsselungszähler auf Null zurückgesetzt wird. In der Literatur wird dies manchmal auch genannt Schlüssel-Neuinstallationsangriff. Man könnte argumentieren, dass es sich im Wesentlichen um einen Implementierungsfehler handelt, obwohl in diesem Fall die Risiken offenbar weitgehend vom Standard selbst herrühren.

In der Praxis führt dieser Angriff zu einer Wiederverwendung des Schlüsselstroms, wobei der Angreifer die verschlüsselten Pakete $inline$C_1 = M_1 oplus KS$inline$ und $inline$C_2 = M_2 oplus KS$inline$ erhalten kann, was die Berechnung von $inline$ ermöglicht C_1 oplus C_2 = M_1 oplus M_2$inline$. Noch besser: Wenn der Angreifer entweder $inline$M_1$inline$ oder $inline$M_2$inline$ kennt, kann er den anderen sofort wiederherstellen. Das gibt ihm einen starken Anreiz Finden Sie eine der beiden unverschlüsselten Komponenten heraus.

Dies bringt uns zum vollständigen und effektivsten Angriffsszenario. Stellen Sie sich einen Angreifer vor, der den Funkverkehr zwischen einem Zieltelefon und einem Mobilfunkmast abfangen kann und der irgendwie das Glück hat, zwei verschiedene Anrufe aufzuzeichnen, wobei der zweite unmittelbar nach dem ersten erfolgt. Stellen Sie sich nun vor, er könnte den unverschlüsselten Inhalt eines der Anrufe irgendwie erraten. Mit solchen glücklicher Zufall Unser Angreifer kann den ersten Anruf mithilfe einer einfachen XOR-Verknüpfung zwischen den beiden Paketsätzen vollständig entschlüsseln.

Natürlich hat Glück nichts damit zu tun. Da Telefone für den Empfang von Anrufen konzipiert sind, kann ein Angreifer, der den ersten Anruf mithört, genau in dem Moment, in dem der erste Anruf endet, einen zweiten Anruf einleiten. Dieser zweite Aufruf ermöglicht die Wiederherstellung der unverschlüsselten Daten, wenn derselbe Verschlüsselungsschlüssel erneut verwendet wird und der Zähler auf Null zurückgesetzt wird. Da unser Angreifer außerdem beim zweiten Anruf tatsächlich die Daten kontrolliert, kann er dank vieler spezieller Implementierungen den Inhalt des ersten Anrufs wiederherstellen kleine Dinge, spielt auf seiner Seite.

Hier ist ein Bild des allgemeinen Angriffsplans Das echte Dokument:

Angriff der Woche: Sprachanrufe über LTE (ReVoLTE)
Angriffsübersicht von ReVoLTE-Dokument. Bei diesem Schema wird davon ausgegangen, dass zwei verschiedene Anrufe mit derselben Taste getätigt werden. Der Angreifer steuert den passiven Schnüffler (oben links) sowie ein zweites Telefon, mit dem er einen zweiten Anruf auf das Telefon des Opfers tätigen kann.

Funktioniert der Angriff also wirklich?

Einerseits ist das wirklich die Hauptfrage für den Artikel über ReVoLTE. Alle oben genannten Ideen sind theoretisch großartig, lassen jedoch viele Fragen offen. Sowie:

  1. Ist es (für akademische Forscher) möglich, eine VoLTE-Verbindung tatsächlich abzufangen?
  2. Können echte LTE-Systeme tatsächlich umgeschlüsselt werden?
  3. Können Sie tatsächlich einen zweiten Anruf schnell und zuverlässig genug einleiten, damit Telefon und Tower den Schlüssel wiederverwenden können?
  4. Können Sie den unverschlüsselten Inhalt des zweiten Anrufs tatsächlich kennen, selbst wenn die Systeme eine Neuverschlüsselung vornehmen? Vorausgesetzt, dass Dinge wie Codecs und Transkodierung den Inhalt dieses zweiten Anrufs (Bit für Bit) vollständig ändern können, selbst wenn Sie Zugriff auf die „Bits“ haben „Kommen Sie von Ihrem Angriffstelefon?

Die Arbeit von ReVoLTE beantwortet einige dieser Fragen mit Ja. Die Autoren verwenden einen kommerziellen, softwarerekonfigurierbaren Radiostream-Sniffer namens Airscope um einen VoLTE-Anruf von der Downlink-Seite abzufangen. (Ich denke, allein die Beschäftigung mit der Software und die Gewinnung einer ungefähren Vorstellung davon, wie sie funktioniert, hat das Leben der armen Doktoranden um Monate gekostet – was typisch für diese Art akademischer Forschung ist.)

Die Forscher fanden heraus, dass der zweite Anruf schnell genug nach Ende des ersten Anrufs erfolgen musste, damit die Schlüsselwiederverwendung funktionierte, aber nicht zu schnell – etwa zehn Sekunden bei den Operatoren, mit denen sie experimentierten. Glücklicherweise spielt es keine Rolle, ob der Benutzer den Anruf innerhalb dieser Zeit – also des „Klingelns“ – entgegennimmt. Die SIP-Verbindung selbst zwingt den Betreiber dazu, denselben Schlüssel wiederzuverwenden.

Daher drehen sich viele der schlimmsten Probleme um Problem (4) – den Empfang von Teilen des unverschlüsselten Inhalts eines von einem Angreifer initiierten Anrufs. Dies liegt daran, dass Ihren Inhalten viel passieren kann, wenn sie über das Mobilfunknetz vom Telefon des Angreifers zum Telefon des Opfers übertragen werden. Zum Beispiel solche schmutzigen Tricks wie die Neukodierung eines kodierten Audiostreams, bei der der Ton gleich bleibt, aber seine binäre Darstellung völlig verändert wird. LTE-Netzwerke verwenden auch die RTP-Header-Komprimierung, die einen Großteil des RTP-Pakets erheblich verändern kann.

Schließlich sollten die vom Angreifer gesendeten Pakete in etwa mit den Paketen übereinstimmen, die beim ersten Telefonanruf gesendet wurden. Dies kann problematisch sein, da eine Änderung der Stille während eines Telefongesprächs zu kürzeren Nachrichten (sogenannten Komfortgeräuschen) führt, die möglicherweise nicht gut zum ursprünglichen Anruf passen.

Abschnitt „Angriff in der realen Welt“ Es lohnt sich, im Detail zu lesen. Es behebt viele der oben genannten Probleme – insbesondere stellten die Autoren fest, dass einige Codecs nicht neu codiert werden und dass etwa 89 % der binären Darstellung des Zielanrufs wiederhergestellt werden können. Dies gilt für mindestens zwei getestete europäische Betreiber.

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

Was können wir also tun, um das Problem zu beheben?

Die unmittelbare Antwort auf diese Frage ist sehr einfach: Da es sich bei der Schwachstelle im Wesentlichen um einen Angriff auf die Wiederverwendung (Neuinstallation) von Schlüsseln handelt, beheben Sie einfach das Problem. Stellen Sie sicher, dass für jeden Telefonanruf ein neuer Schlüssel erhalten wird, und lassen Sie niemals zu, dass der Paketzähler den Zähler mit demselben Schlüssel auf Null zurücksetzt. Das Problem ist gelöst!

Oder vielleicht nicht. Dies erfordert die Aufrüstung einer Menge Ausrüstung, und ehrlich gesagt ist eine solche Lösung an sich nicht besonders zuverlässig. Es wäre schön, wenn Standards einen sichereren Weg zur Implementierung ihrer Verschlüsselungsmodi finden könnten, der nicht standardmäßig katastrophal anfällig für solche Probleme bei der Wiederverwendung von Schlüsseln ist.

Eine mögliche Option ist die Verwendung Verschlüsselungsmodi, bei denen der Missbrauch von Nonce keine katastrophalen Folgen hat. Dies mag für einige aktuelle Hardware zu teuer sein, aber es ist sicherlich ein Bereich, über den Designer in Zukunft nachdenken sollten, insbesondere da 5G-Standards dabei sind, die Welt zu erobern.

Diese neue Studie wirft auch die allgemeine Frage nach dem Warum auf Die gleichen verdammten Angriffe tauchen immer wieder in einem Standard nach dem anderen auf, von denen viele sehr ähnliche Designs und Protokolle verwenden. Wenn Sie vor dem Problem stehen, denselben Schlüssel über mehrere weit verbreitete Protokolle wie WPA2 hinweg neu zu installieren, denken Sie dann nicht, dass es an der Zeit wäre, Ihre Spezifikationen und Testverfahren robuster zu gestalten? Hören Sie auf, Normenumsetzer als rücksichtsvolle Partner zu betrachten, die auf Ihre Warnungen achten. Behandeln Sie sie wie (unbeabsichtigte) Gegner, die unweigerlich etwas falsch machen werden.

Alternativ können wir das tun, was Unternehmen wie Facebook und Apple zunehmend tun: Die Verschlüsselung von Sprachanrufen auf einer höheren Ebene des OSI-Netzwerkstapels durchführen, ohne auf Hersteller von Mobilfunkgeräten angewiesen zu sein. Wir könnten sogar auf eine Ende-zu-Ende-Verschlüsselung von Sprachanrufen drängen, wie es WhatsApp mit Signal und FaceTime tut, vorausgesetzt, die US-Regierung hört einfach auf bringt uns zum Stolpern. Dann würden (mit Ausnahme einiger Metadaten) viele dieser Probleme einfach verschwinden. Diese Lösung ist besonders relevant in einer Welt, in der Selbst Regierungen sind sich nicht sicher, ob sie ihren Ausrüstungslieferanten vertrauen.

Oder wir können einfach das tun, was unsere Kinder bereits getan haben: Hören Sie auf, diese lästigen Sprachanrufe zu beantworten.

Source: habr.com

Kommentar hinzufügen