Letztes Jahr hat SEC Consult eine Schwachstelle in einer Software zur Online-Authentifizierung deutscher Bürger demonstriert, bei der man eine willkürliche Identität annehmen konnte. Diesmal war es an der Zeit, einen Schritt weiter zu gehen und sich eine ähnliche Software anzuschauen, die in der gesamten Europäischen Union eingesetzt wird.
Im Juni analysierte SEC Consult eIDAS-Node. Hierbei handelt es sich um eine Softwarebibliothek, mit der die Mitgliedstaaten am grenzüberschreitenden Authentifizierungssystem eIDAS teilnehmen können. Jeder Mitgliedsstaat verfügt über einen eigenen Mechanismus zur Authentifizierung seiner Bürger – eIDAS verknüpft diese nationalen eID-Systeme miteinander. Auf diese Weise kann sich ein EU/EEA-Bürger beispielsweise mit seinem Personalausweis bei einem Dienst in einem beliebigen Mitgliedstaat authentifizieren. SEC Consult hat auch in diesem System eine kritische Schwachstelle gefunden, die es einem Angreifer ermöglichte, sich als der berühmte Schriftsteller „Johann Wolfgang von Goethe“ – oder als jeder andere lebende Bürger – zu legitimieren.
Mein Name ist Johann Wolfgang von Goethe – Ich bin zurück, um es (erneut) zu beweisen
eIDAS (Electronic IDentification, Authentication and Trust Services) ist eine EU-Verordnung, die unter anderem eine Möglichkeit für Bürger definiert, sich beim Zugriff auf Dienste aus anderen Mitgliedstaaten mithilfe ihres nationalen elektronischen Identifikationsschemas (eID) zu authentifizieren. Bürger können auf diesem Weg Steuererklärungen einreichen, sich an einer Universität anmelden, Bankkonten eröffnen, Online-Zahlungen vornehmen usw. Bestehende, nationale eID-Systeme können von Bürgern weiterhin verwendet werden – diese werden durch bereitgestellte Vorschriften und Standards in das europäische eIDAS-Netzwerk eingebunden.
Der folgende Blog Post liefert einen Überblick über die kritische Schwachstelle. Nähere technische Details und Proof of Concept Informationen können in unserem Security Advisory nachgelesen werden.
eIDAS im Überblick
Nehmen wir an, ein italienischer Staatsbürger möchte sich bei einem deutschen Onlinedienst authentifizieren. Zunächst wird der deutsche eIDAS-Node (eIDAS-Connector) von der Webanwendung angewiesen, den Authentifizierungsprozess einzuleiten und sendet eine Anfrage an den italienische eIDAS-Node (eIDAS-Service). Der italienische eIDAS-Node leitet den Benutzer an ein System weiter, das in der Lage ist, den italienischen Bürgers anhand des nationalen eID-Schemas zu authentifizieren. Nach der Authentifizierung erhält der deutsche eIDAS-Connector die Identitätsinformationen, die er an die Webanwendung weiterleitet.