Filehosting: Dropbox-Client entschlüsselt

Sicherheitsforscher haben den in Python geschriebenen Dropbox-Client entschlüsselt und ihre Ergebnisse veröffentlicht. Damit offenbaren sie potentielle Sicherheitslücken - auch für andere Software.

Artikel veröffentlicht am ,
Hacker haben den Code des Dropbox-Clients entschlüsselt.
Hacker haben den Code des Dropbox-Clients entschlüsselt. (Bild: Dropbox)

Den Sicherheitsexperten Dhiru Kholia und Przemyslaw Wegrzyn ist es gelungen, den verschlüsselten Python-Code des Dropbox-Clients zu entschlüsseln und zu analysieren. Dabei entdeckten sie auch, wie die zweifache Authentifizierung des Filehosters zu umgehen ist und wie fremde Dropbox-Konten übernommen werden können, sofern ein Angreifer die entsprechenden Zugangsdaten von einem Rechner erbeuten kann. Das ist allerdings ziemlich aufwendig.

Inhalt:
  1. Filehosting: Dropbox-Client entschlüsselt
  2. Bytecode wird Open Source

Die beiden Forscher erwähnen aber auch, dass mit jeder neuen Version des Dropbox-Clients die Sicherheit erhöht wird. Bisherige Schwachstellen seien schnell beseitigt worden, nachdem die beiden Forscher das Unternehmen darauf aufmerksam gemacht hätten. Dropbox hatte in der Vergangenheit mehrfach mit Schwachstellen zu kämpfen.

Datenbank entschlüsselt

Die beiden Forscher untersuchten die Authentifizierung, die über die sogenannte host_id und die host_int erfolgt. Bis Version 1.2.48 wurde host_id unverschlüsselt in der als Datei abgelegten SQLite-Datenbank Config.db gespeichert. Dieser Wert wird einmalig bei der Installation generiert und wird auch später dann nicht geändert, etwa wenn das Passwort neu gesetzt wird.

Seit Version 1.2.48 wird die Datenbankdatei verschlüsselt. Die für die Verschlüsselung verwendeten "Secrets" lägen aber den Installationsdateien bei. Ohne diese würde der Dropbox-Client nicht funktionieren. Die Datei Keystore_linux.py in der Linux-Version des Dropbox-Clients enthält die entsprechenden Befehle für die Verschlüsselung. Dort lässt sich die Datei Config.dbx, die die host_id enthält, mit der Anwendung Dbx-keygen-linux auslesen.

Sicherer unter Windows

Stellenmarkt
  1. Software-Entwickler (m/w/d) für Linux-Umgebung
    Rieke Computersysteme GmbH, Martinsried
  2. IT Consultant Versicherungen - BIPRO (m/w/d)
    xapling GmbH, deutschlandweit, remote
Detailsuche

Unter Windows wird die SQLite-Datenbank mit der Windows-eigenen Verschlüsselungsschnittstelle Data Protection API (DPAPI) verschlüsselt. Daher mussten die Forscher einen anderen Weg suchen, um dessen Wert zu ermitteln. Im Debug-Modus schreibt der Dropbox-Client Logfiles im Klartext. Dort wird auch die host_id eingetragen. Der Debug-Modus war in älteren Dropbox-Versionen nur durch eine partielle Md5-Summe geschützt. Seit Version 2.0 wird der vollständige SHA-256-Hash benötigt.

Um an die host_id unter Windows zu kommen, haben die Hacker versucht, eine Man-in-the-Middle-Attacke auf den verschlüsselten Datenverkehr zwischen Client und Server zu fahren. Dabei fanden sie heraus, dass herkömmliche Hackerwerkzeuge nicht in der Lage sind, die SSL-Verbindung abzuhören. Die SSL-Zertifikate sind hart kodiert und die verwendete SSL-Bibliothek ist mit der ausführbaren Binärdatei statisch verlinkt. Daher ist das Patchen der Datei zwar möglich, aber äußerst zeitaufwendig.

Code-Injection per Monkey Patching

Die beiden Forscher haben stattdessen per Monkey Patching die entsprechenden SSL-Objekte verändert. Dabei nutzen sie Reflective DLL Injection unter Windows und LD-PRELOAD unter Linux, um Zugriff auf die relevanten Objekte im Speicher zu erhalten. Danach konnten sie die versendeten Daten einsehen, bevor sie verschlüsselt wurden. Diese Technik lässt sich allerdings nicht nur mit dem Python-Code des Dropbox-Clients anwenden, sondern auch mit weiteren dynamischen Skriptsprachen wie Ruby, Perl oder Javascript.

Die zusätzlich benötigte host_int wird beim Start des Dropbox-Clients vom Server übermittelt und ändert sich dann nicht mehr. Sie lässt sich beispielsweise durch eine Anfrage mit der host_id beim Dropbox-Server ermitteln, etwa auch über ein unverschlüsseltes WLAN. Hat ein Angreifer beide Werte, kann er jederzeit auf die Dropbox-Daten eines Opfers zugreifen, etwa indem er einen Weblink generiert.

Diese zweifache Authentifizierung werde nur für den Zugriff auf die Dropbox-Webseite benötigt, schreiben die Forscher. Der Dropbox-Client selbst verwendet sie nicht. Damit werde impliziert, dass weiterhin nur der Wert der host_id benötigt wird, um an die Daten eine Opfers zu gelangen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Bytecode wird Open Source 
  1. 1
  2. 2
  3.  


Julius Csar 17. Sep 2013

Ja, bei Binärdaten ist es generell mehr als schwierig, die Unterschiede zu erkennen. Ein...

Anonymer Nutzer 31. Aug 2013

wenn's wenigstens ne volle 365 umdrehung gewesen wäre ;p

IT.Gnom 30. Aug 2013

Sorry, hast recht, ich habe jemanden ganz anderen geantwortet. Ist ganz seltsam, da...

Neutrinoseuche 30. Aug 2013

Windows wird von so ziemlich jedem genutzt. Dropbox ist nur einer von vielen Diensten...

jokey2k 29. Aug 2013

http://archive.hack.lu/2012/Dropbox%20security.pdf ohne weitere worte



Aktuell auf der Startseite von Golem.de
Bundesservice Telekommunikation
Ist eine scheinexistente Behörde für Wikipedia relevant?

Die IT-Sicherheitsexpertin Lilith Wittmann hat eine dubiose Bundesbehörde ohne Budget entdeckt. Reicht das für einen Wikipedia-Artikel?

Bundesservice Telekommunikation: Ist eine scheinexistente Behörde für Wikipedia relevant?
Artikel
  1. Elektroauto: VW e-Up ab Mitte Februar wieder bestellbar
    Elektroauto
    VW e-Up ab Mitte Februar wieder bestellbar

    Der e-Up gehörte 2021 zu den meistgekauften Elektroautos. Nun will VW den Kleinwagen wieder verfügbar machen.

  2. Neues Geschäftsmodell: Luca-App plant flexible Abos und will Preise senken
    Neues Geschäftsmodell
    Luca-App plant flexible Abos und will Preise senken

    Angesichts drohender Kündigungen will die Luca-App den Bundesländern entgegenkommen.

  3. Einstieg in Python und Data Science
     
    Einstieg in Python und Data Science

    Mit zwei Workshops der Golem Akademie gelingen kompakter Einstieg oder fortgeschrittenes Eintauchen in Python - das auch im Data-Science-Kurs zentral ist.
    Sponsored Post von Golem Akademie

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 • Bosch Professional zu Bestpreisen • WSV bei MediaMarkt • Asus Vivobook Flip 14" 8GB 512GB SSD 567€ • Philips OLED 65" Ambilight 1.699€ • RX 6900 16GB 1.489€ • Samsung QLED-TVs günstiger • Asus Gaming-Notebook 17“ R9 RTX3060 1.599€ • Seagate 20TB SATA HDD [Werbung]
    •  /