Schild NRW – Von Updates und Signaturen

oder: Wie du dir Noten für dein Zeugnis hackst.

Spätentens mit dem PC-Wahl-Hack wurde deutlich, welche Auswirkungen ungeprüfte Update Binaries haben können. Ein weiterer Kandidat für diesen Angriff ist Schild-NRW. Eine <ironie>sehr beliebte</ironie> Software, die an Schulen in NRW zur vollständigen Verwaltung der Schülerdaten eingesetzt wird. Dazu gehören auch der Zeugnisdruck und somit die Notenverwaltung.

Grundlagen

Schild

Die Software selbst steht zum Download bereit. Also gute Grundvoraussetzungen, damit jeder Bürger (und Schüler) die Anwendung selbst auf Sicherheitslücken prüfen und entsprechend reagieren kann. So habe ich mir die Anwendung eigentlich schon länger ansehen wollen, bin nun jedoch froh, dies nicht bereits während meiner Schulzeit gemacht zu haben. Die nachfolgend beschriebene Lücke wäre doch recht verlockend gewesen.

Schild-NRW bringt inzwischen einen eingebauten Update Mechanismus mit, sodass Aktualisierungen mit nur wenigen Mausklicks durchgeführt werden können. Die Downloads selbst sind dabei signiert. Updates werden über HTTP ausgeliefert. Der Server verfügt über ein gültiges SSL Zertifikat. Die Updateroutine wurde nicht selbst entwickelt, sondern bei TMS Software eingekauft. Laut TMS Beschreibung ist eine Prüfung der Signaturen möglich. Technisch sind also alle Voraussetzungen für ein sicheres Update erfüllt.

Schulnetze

In Schulen werden die Netze im Normalfall in mindestens zwei Netze aufgeteilt. Dabei gibt es einmal das Schülernetz (auch pädagogisches Netz genannt) und das Verwaltungsnetzwerk. Letzteres stellt dabei das vertrauenswürdige Netzwerk dar, in dem laut Datenschutzverordung auch personenbezogene Daten gespeichert und verarbeitet werden dürfen.

…und deren Sicherheit

Dienstleister

Allein das Thema Sicherheit von Schulnetzen ist ein Thema für sich. Wer sich die Firmen hinter PC-Wahl ansieht, wird auf eine Firma mit einem kleinen R im Namen stoßen – einem IT-Dienstleister aus dem aachener Raum, der auch an meiner Schule das Netzwerk betreute. Allein deren Leistungen führten in Schulnetzwerken zu unzureichenden Sicherheitsmaßnahmen, die es Schülern ermöglichen, aus dem pädagogischen Netz in das Verwaltungsnetzwerk vorzudringen. Ein Dienstleister, über den ich hier schon einmal berichtet habe. Dabei habe ich auch allen Grund zur Annahme, dass andere IT Dienstleister es nicht besser machen, sondern lediglich anders schlecht.

Anwender

Der gemeine Nutzer klickt auf alles, was nicht bei drei auf der Palme ist. So, oder so ähnlich, wird es gerne durch “den schönen Sprecher” hinter dem YouTube Kanal SemperVideo formuliert.

Sieht man sich an, wer im Verwaltungsnetzwerk die Anwender sind, kommt man schnell zu dem Schluss, dass es sich dabei ausschließlich um Lehrer handelt. Also eine Berufsgruppe, deren Hauptaufgabe nicht in der sicheren Handhabung eines Computers liegt. Es muss also davon ausgegangen werden, dass es früher oder später zu Gefahren durch den Anwender kommt. Somit sind entsprechende Schutzmaßnahmen zu treffen, die für einen Laien ohne Hintergrundwissen unsichtbar bleiben.

Das Problem

Die folgende Beschreibung bezieht sich auf die Version 2.0.19.3

HTTP

Sobald der Benutzer nach Updates sucht, werden die Updateinformationen per HTTP abgerufen. Dabei ruft Schild-NRW zunächst die unverschlüsselte Version der Datei ab, wird jedoch im Anschluss durch einen 301 Redirect auf die verschlüsselte Seite umgeleitet. Der Updater folgt dabei dem Redirect. Das Update wird ebenfalls unverschlüsselt heruntergeladen.

Signaturen

Nach dem Download werden zur Installation selbstverständlich Administratorrechte benötigt. Diese Rechte werden durch den Updater selbst angefodert. Da der Updater bereits signiert ist, wird dabei nicht die Signatur des heruntergeladenen Binaries angezeigt, sondern die des Updaters – also der Firmwa TMS Software. Die Signatur der heruntergeladenen Datei wird nicht geprüft.

Der Angriff

Voraussetzung

Der Angreifer (auch Schüler genannt) hat bereits einen niedrig privilegierten Zugriff auf das Verwaltungsnetzwerk erlangt. Dies war in meiner Schullaufbahn durchaus möglich, sodass das Verwaltungsnetzwerk zwar als sicherer, jedoch nicht als sicher angesehen werden kann.

Zu diesem Zeitpunkt existiert bereits ein beliebiges Executeable, dass der Angrifer auf dem Rechner seines Opfers installieren möchte. Dieses Binary ist natürlich unsigniert.

HTTP Manipulation

Da die Kommunikation mit dem Server unverschlüsselt stattfindet, kann an dieser Stelle ein Man-In-The-Middle (MITM) Angriff erfolgen. Der Traffic also ausgetauscht werden. Tausche ich als Angrifer nun also das Binary auf dem Transportweg aus, wird der Zielcomputer meine manipulierte Datei erhalten.

Ausführung

Nach dem Download soll das vermeintliche Update installiert werden. Der signierte Updater fordert dazu Administrator Rechte an, die er dann an das Binary vererbt. Die fehlende Signatur wird nicht angezeigt, es erfolgt keine Warnung. Das manipulierte Update wurde ausgeführt. Somit hat der Angrifer nun nahezu vollständigen Zugriff auf den Computer, auf dem Schild-NRW ausgeführt wird.

Folgen

Der Installation von Keyloggern, dem Abgreifen von Daten und insbesondere der Veränderung eigener oder fremder Noten steht nun nichts mehr im Wege.

Lösung

Die Suchvorgang nach Updates sowie der Download sollten ausschließlich per HTTPS erfolgen, sodass MITM Angriffe an dieser Stelle bereits erschwert werden.

Der Updater sollte vor der Ausführung des Updates die Signatur prüfen.

Kommunikation

Am 29.04.2018 habe ich das Problem dem Entwickler von Schild-NRW gemeldet. Am 02.05.2018 erhielt ich eine erste Antwort, am 03.05.2018 eine neue Version, die den beschriebenen Angriff nun verhindert. Nach meinen Tests habe ich dies am 13.05.2018 bestätigt.

Für die Behebung wurde ein Zeitraum von sechs Wochen eingeräumt. Dieser ist mit der Veröffentlichung dieser Dokumentation verstrichen.

Weitere Probleme

Access Datenbank

Standardmäßig verwendet Schild-NRW eine Access Datenbank. Laut dem Entwickler wird diese zwar nur in wenigen Schulen verwendet, verfügt dennoch über mangelnde Sicherheitsmaßnahmen. Schild enthält eine Benutzerverwaltung, die einen Benutzer mit Benutzername und Passwort authentifizieren soll. Die Datenbank Datei ist zwar mit einem Passwort geschützt, dieses lässt sich jedoch mittlerweile selbst mit Microsoft Tools innerhalb weniger Sekunden herausfinden.

Passwort “verstecken”

Normalerweise werden gespeicherte Passwörter für die Benutzerverwaltung mit einem Salt versehen und gehasht. In diesem Beispiel findet jedoch lediglich eine Verschiebung auf der ASCII Tabelle statt. Ein Passwort lässt sich also erneut in Klartext umwandeln.

Kritik

Obwohl es bereits eine aktualisierte Version gibt, wird (Stand 24.05.2018) weiterhin die betroffene Version 2.0.19.3 ausgeliefert. Das Update ist derzeit lediglich als Beta Version im Changelog erwähnt. Darin heißt es:

Version 2.0.19.7 (Beta-Version)

Schulform-unabhängige Änderungen

Aus Sicherheitsgründen wurde die Speicherung der Benutzerpasswörter geändert. Die Passwörter werden ab jetzt auch noch in einem Hashwert hinterlegt, so dass der Klartext in Zukunft nicht mehr auszulesen ist. In einer kommenden Version, werden die alten Passwortfelder dann gelöscht.
In der Updateroutine wurde eine Sicherheitslücke geschlossen, die es einem Angreifen [sic] unter gewissen Umständen ermöglichte eine Schadsoftware mit Admin-Rechten auszuführen.

Bitte testen Sie diese Version nur an Kopien Ihrer Datenbanken!
Es kann unter Umständen vorkommen, dass die Passwörter mit einer älteren Version nicht mehr gelesen werden können!

Da die Verbesserung der Passwortspeicherung nicht abwärtskompatibel ist, muss dieses Update vorsichtig ausgerollt werden.

Nutzer von Schild-NRW sind also bisher dazu angehalten, ein Update, dass eine Sicherheitslücke schließt lediglich im Testbetrieb auszuführen. Hier wäre es sinnvoller gewesen das Update auf zwei Versionen aufzuteilen und die Updateproblematik schnellstmöglich zu schließen. Zudem könnte man die Benutzertabelle in der Datenbank bereits für die gehashten Passwörter vorbereiten und erst in ein bis zwei Updates erzwingen.

Bis es ein offizielles Update gibt, bleibt nur die Verwendung der Beta Version oder die Trennung der Netzwerkverbindung. Beide Optionen sind wohl leider nicht praktikabel umsetzbar.

Nachtrag: Inzwischen wurde ein Update für den Produktiveinsatz bereitgestellt. Es wird empfohlen die Software schnellstmöglich zu aktualisieren. Bitte vermeiden Sie, sofern Sie eine Version älter als 2.0.20.2 insatlliert haben, die Benutzung der automatischen Updateroutine. Laden Sie das Update stattdessen aus Sicherheitsgründen manuell herunter.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.