Bachelorarbeit, 2016
60 Seiten, Note: 1,7
1 Prolog
1.1 Motivation
1.2 Aufbau der Arbeit
2 Abhandlung
2.1 Android (Betriebssystem)
2.1.1 Interfaces und Architektur
2.1.2 Mediaframework
2.1.3 Versionen
2.1.4 Marktanteil und Verbreitung
2.2 Terminus „Stagefright“
2.2.1 Stagefright
2.2.2 Stagefright 2.0
3 Schwachstellen in Stagefright
3.1 Grundlagen: Integer Under- and Overflow
3.2 MP4 Atom Integer Overflow
3.2.1 Sample-to-Chunk (’stsc’)
3.2.2 Composition Offset (’ctts’)
3.2.3 Time-to-Sample (’stts’)
3.2.4 Sync Sample (’stss’)
3.2.5 Text Metadata (’tx3g’)
3.2.6 Album cover artwork (’covr’)
3.3 MP4 Atom Integer Underflow
3.3.1 Elementary Stream Descriptor (’esds’)
3.3.2 Album cover artwork (’covr’)
3.3.3 3rd Generation Partnership Project (3GPP)
3.3.4 Text Metadata (’tx3g’)
3.4 Metadata Buffer Overread
3.5 libstagefright Integer Overflow
3.5.1 findFrame
3.5.2 size_t overflow in base64 decoding
3.6 libutils Integer Overflow
4 Angriffsvektoren
4.1 Proof of Concept bestätigte Szenarien
4.1.1 MP4
4.1.2 Firefox for Android
4.1.3 MKV-Datei
4.2 Offene Szenarien
5 Schutzmaßnahmen
5.1 MMS Umleitung
5.2 Updates
5.3 Stagefright Detector App
5.4 Address Space Layout Randomization (ASLR)
6 Resonanzen
6.1 Arbeitsumfeld
6.2 Privater Umkreis
7 Exploit Demo
8 Fazit
Die Arbeit analysiert die Sicherheitslücken im Stagefright-Framework von Android, die eine Fernübernahme von Mobilgeräten ermöglichen. Ziel ist es, einen grundlegenden Überblick über die technischen Schwachstellen, die zugrundeliegenden Integer-Overflow-Problematiken sowie die notwendigen Schutzmaßnahmen zu geben, um Nutzer für die Risiken zu sensibilisieren.
3.1 Grundlagen: Integer Under- and Overflow
Hier wird kurz durch ein Minimalbeispiel dargestellt, wie in Stagefright ein Integer Under- oder Overflow zustande kommt. Zunächst ein Codebeispiel zu einem Integer Underflow:
1 #include <stdio.h>
2 int main ()
3 {
4 unsigned int a = 5;
5 int b = 10;
6 a = a - b;
7 printf ("%u\n", a);
8 return 0;
9 }
Der Code oberhalb zeigt, wie Stagefright mit Hilfe simpler Mathematik arbeitet. Stagefright nimmt Metadaten entgegen, um rauszufinden, wie viel Speicher für die Verarbeitung eines Videos oder einer Multimedia-Datei gebraucht wird. Zu sehen ist hier eine Subtraktion von 5 - 10. Zu erwarten wäre hier logischerweise eine negative Zahl, C gibt hier jedoch 4294967291 zurück. Dies liegt an dem hier definierten Datentyp (unsigned int), aufgrund dessen man nun eine sehr hohe positive Zahl als Ergebnis aus dieser Subtraktion erhält. Damit wäre ein Integer Underflow generiert und damit wird mehr Speicher allokiert als benötigt.
Prolog: Einführung in die Motivation und den Aufbau der Arbeit hinsichtlich der Sicherheitslücken in Android.
Abhandlung: Darstellung der technischen Grundlagen von Android, des Stagefright-Frameworks und der verschiedenen Versionen sowie Marktanteile.
Schwachstellen in Stagefright: Detaillierte Analyse der verschiedenen Integer-Overflow- und Underflow-Lücken innerhalb der Stagefright-Bibliothek.
Angriffsvektoren: Erläuterung der praktischen Ausnutzungsmöglichkeiten durch MMS, URL-Aufrufe und Apps inklusive Proof-of-Concept-Szenarien.
Schutzmaßnahmen: Zusammenfassung der empfohlenen Gegenmaßnahmen wie MMS-Umleitung, Sicherheitsupdates und der Nutzung der Stagefright Detector App.
Resonanzen: Einblicke in das Bewusstsein von Fachkräften und Privatpersonen gegenüber dem Thema Stagefright.
Exploit Demo: Dokumentation eines Python-Scripts zur Veranschaulichung, wie ein MP4-Atom die Schwachstellen ausnutzen kann.
Fazit: Abschließende Betrachtung der Notwendigkeit schnellerer Update-Zyklen und Sensibilisierung der Nutzer für die Android-Sicherheit.
Android, Stagefright, Sicherheitslücken, Integer Overflow, Integer Underflow, libstagefright, Mediaserver, Exploits, MMS, CVE, Speicherverwaltung, ASLR, Sicherheitsupdates, Smartphone, Android-Sicherheit
Die Arbeit befasst sich mit der Analyse der Stagefright-Sicherheitslücken im Android-Betriebssystem und deren Auswirkungen auf die Sicherheit von Smartphones.
Zentrale Themen sind die technische Funktionsweise des Mediaframeworks, die Anfälligkeit für Integer-Overflows sowie die damit verbundenen Angriffsvektoren.
Das primäre Ziel ist es, einen fundierten Überblick über die Schwachstellen zu geben, deren Ursachen zu erklären und die Dringlichkeit von Schutzmaßnahmen aufzuzeigen.
Es erfolgt eine deskriptive Analyse der existierenden CVE-Einträge, des Quellcodes in den betroffenen Bibliotheken sowie eine Auswertung von Proof-of-Concept-Exploits.
Der Hauptteil gliedert sich in die technische Zerlegung der Schwachstellen in den betroffenen MP4-Atoms und die Untersuchung verschiedener Angriffsszenarien.
Die Arbeit lässt sich am besten mit Begriffen wie Android, Stagefright, Integer Overflow, Exploit und Sicherheitslücken beschreiben.
Da MMS als besonders gefährlicher Angriffsvektor identifiziert wurde, diente die Umleitung durch die Deutsche Telekom als temporäre Sicherheitsmaßnahme, um die direkte Verarbeitung infizierter Medien zu verhindern.
ASLR dient dazu, den Speicherbereich von Schadcode zu randomisieren, was es Angreifern deutlich erschwert, Lücken gezielt auszunutzen, auch wenn es auf 32-Bit-Systemen durch begrenzte Variationsmöglichkeiten nicht unfehlbar ist.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

