IoT: Angriffe auf das Internet der Dinge

Wenn man die seit längerem andauernde euphorische Berichterstattung nach dem digitalen Wandel verfolgt, so begegnet uns damit zwangsläufige auch die avisierte Vernetzung von gewohnten Gegenständen. Das sogenannte Internet of Things.

Gemeint sind damit Dinge des täglichen Gebrauchs: Autos, Steckdosen, Thermostate im Heizungsbereich, Küchengeräte, Waschmaschinen und vieles mehr.

Die Benutzer sollen es bei der Einrichtung und Benutzung (gerade von unterwegs) so einfach wie möglich haben. Jederzeit Zugriff auf das eigene Zuhause Smart Home und die Versorgung mit Informationen. Das dies mitunter zulasten der Sicherheit geht, haben Vorfälle in der Vergangenheit bereits gezeigt.

So konnten Angreifer beispielsweise Zugriff auf die Hausautomatisierung bzw. die Steuerung der Zentralheizung erlangen.

Doch der technologische Fortschritt macht nicht vor Haushaltsgeräten halt, vielmehr geht die Technik weiter und soll zukünftig verstärkt in medizinischen Apparaturen wie Herzrhythmus-Sensoren verbaut werden. Der Vorteil liegt klär auf der Hand: Einfacheres Auslesen und Justieren für den Arzt und somit kürzere Behandlungszeiten und günstigere Kosten – verglichen mit aufwändigen Eingriffen.

Eigentlich sollte man meinen, dass insbesondere diese lebenswichtige Elektronik besonders gegen Angriffe geschützt sei. Wie nun bei heise Security zu lesen war, ist es einem Forscherteam aus Südkorea jedoch gelungen, diesen Sensor bei einem Herzschrittmacher mit simplen Laserstrahlen zu täuschen. Es wurden somit Herzschläge registriert, obwohl das Gerät nicht mit einem Menschen in Verbindung stand.

Infusionspumpe-Infrarot-Sensor

Einen weiteren Versuch hat man mit einer Infusionspumpe unternommen, bei welcher der Sensor mit Infrarotstrahlen manipuliert werden konnte. Das Gerät hat keinen Durchfluss mehr erkennen können und wertete die Tropffrequenz somit gegen Null aus. Die Folge war ein Erhöhen auf das Maximum, was für einen Patienten tödlich ausgehen könnte.

Die potenziellen Angriffsszenarien stellte der südkoreanische Forscher Yongdae Kim laut heise Security am Montag bei einem Vortrag auf der Konferenz Usenix Enigma vor. Er unterteilte die Angriffsflächen in drei Klassen:

  1. Beeinflussung der vom Sensor zu erkennenden Signalart
  2. Flutung des Sensors mit Signalen, für welche er nicht geschaffen wurde
  3. Angriff auf die Verbindung zwischen Sensor und Embedded System

Übrigens konnte er durch Beschallung des Sensors einer Drohne diese ebenfalls Absturz bringen. Verglichen mit den obigen Szenarien aber womöglich noch die harmloseste Variante.

Das ganze zeigt, dass Hersteller von IoT-Devices vor lauter Euphorie nicht die Sicherheitsaspekte – also u.a. die Verschlüsselung der Datenübertragung zur IoT-Cloud oder Sensor-Security – außer Acht lassen dürfen und auch Verbraucher immer kritisch hinterfragen sollten, wie es um die Sicherheit der eingesetzten/einzusetzenden Geräte im „Internet of Things“ bestellt ist.

WebDAV einrichten

WebDAV stellt eine Erweiterung des HTTP-Protokolls dar und kann nicht nur für einzelne Dateien, sondern auch zum Up- und Download von ganzen Ordnerstrukturen verwendet werden. Wenn ihr einen solchen WebDAV-Zugang habt, bietet dieser interessante Möglichkeiten um Dateien auf einen Server hochzuladen. Ein wesentlicher Vorteil ist die Tatsache, dass der gesamte Netzwerkverkehr bei WebDAV im Vergleich zu FTP (Port 21) über Port 80 und ggf. 443 (SSL) abgewickelt wird. Das sind die gleichen Ports, über welche ein Webserver standardmäßig angesprochen wird. Somit müssen an der Firewall keine zusätzlichen Portfreigaben eingerichtet werden und man kann es von (fast) überall nutzen. Die heutigen Desktop-Betriebssysteme und sogar Smartphones beherrschen WebDAV mittlerweile von Hause aus. In der Regel ist keine zusätzliche Software oder Konfiguration erforderlich.

Am Beispiel von Windows zeige ich euch, welche Schritte ihr durchführen müsst. Im Windows Explorer wählt ihr die Option „Netzlaufwerk verbinden„. Es öffnet sich daraufhin ein Dialogfenster. In diesem erfasst ihr folgende Daten:

  • Laufwerk: Beliebiger Laufwerksbuchstabe
  • Ordner: Die Adresse der Freigabe. Sie setzt sich zusammen aus dem
    • Protokoll (http:// oder https://)
    • Servernamen
    • Freigabenamen
      Beispiel: https://webdav.example.com/Freigabename
  • Häkchen bei „Verbindung bei Anmeldung wiederherstellen“ (optional)
  • Häkchen bei „Verbindung mit anderen Anmeldeinformationen herstellen“

Empfohlen wird natürlich SSL-Verschlüsselung (https). Dieses Feature ist aber von eurem Anbieter abhängig. Wenn es dort nicht angeboten wird, sollte man vorsichtig sein, da die Login-Daten usw. im Klartext übertragen werden (Vorsicht in öffentlichen WiFi-Netzwerken). Nach einem Klick auf „Fertig stellen“ öffnet sich ein weiteres Fenster wo Benutzername und Kennwort abgefragt werden. Auf Wunsch könnt ihr die Anmeldedaten auch speichern. Das erspart die erneute Eingabe nach einem Neustart. Wenn alles korrekt erfasst wurde, bestätigt die Abfrage mit „OK“ und kurz darauf sollte ein weiteres Laufwerk im Explorer erscheinen. Wenn das nicht der Fall ist, gibt es zwei der häufigsten Problemursachen:

  1. Der Anbieter unterstützt kein SSL. In diesem Fall könnte man von https auf http switchen.
    Dies ist aber sehr unschön und zieht üblicherweise ein weiteres Problem nach sich.
  2. Ein Eintrag in der Windows-Registrierung verhindert im Regelfall die Verbindung mit unverschlüsselten Freigaben, also über http.

Wenn man nun auf Biegen und Brechen die Verbindung mittels unsicherer Standardauthentifizierung herstellen möchte, muss folgender Eingriff in der Registry vorgenommen werden. Macht dies nur, wenn ihr mit dieser Materie vertraut seit. Leider kann man dort auch viel falsch machen. Ruft den Registrierungs-Editor über „Start / Ausführen / regedit“ auf. Hangelt euch dann bis zu folgender Position durch:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ WebClient \ Parameters

Dort solltet ihr einen Eintrag namens „BasicAuthLevel“ vorfinden. Ist dieser wider erwarten nicht zu sehen, überprüft zunächst ob ihr dem obigen Pfad korrekt gefolgt seid. Wenn dieser stimmt legt einen neuen DWORD-Wert (32-bit) an. Der vorhandene bzw. neue Eintrag wird auf den Wert 2 festgesetzt. Das bedeutet, dass die Authentifizierung kein SSL erfordert. Solltet ihr euch irgendwann mal umentscheiden, ändert diesen Value einfach auf 1. Wenn das soweit erledigt ist, sollte der Verbindungsaufbau nach einem Neustart funktionieren.

Wo wir aber gerade in der Registry sind, kann man bei Bedarf noch eine weitere kleine Änderung vornehmen. Standardmäßig ist die Dateigröße bei dieser Methode auf knapp 50 MB begrenzt. Das erkennt man an gleicher Stelle am Eintrag „FileSizeLimitInBytes„. Dort ist als Dezimal-Wert 50000000 vorbelegt sein. Diesen Wert könnt ihr natürlich erhöhen. Für bis zu ein Gigabyte große Dateien ersetzt diesen z.B. durch 1073741824 Bytes (1024^3). Man sollte jedoch wissen, dass ein Transfer einer Datei solchen Ausmaßes einige Zeit in Anspruch nimmt und Windows keine aussagekräftigen Geschwindigkeits- und Restzeitangaben liefert. Einen sehr guten Freeware-Client stellt in diesem Zusammenhang BitKinex dar. Dieser liefert präzise Messergebnisse und es können auch etwaige Verbindungsprobleme näher untersucht werden.

BoxCryptor

boxcryptor-logo

In einem meiner letzten Beiträge habe ich Euch die zwei Cloud-Varianten vorgestellt. In diesem Artikel möchte ich nun etwas näher auf die Datenspeicherung auf einem externen Server eingehen. Häufig wird der Komfort – überall alles verfügbar zu haben – mehr in den Vordergrund gestellt als die Sicherheit. Kaum jemand der nicht gerade technikaffin ist hat Lust sich mit komplexen Sicherheitslösungen auseinander zu setzen. Als User wird man geradezu eingeladen alles erdenkliche auf fremden Systemen abzulegen und darüber sogar Backups laufen zu lassen. Was dabei gern außer Acht gelassen wird ist die Tatsache, dass die Daten unverschlüsselt irgendwo im Netz gehostet sind, womöglich sogar noch im Ausland wo ganz andere Datenschutzbestimmungen greifen. Übertragen werden die Daten zwar mittels SSL-Verschlüsselung, doch was passiert dann damit? Anbieter wie Dropbox werben damit, dass selbst unter den eigenen Mitarbeitern nur ein eingeschränkter Personenkreis Zugriff auf diese Daten hat. Zudem werden die empfangenen Daten nach eigenen Aussagen verschlüsselt. Doch wie heißt es so schön: Vertrauen ist nicht verkehrt, aber Misstrauen ist auch was wert.

Warum nimmt man das ganze also nicht selbst in die Hand? Was genau? Na, die zu übertragenden Daten vor dem Transfer lokal mit AES 256 Bit zu verschlüsseln! Apropos, dieser Verschlüsselungsstandard ist in den USA zugelassen für Dokumente mit höchster Geheimhaltungsstufe. Er sollte somit privaten Ansprüchen allemal genügen 🙂

Sehr anwenderfreundlich gestaltet ist der Umgang mit diesem Algorithmus dank BoxCryptor.

Doch was genau macht BoxCryptor? Zunächst gehe ich davon aus, dass ihr bereits über einen Dropbox-, SkyDrive- oder Google-Drive-Account verfügt und auch schon die jeweilige Sync-Software installiert habt, sprich es gibt für den jeweiligen Dienst einen Ordner auf eurer lokalen Festplatte. Wenn dort alles reibungslos funktioniert, dann kann man sich ans Werk machen.

BoxCryptor gibt es in drei unteschiedlichen Varianten:

  1. Kostenlos (privat), max. ein Laufwerk, keine Dateinamenverschlüsselung
  2. Kostenpflichtig (privat), beliebig viele Laufwerke, mit Dateinamenverschlüsselung
  3. Kostenpflichtig (kommerzieller Einsatz), beliebig viele Laufwerke, mit Dateinamenverschlüsselung

Ich habe mich für die 2. Variante entschieden. Die Software ist jeden Cent wert. Und letztlich geht es um die Sicherheit an der man bekanntlich nicht sparen sollte.

Die Einrichtung von BoxCryptor ist während und nach der Installation selbsterklärend. Das Programm erkennt installierte Cloud-Ordner in der Regel selbstständig. Wichtig ist, dass man bei der Einrichtung eines Laufwerks keinen einfachen Schlüssel auswählt. Folgende Merkmale sollte er aufweisen und beinhalten:

  • Mindestens 35 Zeichen
  • Zahlen
  • Großbuchstaben
  • Kleinbuchstaben
  • Sonderzeichen
  • Kein Begriffe (Stichwort: Wörterbuchangriff)

Ein gutes Beispiel für einen sicheren Schlüssel ist:

UbByA#5VUmtQ_Df@rX5gsuvMx_])Ws9gtbFT*aeNmx-m2a~}XS${@kt_jb)7

Man muss den selbst gewählten Schlüssel nur einmalig erfassen. Nicht nach jedem Neustart. *puh* 😉 Sollte man das Laufwerk einmal trennen oder seinen Rechner neu installieren, dann ist er logischerweise wieder erforderlich. Also gut aufbewahren! Natürlich nicht in der Cloud oder dem verschlüsselten Teil davon selbst. Wurden Daten einmal kryptographiert, ist es ohne den Schlüssel (praktisch) unmöglich, die Daten zurückzugewinnen. Theoretisch wäre es mittels Brute-Force denkbar, aber aufgrund des enormen Zeit- und Rechenaufwands nahezu ausgeschlossen (Stand: heute). Im Zweifelsfall ausdrucken.

Wenn die Einrichtung erfolgreich verlaufen ist, dann solltet ihr im Windows Explorer nun ein entsprechendes Laufwerk erkennen. Dieses Laufwerk  ist gemappt auf einen Unterordner im z.B. Dropbox-Verzeichnis. Alles was man auf dieser (logischen) Festplatte speichert wird im Hintergrund durch Boxcryptor verschlüsselt und im besagten Unterordner abgelegt. Die Sync-Software führt derweil den Upload durch. Wenn ihr euch den Sync-Ordner anseht, erkennt ihr die verschlüsselten Dateien. Der beste Beweis, dass alles sicher in der Cloud verwahrt wird.

Abschließend nochmals der Hinweis, dass die Verschlüsselung ausschlieߟlich über das Laufwerk funktioniert. Nicht wenn man Dateien direkt im BoxCryptor-Ordner ablegt. Und die Datei .encfs6 bitte niemals löschen. Diese wird zwingend benötigt, enthält aber keine sicherheits-kritischen Daten oder gar Hinweise auf den Schlüssel.

Cloud-Unterscheidung

Der Begriff „Cloud“ ist heutzutage in aller Munde. Im Wesentlichen unterscheidet man zwei Arten: Cloud-Computing und Cloud-Storage.

Ersteres kann dazu verwendet werden, um rechenintensive (z.B. wissenschaftliche oder unternehmerische) Aufgaben nicht lokal, sondern mehr oder weniger outgesourced auf leistungsstarken Computern eines Anbieters auszuführen. Das Ergebnis ist eine zeitlich sehr stark verkürzte Ergebnislieferung, welche so in wenigen Minuten oder Stunden erfolgt, während das eigene System dafür mehrere Tage oder Wochen benötigt hätte. Gezahlt wird in der Regel für Rechenkapazität nach Stunden. Das kann sich vor allem lohnen, wenn die Kosten dafür geringer sind als die Anschaffung und Wartung eigener entsprechender Hard- und Software. Ein bekanntes Beispiel ist Amazon EC2.

Eine andere Form, nämlich das Cloud-Storage ist die Cloud-Lösung, die eigentlich viele meinen wenn Sie darüber sprechen. Bekannt aus der TV-Werbung ist die Telekom-Cloud (das sog. Mediencenter) mit aktuell 25 Gigabyte (GB) kostenlosem Speicherplatz für Bilder, Dokumente, Musik u.v.m. Ebenfalls keine unbekannten Größen sind Dropbox, SkyDrive von Microsoft und Google Drive. Das interessante an solchem Speicher ist, dass er auf viele Arten zugänglich gemacht wird. So kann man entweder direkt über die Website des Anbieters, eine WebDAV-Lösung oder ein eigens programmiertes Programm bzw. App des jeweiligen Dienstes Dateien rauf- und runterladen. Komfortabel ist das vor allem, wenn mehrere Geräte wie PC, Notebook, Tablet-Computer oder ein Smartphone benutzt. Die Dateien stehen somit überall zur Verfügung. Das ganze funktioniert mittels der sog. Synchronisation. Ein Flaschenhals ist natürlich bei den meisten Nutzern der Upstream. Manche Sync-Software wie z.B. die von Dropbox komprimiert die entsprechenden Dateien vor dem Transfer im Hintergrund, um möglichst viel Zeit einzusparen.