← Neueste Arbeiten
💻 computer science

VUPER: Verified ASN.1 UPER Parser

Dieses Paper präsentiert VUPER, ein Framework, das formal verifizierte, bitgenaue ASN.1 UPER-Parser und -Serializer generiert, welche dazu verwendet wurden, durch dynamische Tests auf 5G- und V2X-Protokollen 20 Arten von Inkonsistenzen und konkreten Sicherheitsanfälligkeiten in populären Open-Source- und kommerziellen Parsern aufzudecken.

Ursprüngliche Autoren: Xiaotian Zhou (The Pennsylvania State University), Kai Tu (The Pennsylvania State University), Ali Ranjbar (The Pennsylvania State University), Yilu Dong (The Pennsylvania State University), Gang Tan
Veröffentlicht 2026-08-11
📖 8 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Xiaotian Zhou (The Pennsylvania State University), Kai Tu (The Pennsylvania State University), Ali Ranjbar (The Pennsylvania State University), Yilu Dong (The Pennsylvania State University), Gang Tan (The Pennsylvania State University), Syed Rafiul Hussain (The Pennsylvania State University)

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich das Internet und unsere Mobiltelefone als eine riesige, geschäftige Stadt vor, in der jede Sekunde Milliarden von Nachrichten zwischen Gebäuden hin- und herflitzen. Um diese Stadt am Laufen zu halten, müssen diese Nachrichten eine universelle Sprache sprechen, damit ein Telefon in New York mit einem Funkmast in Tokio kommunizieren kann, ohne verwirrt zu werden. Diese Sprache heißt ASN.1 und ist wie die Grammatik und der Wortschatz, die Computern genau sagen, wie sie Informationen in winzige, effiziente digitale Boxen verpacken sollen. Aber hier liegt der Knackpunkt: Um Platz zu sparen und die Geschwindigkeit zu erhöhen, werden diese Boxen so eng gepackt, dass sie nicht einmal an ordentlichen Byte-Reihen (wie Standard-Computerwörtern) ausgerichtet sind; stattdessen werden sie bis zum letzten Bit, dem kleinsten Datenpartikel, dicht gepackt. Diese spezifische, super-kompakte Verpackungsmethode wird UPER genannt.

Das Problem ist, dass das Schreiben eines Übersetzers (oder „Parsers“), um diese winzigen, bitbasierten Boxen auszupacken, unglaublich schwierig ist. Wenn der Übersetzer auch nur einen winzigen Fehler macht – etwa ein einziges Bit falsch liest oder eine Regel darüber vergisst, wie mit neuen, unbekannten Informationen umzugehen ist – kann dies das gesamte System zum Absturz bringen, Geheimnisse verraten oder Hacker hineinschmuggeln lassen. Jahrelang haben Ingenieure versucht, diese Fehler zu beheben, indem sie die Übersetzer mit Millionen von zufälligen Nachrichten testeten, in der Hoffnung, die Bugs zu finden. Aber das ist wie der Versuch, eine Nadel im Heuhaufen zu finden, indem man einfach nur den Heu aufschüttelt; man findet vielleicht einige Nadeln, kann sich aber nie sicher sein, ob man wirklich alle gefunden hat oder ob die, die man gefunden hat, tatsächlich die echten sind.

Hier kommt VUPER ins Spiel, ein neues Werkzeug, das von Forschern der Penn State entwickelt wurde und alles verändert. Anstatt nur den Heuhaufen aufzuschütteln, baut VUPER einen mathematisch perfekten Übersetzer von Grund auf neu. Denken Sie daran, als würde man ein „Goldstandard“-Wörterbuch und ein Grammatikbuch erstellen, das von einem Computer-Mathematiker als zu 100 % korrekt bewiesen wurde. Die Forscher nutzten diesen perfekten Übersetzer, um 11 andere populäre Parser zu testen, die in realen 5G-Netzwerken und Fahrzeugkommunikationssystemen eingesetzt werden. Sie entdeckten, dass viele dieser weit verbreiteten Übersetzer tatsächlich ziemlich nicht-konform waren und 20 verschiedene Arten von Regeln übersehen hatten. In einigen Fällen ermöglichte diese Nicht-Konformität Hackern, Telefone zum Absturz zu bringen oder Netzwerke auszutricksen, damit diese unverschlüsselte Nachrichten senden. VUPER beweist, dass wir zwar den vorhandenen Übersetzern nicht immer trauen können, aber nun in der Lage sind, solche zu bauen, die mathematisch garantiert sicher sind, und sie nutzen können, um die fehlerhaften zu reparieren.

