Zum Hauptinhalt springen

Digitale Kontaktnachverfolgung der TH Wildau. Vorkommnisse am laufenden Band.

Selbstgebaute digitale Kontaktnachverfolgung mit vielen Funktionen:

  • mit RCE
  • mit DDoS gegen das Gesundheitsamt
  • mit Bewegungsprofil
  • mit Überwachung durch andere

Kleine schlanke Lösung ohne viel Ballast:

  • ohne Datensatzverschlüsselung
  • ohne Backup
  • ohne Versionierung
  • ohne Kommunikation mit Schwachstellenmeldenden

Kaufen Sie jetzt! Wir sind sicher und datenschutzkonform!

🤦

Die von der TH Wildau entwickelte auf Laravel+Vue.js basierende PWA wird auch an der BTU Cottbus eingesetzt. An der TH Wildau wurde die Anwendung durch Angestellte der TH Wildau entwickelt, die dem iCampus Projekt zugeordnet sind.
Aufgefallen ist uns die Anwendung, da in der Einführungsankündigung steht, dass die Hochschule die Anwendung vorrangig deswegen entwickeln musste, weil sie innerhalb von 24 Stunden eine Meldung an das Gesundheitsamt geben muss, sofern sie zur Datenübermittlung im Rahmen einer Kontaktnachverfolgung aufgefordert wird. Unseren Recherchen nach (hier,hier,hier,hier), gibt es eine solche Frist jedoch nicht. Das räumen nach langer Zeit auch beide Hochschulen ein. An ihren öffentlichen Informationen über diese angebliche Frist, hat das jedoch nichts geändert.

Abgelaufenes TLS Zertifikat

Anfang des Jahres 2021 fiel den Mitgliedern der Hochschule auf, dass das TLS Zertifikat der Anwendung abgelaufen war, was auch gut auf crt.sh ablesbar ist:

Der 3.1. war ein Sonntag und es fiel dann auch den Verantwortlichen am 4.1. Montag morgen wohl auf. Es scheint sich also um einen Prozess zu handeln, der sowohl in der Ausstellung, als auch im Monitoring manuell durchgeführt wird.

Bewegungsprofil im 5 Minuten Raster

Laut FAQ müssen sich Mitglieder der Hochschule in einen Raum einbuchen, sobald Sie diesen länger als 5 Minuten betreten. Damit sind genaue Bewegungsprofile ermittelbar und landen natürlich auch in der Datenbank. Jeder längere Toilettengang wird abgespeichert. Woher der Zeitraum von 5 Minuten stammt, konnten wir nicht ermitteln.

Schwachstelle RCE

Nachdem wir uns die Anwendung nun Mitte April etwas näher anschauten, verursachten wir aus Versehen auch gleich einen Server Error. Wir sahen das folgende:
Den Eingeweihten von Laravel fällt auf, dass die Anwendung im Debugmodus läuft, wo eben die gezeigte hilfreiche Ausgabe von Fehlern auftaucht und dadurch auch in den Tabs Stacktrace und Debug “aussagekräftige” Daten ausgibt. Spannend ist hier eigentlich, dass die Laravel Version 7.28.1 eingesetzt wird. (EOL am 03.03.2021).
Richtig schlimm wurde es dann, als wir feststellten, dass die Anwendung auch Ignition (die macht diese schicke Fehlerausgabe) in Version 2.3.7 nutzte. Diese Kombination war anfällig für CVE-2021-3129.
Damit brannte das Haus, da nun natürlich die gesamte Laravel Umgebung mit allen Datenbankpasswörtern und eventuell der gesamte Server, sofern hier keine Abschottung (Container, LXC, chroot…) eingesetzt wurde, auszulesen gewesen wäre.
Wenn man sich den Pfad im oberen Teil des Bildes anschaut (wir haben den Namen des Entwicklers, der daraus hervorgeht geblurrt), gehen wir nicht davon aus, dass irgendeine Form von Abschottung (außer klassisches Linux UserID System) eingesetzt wurde, sondern alle Projekte von iCampus auf einem Server womöglich unter gleichen UserIDs laufen. Schafft man es also in eine Anwendung einzubrechen, sind alle davon betroffen.
Wir meldeten die Schwachstelle umgehend nach Responsible Disclosure. Außer einer Eingangsbestätigung erhielten wir niemals wieder weitere Rückmeldungen von der Hochschule. Ob diese als Hersteller auch die BTU Cottbus informiert hat, wissen wir nicht. Einige Tage später war der Debugmodus deaktiviert. Immerhin.

Wann kommt die Präsidentin früh morgens?

Die Anwendung besitzt ein “Zusatzfeature”. Man kann erkennen, mit wie vielen Personen man in einem Raum Kontakt hatte, sofern man im gleichen Zeitraum dort eingebucht war. Ein am System angemeldeter Nutzer kann sich nun durch ein kleines Script ab Mitternacht in den Dienstraum der Präsidentin einbuchen und wieder ausbuchen, einbuchen und wieder ausbuchen… So im 5 Minuten Raster. In dem Moment wo der Zähler für die Kontakte mit anderen Personen nach ob geht, ist davon auszugehen, dass sich die Präsidentin der Hochschule an dem Tag vermutlich erstmalig in Ihrem Büro eingebucht hat. Das ganze ist natürlich mit gewissen Unsicherheiten verbunden, da sich beliebige Personen in Räume einbuchen können, auch nachträglich. Aber Immerhin.

Schwachstelle Gastregistrierung, BSI schreitet ein

Die Anwendung besitzt die Möglichkeit, dass man sich als Mitglied der Hochschule mit seinem Single-Sign-On (ohne MFA Unterstützung) an der Anwendung anmelden kann. (Nebenbemerkung: Die Anwendung bekommt also Nutzername und Passwort dieses Logins im Klartext zu sehen, obwohl das DFN Shibboleth anbietet.)
Gäste haben die Möglichkeit durch Eingabe von Name und Email oder Telefonnummer ebenso Checkins in Räume vorzunehmen.
Dabei findet keinerlei Verifizierung der Daten statt. So konnten wir automatisch erfundene real aussehende Personen registrieren und vollautomatisch in Räume einbuchen. 500 Personen haben wir innerhalb einer Stunde in einen kleinen Raum gequetscht. Für diese Schwachstelle haben wir eine CVE registriert CVE-2021-33831, die Hochschule am 31.05.2021 umfangreich informiert und nach 3 monatiger Wartezeit den POC veröffentlicht. Wir erhielten außer einer Eingangsbestätigung, keine weiteren Rückmeldungen der Hochschule zu dieser Schwachstelle.
Erst Mitte November wurde die Gastregistrierung der TH Wildau nach Intervention des BSI deaktiviert. Die BTU Cottbus brauchte dafür dann einen zusätzlichen Hinweis durch uns und einen weiteren Monat. Immerhin. Wie beide Hochschulen nun ihrer Verpflichtung aus der Corona Verordnung für Gäste nachkommen ist uns nicht bekannt.

Schwachstelle DDoS gegen Gesundheitsamt: Menschenleben in Gefahr

Mit der zuvor genannten Schwachstelle hätte jede Person so viele Kontakte erzeugen können, dass im Falle des Falles das Gesundheitsamt sicherlich keine Kontaktnachverfolgung hätte durchführen können. Da die Personen aufgrund der Nutzung von Namensdatenbanken nicht automatisch erkannt/gefiltert werden können, hätte ein Gesundheitsamt sicherlich anderen Kontaktnachverfolgungen den Vorrang gegeben/geben müssen. Mitglieder der BTU Cottbus und TH Wildau wären also weniger prior über mögliche Kontakte informiert worden. Mit allen möglichen Folgen.

Und sonst so? Die Gesamtumstände?

Zum Zeitpunkt dieses Artikels läuft die Webseite des iCampus Projektes auf Drupal Version 8.9.14 von April 2021 und die Major Version 8 von Drupal war EOL November 2021. Aus dem November 2021 stammt auch die letzte aktualisierte Patch Version 8.9.20. Der Drupal Release Zyklus ist eine neue Minor Version alle ca. 6 Monate. Man müsste also 2 mal pro Jahr ein Update machen und vermutlich alle 2 Jahre mal ein Major Update. Drupal 9 gibt es auch bereits seit Juni 2020.

Die Nextcloud Instanz der TH Wildau weist Version 20.0.8.1 vom Februar 2021 auf: Nextcloud Version 20 war Oktober 2021 EOL. Der Nextcloud Release Zyklus ist eine neue Major Version alle ca. 4 Monate. Man müsste also 3 mal pro Jahr ein (manuelles) Major Update machen. Minor Updates sind üblicherweise automatisierbar.

Für veraltete Software sind meist auch Schwachstellen zu finden und auszunutzen. Als Stand der Technik sehen wir sowohl regelmäßige als auch außerplanmäßige Updates. Das schließt für uns auch alle Plugins/Bibliotheken mit ein.

Interne Aufklärung? Nicht das wir wüssten.

Unseren Informationen nach hat weder die TH Wildau, noch die BTU Cottbus ihre Mitglieder über die Schwachstellen und die Situation mit der digitalen Kontaktnachverfolgung proaktiv aufgeklärt. Das passt zur Kommunikation auch mit uns, wonach auch wir keinerlei Rückmeldung außer Eingangsbestätigungen erhielten.

AIG Anfrage Quellcodeeinsicht. Nur mit Klage möglich.

Nun wollten wir es noch genauer wissen. Ganz besonders auch deswegen, weil wir bisher von der Hochschule keine Art der Kooperation wahrgenommen haben, die wir erwarten würden.
Wir beantragten Akteneinsicht in den Quellcode der Anwendung.
Die Hochschule lehnte diese Antrag ab mit folgenden Begründungen:

  • Quellcode sind keine Akten
  • Es ist geistiges Eigentum zu schützen, da mit der Anwendung Geld verdient werden muss, worauf das Land Brandenburg angewiesen ist.

Es folgte die notwendige Klage. Das Verfahren ist bisher nicht abgeschlossen.
Die TH Wildau übermittelte jedoch ein Bild-PDF in FAX Auflösung (also PDF mit Bild Objekt auf jeder Seite), ohne Ordnerstruktur und mit offensichtlich fehlenden Dateien/Codepassagen. Diese Form der Auskunft halten wir für ermessensfehlerhaft und halten die Klage aufrecht. Wir wollen ein .zip nach einem von uns benannten Erstellungsverfahren!
Es konnten aber “spannende” weitere Details im Klageverfahren ermittelt werden:

  • Die Hochschule gibt an, keine anderen Versionen der mehrfach aktualisierten Anwendung zu besitzen, da sie keine Art der Versionierung einsetzt. GIT ist zu aufwändig wurde argumentiert.
  • Es scheint auch keine Backups der Server zu geben, aus denen alte Versionen wiederherstellbar wären.
  • Widersprüchlich entwickelt mal eine Person an der Software (was wir für glaubwürdig halten) und dann wieder ein ganzes Team.
  • Die Anwendung besitzt keine Verschlüsselung auf Datenbank/Datensatzebene. Nur die Festplatte des Servers ist verschlüsselt und die HTTP(s) Verbindung. Der Basisschutz gegen Abhören/Verändern der Verbindung und gegen physischen Raub. Digitaler Einbruch in die App (oder eine Bibliothek), der uns am wahrscheinlichsten vorkommende Fall, ist zumindest nicht durch Krypto abgesichert. Also selbst das umstrittene Luca ist da besser.

Landesbeauftragte für den Datenschutz? Prüft seit gut einem Jahr.

Die Landesbeauftragte für den Datenschutz und das Recht auf Akteneinsicht in Brandenburg (kurz LDA) kennt die Anwendung und befindet sich seit Anfang 2021 in Prüfung. Wir verstehen nicht, warum das so lange dauert. Im Übrigen bindet die Anwendung auch noch völlig unnötig Google Ressourcen (Font Awesome) von Google USA ein (Schrems II).
Die LDA empfand die Möglichkeit, des zuvor beschriebenen Trackings über das sich Ein- und Ausbuchen als akzeptabel und verglich es mit Licht im Büro, dass auch außerhalb des Gebäudes erkennbar wäre. Das sehen wir anders, weil im digitalen Bereich außerhalb des Gebäudes = die Ganze Welt ist und nicht nur einige hundert Meter. Zu allen weiteren Punkten hat sich die LDA bisher uns gegenüber nicht geäußert.

Und der Personalrat? (ergänzt Januar 2023) Auch hier nur mit Klage.

Auch beim Personalrat fragten wir nach den Unterlagen, die diesem vorlagen. Üblicherweise werden dort Protokolle verfasst, Abstimmungsergebnisse festgehalten, Beschlüsse gefasst und Anlagen an Protokolle angehangen. Auch findet interner Austausch über die internen digitalen Plattformen statt nebst Speicherung von amtlichen Zwecken dienenden Unterlagen in Dateien.
Aus der ersten Antwort der Hochschule ergibt sich, dass offensichtlich Beschlüsse gefasst wurden und auch Entsendungen. Diese Protokolle wurden uns nicht übermittelt, sondern lediglich Unterlagen mit Verweisen darauf.
Es gab wohl auch eine Anfrage des Kanzlers der Hochschule über eine eigene “interne” Abfrage von Daten. Auch diese Anfrage wurde uns nicht ausgehändigt. Ebenso fehlte das Verfahrensverzeichnis. Kurzum, erneut war Klage notwendig.
Kommentarlos erhielten wir nach Klageerhebung das Verfahrensverzeichnis (und noch weiteren internen Schriftverkehr). Es handelte sich Datum des Verfahrensverzeichnisses nach jedoch nicht um die Version, die dem Personalrat vorlagen. Auch ergeben sich aus den neuen Unterlagen erneut Hinweise, dass noch weitere Unterlagen vorhanden sein müssen. Immer noch fehlt der Schriftverkehr mit dem Kanzler über eine “interne” Datenabfrage. Ebenso fehlen die Protokolle nebst Anhängen des Personalrates, die ja zweifelsfrei vorhanden sind.
Und zu guter Letzt ergibt sich auch implizit aus dem Klageverfahren zur Einsicht in den Quellcode, dass den Personalräten weitere Unterlagen vorliegen müssen. Die Hochschule gab nämlich in einer ihrer Erwiderungen gegenüber dem Gericht selbst an:
“Vielmehr wurden die notwendigsten Anwendungsfälle für den Start der App in Gremiensitzungen festgelegt und direkt umgesetzt.”
Wir gehen davon aus, dass zumindest der Krisenstab eines dieser Gremien war. Ständiges Mitglied war immer jemand vom Personalrat.
Uns bleibt schleierhaft, warum hier so gemauert wird.

Vorläufiges Fazit

Wir glauben bei der aktuellen Sachlage nicht daran, dass die TH Wildau ihre Auffassungen und Einstellungen zum Schutz ihrer Mitglieder anpassen wird.
Zumindest sind die schwersten Lücken in der Anwendung, die wir von außen mit einfachsten Mitteln gefunden haben, vorerst nicht mehr ausnutzbar.
Zum Ergebnis und weiteren Verlauf der Klageverfahren wird es weitere extra Artikel geben.