Messenger: Sicherheitslücken in Signal entdeckt

Zwei Bugs im Signal-Code erlauben das Manipulieren von Attachments und einen Crash der Signal-Applikation. Updates sind im Play Store noch nicht verfügbar.

Artikel veröffentlicht am , Hanno Böck
Die Verschlüsselung von Signal gilt als vorbildlich - doch auch im Code von Signal findet man Sicherheitslücken.
Die Verschlüsselung von Signal gilt als vorbildlich - doch auch im Code von Signal findet man Sicherheitslücken. (Bild: Screenshot)

Die Signal-Messaging-App gilt als die vermutlich sicherste Messenger-App, die zurzeit zu bekommen ist. Die Verschlüsselung von Signal hat einige revolutionäre Konzepte eingeführt und wurde inzwischen von Internetgrößen wie Whatsapp, Facebook und Google für ihre Messenger übernommen. Die Erwartungen an die Sicherheit von Signal sind daher entsprechend hoch. Die Sicherheitsforscher Markus Vervier und Jean-Philippe Aumasson haben einige Sicherheitslücken im Android-Code von Signal gefunden.

Integer Overflow bei der MAC-Prüfung

Stellenmarkt
  1. Product Owner Marketing-Systeme (w/m/d)
    dmTECH GmbH, Karlsruhe
  2. IT-Architekt*in für die Abteilung Informations- und Kommunikationstechnologie
    Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V., München
Detailsuche

Attachments von Signal werden über einen Amazon-S3-Server mittels HTTPS verteilt. Anschließend prüft der Signal-Code einen MAC-Wert, der mit HMAC-Algorithmus erzeugt wurde. Bei der Größenberechnung findet sich ein Fehler, der zu einem Integer Overflow führt. Die Länge der eingehenden Datei wird in einer Integer-Variable abgespeichert. Allerdings können die Dateien größer sein als der Wert, der maximal in einer Integer-Variable abgelegt werden kann. Dadurch kann man einen Overflow erzeugen.

Da der Code in Java geschrieben ist, tritt hierbei keine Memory-Corruption-Lücke auf. Allerdings kann der Overflow genutzt werden, um die HMAC-Prüfung auszutricksen. Ein Angreifer kann ein Attachment ablegen, das zu Beginn einem gültigen Attachment entspricht, das jedoch vier Gigabyte an weiteren Daten enthält. Durch den Integer Overflow wird anschließend nur der gültige Teil geprüft, die gesamte Datei wird jedoch an die Entschlüsselungsfunktion weitergereicht. Die vier Gigabyte müssen dabei nicht vollständig übers Netz übertragen werden, da hierfür die Gzip-Kompression von HTTP genutzt werden kann.

Hängt man beliebige Daten an, so scheitert die Attachmentverarbeitung bei der Prüfung des Paddings. Möglicherweise ist hier ein sogenannter Padding-Oracle-Angriff möglich, Details darüber wollen die Entdecker der Lücke aber erst in einem späteren Blogpost veröffentlichen. Was auf jeden Fall möglich ist: Ein Angreifer kann an ein bestehendes Attachment Daten anhängen, die teilweise von ihm kontrolliert werden.

Golem Akademie
  1. Scrum Product Owner: Vorbereitung auf den PSPO I (Scrum.org): virtueller Zwei-Tage-Workshop
    24.–25. November 2021, virtuell
  2. Einführung in die Programmierung mit Rust: virtueller Fünf-Halbtage-Workshop
    21.–25. März 2022, Virtuell
Weitere IT-Trainings

Möglich ist ein solcher Angriff nur, wenn der Angreifer entweder den Amazon-Server kompromittieren kann oder einen eigenen Server mit einem falsch ausgestellten Zertifikat aufstellt - dafür müsste er eine Zertifizierungsstelle kompromittieren. Beides ist nicht sehr wahrscheinlich, aber das Versprechen von Signal, Ende-zu-Ende-Sicherheit zu gewährleisten, wird hier kompromittiert.

