Titelbild: HPI/K. Herschelmann
Am 13.05.2020 um 16:42 Uhr wurden wir vom Landesbeauftragten für Datenschutz und das Recht auf Akteneinsicht (LDA) in Brandenburg per Mail über einen Datenschutzvorfall informiert:
Uns sind anonyme Hinweise weitergeleitet worden, nachdem es auf allen HPI Schul-Cloud- und Länder-Instanzen des HPI eine Vielzahl an Sicherheitslücken gäbe, die jederzeit ausgenutzt werden könnten. Als Beleg wurde eine Liste von 103 Namen von Schülerinnen, Schülern und Lehrern beigefügt, die angeblich aufgrund dieser Sicherheitslücken zugänglich waren. Nach Aussage der betroffenen Schule sind die Daten authentisch.
Wir haben umgehend begonnen, den Vorfall auf Basis der wenigen vorhandenen Informationen in Zusammenarbeit mit unseren externen IT-Sicherheitsberatern zu untersuchen.
Am Abend des 13.05.2020 wurden wir von Nutzer:innen darüber informiert, dass unsere fünf Schulen im Saarland eine Mitteilung des zuständigen Ministeriums erhalten haben, in der ihnen die weitere Nutzung der HPI Schul-Cloud bis zur Klärung des Vorfalls untersagt wurde.
Am 14.05.2020 um 11:16 Uhr haben wir vorsorglich alle Landesdatenschützer über den uns vorliegenden Verdacht informiert.
Um 11.57 Uhr haben wir nach telefonischen Rückfragen beim LDA erfahren, dass der gemeldete Vorfall sowie die Daten von einer unserer fünf saarländischen Schulen stammen und beim dortigen Landesdatenschutz gemeldet wurden. Eine weitere Rückfrage bei dem dortigen Datenschützer konnte bestätigen, dass Daten von 103 Nutzer:innen übermittelt wurden, die jeweils aus Vor- und Nachnamen bestehen. Weitere Felder waren in dem enthaltenen Datensatz nicht vorhanden.
Auf Basis dieser Information konnten wir durch eine Analyse der Daten die betroffene Schule identifizieren. Dort fand sich auch ein verdächtiger Nutzer, der sich am am 13.05.2020 (2020-05-13 07:49:36.172Z) mit einer Wegwerf-Emailadresse (*******@muellemail.com) als Schüler registriert hatte. Nachdem er Zugang zu der Schule hatte, erstellte er sich als Schüler selbst ein Team. Über die 'Nutzer:innen einladen' Funktion in Teams hatte er nun Zugriff auf eine Liste mit Vor - und Nachnamen aller Nutzer:innen der Schule.
Eine weiterführende Analyse ergab, dass sich wenige Minuten vorher ein Nutzer mit identischem Muster an einer anderen Schule selbst registriert hatte. Diese Schule hatte die Funktion, dass Schüler selbst Teams erstellen können, allerdings deaktiviert.
Anhand der vorliegenden Informationen konnten wir erkennen, dass der Nutzer wahrscheinlich einen schulweiten Registrierungslink verwendet hatte. Nach einem internen Review wurde diese Funktion als sicherheitskritisch identifiziert, da es möglich war, sich unter Verwendung auffindbarer Informationen (der Schul-ID) einen Registrierungs-Link für jede Schule zu generieren. Die Funktion wurde umgehend entfernt. Am 14.05.2020 ab 12:50 Uhr wurde eine aktualisierte Version der Webanwendung ohne diese Funktionalität in Betrieb genommen. Auch die Nutzung von vorher erzeugten Links wurde mit der Aktualisierung unterbunden.
Eine Anmeldung von Nutzern bleibt weiterhin über persönliche Einladungslinks, QR-Codes, CSV-Imports oder Verwendung von schuleigenen Anmeldeservern möglich.
Eine direkte Information des Hackers an das HPI im Sinne einer Responsible Disclosure wurde nicht vorgenommen.
Update (14.05.2020, 17:54 Uhr): Der für das HPI zuständigen Datenschutzbehörde wurde eine offizielle Meldung des Vorfalls zugestellt. Die für das Saarland zuständige Behörde wurde in Kopie benachrichtigt.
Update (15.05.2020, 7:35 Uhr): Für die Thüringer Schulcloud konnte die genannte Lücke nicht ausgenutzt werden, da dort die Registrierung deaktiviert ist. Alle Anmeldungen und Registrierungen erfolgen hier zentral über das Thüringer Schulportal. Eine Analyse der Datenbanken konnte hier unbefugte Anmeldungen ausschließen.
Update (15.05.2020, 9:00 Uhr): Im Rahmen der weiteren Analyse konnten insgesamt 13 Schulen identifiziert werden, bei denen nach dem identischen Muster unberechtigte Registrierungen stattgefunden haben. Sieben Schulen befinden sich in der Instanz der HPI Schul-Cloud, sechs in der Schul-Cloud Brandenburg. Davon war bei sieben Schulen die Option aktiviert, dass Schüler Teams erstellen können. Vier der 13 Schulen waren Testschulen von Projektpartner ohne Schülerdaten. Die betroffenen Accounts wurden von uns gesichert und gelöscht.
Sowohl die betroffenen Schulen als auch nicht-betroffene Schulen wurden von uns zeitnah informiert.
Update (15.05.2020, 11:30 Uhr): Im Zusammenhang mit dieser Sicherheitslücke erreichte uns am 14.05.2020 um 14:54 Uhr eine Information über einen weiteren datenschutzrechtlich relevanten Sachverhalt.
Hierbei wurde insbesondere auf Informationen unseres öffentlichen Ticketsystems zugegriffen. Das Ticketsystem der HPI Schul-Cloud war so konfiguriert, dass die Einträge in einem bestimmten Bereich von jedem eingesehen werden konnten. Das ist bei OpenSource-Projekten durchaus üblich, um eine maximale Transparenz in der Entwicklung zu gewährleisten. Andere Bereiche des Ticketsystems wie der Helpdesk und interne Bereiche waren hingegen nur einer geschlossenen Gruppe von Mitarbeitern zugänglich. Bereits am 12.5.2020 um 14 Uhr wurde das Ticketsystem im Rahmen laufender Projektreviews, die gemeinsam mit einem unserer Dienstleister erfolgen, geschlossen.
In der Information wurden wir auf eine Liste von insgesamt 15 Tickets hingewiesen, welche sich vor der Schließung im öffentlichen Bereich des Ticketbereichs befanden und Namen, Emailadressen und teilweise Telefonnummern von Nutzern enthielten.
Da das Ticketsystem zu diesem Zeitpunkt bereits geschlossen war, wurden hier keine unmittelbaren Maßnahmen getroffen. Die betroffenen Nutzer werden von uns informiert, die betroffenen Tickets werden gelöscht. Ob weitere Tickets ähnliche Daten enthielten, wird noch geprüft.
Am 20.05.2020 erfahren wir aus einem Artikel des ARD-Magazins Kontraste um 18:45 Uhr, dass Benutzernamen im Kontext des Chats in der HPI Schul-Cloud einsehbar gewesen sein sollen. Da uns von der Redaktion dazu keine Informationen gegeben wurden, starten wir basierend auf den Informationen des Artikels umgehend eine Untersuchung. Sie ergibt, dass nach der Registrierung in der HPI Schul-Cloud über eine Funktion im Chat bei bestimmten regionalen Instanzen der HPI Schul-Cloud eine Liste von Nutzernamen aufgerufen werden konnte. Auch wer sich unrechtmäßig in der HPI Schul-Cloud registriert und gezielt Funktionen missbraucht hat, konnte diese aufrufen. Dadurch waren Vor-und Nachnamen von Chat-Nutzern sowie deren Eintrittsdatum in den Chat für andere eingeloggte Nutzer potentiell sichtbar, die die entsprechende URL herausgefunden und aufgerufen hätten. Die entsprechende Funktion im Chat wurde am selben Tag um 22.02 Uhr durch das Sicherheitsteam deaktiviert. Wir prüfen gerade, welche Nutzer davon betroffen gewesen sein könnten.
Fehlerhafte Konfiguration der integrierten Rocket.Chat Anwendung
Update nach vorläufigem Abschluss der Forensik (26.05.2020, 16:00 Uhr)
Am 20.05.2020 wurden wir durch einen Artikel (veröffentlicht um 18:45 Uhr) darauf aufmerksam, dass Benutzernamen im Kontext des Chats in der HPI Schul-Cloud einsehbar gewesen sein sollen. Wir konnten zwischenzeitlich in der forensischen Analyse Folgendes feststellen:
Bei dem geschilderten Problem handelt es sich um eine Standardfunktionalität von Rocket.Chat, die einen Chat-Raum namens ‚General‘ erzeugt, in dem neue Nutzer standardmäßig hinzugefügt werden. Erfolgt das Hinzufügen des Nutzers, so erscheint ein entsprechender Hinweis in dem Raum (Vorname.Nachname hat diesen Raum betreten). Diese Funktion war in der HPI Schul-Cloud deaktiviert worden, da kein instanzweiter Austausch oder Benachrichtigungsraum vorgesehen ist. Auf zwei Instanzen der HPI Schul-Cloud wurde diese Einstellung wahrscheinlich durch ein Update von Rocket.Chat aber wieder aktiviert und der Raum angelegt. Dies hat unser Team am Abend des 20.05.2020 umgehend korrigiert.
Der ‚General‘ Raum war bei der normalen Benutzung der HPI Schul-Cloud nicht sichtbar, sondern nur, wenn man die URL des Chats auslas, manipulierte und in einem neuen Fenster öffnete.
Wir konnten nicht zuverlässig reproduzieren, warum und seit wann die Konfiguration fehlerhaft war, aber es gibt im Open-Source-Projekt von Rocket.Chat Tickets, die ein entsprechendes als Fehler deklariertes Verhalten zumindest in älteren Versionen von Rocket.Chat beschreiben.
Auf den Instanzen der Thüringer Schulcloud und der Schul-Cloud Brandenburg war die Konfiguration ordnungsgemäß und entsprach den in den Installationsskripten hinterlegten Soll-Werten. Hier war dieser Raum nicht angelegt oder das Hinzufügen war deaktiviert .
Da der Chat auch im Demo-Modus aktiviert war, war ein Einsehen dieses Raumes auch für den auf https://hpi.schul-cloud.org verfügbaren Demo-Nutzer einsehbar, sofern er die entsprechende Manipulation vornahm.
Wir konnten insgesamt 56 Nutzer identifizieren, die den Chat entsprechend geöffnet hatten und damit möglicherweise Zugriff auf die Liste der Vor- und Nachnamen der Nutzer des Chats hatten.
Zugriffe des Demo-Nutzers konnten wir bei unserer Analyse der vorliegenden Daten ausschließlich in dem Zeitraum vom 7.5.2020 bis zum 19.5.2020 feststellen. Wir gehen aufgrund des Musters und der zeitlichen Verteilung der Zugriffe davon aus, dass hier nicht der Missbrauch der Daten im Vordergrund stand, sondern eine Verwertung im Rahmen verdeckt durchgeführter journalistische Zugriffe erfolgte. Dabei konnten wir auch feststellen, dass es zeitliche Überschneidungen mit dem unberechtigten Zugriff auf die Daten an der saarländischen Schule gab, somit beide Vorfälle nach unserem Erachten zusammenhängen.
Wir haben keine Hinweise auf ein vollständiges Auslesen der Liste oder einen anderweitigen Missbrauch der Daten.
Die Landesbeauftragte für Datenschutz und Akteneinsicht in Brandenburg wurde über den neuen Sachstand informiert.
Es ist außerdem zu betonen, dass wir leider erst durch die Veröffentlichung Artikels auf die Problematik hingewiesen wurden und uns vorher keine Information im Sinne einer Responsible Disclosure zur Kenntnis gebracht wurde.
Außer der Liste der Namen und dem Zeitpunkt der erstmaligen Nutzung des Chats waren keine weiteren Daten einsehbar (insbesondere nicht Schulzugehörigkeit, Email, Chat-Verläufe oder Nachrichten).
Getroffene Maßnahmen:
- Die Einstellungen wurden umgehend nach Bekanntwerden korrigiert, der vorhandene Raum gelöscht.
- Per automatisiertem Script werden die Einstellungen regelmäßig überprüft.
- Der Demo-Zugang wird auf ein dediziertes Demo-System ausgelagert.
Über mögliche weitere Maßnahmen werden wir im Zuge unseres Incident Managements Prozesses entscheiden und hier berichten.
Abschluss / Personenbezogene Daten im Ticketsystem
(Update, Freitag 29.05.2020)
Wir haben die Sichtung allre Tickets in dem ehemals öffentlichen Bereich unseres Ticketsystems auf enthaltene personenbezogene Daten wie Namen, E-Mail Adressen und falsche Klassifizierung der Zugangsrechte abgeschlossen.
Dabei haben wir insgesamt 21 Tickets identifiziert, die personenbezogene Informationen enthielten, aber fälschlicherweise nicht als intern gekennzeichnet waren.
Darüber hinaus haben wir 25 Tickets identifiziert, bei denen durch eine interne Funktionalität die Sichtbarkeit für einzelne Nutzer freigeschaltet war.
Wir haben alle betroffen Nutzer inzwischen per Mail informiert.
Nach interner Diskussion haben wir entschieden, dass das Ticketsystem weiterhin nur intern zugänglich bleibt, auch wenn dies die Mitarbeit externer Contributoren perspektivisch erschwert. Letztendlich sind aber alle evaluierten möglichen automatisierten Maßnahmen wie das automatisierte Durchsuchen der Ticketinhalte nach personenbezogene Daten nicht hinreichend sicher, da diese beispielsweise nicht Daten in Screenshots oder Anhängen untersuchen.