Die Geschichte von VUPER: Den perfekten Übersetzer bauen

In der Welt der Computernetzwerke sind Daten wie ein langer Wasserstrom, der durch Rohre fließt. Um eine Nachricht zu senden, „serialisiert“ ein Computer sie, indem er die Daten in einen kompakten Bitstrom presst. Um sie zu empfangen, „parst“ ein anderer Computer den Strom und presst die Bits wieder in eine lesbare Nachricht zurück. In der hochsensiblen Welt der 5G-Mobilfunknetze und der Vehicle-to-Everything (V2X)-Kommunikation nutzt dieser Prozess einen speziellen Satz von Regeln namens UPER (Unaligned Packed Encoding Rules). Er wird als „unaligned“ bezeichnet, weil er sich nicht um ordentliche Byte-Grenzen kümmert; er packt Daten so dicht wie möglich, Bit für Bit, um die Bandbreite zu sparen.

Die Herausforderung besteht darin, dass das offizielle Regelwerk für UPER in dichter, beschreibender Textform verfasst ist, nicht in Code. Dies lässt Ingenieure darüber rätseln, wie die Regeln zu implementieren sind, was zu subtilen Fehlern führt. Die Forscher hinter VUPER beschlossen, nicht länger zu raten. Sie bauten ein Framework, das den Parser formal beweist. Sie haben nicht einfach nur Code geschrieben und gehofft, dass er funktioniert; sie nutzten ein mächtiges mathematisches Werkzeug namens Rocq-Prover, um jeden einzelnen Schritt der Logik zu verifizieren.

Der „Round-Trip“-Test

Um zu verstehen, wie VUPER funktioniert, stellen Sie sich vor, Sie hätten einen magischen Übersetzer, der ein Buch in einen Geheimcode verwandelt und wieder zurück. Ein „Round-Trip“-Test bedeutet, dass Sie einen Satz nehmen, ihn in einen Code verwandeln, den Code dann wieder in einen Satz zurückverwandeln. Wenn Sie exakt denselben Satz zurückerhalten, arbeitet der Übersetzer korrekt.

UPER hat jedoch eine besondere Wendung: Extensions (Erweiterungen). Wenn sich die Technologie weiterentwickelt (wie beim Übergang von 4G zu 5G), werden neue Funktionen zu den Nachrichten hinzugefügt. Ein alter Übersetzer muss in der Lage sein, eine neue Nachricht zu lesen, die neuen Teile, die er nicht versteht, zu ignorieren und dennoch die alten Teile sinnvoll zu interpretieren. Dies wird als Abwärtskompatibilität bezeichnet. VUPER handhabt dies, indem es zwei Dinge beweist:

  1. Strikter Round-Trip: Wenn die Nachricht aus derselben Version stammt, muss der Übersetcher sie in das exakt gleiche Bitmuster zurückverwandeln. Keine extra Bits, keine fehlenden Bits.
  2. Schwacher Round-Trip: Wenn die Nachricht neue, unbekannte Erweiterungen enthält, kann der Übersetzer diese überspringen, muss aber dennoch in der Lage sein, die bekannten Teile in eine gültige Nachricht zurückzuverwandeln. Er muss nicht bitgenau übereinstimmen (da die unbekannten Teile wegfallen), aber er darf den Rest nicht korrumpieren.

Das Finden der Bugs

Die Forscher bauten einen „Trusted Oracle“ – einen perfekten, durch VUPER generierten Parser – und nutzten ihn, um 11 andere Parser zu testen. Dazu gehörten 7 Open-Source-Tools (wie asn1c und pycrate) sowie 4 kommerzielle Parser, die in realen 4G- und 5G-Basisstationen (der Hardware, die Ihr Telefon mit dem Netzwerk verbindet) verwendet werden.

Sie schickten nicht einfach nur zufälligen Müll; sie nutzten einen intelligenten „Fuzzer“, der die Struktur der Nachrichten verstand, um Millionen von kniffligen Testfällen zu erstellen. Als sie die Ergebnisse verglichen, fanden sie 20 verschiedene Arten von Inkonsistenzen in den anderen Parsern.

Hier sind einige der interessantesten Funde:

  • Das „Zu lang“-Problem: Einige Parser akzeptierten Zahlen, die zu groß für den zugewiesenen Platz waren, oder Längen, die nicht zu den Daten passten. Das ist so, als würde ein Briefträger einen Brief entgegennehmen, der sagt „Ich habe 5 Seiten“, aber tatsächlich 100 Seiten hat, was dazu führt, dass der Briefkasten überläuft und abstürzt.
  • Die „Unbekannte Erweiterung“-Verwirrung: Wenn eine Nachricht neue Funktionen enthielt, die der alte Parser nicht kannte, gerieten einige Parser in Verwirrung und begannen, den falschen Teil der Nachricht zu lesen, in der Annahme, er sei etwas anderes. Das ist wie ein Übersetzer, der ein neues Wort in einer fremden Sprache sieht, verwirrt ist und dann den Rest des Satzes falsch übersetzt.
  • Der „Standardwert“-Fehler: Die Regeln besagen, dass wenn ein Wert der „Standardwert“ ist, er zur Platzersparnis gar nicht erst gesendet werden sollte. Aber einige Parser haben diesen Wert trotzdem gesendet oder konnten nicht erkennen, wenn er fehlte.

Die reale Gefahr

Das Paper fand nicht nur theoretische Bugs; es zeigte auf, wie diese ausgenutzt werden könnten. Die Forscher demonstrierten vier konkrete Angriffe:

  1. Ein Telefon zum Absturz bringen: Durch das Senden einer Nachricht mit einer Liste von Netzwerk-IDs, die etwas zu lang war (Verletzung einer Einschränkung), verursachten sie einen Absturz der Telefonsoftware, was zu einem Denial of Service (DoS) führte.
  2. Einen Turm zum Absturz bringen: Ein kompromittierter Mobilfunkmast könnte eine fehlerhafte Nachricht an einen anderen Mast senden, was den zweiten Mast beim Versuch, sie zu verarbeiten, zum Absturz bringt.
  3. Geheimnis-Lecks: Wenn ein Parser eine Nachricht aufgrund einer unbekannten Erweiterung falsch interpretiert, könnte er denken, dass eine Sicherheitseinstellung „aus“ ist, obwohl sie eigentlich „an“ ist (oder umgekehrt). Dies könnte zu einer Situation führen, in der ein Telefon glaubt, es kommuniziere sicher, während das Netzwerk tatsächlich Daten im Klartext sendet, was es Spionen ermöglicht, die Daten mitzulesen.
  4. Geräte-Fingerprinting: Da verschiedene Parser unterschiedlich mit Fehlern umgehen, könnte ein Hacker spezifische „Trick“-Nachrichten senden und beobachten, wie das Gerät reagt. Wenn das Gerät eine seltsame Nachricht akzeptiert, weiß der Hacker, dass es eine bestimmte Hardware-Marke (wie ein Samsung Baseband) verwendet, und kann gezielt bekannte Exploits gegen dieses spezifische Gerät einsetzen.

Performance und die Zukunft

Die Forscher geben zu, dass ihr perfekter, mathematisch verifizierter Parser nicht der schnellste der Welt ist. Er ist etwa 4-mal langsamer als die hochoptimierten C-Bibliotheken, die derzeit in der Industrie verwendet werden. Er ist jedoch 4-mal schneller als Python-basierte Parser.

Das Ziel von VUPER ist es nicht, die schnellen Parser sofort zu ersetzen, sondern als Referenzimplementierung zu dienen. Genau wie ein Meisterkoch ein Gericht probieren und Ihnen genau sagen kann, was an dem Rezept falsch ist, kann VUPER Ingenieuren genau zeigen, wo ihre Parser versagen. Die Forscher hoffen, dass sie durch den Einsatz von VUPER diese Bugs finden und beheben können, damit die Industrie schließlich Parser bauen kann, die sowohl schnell als auch mathematisch garantiert sicher sind.

Letztendlich zeigt VUPER, dass wir in der komplexen, Hochgeschwindigkeitswelt von 5G und darüber hinaus nicht mehr auf ein „gut genug“ Testen vertrauen können. Wir brauchen mathematisch bewiesene Übersetzer, um unsere digitale Stadt sicher, geschützt und reibungslos am Laufen zu halten.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →