IT-Sicherheit beim elektronischen Gesundheitsdossier im Fürstentum Liechtenstein

Am 1. Januar 2022 trat im Fürstentum Liechtenstein das Gesetz zum elektronischen Gesundheitsdossier (EGDG) in Kraft. Das elektronische Gesundheitsdossier (eGD) wird für alle 39'000 Bürger eingeführt, welche nicht Widerspruch einlegen und diesem Widerspruch eine Passkopie beilegen. Wir haben uns das genauer angeschaut.

Eine journalistische Aufbereitung unserer Befunde gibt es beim Liechtensteiner Vaterland (Paywall).

Gesundheitsdienstleister sind seit Juli 2023 verpflichtet, die Daten in das eGD einzutragen, ausser der Patient widerspricht dem wiederum explizit. Zu den Gesundheitsdienstleistern gehören das Liechtensteinische Landesspital, die Liechtensteinische Alters- und Krankenhilfe, andere Einrichtungen des Gesundheitswesens im Sinne des Gesundheitsgesetzes (mit Ausnahmen), Ärzte, Apotheker, Chiropraktoren und Zahnärzte. Erlaubt ist beispielsweise explizit auch die Eintragung von genetischen Daten. Jeder Bürger kann grundsätzlich die Löschung der Daten veranlassen. In einem ersten Schritt ist dem eGD jedoch ein Datenreichtum an einem zentralisierten Ort sicher, im Gegensatz zur Schweiz, wo explizit der Patient ein solches elektronisches Dossier anlegen muss. Für den Zugang zum eGD-Portal ist allerdings ebenfalls eine Digitale Identität (eID) erforderlich, sonst kann ein Bürger das elektronische Gesundheitsdossier nicht nutzen bzw. kann lediglich online Formulare (via Upload einer Passkopie) verwenden.

Dieser Artikel stellt eine unabhängige Drittsicht auf das Gesundheitsdossier dar.

Im Folgenden werden zuerst die technischen Gegebenheiten des Gesundheitsdossier näher erläutert. Anschliessend folgt eine Einschätzung und weitere Betrachtung aus Sicht der Pentagrid AG und unserer langjährigen Erfahrung im Testen der technischen IT-Sicherheit von Systemen.

Technische Fakten zum elektronischen Gesundheitsdossier

Die Liechtensteinische Landesverwaltung veröffentlichte auf ihrer Webseite einen Bereich zum elektronischen Gesundheitsdossier in Liechtenstein. Dabei sind für den Datenschutz relevante Informationen auf einer eigenen Seite aufgelistet. Hier lässt sich nachlesen, dass die Siemens Healthcare AG (Siemens) mit Sitz in Zürich als externer Systemlieferant Auftragsverarbeiter für das Amt für Gesundheit ist. Ausserdem hat Siemens die MTF Solutions AG (MTF) mit Sitz in Worblaufen für die IT-Infrastruktur und das Hosting der eHealth-Plattform unterbeauftragt. Ferner ist nachzulesen: "Die Firma Siemens kann zu Supportzwecken auf die Daten über ihr Servicezentrum in Fürth, Deutschland, zugreifen. In Deutschland werden aber keine Daten gespeichert."

Die Webseite für Privatpersonen ist, wie vom Amt für Gesundheit publiziert, unter der URL https://prod.gesundheitsdossier.li/ erreichbar.

Ermittelt man die IP-Adressen, welche zu dieser Webseite gehören (über sogenannte DNS-Auflösung), erhält man folgende drei Einträge:

104.22.46.254
104.22.47.254
172.67.7.104

Die Frage ist, wem diese drei IP-Adressen gehören. Sucht man im öffentlich einsehbaren WHOIS-Dienst im Internet, findet man folgenden Besitzer:

OrgName:        Cloudflare, Inc.
OrgId:          CLOUD14
Address:        101 Townsend Street
City:           San Francisco
StateProv:      CA
PostalCode:     94107
Country:        US

Dieses Unternehmen wird in der Datenschutzerklärung zum Zeitpunkt der Artikelveröffentlichung nicht erwähnt.

Wer in der IT tätig ist, kennt Cloudflare. Obwohl auch weitere Dienste von Cloudflare bezogen werden können, hat sich Cloudflare insbesondere einen Namen gemacht bei der Abwehr von sogenannten Distributed-Denial-of-Service-Angriffen (DDoS). Cloudflare soll also dabei helfen, dass Angreifer die elektronische Gesundheitsdossier-Webseite nicht für einen Zeitraum unbenutzbar machen können. DDoS ist ein reales Problem, wie gerade erst kürzlich der Angriff auf verschiedene staatliche Organisationen in der Schweiz zeigte. Trotzdem heisst das im Klartext: Jede Kommunikation zur Gesundheitsdossier-Webseite wird erst einmal zu IP-Adressen der amerikanischen Firma CloudFlare gesendet.

Das Antragsformular für den Zugriff für Gesundheitsdienstleister ist grundsätzlich nicht auf gesundheitsdossier.li erreichbar, sondern wird auf der Webseite der Landesverwaltung zur Verfügung gestellt.

Sucht man etwas weiter auf der Domäne gesundheitsdossier.li, finden sich weitere Webseiten, welche wohl sogenannten Test- und Abnahme-Umgebungen entsprechen. Diese nutzt die Landesverwaltung/Siemens wahrscheinlich intern, um Updates zu testen, bevor diese in der Produktivumgebung eingespielt werden. Das ist durchaus üblich in der IT. Manche Unternehmen finden es wichtig, dass diese Systeme lediglich aus dem internen Unternehmensnetzwerk erreichbar sind, schliesslich sind diese Systeme reine Testsysteme und müssen dem Bürger nicht zur Verfügung gestellt werden. Viele Unternehmen stellen diese heute aber auch öffentlich ins Internet, wie in diesem Fall hier. Diese Webseiten lösen ebenfalls zu den gleichen IP-Adressen von CloudFlare auf.

Es finden sich noch weitere Webseiten unter gesundheitsdossier.li, welche mutmasslich Application Programming Interfaces (APIs) zur Verfügung stellen, also Möglichkeiten wie automatisiert Daten abgefragt werden können, beispielsweise durch eine mobile Applikation. Auch gibt es diese wiederum in den Varianten Test-API, Abnahme-API und Produktions-API. Diese Webseiten lösen allerdings zu der IP-Adresse 217.148.8.81 auf, welche der in den Datenschutzhinweisen erwähnten MTF Solutions AG gehört.

Und dann gibt es noch eine letzte Webseite unter gesundheitsdossier.li mit dem Namen Monitoring. Diese Webseite hat wohl die Software Nagios installiert. Nagios wird von IT-Abteilungen genutzt, um IT-Systeme hinsichtlich Verfügbarkeit und Serviceparametern zu überwachen.

Wenden wir unsere Aufmerksamkeit jetzt aber nochmals der Haupt-Webseite zu, auf welcher sich Liechtensteiner Bürger einloggen werden. Beim Blick auf die gesendeten Daten auf dem Netzwerk fällt sofort auf, dass diese Webseite die sogenannte "Liferay Portal"-Software in der Open-Source-Variante verwendet (Community Edition). Diese Software wird als Open Source (also jeder kann dazu beitragen) von der Liferay Inc. in den USA entwickelt. Grundsätzlich bedeutet das, dass der Programmcode, welchen Siemens für das Amt für Gesundheit betreibt, frei für jeden zum Download verfügbar steht.

Interessant ist auch, dass über die Webseite des Gesundheitsdossiers auch das Logo von Siemens angezeigt werden kann. Das Logo ist aber nicht das Logo der Siemens Healthcare AG in Zürich, welche in den Datenschutzhinweisen genannt. Es handelt sich stattdessen um das Logo der ITH icoserve technology for healthcare GmbH in Innsbruck, welche wiederum eine Tochtergsellschaft der Siemens Healthcare GmbH in Erlangen (Deutschland) ist.

Auf der Gesundheitsdossier-Webseite sind ausserdem verschiedene Funktionen und Web-Schnittstellen erreichbar. Es handelt sich dabei um Komponenten, welche standardmässig mit Liferay mitgeliefert werden. Dazu gehören:

  • Liferay stellt standardmässig GraphQL zur Verfügung und dabei ist GraphQL-Introspektion auf dem Gesundheitsdossier aktiviert. Dadurch erhält man technische Informationen über Abfragemöglichkeiten.

  • Liferay stellt standardmässig JSON-WS zur Verfügung. Das ist eine weitere API, wenn Drittprogramme automatisiert mit dem Portal kommunizieren wollen.

  • Liferay erlaubt standardmässig Cross-Origin Resource Sharing (CORS) auf gewissen URLs (GraphQL, JSON-WS sowie auf URLs wie /documents/) und erlaubt dabei beliebige Drittseiten. Das bedeutet zunächst, dass andere Webseiten im Internet Anfragen an die Gesundheitsdossier-Webseite stellen können. Das ist dann relevant, wenn ein Browser in einer angemeldeten Session Funktionen des Portals nutzen kann.

  • Liferay hat ganz generell eine grosse Palette an Anwendungsmöglichkeiten und Funktionen eingebaut.

Inwiefern alle diese Komponenten beim Gesundheitsdossier zum Einsatz kommen ist nicht bekannt. Mit mehr zur Verfügung stehenden Schnittstellen, vergrössert sich in der IT jeweils die Angriffsfläche.

Einschätzung der Pentagrid AG

Die obenstehenden technischen Fakten werden nun weiter eingeordnet. Dabei gibt es verschiedene Themenbereiche, die in Unterkapiteln erläutert werden.

Kritik am Datenschutz

Personen, welche für den Datenschutz zuständig sind (Datenschutzbeauftragte), folgen oftmals der Logik, dass der Datenstandort für den Datenschutz tatsächlich wichtig ist. Und wie oben beschrieben gilt in diesem Fall der Datenstandort Schweiz. Es ist auch wahrscheinlich, dass sich viele Juristen dieser Sicht anschliessen und dies rechtlich korrekt ist (wir sind keine Juristen). Allerdings sollte jedem klar sein, dass viel wichtiger ist wer im Endeffekt denn auf die Daten zugreifen kann.

Interessant ist hierbei, dass in den Datenschutzhinweisen bereits explizit eine Ausnahme zugelassen ist, nämlich dass Siemens für Supportzwecke aus Fürth (Deutschland) zugreifen darf.

In der Praxis ist der Datenstandort aber weniger relevant, denn für amerikanische Firmen gilt ohnehin der Cloud Act und wird mit einem Satz treffend auf Wikipedia erklärt: "Das Gesetz verpflichtet amerikanische Internet-Firmen und IT-Dienstleister, US-Behörden auch dann Zugriff auf gespeicherte Daten zu gewährleisten, wenn die Speicherung nicht in den USA erfolgt". Inwiefern die Verwendung der amerikanischen Unternehmen Cloudflare als Dienstleister oder Liferay als Software-Lieferant diesbezüglich eine Rolle spielt, sei dahingestellt...

Als IT-Sicherheitsexperten, die tagtäglich den Abfluss von Daten sehen, fühlen wir uns der Datensparsamkeit verpflichtet. Täglich scheitern Unternehmen daran, wichtige Daten geheim zu halten. Beispiele gibt es genug, das kürzliche Datenleck bei xplain.ch mit Daten von verschiedenen Kantonspolizeien und der Bundespolizei (bei dem auch Daten zur Liechtensteiner Polizei enthalten waren) ist nur eines davon.

Eine zentrale Speicherung von Gesundheitsdaten standardmässig für jeden Bürger einzuführen, scheint deshalb fragwürdig. Das Dossier wird auch für Bürger eingeführt, welche über keine eID verfügen und somit das Dossier nicht komplett nutzen können. Trotzdem werden Daten zentral gesammelt. Auch Hinweise in den Fragen und Antworten zum Gesundheitsdossier, dass der Nutzen von eHealth die "Gewährleistung Anbindung mit Nachbarländern und darüber hinaus" sein soll, klingen eher nach Überwachungsstaat als Dienst für den Bürger.

Kritik an der Authentifizierung via Passkopie

Alle Bürger, welche über keine eID verfügen, können per E-Mail oder Online-Formular Antrag auf Zugang stellen, wenn eine Passkopie mitgesendet wird. Allerdings werden Passkopien auch von Autovermietungen oder Hotels angefertigt, womit die Sicherheit dieser Vorgänge nicht sichergestellt ist. Unter anderem kann auch eine Stellvertretung für das elektronische Gesundheitsdossier auf diesem Weg beantragt werden.

Die Einführung einer solchen unsicheren Methode widerspricht der auf der Webseite im Bereich Fragen und Antworten dokumentierten Aussage, dass "heutige Kommunikation mittels E-Mail, Chats, Fax und Brief [...] weder einen hohen Datenschutz noch eine hohe Datensicherheit" bietet.

Anmerkung zum DDoS-Schutz durch Cloudflare

Cloudflare bietet grundsätzlich einen Schutz vor Denial-of-Service-Angriffen, bei denen mittels vieler gleichzeitiger Anfragen Ressourcen einer Webanwendung so verbraucht werden, dass keine weiteren Anfragen mehr möglich sind. Allerdings ist dabei wichtig, dass für einen Angreifer lediglich die IP-Adressen von Cloudflare bekannt sind, nicht die der Server der MTF in diesem Fall. Es stellt sich also grundsätzlich die Frage, ob der Schutz überhaupt effektiv ist, wenn die IP-Adressen bei der MTF für die APIs bekannt sind. Mit dem momentanen Kenntnisstand kann dies nicht abschliessend beurteilt werden.

Kritik an der Erreichbarkeit von Systemen aus dem Internet

Es ist nicht gängige Praxis, dass ein System wie Nagios im Internet erreichbar ist, welches lediglich der Überwachung von IT-Systemen dient. Der Zugriff verlangt nach einem Benutzernamen und einem Passwort. Grundsätzlich scheint aber ein Login aus dem Internet möglich, wenn jemand ein gültiges Passwort besitzt. Warum dieses System aus dem Internet erreichbar ist oder ob dies so gewollt ist, ist unklar. Ein solches Überwachungssystem muss lediglich den IT-Adminstratoren zur Verfügung stehen, welche die Systeme betreuen. Da dieses System jedoch im Internet grundsätzlich ansprechbar ist, bietet der Betrieb dieser Software unnötig Angriffsfläche. Kennt ein Angreifer eine Schwachstelle der Nagios Software, kann er diese über das Internet ausnutzen. Solche Schwachstellen gibt es immer wieder für Nagios und lassen sich online nachlesen.

Auch die Test- und Abnahme-Umgebungen sind grundsätzlich nicht für den produktiven Betrieb notwendig und bieten somit nur unnötig Angriffsfläche.

Anmerkung zu zusätzlichem Webserver-Schutz

Die Gesundheitsdossier-Webseite verwendet keinen HTTP-Header Content-Security-Policy (CSP), welcher bei strikter Umsetzung die Problematik von Cross-Site-Scripting-Schwachstellen entschärfen könnte.

Verwundbarkeiten in Liferay

Grundsätzlich ist es zu begrüssen, dass die verwendete Software Liferay als Open Source zur Verfügung steht. Dies vereinfacht das Suchen nach Schwachstellen in der Software.

Open Source bedeutet nicht, dass eine Einzelperson unentgeltlich in der Freizeit Software entwickelt. Kommerzielle Nutzung und Open Source schliessen sich nicht aus und passen sogar gut zusammen. Das Liferay-Portal gibt es seit dem Jahr 2000. 2004 wurde für die Verwaltung die Liferay, Inc. gegründet. Der Hauptsitz ist in den USA. Es gibt diverse europäische Niederlassungen, Vertretungen in Brasilen, Australien, Marokko, Singapur, Indien, China und Japan. Weltweit gibt es 20 Büros gemäss der Webseiten von Liferay, also auf allen Kontinenten, ausser der Antarktis. Liferay hat nach Eigenauskunft über 1000 Angestellte.

Wichtig ist hier anzumerken, dass die Liferay-Software aus sehr vielen verschiedenen Modulen besteht. Beispielsweise gibt es ein Modul, welches zum Aufbau eines Online-Shops verwendet werden kann. Unter anderem hat Liferay im administrativen Portal Funktionen wie die Gogo- oder Groovy-Shell, um direkt über die administrative Webseite Kommandos auf dem Server auszuführen. Auch können IT-Administratoren im Web-Interface auswählen, dass das Web-Interface aus den Augen eines gewissen Benutzers betrachtet werden soll (user impersonation). Inwiefern die Schwachstellen der einzelnen Module jeweils auch für das elektronische Gesundheitsdossier in Liechtenstein zutreffen, kann ohne Untersuchung des Gesundheitsdossier-Portals selbst nicht direkt beantwortet werden.

Leider lässt sich die Sicherheit einer Software wie Liferay niemals final beurteilen. Festzustellen, dass eine Software "sicher" ist, gilt in der IT als unmöglich. Sicher ist nur, dass Komplexität und IT-Sicherheit meist unverträglich sind.

Auch die Schwachstellen, die eine Software in der Vergangenheit hatte, lassen prinzipiell keine Rückschlüsse auf die Sicherheit zu. Eine Ausnahme ist, wenn sich Hinweise ergeben, dass die Softwareentwickler Probleme nicht systematisch angehen. Eine gewisse Schwachstellen-Kategorie sollte systematisch verhindert werden, damit diese nicht wieder vorkommt. Ist dies nicht der Fall, ist es wahrscheinlich, dass auch in Zukunft neue Schwachstellen auftreten. Dann liesse sich der Software wegen des mangelhaften Entwicklungs- bzw. Fehlerbehebungsvorgehens eher eine schlechtes Sicherheitniveau attestieren.

Die Informationen zu den Sicherheitslücken von Liferay Portal in der Vergangenheit lassen aufhorchen. Anscheinend hatte diese Software alleine in den sieben Monaten des 2023 bereits 17 Schwachstellen. Ausserdem wird dieselbe Schwachstellen-Kategorie sehr oft genannt und kommt immer wieder vor. Nicht alle Schwachstellen in der IT Sicherheit haben die gleichen Auswirkungen, aber trotzdem finden sich gleich mehrere Anleitungen im Internet (sogenannte Exploits), wie eine alte Version von Liferay aus 2020 komplett von einem Angreifer übernommen werden kann.

Wir wollten dies genauer wissen und haben uns die Liferay-Software angeschaut.

Auffällige Code-Muster in Liferay

Um eine Einschätzung der Software machen zu können, haben wir zuerst den Quellcode in der Version 7.4.3.84 heruntergeladen. Sucht man im Quellcode von Liferay nach bestimmten Mustern, die üblicherweise IT-Schwachstellen zeigen, wird man sofort fündig.

Es scheint als wären viele Code-Pfade verwundbar auf sogenannte Cross-Site-Scripting-Schwachstellen (XSS). Dabei sind dies sehr auffällige Muster, welche darauf hindeuten, dass Liferay keine Release-Qualitätssicherung macht, welche solche Muster findet, bevor die Software veröffentlicht wird.

Auch dass in den letzten 1.5 Jahren 20 Cross-Site-Scripting-Schwachstellen gefunden wurden, zeigt: Liferay hat keinen strategischen Ansatz um Schwachstellen zu verhindern und wiederholende Schwachstellen der gleichen Kategorie sind häufig.

Sucht man weiter nach Mustern, findet man beispielsweise in der Datei PermissionUpgradeProcess.java:

private void _upgradeResourcePermission(String name) throws Exception {
        try (PreparedStatement preparedStatement1 = connection.prepareStatement(
                        StringBundler.concat(
                                "select resourceActionId, bitwiseValue from ",
                                "ResourceAction where actionId = 'ADD_ENTRY' and name = '",
                                name, "'"));
                ResultSet resultSet1 = preparedStatement1.executeQuery())

Wer sich mit sicherer Programmierung auskennt erkennt: String-Formatierung (via StringBundler.concat) zum Erzeugen eines SQL-Statements zu nutzen, ist ein Anti-Pattern und kann zu SQL-Injektionen führen. Würde dieses Muster nur an einer Stelle verwendet, hätten wir uns angeschaut, ob es ein Sicherheitsrisiko darstellt. Allerdings hat der Quell-Code von Liferay sehr viele solcher Muster und wir haben deshalb nicht jedes Vorkommen eines solchen Musters überprüft.

Folgend nun neue Schwachstellen, welche wir während unserer Untersuchung gefunden und an Liferay Inc. gemeldet haben. Wir haben uns die Liferay-Software selbst auf unserem System installiert und eine Sicherheitsanalyse (in einem begrenzten Rahmen) durchgeführt.

Schwachstelle 1 bis 4: Cross-Site Scripting Schwachstellen

Wir haben insgesamt vier Cross-Site Scripting Schwachstellen identifiziert, welche wir an Liferay gemeldet haben und alle von Liferay bestätigt wurden. Für die Schwachstellen wurden die Identifikationsnummern CVE-2023-42627, CVE-2023-42628 und CVE-2023-42629 vergeben.

Bei manchen dieser Schwachstellen handelte es sich um Stored Cross-Site Scripting. Beispielsweise konnte eine Schwachstelle durch einen bestellenden Benutzer im Liferay-Shop ausgenutzt werden. Dabei wird der eingeschleuste Code anschliessend im Browser des Online-Shop-Betreibers/Administrators ausgeführt. Das bedeutet, ein Angreifer könnte beliebige Aktionen als Shop-Betreiber ausführen und womöglich den kompletten Online-Shop übernehmen. Die technischen Details zu den Verwundbarkeiten, werden wir später in einem separaten Advisory veröffentlichen. (Update 2023-10-17: Die Details zur den Cross-Site-Scripting-Schwachstellen in der Liferay-Portal-Software sind nun öffentlich.)

Inwiefern diese Schwachstellen ebenfalls auf dem Gesundheitsdossier ausgenutzt werden könnten, ist unklar.

Schwachstelle 5: Datenbankpasswort für wedeploy.com veröffentlicht

Das Unternehmen Liferay plante oder unterhielt zu einem Zeitpunkt einen Service mit dem Namen wedeploy.com. Zwar ist die Webseite mittlerweile nicht mehr erreichbar, trotzdem finden sich neben dem Code selbst auch noch Konfigurationen im Quellcode der Liferay-Software.

Anscheinend hat Liferay dabei das produktive Datenbankpasswort für den wedeploy.com-Service aus Versehen veröffentlich.

Wir haben diese Schwachstelle an Liferay gemeldet und diese wurde von Liferay bestätigt und das Passwort wurde geändert. Technische Anmerkung: Da Liferay nicht die alten Einträge der Versionskontrolle ändern möchte, da sonst Kompatibilitätsprobleme mit Forks auf Github entstehen können, ist das alte Passwort weiterhin in der Versionshistorie ersichtlich.

Gleichzeitig fiel auf, dass Liferay dieses Passwort nicht nur in der Produktion verwendet, sondern ebenfalls in der Umgebung für DEV (für development, also wiederum eine Testumgebung) und UAT (wiederum eine Abnahmeumgebung). Dieses Vorgehen ist nicht zu empfehlen. Passwörter sind unbedingt unterschiedlich auf Produktion und Testsystemen zu setzen. Ansonsten kann es passieren, dass ein Angreifer eine der anderen Umgebungen angreift und anschliessend über gültige Passwörter für die Produktion verfügt. Testumgebungen sind häufiger weniger gesichert, zeigen vielleicht Debug-Ausgaben oder sind tendenziell nicht im (Sicherheits-)Monitoring. Wenn ein Angreifer Dienste versehentlich unbenutzbar macht, dann fällt dies vielleicht gar nicht auf. Testumgebungen im Internet sind Industrie-Standard, aus Sicherheitsicht zwar nicht zu empfehlen, aber praktisch – auch für Angreifer.

Auf das Gesundheitsdossier hat das grundsätzlich keinen Einfluss, zeigt aber Probleme beim Lieferanten Liferay.

Schwachstelle 6: Verwundbare JavaScript-Bibliotheken

Es wird ausserdem eine JavaScript-Bibliothek mit bekannten Verwundbarkeiten verwendet, die Bibliothek ckeditor wird in Version 4.18.0 verwendet und ist von der Schwachstelle "CVE-2023-28439: Cross-Site Scripting" betroffen.

Schwachstellen in JavaScript-Bibliotheken sind ein gängiges Problem, insbesondere Cross-Site-Scripting-Schwachstellen sind zu erwarten. Dabei gilt: Nach der Schwachstelle ist vor der Schwachstelle. Das Vorhandensein von Verwundbarkeiten in Bibliotheken bedeutet nicht, dass die Lücken ausnutzbar sind, oder gar einfach ausnutzbar sind. Man ist dennoch gut beraten, Bibliotheken zu aktualisieren.

Diese Bibliothek ist insbesondere auch auf dem Gesundheitsdossier erreichbar. Inwiefern dieses Problem dort ausnutzbar ist, wurde nicht untersucht.

Schwachstelle 7: Denial of Service mittels einer verschachtelten Abfrage in GraphQL

Die GraphQL-Schnittstelle von Liferay is verwundbar auf eine Denial-of-Service-Schwachstelle, die von einem Angreifer ausgenutzt werden kann, wenn dieser eine verschachtelte Abfrage sendet. Die Schwachstelle erlaubt es, mit einer einzigen Anfrage den kompletten Speicher des Servers aufzubrauchen (java.lang.OutOfMemoryError). Anschliessend kann der Liferay-Server keine anderen Anfragen mehr entgegennehmen und erscheint für andere Nutzer unerreichbar.

Liferay hat geantwortet, dass sie über die Schwachstelle bereits Bescheid wissen und diese zu einem späteren Zeitpunkt erst beheben werden.

Es wird davon ausgegangen, dass auch die GraphQL Schnittstelle des Gesundheitsdossiers betroffen ist. Inwiefern dieses Problem dort tatsächlich ausnutzbar ist, wurde nicht untersucht.

Fazit

Wir haben keine Sicherheitsuntersuchung der Gesundheitsdossier-Webseite durchgeführt und melden an dieser Stelle auch nicht direkt Schwachstellen an die Landesverwaltung, da wir lediglich die zugrunde liegende Liferay-Software betrachtet haben. Schwachstellen von verwendeter Software abzuklären ist Aufgabe der Landesverwaltung. Inwiefern eine Sicherheitsprüfung durchgeführt wurde, ist uns nicht bekannt. Es ist uns aber wichtig, für Liechtensteiner Bürger mehr Transparenz zu schaffen.

Insgesamt ensteht bei der Betrachtung des Gesundheitsdossier im Fürstentum Liechtenstein folgender Eindruck:

  • Die Datenschutzhinweise erwähnen nicht alle Drittparteien (z. B. Cloudflare), die rein technisch involviert sind. Mindestens die Dienstleister, die Inhalte sehen können, sollten transparent genannt werden.

  • Es scheint als wurde nicht darauf geachtet, Risiken für das Gesundheitsdossier zu minimieren. Beispielsweise die Erreichbarkeit aus dem Internet einzuschränken, Sicherheitskonfigurationen hinzuzufügen oder Komponenten (beispielsweise von Liferay) zu sperren, zu entfernen oder zu deaktivieren.

  • Das Liferay-Portal hinterlässt nicht den Eindruck, dass bei dessen Entwicklung wirksame Qualitätsprüfungen vor Veröffentlichung stattfinden, die auch Sicherheitseigenschaften prüfen. Als Quasi-Lieferant der Software ist Liferay ausserdem zu betrachten bei Themen wie Supply-Chain-Angriffen. Zusammen mit der hohen Komplexität und der verwendeten und erreichbaren Komponenten, scheint Liferay eine fragliche Wahl für die Umsetzung einer so kritischen Applikation wie dem Gesundheitsdossier zu sein.

Aktualisierung 2023-09-18: Artikel "Hacker orten Schwachstellen bei Software-Anbieter" der Tageszeitung Vaterland verlinkt.

Aktualisierung 2023-10-17: Advisory zu den Cross-Site-Scripting-Schwachstellen in der Liferay-Portal-Software verlinkt.