Schwachstellenforschung

ePA-VAU-Client-Sicherheit

lib-vau-basierte Implementierungen

Die ePA gibt Patientinnen und Patienten die Kontrolle über ihre Gesundheitsdaten, und die VAU-Schicht hält diese Daten bis zum Aktensystem vertraulich. Im gesamten Ökosystem bauen Teams echte ePA-Integrationen auf der Referenzbibliothek der gematik, lib-vau, vieles davon offen einsehbar. Wir haben uns genau angesehen, wie diese innere Verschlüsselungsschicht in der Praxis trägt, und möchten teilen, was wir gelernt haben, damit alle profitieren, die darauf aufbauen.

Was wir gefunden haben

Jeder ePA-Client legt Patientendaten in zwei Verschlüsselungsschichten: die äußere TLS-Transportschicht und eine innere VAU-Schale, die auch dort Ende-zu-Ende bleibt, wo TLS endet. Wir haben beide geprüft, über mehrere Implementierungen hinweg. Drei Befunde stachen heraus:

  1. TLS-Zertifikate nicht geprüft

    Die äußere Transportschicht lief in Produktion mit deaktivierter Zertifikatsprüfung. Jedes Zertifikat wurde akzeptiert, sodass ein Angreifer auf dem Netzwerkpfad ein eigenes vorlegen und den Verkehr mitlesen konnte.

  2. VAU-Zertifikate nicht geprüft

    Die innere VAU-Schicht prüfte die signierten Schlüssel des Servers nicht. Der Client konnte das echte Aktensystem nicht von einem Angreifer unterscheiden, der so eigene Schlüssel unterschieben und den Handshake abschließen konnte.

  3. VAU-Verschlüsselung nicht spezifikationskonform

    Die Verschlüsselung des VAU-Kanals wich von der Spezifikation ab. Unter bestimmten Bedingungen lässt sich ihr Schutz aushebeln, selbst wenn die Schale ansonsten steht.

Fehlen beide Zertifikatsprüfungen, kann jemand auf dem Netzwerkpfad Patientendaten im Klartext mitlesen oder verändern.

Warum das passiert

Der Happy Path wird getestet, der Adverse Path, dass etwas nicht funktionieren darf, deutlich seltener, gerade bei kryptografischen Operationen, wo eine Prüfung, die stillschweigend immer durchläuft, genauso aussieht wie eine, die wirklich prüft. Dass unabhängige Teams an derselben Stelle landen, macht es zum Muster, nicht zum Einzelfall.

Koordinierte Offenlegung läuft

Läuft

Diese Forschung wird noch offengelegt. Weitere Funde befinden sich in koordinierter Offenlegung mit den betroffenen Parteien und werden hier veröffentlicht, sobald deren Patches verfügbar sind.

Veröffentlichte Sicherheitshinweise

Jeder Befund wurde mit dem Team koordiniert, das den Code betreut, und verantwortungsvoll offengelegt. Öffnen Sie einen Sicherheitshinweis für Schweregrad, Kennungen und den Patch.

Sie setzen auf lib-vau? Wir helfen gern.

Wenn Sie einen ePA-Client betreiben oder entwickeln, werfen wir gern ein zweites Paar Augen auf Ihre VAU-Implementierung. Melden Sie sich jederzeit.

Kontakt aufnehmen

Ihr Audit wird von Senior-Experten geleitet

Keine Junioren. Keine Generalisten. Spezialisten für Medizinproduktesicherheit.

Dr. Simon Weber Profile

Dr. rer. nat. Simon Weber

Senior Pentester & MedSec-Forscher

Ich evaluiere Ihr SaMD mit derselben branchenprägenden Sicherheitsexpertise, die ich dem BAK MV für die Überarbeitung des B3S-Standards beigetragen habe.

  • Promotion über Krankenhaus-Cybersicherheit
  • Kritische Schwachstellen in Krankenhaussystemen gefunden
  • Alumni der THB MedSec-Forschungsgruppe
  • gematik Security Hero
Volker Schönefeld Profile

Dipl.-Inf. Volker Schönefeld

Senior Application Security Expert

Als ehemaliger CTO und Entwickler, der zum Pentester wurde, arbeite ich mit Ihrem Team zusammen, um Schwachstellen aufzudecken und Lösungen zu finden, die zu Ihrer Architektur passen.

  • 20+ Jahre als CTO, 50+ Mio. App-Downloads
  • Architektur und Absicherung großer IoT-Flotten
  • Certified Web Exploitation Specialist
  • gematik Security Hero