• IT-Karriere:
  • Services:

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. Schaeffler Technologies AG & Co. KG, Herzogenaurach
  2. über duerenhoff GmbH, Raum Garching

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.

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


Anzeige
Top-Angebote
  1. 224,19€ (bei lego.com)
  2. (u. a. Asus VivoBook 14 S413IA-EB166T 14 Zoll Ryzen 5 8GB 512GB SSD für 730,13€, Asus VivoBook...
  3. (u. a. Anno History Collection für 26,29€, Monster Hunter World - Iceborne (Master Edition) für...

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...

Cöcönut 16. Sep 2016

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


Folgen Sie uns
       


Windows Powertoys - Tutorial

Wir geben einen kurzen Überblick der Funktionen von Powertoys für Windows 10.

Windows Powertoys - Tutorial Video aufrufen
Programmierer als Künstler: Von der Freiheit, Neues in Code zu denken
Programmierer als Künstler
Von der Freiheit, Neues in Code zu denken

Abgabetermine und Effizienzansprüche der Auftraggeber drängen viele dazu, Code nach Schema F abzuliefern. Dabei kann viel Gutes entstehen, wenn man Programmieren als Form von Kunst betrachtet.
Von Maja Hoock

  1. Ubuntu Canonical unterstützt Flutter-Framework unter Linux
  2. Complex Event Processing Informationen fast in Echtzeit auswerten
  3. Musik Software generiert Nirvana-Songtexte

Zero SR/S: Brutale Beschleunigung, lange Ladezeiten
Zero SR/S
Brutale Beschleunigung, lange Ladezeiten

Motorradfahrern drohen Fahrverbote mit lärmenden Maschinen. Ist ein Elektromotorrad wie die Zero SR/S eine leise Alternative zum Verbrenner?
Ein Erfahrungsbericht von Peter Ilg

  1. Platzsparend Yamaha enthüllt kompakte Elektromotoren für Motorräder
  2. Blacktea Elektro-Moped mit 70 km Reichweite ab 2.300 Euro
  3. Akzeptable Reichweite Pursang E-Track als leichtes Elektromotorrad für Pendler

Funkverschmutzung: Wer stört hier?
Funkverschmutzung
Wer stört hier?

Ob WLAN, Bluetooth, IoT oder Radioteleskope - vor allem in den unlizenzierten Frequenzbändern funken immer mehr elektronische Geräte. Die Folge können Störungen und eine schlechtere Performance der Geräte sein.
Ein Bericht von Jan Rähm

  1. 450 MHz Bundesnetzagentur legt sich bei neuer Frequenzvergabe fest
  2. Aus Kostengründen Tschechien schafft alle Telefonzellen ab
  3. Telekom Bis Jahresende verschwinden ISDN und analoges Festnetz

    •  /