Sicherheitslücke in der Ausweis-App

Jan Schejbal berichtet von einer Sicherheitslücke in der Auto-Update-Funktion der zum neuen ePerso gehörenden Ausweis-App: Weil das Zertifikat des Update-Servers nicht ausreichend geprüft wird, kann nach einer DNS- oder /etc/hosts-Manipulation mit Hilfe eines beliebigen gültigen Zertifikats beliebiger Code über eine .zip-Datei eingespielt werden. Die Ausweis-App selbst allerdings kann nicht so einfach modifiziert werden, weil die Signatur des Installers geprüft wird. Details hier.

Im Klartext heißt das: Theoretisch kann Schadcode nachgeladen werden. Die dafür notwendigen Manipulationen setzen aber neben einem gültigen Zertifikat entweder einen guten DNS-Hack, physikalischen Zugriff mit Admin-Rechten, oder eine bereits vorhandene Hintertür voraus: Wenn ich auf einem Rechner die Möglichkeit habe, die /etc/hosts zu editieren, bin ich als Angreifer im Zweifelsfall nicht mehr darauf angewiesen, mir über die Ausweis-App Schadcode nachzuladen.

Der Angriff ist gegen die aktuelle AusweisApp getestet, die sich bei der Installation als 1.0.1, beim Update als 1.0.0 identifiziert.

PS: Wo liegt die /etc/hosts eigentlich bei Windows-Rechnern?

11 Ergänzungen

  1. Auf Windows liegt die Hostsdatei in C:\Windows\system32\drivers\etc\hosts (ja, da hat wohl jemand geklaut…)

    Ob man die AusweisApp selbst nicht modifizieren kann, weiß ich nicht. Man kann ohne Sig nur keinen Installer aus dem Updater starten lassen. Aber ich denke, mit einer passenden ZIP würde das gehen. Mangels Win7-VM zum Testen weiß ich nicht ob der Updater mit Adminrechten läuft, falls ja, könnte man vermutlich problemlos auch die AusweisApp-Dateien im Programmverzeichnis überschreiben.

    Es stimmt natürlich, dass der Angriff nur interessant ist, wenn man das DNS umbiegen kann. Das geht aber z. B. in offenen WLANs (insbes. wenn man der WLAN-Betreiber ist *g*) – und solche Angriffe wurden schon beobachtet.

  2. In öffentlichen Netzen (z.B. WLAN Hotspots) lässt sich ein entsprechender Angriff trivial ohne grosse Hackerkünste implementieren.

    The proof is left as an excercise for the reader.

    Gimli

  3. da liegen die.

    Windows 95/98/Me c:\windows\hosts

    Windows NT/2000/XP Pro c:\winnt\system32\drivers\etc\hosts

    Windows XP Home c:\windows\system32\drivers\etc\hosts

    man muss ich im wlan die mühe mache mit ausweisapp.

    sodenr geht über den java vm updater (ein „update“ server kann man schnell aufsetzen)

  4. Nein nein, sowas macht man doch nicht, im nicht gesicherten WLAN des Nachbarn dessen Router mit dem Default-Passwort öffnen und dort die DNS-Einträge manipulieren. Das tut man nicht. Darüber könnte man ja dann der „Ausweis-App“ Schadcode unterjubeln. Schadcode zum fern-bedienen der „Ausweis-App“. Böse, sowas.

  5. Man beachte auch, dass es bereits Frameworks gibt die speziell für solche Szenarien gedacht sind. Wie z.B. Evilgrade

Dieser Artikel ist älter als ein Jahr, daher sind die Ergänzungen geschlossen.