Open Source im professionellen Einsatz

Android: Fehler beim Verarbeiten von Multimedia-Inhalten

Das Android Betriebssystem ist mittlerweile extrem verbreitet. Circa 95% aller Geräte (fast eine Milliarde) sind aktuell von mehreren Schwachstellen betroffen, die dazu führen, dass ein entfernter Angreifer Kontrolle über das Gerät erlangen kann. Die Attacke läuft über eine geschickt gebaute MMS. Das Opfer muss diese noch nicht einmal öffnen. Allein der Empfang genügt dem Angreifer, um seinen Trojaner auf dem Gerät zu plazieren. Anschließend kann er dann auch leicht jegliche Spuren verwischen, so dass die Attacke völlig unbemerkt geschieht.  Neben reinen MMS-Nachrichten, kann die Attacke auch über Hangout-Nachrichten durchgeführt werden.

Ursache des Problems sind mehrere Programmierfehler in der Multimedia-Schnittstelle von Android. Diese Schnittstelle wird seit Version 2.2 von der
C++-Bibliothek Stagefright bereitgestellt. Insgesamt handelt es sich um sieben verschiedene Schwachstellen. Google hat schon entsprechende Patches in
Android eingebaut. Attacken über spezielle MMS betreffen vor allem Android-Versionen, die älter als 4.1 sind. Obwohl auch neuere Versionen die
Stagefright-Bibliothek verwenden, enthalten diese zusätzliche Schutzfunktionen, die diese Angriffsmethode erschweren.

Entwickler der alternativen Android-Distribution CyanogenMod gaben bekannt, dass diese Schwachstellen in ihrer Version 12 und 12.1 bereits geschlossen
wurden. Aus dem GitHub-Repository von CyanogenMod lässt sich so ableiten wo die Schwachstellen liegen. Demnach handelt es sich um Fehler im Speichermanagement, welche beim Verarbeiten von MPEG4- und 3GPP-Videos auftreten. Genauer wurden folgende Probleme in diesem Zusammenhang korrigiert:
* Ein Integer Overflow beim Verarbeiten der »chunk_data_size«-Variable falls diese den Wert »SIZE_MAX« hat. Durch diesen Overflow wird dann
ein allozierter Buffer zu klein, wodurch ein Exploit möglich ist.
* Ein Integer Underflow beim Verarbeiten der »chunk_data_size«-Varable falls diese kleiner ist als der »kSkipBytesOfDataBox«-Wert. Dadurch wird
ein sehr großer Wert an die »MetaData::setData«-Methode übergeben, was dann zu einem Buffer Overflow führt.
* Ein Interger Overflow beim Verarbeiten der size- und chunk_size-Variaben. Sind diese größer als 2^32, so tritt der Overflow auf. Daraus
resultiert ein Heap Buffer Overflow.
* Ein Integer Underflow beim Verarbeiten von 3GPP-Metadaten. Dies tritt auf, wenn die Size-Variable kleiner als 6 ist.
* Ein Fehler in der »parse3GPPMetaData()«-Funktion hat zur Folge, dass 3GPP-Metadaten nicht korrekt terminiert werden. Dies kann zu einem
Overflow in der »setCString()«-Funktion führen.
Kurze Zeit nachdem diese Stagefright-basierten Sicherheitslücken bekannt wurden, veröffentlichte Trend Micro eine weitere Schwachstelle.  Diese betrifft ebenfalls die Multimedia-Bibliothek und erlaubt es das Gerät lahmzulegen, so dass keine Telefonate mehr möglich sind.  Anfällig hierfür sind die Versionen 4.3 bis zur aktuellen 5.1.1er Version. Die Schwachstelle wurde schon im Mai gemeldet, allerdings gibt es aktuell noch keinen Patch.

Die Attacke ist entweder über eine bösartig App oder eine speziell präparierte Webseite möglich. Das Problem tritt in dem Mediaserver-Dienst von Android auf.  Dieser Dienst verwaltet Media-Dateien des Geräts. Allerdings kann der Dienst bestimmte Video-Dateien mit Matroska Container (mkv-Dateien) nicht korrekt verarbeiten. Ursache hierfür ist ebenfalls ein Integer Overflow in der »MatroskaExtractor.cpp«-Datei. Trend Micro hat einen Exploit entwickelt, der dazu führt, dass bei dem Telefon folgende Handy-Funktionen nicht mehr arbeiten:

  • Sound Notifications,
  • Nachrichten eingehender Anrufe,
  • Annahme von Anrufen,
  • Anrufe ausführen.
comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.