Skip to main content
Insights

KNXlock – eine Angriffskampagne gegen KNX-basierte Gebäudeautomationssysteme

By 20. Dezember 2021No Comments

Im Oktober 2021 erhielten wir einen interessanten Hilferuf von einem deutschen Ingenieursunternehmen. Das Unternehmen, das Elektro- und Automatisierungstechnik für verschiedene Industriezweige anbietet, hatte ein Problem bei einem Kunden: Sie hatten den Zuschlag erhalten, das Gebäudeautomationssystem einer mittelständischen Firma zu entwickeln. Das System baute auf Grundlage der KNX-Technologie auf, einem in Europa weit verbreiteten Standard für die Gebäudeautomation. KNX ist ein sehr leistungsfähiger Standard, mit dem sich von kleinen bis hin zu sehr großen Anlagen alles realisieren und verwalten lässt.

Das Problem, vor dem das Ingenieurbüro stand, ließ sich leicht beschreiben:

Jemand hatte sich über das Internet Zugang zu ihrem Gebäudeautomationssteuerungssystem verschafft und die Eigentümer ausgesperrt. Das Gebäude enthielt mehrere hundert KNX Komponenten, von denen ¾ aufgrund des Angriffs nicht mehr betriebsbereit waren.

Steuerungsgeräte, die im Internet öffentlich zugänglich sind, sind ein bekanntes Problem, auf das Sicherheitsexperten schon seit einem Jahrzehnt hinweisen. Das Interessante an dieser Angriffskampagne aber war, dass sie unter Verwendung spezifischer Aspekte der Automatisierungssystemtechnologie durchgeführt wurde.

Diese war zwar nicht so ausgeklügelt und folgenschwer wie die Angriffskampagnen mit Stuxnet, Industroyer oder Trisis, die viel komplexer durchgeführt wurden. Vielmehr mussten die Angreifer nur die Besonderheiten der KNX Technologie verstehen und wissen, wie bestimmte Funktionen missbraucht werden können. Eine spezifische Funktion war unter anderem sehr wichtig für den Angriff: In KNX ist es möglich, einen so genannten BCU-Schlüssel (Bus Coupling Unit Key) zu setzen, der als Schutzfunktion in den Standard aufgenommen wurde, um ungewollte Änderungen an den Geräten zu verhindern.

Wenn ein BCU-Schlüssel gesetzt ist, werden alle KNX Geräte im Projekt, die diese Funktion unterstützen, während des Engineering-Prozesses mit einem Passwort (8 Zeichen oder 4 Bytes lang) gesperrt. Einmal aktiviert, können Geräte, die mit einem BCU-Schlüssel geschützt sind, nicht mehr geändert werden, es sei denn, das Passwort ist bekannt. Obwohl es unterschiedliche Implementierungen gibt, lassen die meisten Geräte ein Zurücksetzen des Kennworts nicht zu, auch nicht bei physischem Zugang zum Gerät.

Die Angreifer wussten offensichtlich, wie sie die spezifischen Funktionen von KNX missbrauchen können, denn nachdem sie sich Zugang verschafft hatten, entluden sie zunächst die Geräte und setzten dann den BCU-Schlüssel auf diesen Geräten. Das ist so, als würde man zuerst die Festplatte eines Computers löschen und dann ein Passwort auf der Festplatte setzen. Der Computer lässt sich zwar einschalten, aber er kann nichts Nützliches mehr ausführen, da er sein Betriebssystem und seine Anwendungen bereits verloren hat. Und ohne dieses Kennwort kann kein Betriebssystem und keine Anwendung mehr auf der Festplatte installiert werden, so dass der Computer „dumm“ bleibt.

Hunderte Geräte kompromittiert

Das reale Ergebnis dieses Angriffs war, dass Hunderte von Geräten zur Steuerung der Gebäudeautomation nicht mehr funktionierten. Folglich hatte ein zuvor intelligentes Gebäude seine Intelligenz vollständig verloren, da sein Gehirn und Nervensystem fehlte. Aber auch einfache Geräte und Funktionen wie Lichtschalter und Jalousiesteuerung waren nicht mehr zugänglich. Der zuständige Ingenieur berichtete, dass sie als letzten Ausweg das gesamte Gebäude im manuellen Modus betrieben und einige Komponenten so umverdrahtet hatten, dass sie über Leistungsschalter oder andere Mittel der zentralen, manuellen Steuerung bedient werden konnten.

Das Ingenieurbüro suchte nach Hilfe von außen, um den Zugang und die Kontrolle über das Gebäudeleitsystem wiederzuerlangen. Sie wandten sich zunächst an die logischste Partei in der industriellen Lieferkette: Die Gerätehersteller. Es wurden mehrere Anbieter von Gebäudeautomationssystemen kontaktiert und um Hilfe oder eine Möglichkeit zum Zurücksetzen des Passworts gebeten, um den Zugang wiederherzustellen.

Leider behaupteten alle Anbieter, dass ein Zurücksetzen nicht möglich sei und alle Geräte als defekt betrachtet würden. Es wurde vorgeschlagen, die Geräte komplett zu zerlegen und zu ersetzen. Dies hätte über hunderttausend Euro gekostet, wenn man die Kosten für Hardware, Installation und Überprüfung berücksichtigt. Daher suchten die Ingenieure nach anderen, weniger kostspieligen Möglichkeiten der Wiederherstellung.

