Aus Linux-Magazin 03/2013

Insecurity-Bulletin: Root-Exploit in Android-Smartphones

Steckt im Telefon ein Computer, ist es durch Softwarefehler gefährdet. Schreibrechte auf dem Speicherdevice haben vor Kurzem eine Sicherheitslücke in einige Samsung-Smartphones gerissen.

Sicherheitslücken in Googles Mobilbetriebssystem Android betreffen schnell Millionen von Geräten. Zudem haben Smartphone-Benutzer meist sensible persönliche Informationen dort abgelegt, wodurch auftretende Schwachstellen weitreichende Konsequenzen haben.

Mitte Dezember 2012 beschrieb ein Mitglied des Entwicklerforums XDA Developers eine neue Sicherheitslücke in Samsung-Smartphones mit den ARM-Prozessoren Exynos 4210 und 4412. Sie erlaubt es einem Angreifer, mit Hilfe geschickt präparierter Software Rootrechte auf dem Gerät zu erlangen. Ursache ist ein Fehler in den Zugriffsrechten für die Gerätedatei »/dev/exynos-mem« .

Memory-Mappen erlaubt

Das Problem besteht darin, dass diese mit Lese- und Schreibrechten für jeden Benutzer installiert ist. Die auf »/dev/exynos« erlaubten Datei-Operationen sind in der Kerneldatei »linux/drivers/char/mem.c« spezifiziert (Listing 1). Sie ermöglichen es unter anderem, »mmap()« auf die Gerätedatei anzuwenden, um Speicherbereiche zu mappen.

Listing 1

linux/drivers/char/mem.c

01 #ifdef CONFIG_EXYNOS_MEM
02     [14] = {"exynos-mem", S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH
03             | S_IWOTH, &exynos_mem_fops},
04 #endif

Mit Ioctl-Anfragen auf das Gerät darf ein Programmierer den Reset oder Flush der L1- und L2-Caches auslösen. Daneben kann er damit auch physikalische Adressen für die »mmap()« -Aufrufe setzen. Das kann ein Angreifer für die eigentliche Attacke ausnützen. Die Funktionalität implementiert der Kernel in »linux/drivers/char/exynos-mem.c« . Wie Listing 2 zeigt, findet sich dort allerdings eine If-Abfrage, die nur den Zugriff auf Lowmem-Bereiche erlaubt.

Listing 2

linux/drivers/char/exynos-mem.c

01 /* TODO: currently lowmem is only avaiable */
02 if ((phys_to_virt(start) < (void *)PAGE_OFFSET) ||
03     (phys_to_virt(start) >= high_memory)) {
04     pr_err("[%s] invalid paddr(0x%08x)\n", __func__, start);
05     return -EINVAL;
06 }

Dank der Zugriffsmöglichkeiten per »mmap()« kann ein Angreifer einen Exploit schreiben, der Kernelspeicher in Besitz nimmt, um damit höhere Rechte auf dem Smartphone zu erlangen. Das könnte allein schon durch das Installieren einer präparierten App aus Google Play geschehen.

Ein Exploit zum Erzeugen einer Root-Shell ist ebenfalls im XDA-Entwicklerforum zu finden [1]. Dessen Code versucht »/system/bin/sh« als Root auszuführen. Hierzu greift er auf den Kernel via »/dev/exynos-mem« zu, um den Systemcall »sys_setresuid()« aufzurufen und Rootrechte zu setzen.

Mittlerweile ist auch eine erste App namens Exynos Abuse APK v1.10 im Verkehr, die diese Sicherheitslücke konkret ausnutzt und das Tool Super SU 0.99 auf dem Smartphone installiert, womit der Angreifer das Smartphone dann mit Rootrechten manipulieren darf.

Eine Lösung für das Sicherheitsproblem könnte sein, die Gerätedatei für den Speicher mit restriktiveren Berechtigungen auszustatten. Es gibt jedoch Hinweise darauf, dass manche Software, etwa die für die Smartphone-Kamera, dann nicht mehr funktioniert.

Betroffen von dieser Sicherheitslücke sind folgende Smartphones: Samsung Galaxy S2 GT-I9100, Galaxy S3 GT-I9300, Galaxy S3 LTE GT-I9305, Galaxy Note GT-N7000, Galaxy Note 2 GT-N7100, Verizon Galaxy Note 2 SCH-I605, Samsung Galaxy Note 10.1 GT-N8000 und Galaxy Note 10.1 GT-N8010. (mhu)

Infos

  1. “Root exploit on Exynos”: http://forum.xda-developers.com/showthread.php?p=35469999

Der Autor

Mark Vogelsberger ist derzeit wissenschaftlicher Mitarbeiter am Institute for Theory and Computation der Harvard University, wo er sich mit Simulationen zur Strukturbildung im Universum beschäftigt. Er war von 1999 bis 2010 Autor der “Insecurity News” des Linux-Magazins und schreibt nun auf https://www.linux-magazin.de die Online-Ausgabe des “Insecurity Bulletin”.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben