Gönnen wir dem CMI sein eigenes Netz!

oder:

Wie Irgendwessen Problem gelöst wurde, weil das elkement gerne schnüffelt, was die ‚Dinge‘ so machen im Internet of Things.

Irgendwer stand vor einer besonderen Herausforderung: Der Chefingenieur und Regler-Freak hatte das ideale Plätzchen gefunden: Genügend Platz und Ruhe, um UVR16x2, CMI & Co für seine Projekte aufbauen, verkabeln und testen zu können. Fast ideal, wenn man es genau nahm. Denn die Siedler hatten diesem Plätzchen kein LAN gegönnt. Das CMI – das Control and Monitoring Interface, also das ‚Ethernet-Gateway‘ des Reglers – konnte nicht angeschlossen werden. Damit wäre Irgendwer zurück in die Steinzeit des SD-Karten-Hin-und-Hertragens geworfen worden.

Aber ‚glücklicherweise‘ legten gerade einige ganz besonders fiese Kameras und Videorekorder das halbe Internet lahm – und das elkement erinnerte sich dadurch an eine bereits einmal hier publizierte Anleitung zum Thema: Wie kann man als normaler Windows-Benutzer ohne Hackererfahrung herausfinden, welche Botschaften diese (bösen?) Dinge in die Welt senden und empfangen?

Hier wurde ein von Profis oft belächeltes Feature von Windows genutzt – die so genannte Internetverbindungsfreigabe: Ein normaler Windows-PC kann damit in einen Router verwandelt werden: Der PC verbindet sich wie immer per WLAN ins lokale Siedlernetzwerk – und damit ins Internet. Das ‚Ding‘ wird mit den LAN-Anschluss des PC verbunden und kann die ‚freigebene‘ Internetverbindung nutzen. Nachdem der PC jetzt höchspersönlich alle Netzwerkpakete des Dinges weiterreicht, kann der investigative Benutzer diese auch mit Sniffer-Software auf diesem PC untersuchen.

Aber eigentlich kann man diese Funktion ja einfach so verwenden, wie sie vielleicht gedacht war: Einem WLAN-unfähigen Ding wird eine Brücke ins Internet gebaut.

Aus Klimaschutzgründen wurde natürlich ein ausrangiertes Testnotebook verwendet, dem so ein zweites Leben als wichtiger Router ermöglicht wurde.

Die folgende Grafik zeigt die ‚Netzwerkarchitektur‘:

Netzwerk zum Testen eines CMI mit Regler UVR16x2 in seinem eigenen Subnetz

Der Ethernetanschluss des Laptop-Routers wird von Windows mit der IP-Adresse 192.168.137.1 konfiguriert, sobald die Internetfreigabe aktiviert wurde. Dieser Computer wird zum DHCP-Server und weist dem dem ‚Ding‘ eine dynamische IP-Adresse aus demselben Netzwerk zu, z.B. 192.168.137.2. Der WLAN-Adapter erhält eine Adresse aus dem sonst verwendeten ‚Office‘-Netzwerk (oft: 192.168.0.x)

Für Details zu den Einstellungen am PC siehe den früheren Artikel über das Internet der Dinge. Unter Windows 10 muss/kann jetzt auch die Netzwerkverbindung nicht mehr ausgewählt werden, auf der das Ding sitzt. Kleiner Tipp, bestätigt durch die bewährte Methode ‚Googlen in Foren‘: Wenn unter Windows 10 die Internetverbindungsfreigabe nach einem Neustart nicht mehr funktioniert, muss sie nochmals in den Eigenschaften des WLAN-Adapters deaktiviert und wieder aktiviert werden.

Wie früher schon berichtet wurde, kann so eine Kaskade von Netzwerken auch sinnvoll sein, um ein sensibles Ding (wie den Logger BL-NET) vor einem besonders gesprächigen Ding (IP-TV) zu schützen.

Irgendwer konnte somit wahlweise über das Router-Notebook lokal auf das CMI zugreifen oder über das Internet, also sozusagen bei der Türe raus und beim Fenster wieder rein. Da man vom lokalen ‚Office‘-Netzwerk gar nicht direkt lokal auf das CMI kommt (sondern nur über die ‚Cloud‘), ist das auch halbwegs realistischer Test der späteren Fernwartung über das Internet.

Die Reglerprogrammierung ging damit eigentlich fast schneller als das Aufräumen des Spielplatzes Arbeitsplatzes danach:

irgendein-stilles-plaetzchen-unaufgeraeumt

Das Internet der Dinge

Die Siedler betonen gerne, dass sie bodenständige Wissenshandwerker sind, die bezüglich visionären Phrasen eine gesunde Skepsis an den Tag legen.

Gewissen Trends können sie sich dennoch nicht verschließen.

Wer würde nicht wollen, dass der Kühlschrank automatisch Pizza nachbestellt oder PV-Module stolz ihren täglichen Ertrag twittern? All das fällt unter den Begriff Internet der Dinge. Diese Dinge sind oft auf abenteuerliche Weise – gewollt oder ungewollt – mit dem Internet verbunden.

Im Sinne einer realistischen Abschätzung von Sicherheitsrisiko zu Nutzen ist praktische Forschungsarbeit nötig. So führen die Siedler eine minuziöse Untersuchung sämtlicher netzwerkfähiger Dinge in ihrer Siedlerhütte durch. Welches Ding kommuniziert ungefragt mit dem Dem Internet? Und welche Siedlergeheimnisse werden dabei ausgeplaudert?

Entgegen den Klischées in Hacker-Filmen ist es gar nicht so einfach, den Netzwerkverkehr mitzuschnüffeln. Das war einmal, als unsere Netzwerkverkabelung noch mit dem Antennenkabel verwechselt werden konnte:

10base2 t-pieceWehmütig bereuen die Siedler auch, ihren Hub aus dem letzten Jahrtausend entsorgt zu haben. Wie beim Koaxialkabel würde jedes angeschlossene Ding alle von allen anderen Dingen versendeten Netzwerkpakete sehen können.

Heute sind auch im billigsten Internet-Router schon Switches eingebaut. Das Möchtegern-Hacker-Notebook kann dadurch nur noch jene Pakete lesen, die für seine Hardwareadresse bestimmt sind.

Davon lässt sich das Elkement nicht aufhalten – und es hat ein Ziel: Der breiten Öffentlichkeit, also auch dem typischen Windows-Benutzer, zu ermöglichen, die Kommunikation seiner Dinge mitzuverfolgen.

Die Lösung besteht darin, das Ding zu zwingen, mit Dem Internet nur über das Hacker-Notebook zu kommunizieren. Das Notebook wird zum Router; das Ding befindet sich also hinter einer Kaskade von zwei Routern: 1) dem Hacker-Notebook und 2) dem eigentlichen Internet-Router.

Dafür verwenden wir ein wenig bekanntes und wahrscheinlich in Expertenkreisen belächeltes Feature: Die Internetverbindungsfreigabe in Windows.

Ein Router hat mehr als eine Netzwerkkarte und verbindet mindestens zwei (adressmäßig unterschiedliche) Netzwerke.

Ein typisches Laptop hat diese beiden Netzwerkadapter!

  1. WLAN – zur Verbindung mit dem Internet-/WLAN-Router
  2. LAN – eine RJ45-Buchse für ein Ethernetkabel.

(2) wird nun verwendet, um das Ding anzuschließen, bzw. genauer gesagt, ein kleines privates Netzwerk aufzubauen, das nur das Ding enthält. Dafür wird ein ausgekreuztes Kabel verwendet.

Zusätzlich muss eine Sniffer-Software installiert werden, wie z.B. das frei verfügbare  Wireshark.

Ziel ist der folgende Aufbau – in der Darstellung werden der Standard-IP-Adressbereich der Verbindungsfreigabe verwendet (192.168.137.x) und 192.168.0.x als typisches internes Netz:

|     Ding    |       |      Laptop-Router      |      |Internet-Router
|     LAN     |-cross-|     LAN     |    WLAN   |-WLAN-|Internes LAN
|192.168.137.2|       |192.168.137.1|192.168.0.2|      |192.168.0.1

Konfiguration:

  • Eigenschaften des WLAN-Adapters suchen, in Windows 7 unter:
    Systemsteuerung
    –Netzwerk und Internet
    —-Netzwerkstatus und -aufgaben
    ——Adaptereinstellungen ändern
  • In den Eigenschaften des WLAN-Adapters auf Freigabe klicken und anhaken der Option: Anderen Benutzern im Netzwerk gestatten die Internetverbindung dieses Computers zu verwenden.
  • In einem Dropdown-Menü werden alle anderen Adapter außer dem zu teilenden angezeigt – hier wird die Lokale Internetverbindung als privates Netzwerk ausgewählt:

  • Der LAN-Anschluss des Dinges wird über das Crossover-Kabel mit der LAN-Buchse des Laptops verbunden.
  • Wenn das Gerät DHCP verwendet, erhält es automatisch eine IP-Adress aus dem Bereich 192.168.137.x. Wenn nicht, muss eine statische Adresse mit x ungleich 1 vergeben werden. Das Router-Notebook erhält die Adresse 192.168.137.1 und ist  DHCP-Server, DNS-Server, und Default Gateway.
  • Wireshark starten, klick auf Capture, Interfaces…, Auswahl des Adapters mit der Adresse 192.168.137.1 … und … Start!

Ein harmloses Praxisbeispiel – ein Blu-Ray-Player:

Das Ding erhält eine Adresse über DHCP – nur das letzte Paket (‚acknowledge‘) ist hier gezeigt – und versucht dann die MAC-(Hardware-)Adresse für den Router-Computer 192.168.137.1 zu finden – ein DELL-Laptop. Benötigt wird nämlich ein DNS-Server, um einen offenbar hart-kodierten Namen aufzulösen: liveupdate.blurayplayer.samsung.com.

Gut, dass die Kommunikation nicht verschlüsselt ist – sonst könnten wir nicht so einfach mithören.

Mit der Wireshark-Option Follow TCP stream sieht man noch besser, was jetzt passiert:

Der Player ruft die Seite liveupdate.jsp über HTTP auf, schickt die Typenbezeichnung, eine Versionsnummer und den Standort ‚EU‘. Samsung sieht diese Anfrage von der nicht wirklich anonymen IP-Adresse der Siedler in einem kleinen mitteleuropäischen Land kommend.

Samsung antwortet mit [NO UPDATE] und einem Cookie, das bereits vor 3,5 Jahren abgelaufen ist.

Und die Moral aus dieser Geschichte? Nicht, dass es überraschend wäre, dass Geräte versuchen, sich automatisch Updates von einem Server im Internet zu holen. Computer machen das seit ‚ewigen Zeiten‘ – allerdings mit dem ‚feinen‘ Unterschied, dass man hier das Updateverhalten als Besitzer 1) prinzipiell kontrollieren könnte und 2) auch das Mitverfolgen sehr viel einfacher wäre.

Unser Vorschlag für Was gibt es Neues: Das Ding der Woche an seinem Internetraffic zu erkennen!