RCE Lücke in smartem Stromzähler

Das ein Gericht das BSI gerade daran gehindert hat, einfach die Anforderungen an die Zulassung von smarten Stromzählern zu senken, war eine mehr als positive Entscheidung. Wie sich zeigt ist die Sicherheit von smarten Stromzählern essentiell.

RCE Lücke in smartem Stromzähler

ThreadPost berichtet in einem Artikel vom 12.3. von einer ungepatchten Sicherheitslücke in einem „Schneider Electronic PowerLogic ION/PM Smart Meter“:

„Critical security vulnerabilities in Schneider Electric smart meters could allow an attacker a path to remote code execution (RCE), or to reboot the meter causing a denial-of-service (DoS) condition on the device.“

Dies Modell wird zwar nicht in Deutschland eingesetzt AFAIK, zeigt aber wie wichtig die Sicherheitsfrage bei diesen Geräten ist. Die fraglichen Geräte hängen wohl am Internet und sind so Angriffen ausgeliefert. Wieso man da bitte nicht mal eine Firewall vorsetzt, die Verbindungen nur vom zuständigen Datacenter zulässt, wird wohl niemand von der Firma beantworten wollen.

Dieses spezielle Smartmeter kann komplett übernommen werden, oder alternativ geDOSt werden, also an der Arbeit gehindert werden. Wenn ich so eine Lücke hätte, wüßte ich was das Smartmeter messen lassen würde: Das ich im Urlaub bin und nur der Kühlschrank läuft 😉  „Ist halt gehackt worden“, falls jemand die Frage stellt, wieso die Leitungen rot leuchten 😉

Das Schlimme an der Sache ist, daß solche Geräte mal wieder in Rechenzentren und Medizinischen Einrichtungen stehen. Damit sind diese Geräte, denen man den Hack nicht ansieht, dann Einfallstore für weitere Attacken. Wie man dem Bericht weiter entnehmen kann, ist wohl der ganze interne Softwarestapel schlampig zusammen gebaut worden:

“We found that the advance_buffer function always returns true, regardless of other inner functions failing and returning false. „

Das meint, daß egal ob eine Unterroutine die Rote Leuchte rausstellt und den Aufrufer darauf hinweist, daß es nicht geklappt hat, macht die aufrufende Routine einfach weiter. Das nennt man im Fachjargon „Fire & Forget Code“. Dieser geht immer davon aus, daß das was er tut funktioniert. Eine Fehlerbehandlung ist nicht vorgesehen. Und genau das fällt diesem Smartmeterhersteller jetzt auf die Füße. Aus Programmierersicht habe ich da jetzt kein Mitleid, weil das ist einfach nur schlampig zusammen gebastelt worden.