Der zweite Bug betrifft die Übertragung von RTP-Paketen, die für die Audio- und Videofunktionalität genutzt werden. Dieser Code ist in C++ geschrieben. Durch bestimmte fehlerhafte Eingaben kann man hier einen Integer Underflow erzeugen, eine Variable für die Größe des Payloads ist anschließend negativ. Das führt später im Code dazu, dass eine große Menge an Daten aus einem ungültigen Speicherbereich gelesen wird, was zu einem Crash der Signal-App führt. Die Entdecker der Lücke gehen davon aus, dass dieses Problem nicht weiter exploitbar ist und nur zu einem Crash führt, allerdings könnte es durchaus sein, dass es weitere Wege gibt, diesen Bug auszunutzen.

Bisher noch alte Version im Play Store

Beide Bugs sehen zumindest bislang nicht extrem gravierend aus, doch sie zeigen, dass auch eine vielfach gelobte App wie Signal nicht perfekt ist. Aktuell wird über den Play Store noch die Version 3.18.3 von Signal verteilt, in der beide Bugs noch nicht gefixt sind. Im Git-Repository wurde bereits die Version 3.19.0 vorbereitet, die damit wohl in kürze erscheint.

Angesichts dieser Bugs stellt sich auch die Frage, wie Signal generell mit Sicherheitslücken umgeht. Auf der Signal-Webseite gibt es bislang keine Security-Advisories und es ist auch keine Möglichkeit dokumentiert, wie Sicherheitslücken gemeldet werden sollen. Für eine App, die so viel Wert auf Sicherheit legt, ist das sicher nicht optimal.

Nachtrag vom 21. September 2016, 13:02 Uhr

In einem weiteren Blogpost haben die Entdecker der Lücke inzwischen die Auswirkungen genauer analysiert. Auch Signal-Entwickler Moxie Marlinspike hat sich mittlerweile geäußert und die Lücke erläutert. Die inzwischen veröffentlichte Signal-Version 3.19.0 behebt das Problem.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


DebugErr 19. Sep 2016

Stümmt nüscht! http://www.duden.de/rechtschreibung/zurzeit

Moe479 17. Sep 2016

dann ist die aufgabe nicht genug unterteilt bzw. hat man sich wiederum zuviel auf einmal...

M.P. 16. Sep 2016

... werden sich bestimmt erinnern: "Kérem, Andi! Mach Signal!" https://de.wikipedia.org...

Enter the Nexus 16. Sep 2016

Die NSA hört sicher weltweit an genügend Internetknoten mit. Da ist es egal, wo du den...

Anonymer Nutzer 16. Sep 2016

Vorab: Ich nutze LibreSignal (F-Droid) selbst noch für einige Kontakte. Fakt ist aber...



Aktuell auf der Startseite von Golem.de
Informatik
"Programmieren lernen tut weh"

Doris Aschenbrenner ist eine der jüngsten Professorinnen für Informatik in Deutschland. Ein Porträt über eine Frau mit einer großen Liebe für Roboter.
Ein Porträt von Peter Ilg

Informatik: Programmieren lernen tut weh
Artikel
  1. Scoolio: Daten hunderttausender Schüler im Netz abrufbar
    Scoolio
    Daten hunderttausender Schüler im Netz abrufbar

    Die für die Schule gedachte App Scoolio hat zahlreiche persönliche Daten preisgegeben. Die Betreiber werden für ihr Verhalten kritisiert.

  2. Wie die Deutsche Bahn auf Distributed Ledger setzt
     
    Wie die Deutsche Bahn auf Distributed Ledger setzt

    Die Deutsche Bahn beschäftigt sich seit 2018 intensiv mit der Blockchain-Technologie. Die Ansätze reichen von dezentraler Mobilität und Verkehrssteuerung über gesicherte digitale Identitäten bis hin zu papierlosen Transportketten.
    Sponsored Post von Deutsche Bahn

  3. Plugin-Hybride: Endet die Förderung trotz höherer Reichweiten?
    Plugin-Hybride
    Endet die Förderung trotz höherer Reichweiten?

    Die Plugin-Hybride der Mercedes C-Klasse sollen elektrisch mehr als 100 km weit kommen. Doch die Ampelkoalition könnte die umstrittene Förderung streichen.
    Von Friedhelm Greis

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 in Kürze bestellbar • Seagate Exos 18TB 319€ • Samsung 4K-Monitore & TVs günstiger (u. a. 50" QLED 2021 749€) • Alternate-Deals (u. a. Asus B550-Plus Maiboard 118€) • Neues Xiaomi 11T 256GB 549,90€ • Switch OLED 359,99€ • Speicherprodukte von Sandisk & WD [Werbung]
    •  /