Thomas Brandstetter hatte auf der Black Hat USA 2017 einen Vortrag gehalten mit dem Titel  “(in)security in building automation: How to create dark buildings with light speed” . In seinem Vortrag beschrieb er, wie KNX und BACnet, zwei wichtige Technologiestandards im Bereich der Gebäudeautomation, von Angreifern missbraucht werden können. Die Präsentation ist im Internet verfügbar, wo sie von dem Ingenieurbüro gefunden wurde, das daraufhin Kontakt mit Limes Security aufnahm.

Obwohl ich dies in meinem Black-Hat-Vortrag 2017 vorausgesagt hatte, war ich verblüfft, als ich hörte, dass jemand jetzt Angriffe auf branchenspezifische Steuerungssysteme durchführt, indem er Technologiefunktionen auf Anwendungsebene missbraucht. Dies war offensichtlich kein Universitätslabor, sondern die reale Welt, und man kann nicht einfach ein ganzes Gebäudeleitsystem zurücksetzen oder ausbauen und ersetzen, zumindest nicht zu geringen Kosten. Glücklicherweise hat der Vortrag dazu beigetragen, dass einige der Opfer den Weg zu uns gefunden haben, so dass wir versuchen konnten, ihnen zu helfen.

Thomas Brandstetter

Die Lösung

Und die Hilfe hat tatsächlich auch funktioniert: Mehrere kompromittierte Geräte wurden an Limes Security geschickt und auf mögliche Wege zur Wiederherstellung der Schlüssel analysiert. Als erstes wurde überprüft, ob es wirklich keine vorgegebene Möglichkeit gibt, die Geräte zurückzusetzen, was leider schnell bestätigt werden konnte. Zwei Sicherheitsspezialisten von Limes Security, Peter Panholzer und Felix Eberstaller, bildeten ein Team, um nach Wegen zu suchen, wie man den Schlüssel wiederherstellen kann. Bruteforcing war die erste naheliegende Idee, wurde aber schnell verworfen, da dies aufgrund der langsamen Reaktion der Geräte auf Authentifizierungsversuche möglicherweise mehrere Jahre dauern würde. Dies könnte nur funktionieren, wenn die Anzahl der möglichen Schlüssel reduziert werden könnte. Mehrere andere Ideen wurden diskutiert und verworfen. Man versuchte dann, den Speicher direkt von den CPUs der Geräte auszulesen. Dies funktioniert nur, wenn die CPUs nicht geschützt sind, was bei einigen, aber nicht allen Geräten der Fall war. Wir nutzten diese Lücke, um den Speicher auszulesen, der zu diesem Zeitpunkt nur noch ein riesiger Haufen unidentifizierter Bits und Bytes war. Wir suchten also immer noch buchstäblich nach der Nadel im Heuhaufen. Lange Rede, kurzer Sinn: Anstatt den Speicherinhalt zu debuggen oder zurückzuentwickeln, was eine langwierige und mühsame Aufgabe ist, kamen wir auf die Idee, den Bereich in dem Haufen von Bits und Bytes einzugrenzen, in dem der Schlüssel am wahrscheinlichsten gespeichert ist. Fast so, als hätten wir (hoffentlich) die richtige Handvoll Heu auf dem Stack gefunden. Mit den verbleibenden möglichen Bytes, die das Kennwort enthalten könnten, kehrten wir zur Idee des Brute-Forcing zurück und – voilà – konnten schließlich das Kennwort identifizieren, das dann an den Systemintegrator zurückgegeben wurde, der dann wieder Zugriff auf das Gebäudeautomationssteuerungssystem erhalten, die Projektierung neu durchführen und das Gebäude wieder intelligent machen konnte. Die Wiederherstellung war erfolgreich, und das Gebäude konnte wieder voll in Betrieb genommen werden.

War es Cyber-Vandalismus?

Was der Grund und das Ziel des Angreifers war, ist zu diesem Zeitpunkt nicht bekannt, da keine Lösegeldforderung beim Betreiber des Systems eingegangen ist. Möglicherweise handelte es sich nur um einen weitreichender Fall von Cyber-Vandalismus oder um die praktische Herausforderung, über das Internet herauszufinden, wer der tatsächliche Betreiber des Systems ist und an wen die Lösegeldforderung zu richten ist.

Viele Anwender sind sich nicht darüber im Klaren, wie komplex und leistungsfähig manche Steuerungsprotokolle tatsächlich sind. In der Hand eines geschickten Angreifers kann sich diese Fähigkeit natürlich auch gegen den Betreiber wenden, wenn der Angreifer Zugang zu einem Gerät erhält. Dies, da viele der heute verwendeten Steuerungssysteme immer noch nicht über grundlegende Sicherheitsfunktionen verfügen, weil sie zu einer Zeit entwickelt wurden, als Security noch nicht als Grundvoraussetzung angesehen wurde. Deshalb müssen wir dafür sorgen, dass diese Geräte für Angreifer nicht leicht zugänglich sind.

Thomas Brandstetter

Einzelheiten über die Angriffsmethode und den Wiederherstellungsansatz werden von Peter Panholzer, einem der führenden Experten in diesem Fall, auf der S4X22 -Konferenz in Miami Ende Januar vorgestellt.

Mehr Informationen zum Incident auf Dark Reading: