Neuer Personalausweis: AusweisApp mit LĂĽcken [2. Update]

Die Update-Funktion der Software zum neuen Personalausweis enthält Sicherheitslücken, durch die unerwünschte Software auf den PC des Anwender geschleust werden könnte.

In Pocket speichern vorlesen Druckansicht 415 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Axel Kossel

Der Software zum neuen Personalausweis ist kein guter Start beschieden: Am gestrigen Montagabend wurde die AusweisApp freigegeben; am heutigen Dienstagmorgen veröffentlichte Jan Schejbal von der Piratenpartei Deutschland in seinem Blog bereits einen Exploit, der zwei Designfehler der Update-Routine nutzt. Dadurch wird zwar nicht der Personalausweis angegriffen, aber es lässt sich Software auf dem PC einschleusen, auf dem die AusweisApp läuft.

Die AusweisApp baut zunächst eine SSL-Verbindung zu dem Server auf, der die Updates liefert. Dabei begeht sie den ersten Fehler: Sie überprüft zwar, ob das Zertifikat gültig ist, aber nicht, ob es auch auf den Namen des regulären Update-Servers ausgestellt ist. Gelingt es also durch eine DNS-Manipulation, Zugriffe auf www.ausweisapp.bund.de und download.ausweisapp.bund.de zu einem beliebigen Server mit gültigem SSL-Zertifikat umzulenken, versucht die AusweisApp ihre Updates von dort zu laden.

Durch die Update-Funktion der AusweisApp können unerwünschte Dateien auf den PC des Anwenders gelangen.

Der Server des Angreifers kann nun die Update-Funktion mit einer manipulierten Antwort dazu bringen, ein beliebiges ZIP-Archiv herunterzuladen und zu entpacken. Eine darin enthaltene Installationsdatei wird allerdings nur ausgeführt, wenn sie eine korrekte Signatur besitzt. Doch schon das Entpacken des Archivs stellt ein Sicherheitsrisiko dar, da dabei über relative Pfade unerwünschte Dateien auf dem PC des Ausweisinhabers platziert werden können.

Der Exploit nutzt ein altes SSL-Zertifikat von Akamai. Während die Update-Funktion der AusweisApp es anstandslos akzeptiert, warnen Webbrowser wie hier Chrome, dass es nicht zur Server-Adresse passt.

Der Exploit, den Schejbal zum Download anbietet, enthält ein abgelaufenes SSL-Zertifikat, das funktioniert, wenn man das Systemdatum von Windows zurückstellt. Es sind zwei Windows-PCs nötig, ein Client mit der AusweisApp und ein Server, auf dem Python 2.6 und Nmap installiert sein sollte. Leitet man auf dem Client die Zugriffe auf die beiden oben genannten Server zum eigenen um (durch Ändern der Windows\system32\drivers\etc\hosts) und passt die IP-Adresse in der Antwortdatei an, landet beim nächsten Update der AusweisApp eine Datei im Autostart-Ordner des Clients. Das funktionierte in der Redaktion sowohl unter Windows XP wie unter Windows 7.

Obschon die Sicherheit des Personalausweises nicht direkt gefährdet wird, sind diese beiden einfachen Fehler (fehlende Prüfung des SSL-Zertifikats sowie das Auspacken des empfangenen Archivs vor dem Prüfen der Signatur) in einer vom BSI geprüften Software sehr überraschend. Wir haben beim BSI eine Stellungnahme angefragt, doch die Prüfung des Sachverhalts ist dort noch nicht abgeschlossen.

[Update: Am späten Dienstag Abend antwortete die Pressestelle des BSI mit folgender Stellungnahme: "Die Medien berichten derzeit von einer vermeintlichen Sicherheitslücke in der Software AusweisApp, die zur Nutzung der eID-Funktion des neuen Personalausweises bereit gestellt wird. Das BSI prüft derzeit gemeinsam mit dem Hersteller der Software, ob der beschriebene Angriff durchführbar ist und welche Gegenmaßnahmen gegebenenfalls notwendig sind. Sollte eine Schwachstelle in der Software bestehen, wird das BSI unverzüglich eine neue Version der Software bereitstellen und die Öffentlichkeit entsprechend informieren."]

[2. Update: Derzeit (seit Mittwochnachmittag) ist ein Download der AusweisApp nicht mehr möglich. Eine Erklärung des BSI zu dem Fehler, zum Stopp des Downloads und dem weiteren Vorgehen steht aber weiterhin aus.] (ad)