Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - IT-Security

Schwachstellenanalyse & Reverse Engineering von Android Apps

Title: Schwachstellenanalyse & Reverse Engineering von Android Apps

Research Paper (undergraduate) , 2014 , 66 Pages

Autor:in: Daniel Szameitat (Author)

Computer Science - IT-Security
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

Diese Arbeit beschäftigt sich mit dem Auffinden von Schwachstellen in Android Apps. Der Leser dieser Arbeit soll in die Lage versetzt werden, die Sicherheit einer App beurteilen zu können. Damit richtet sich diese Arbeit vorrangig an Android Administratoren und Entwickler. Die beschriebenen Techniken sollten nur aus Eigenentwicklungen angewandt werden.

Die Arbeit gliedert sich in vier logische Abschnitte. Am Anfang stehen Informationen zum Umgang mit Android und dem Google Play Store. Diese Informationen sind Grundlagen, welche wichtig für alle nachfolgenden Themen sind. Danach werden einige Schwachstellen, die häufig in Android Apps vorkommen, aufgezeigt und am praktischen Beispiel erläutert. Die letzten zwei Abschnitte stellen den Kern dieser Arbeit da, indem sie beschreiben, wie solche Schwachstellen gefunden werden können. In Abschnitt drei wird prinzipiell gezeigt, wie eine App aufgebaut ist und wie Quelltext aus einer App gewonnen wird. Der letzte Teil der Arbeit geht auf konkrete Analysetechniken ein.

Insgesamt wird so der aktuelle Stand der Technik für Sicherheitsanalysen von Android beschrieben.

Excerpt


Inhaltsverzeichnis

Einleitung

Voraussetzungen

Apps herunterladen

Testumgebung einrichten

Android Development Umgebung

Alternativer Emulator

Santoku

Schwachstellen in Android Apps

Intent Spoofing

Unauthorized Intent Receipt

Information Leakage

Backdoor

SSL

DOS

Weitere Schwachstellen

SQL, JavaScript & XML Injection

Fragment Injection

OWASP Mobile Top 10 Risks

Manuelle Analyse

Betrachtung der Manifest-Datei

App Konfiguration herausfinden

Ressourcen untersuchen

Statische Analyse

Grundlagen der Dekompilierung

Manuelle Dekompilierung von Dex-Bytecode

Dekompilierung von Dex zu Java

Prüfung von verdächtigen Konstanten

Dekompilierung von Dex zu Smali

Dekompilierung von Dex zu Jimple

Datenfluss Analyse mit FlowDroid

Optimierung von FlowDroid

Dynamische Analyse

Laufzeit injection mit Drozer

Schwachstellentests

Überwachung von Apps mit Logcat

Netzwerküberwachung

Zielsetzung & Themen

Diese Arbeit widmet sich der systematischen Sicherheitsanalyse von Android-Anwendungen, mit dem Ziel, Methoden zur Identifizierung von Schwachstellen zu vermitteln und den aktuellen Stand der Technik für Experten zugänglich zu machen.

  • Grundlagen der Android-Testumgebungen und Emulator-Konfiguration.
  • Analyse gängiger Sicherheitslücken wie Intent Spoofing, Information Leakage und Injection-Angriffe.
  • Methodik der manuellen und statischen Analyse mittels Dekompilierung.
  • Einsatz automatisierter Werkzeuge wie FlowDroid und Drozer zur Schwachstellenerkennung.

Auszug aus dem Buch

Information Leakage

Die Android API bietet eine Reihe von Möglichkeiten wie Informationen gespeichert werden können. Dabei kann der Entwickler sich nicht einfach eine Möglichkeit aussuchen, sondern muss den richtigen Speicherort für seine Daten wählen. Dabei unterscheiden sich die Speicherorte aufgrund ihres Sicherheitsniveau. Welcher Speicherort und Sicherheitsniveau angemessen ist, hängt dabei vom Grad der Sensibilität der Informationen ab. Um die Sensibilität der Informationen einer App einschätzen zu können, kann man zwischen fünf Stufen unterscheiden.

1. Keine sensiblen Anwenderdaten

Daten die keine Rückschlüsse zulassen, wie zum Beispiel die Displayposition auf der etwas angezeigt wird.

2. Benutzerdaten

Daten die direkt vom Benutzer kommen aber nicht kritisch sind, da sie für eine breite Masse von Leuten gedacht sind. Zum Beispiel Statusmeldungen in sozialen Netzwerken.

3. Metadaten

Daten die indirekt Rückschlüsse auf den Benutzer und sein Verhalten zulassen. Zum Beispiel GPS Daten.

4. sensible Benutzerdaten

Daten die direkt vom Benutzer kommen aber nur für einen eingeschränkten Benutzerkreis sichtbar sein sollen, zum Beispiel SMS Nachrichten.

5. hochsensible Benutzerdaten

Benutzerdaten die einen finanziellen Schaden verursachen können, wie zum Beispiel Kreditkarten Daten.

Zusammenfassung der Kapitel

Einleitung: Dieses Kapitel erläutert die notwendigen Voraussetzungen sowie die Einrichtung der Entwicklungsumgebung und der benötigten Werkzeuge für die Analyse von Android-Apps.

Schwachstellen in Android Apps: Hier werden typische Sicherheitslücken wie Intent Spoofing, Information Leakage und verschiedene Injection-Methoden im Kontext von Android-Anwendungen theoretisch und praktisch diskutiert.

Manuelle Analyse: Dieses Kapitel konzentriert sich auf die Untersuchung der Manifest-Datei und der App-Ressourcen, um erste Indizien für mögliche Sicherheitsrisiken zu identifizieren.

Statische Analyse: Hier wird der Prozess der Dekompilierung von Dex-Bytecode in Java, Smali oder Jimple detailliert behandelt sowie die automatisierte Datenflussanalyse mittels FlowDroid vorgestellt.

Dynamische Analyse: Das abschließende Hauptkapitel widmet sich der Laufzeit-Analyse unter Einsatz von Drozer sowie der Netzwerküberwachung und Logcat-Protokollierung.

Schlüsselwörter

Android Sicherheit, Reverse Engineering, Schwachstellenanalyse, Dekompilierung, Dex-Bytecode, Intent Spoofing, Injection Angriffe, Statische Analyse, Dynamische Analyse, FlowDroid, Drozer, OWASP, Manifest-Datei, Datensicherheit, Smali

Häufig gestellte Fragen

Worum geht es in dieser Arbeit grundsätzlich?

Die Arbeit behandelt die Sicherheitsanalyse und das Reverse Engineering von Android-Applikationen mit dem Ziel, Schwachstellen methodisch aufzudecken.

Was sind die zentralen Themenfelder der Analyse?

Die Schwerpunkte liegen auf dem Verständnis von Android-Komponenten, der Dekompilierung von Anwendungscode und der Nutzung spezialisierter Sicherheitstools.

Was ist das primäre Ziel der Untersuchung?

Das Ziel ist es, Administratoren und Entwicklern Techniken an die Hand zu geben, mit denen sie die Sicherheit von Android-Apps selbstständig beurteilen können.

Welche wissenschaftliche Methode wird primär verwendet?

Die Arbeit kombiniert manuelle Code-Prüfung mit strukturierten statischen und dynamischen Analyse-Methoden unter Verwendung etablierter Frameworks.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil gliedert sich in die Identifikation von Schwachstellen, die manuelle Manifest-Analyse, diverse Dekompilierungs-Strategien und den Einsatz von Analyse-Software.

Welche Schlüsselbegriffe charakterisieren die Publikation?

Begriffe wie Reverse Engineering, statische Analyse, FlowDroid, Drozer und Intent Spoofing beschreiben den methodischen Kern der Arbeit am besten.

Wie kann man mit Drozer auf ein System einwirken?

Drozer ermöglicht das Simulieren von Intents zur Laufzeit, um Schwachstellen in Service- oder Broadcast-Komponenten direkt auf dem Android-Gerät zu testen.

Warum ist die Manifest-Datei für einen Angreifer besonders relevant?

Sie dient als Kernstück der App, da sie Berechtigungen, Komponenten und Einstiegspunkte offenlegt, die für eine zielgerichtete Schwachstellenanalyse essenziell sind.

Excerpt out of 66 pages  - scroll top

Details

Title
Schwachstellenanalyse & Reverse Engineering von Android Apps
College
University of Applied Sciences Aalen
Author
Daniel Szameitat (Author)
Publication Year
2014
Pages
66
Catalog Number
V280939
ISBN (eBook)
9783656749547
ISBN (Book)
9783656749462
Language
German
Tags
Android Google App Security Schwachstellen Entwicklung Analyse
Product Safety
GRIN Publishing GmbH
Quote paper
Daniel Szameitat (Author), 2014, Schwachstellenanalyse & Reverse Engineering von Android Apps, Munich, GRIN Verlag, https://www.grin.com/document/280939
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  66  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint