
eBook - ePub
Mobile Hacking
Ein kompakter Einstieg ins Penetration Testing mobiler Applikationen – iOS, Android und Windows Mobile
- 236 Seiten
- German
- ePUB (handyfreundlich)
- Über iOS und Android verfügbar
eBook - ePub
Mobile Hacking
Ein kompakter Einstieg ins Penetration Testing mobiler Applikationen – iOS, Android und Windows Mobile
Über dieses Buch
Mobile Endgeräte, vor allem Smartphones und Tablets der Hersteller Apple und Google, sind inzwischen in fast jedem Haushalt vertreten. Auch in der Firmenwelt nehmen diese Geräte einen immer größeren Stellenwert ein und verarbeiten hochsensible Daten. Diese neuen Einsatzszenarien, gepaart mit Tausenden von Applikationen, schaffen neue Angriffsvektoren und Einfallstore in diese Geräte. Dieses Buch stellt die einzelnen Angriffsszenarien und Schwachstellen in den verwendeten Applikationen detailliert vor und zeigt, wie Sie diese Schwachstellen aufspüren können. Am Beispiel der aktuellen Betriebssysteme (Android, iOS und Windows Mobile) erhalten Sie einen umfassenden Einblick ins Penetration Testing von mobilen Applikationen. Sie lernen typische Penetration-Testing-Tätigkeiten kennen und können nach der Lektüre Apps der großen Hersteller untersuchen und deren Sicherheit überprüfen.
Behandelt werden u.a. folgende Themen:
- Forensische Untersuchung des Betriebssystems,
- Reversing von mobilen Applikationen,
- SQL-Injection- und Path-Traversal-Angriffe,
- Runtime-Manipulation von iOS-Apps mittels Cycript,
- Angriffe auf die HTTPS-Verbindung,
- u.v.m.
Vorausgesetzt werden fundierte Kenntnisse in Linux/Unix sowie erweiterte Kenntnisse in Java bzw. Objective-C.
Häufig gestellte Fragen
Ja, du kannst dein Abo jederzeit über den Tab Abo in deinen Kontoeinstellungen auf der Perlego-Website kündigen. Dein Abo bleibt bis zum Ende deines aktuellen Abrechnungszeitraums aktiv. Erfahre, wie du dein Abo kündigen kannst.
Derzeit stehen all unsere auf mobile Endgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Perlego bietet zwei Pläne an: Elementar and Erweitert
- Elementar ist ideal für Lernende und Interessierte, die gerne eine Vielzahl von Themen erkunden. Greife auf die Elementar-Bibliothek mit über 800.000 professionellen Titeln und Bestsellern aus den Bereichen Wirtschaft, Persönlichkeitsentwicklung und Geisteswissenschaften zu. Mit unbegrenzter Lesezeit und Standard-Vorlesefunktion.
- Erweitert: Perfekt für Fortgeschrittene Studenten und Akademiker, die uneingeschränkten Zugriff benötigen. Schalte über 1,4 Mio. Bücher in Hunderten von Fachgebieten frei. Der Erweitert-Plan enthält außerdem fortgeschrittene Funktionen wie Premium Read Aloud und Research Assistant.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja! Du kannst die Perlego-App sowohl auf iOS- als auch auf Android-Geräten verwenden, um jederzeit und überall zu lesen – sogar offline. Perfekt für den Weg zur Arbeit oder wenn du unterwegs bist.
Bitte beachte, dass wir keine Geräte unterstützen können, die mit iOS 13 oder Android 7 oder früheren Versionen laufen. Lerne mehr über die Nutzung der App.
Bitte beachte, dass wir keine Geräte unterstützen können, die mit iOS 13 oder Android 7 oder früheren Versionen laufen. Lerne mehr über die Nutzung der App.
Ja, du hast Zugang zu Mobile Hacking von Michael Spreitzenbarth im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Informatik & Cybersicherheit. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.
Information
Thema
InformatikThema
Cybersicherheit1 Einführung in mobile Betriebssysteme und deren Applikationen
Smartphones und Tablet-PCs sind aus dem täglichen Leben von Privatpersonen ebenso wenig wegzudenken wie aus dem Alltag in Unternehmen. Diese Geräte dienen längst nicht mehr nur dem Zweck der Kommunikation, wie es mit dem Telefon vor einigen Jahren noch der Fall war. Sie werden inzwischen vielmehr dazu benutzt, Zugriff auf sensible Firmen- oder Privatnetze (z.B. per VPN) zu erhalten oder teilweise sehr sensible Daten (wie z.B. Bilder und Angebote) zu verarbeiten.
Betrachtet man die Entwicklung der letzten Jahre, so sieht man, dass diese Geräte immer mehr Fähigkeiten erhalten und in immer mehr Szenarien eine Rolle spielen. Steuerung der kompletten Hauselektronik, Zugangskontrolle zu hochgesicherten Bereichen, Katastrophenfrühwarnung und der Ersatz des Notebooks in Unternehmen sind nur einige Beispiele, in denen diese Geräte und die darauf installierten Applikationen (oder kurz Apps) in Zukunft eine wichtige Rolle spielen werden.
Will man für solch kritische Szenarien ein mobiles Endgerät einsetzen, so landet man nach der initialen Betrachtung der Hardware immer wieder an dem folgenden Punkt: Wie sicher ist eigentlich die Applikation selbst?
Um diese Frage zu beantworten, gibt es eigentlich nur zwei mögliche Lösungsansätze: entweder Vertrauen in die Marketingfolien und -versprechen der Hersteller solcher Lösungen oder das Durchführen eigener Tests, um sicherzustellen, dass die ausgesuchte Lösung auch das leistet, was sie verspricht. Einen solchen Test nennt man Penetrationstest (oder kurz Pentest).
Betrachtet man die Schlagzeilen einschlägiger Magazine oder Webseiten (und ebenfalls die Beispiele, die in diesem Buch erwähnt werden), so sieht man sehr schnell, dass die erste Option (blindes Vertrauen in die Marketingversprechen) oft der falsche Ansatz ist, wenn man erwägt, sensible Daten mit einer Applikation zu verwalten oder zu verarbeiten. Aus diesem Grund werden im Rahmen dieses Buches Wege gezeigt, wie man selbst Applikationen überprüfen und deren Schwächen ans Tageslicht bringen kann.
Wir betrachten dazu ausführlich die Systeme Android und iOS, zeigen aber auch erste Einstiegspunkte in Windows Phone, da dieses System in vielen Einsatzszenarien eine immer wichtiger werdende Rolle spielt. Beginnen möchten wir in diesem Kapitel mit der allgemeinen Einführung in die Systeme und den Aufbau ihrer Applikationen. Außerdem wird das Einrichten der Laborumgebung beschrieben, in der sich die später gezeigten Analysen durchführen lassen.
1.1 Android
Das Android OS, das ursprünglich für die Verwendung auf Smartphones und Tablet-PCs entwickelt wurde, findet in letzter Zeit auch immer mehr Verwendung auf Set-Top-Boxen, TVs oder als Car-Entertainment-System. Die Basis des Betriebssystems wird von der Open Handset Alliance unter der Führung von Google entwickelt und ist vollständig Open Source, lediglich die Anpassungen von Google (eigene Apps wie z.B. Google Maps und zugehörige Bibliotheken) sind nicht in ihrem Quellcode verfügbar. Die Komponenten, die das System ausmachen und auch im weiteren Verlauf des Buches von Interesse sind, werden in den folgenden Abschnitten genauer beleuchtet.
1.1.1 Die Entwicklung der Android-Plattform
Zu Beginn der Einführung in die Android-Plattform wird die bisherige Entwicklung der verschiedenen Android-Versionen aufgezeigt. Die gesamte zeitliche Entwicklung der Plattform, speziell deren Hauptversionen, ist in Tabelle 1–1 zusammen mit ihren Versionsnummern, Codenamen und Erscheinungsdaten dargestellt. Seit der Version 1.5 haben die Hauptversionen immer den Namen von populären US-Süßigkeiten. Dies hat sich erst durch die Kooperation mit Nestlé in Version 4.4 und dem Codenamen KitKat geändert, Google blieb zwar bei den Süßigkeiten, wechselte jedoch auf den europäischen Markt.
1.1.2 Die Architektur des Betriebssystems
Die Android-Architektur kann in vier verschiedene Schichten unterteilt werden: Basis der Architektur ist der Linux-Kernel, darüber liegt eine kombinierte Schicht aus Systembibliotheken und der eigentlichen Android-Laufzeitumgebung, dann folgt das Applikationsframework und als oberste Ebene die eigentlichen Applikationen (siehe Abbildung 1–1). Jede dieser vier Schichten stellt spezielle Interfaces und Systemressourcen für die darüberliegende Schicht zur Verfügung, sodass eine Interaktion zwischen den einzelnen Schichten ermöglicht wird.
Der Linux-Kernel
Wie auf der Abbildung 1–1 zu erkennen ist, bildet der Linux-Kernel in Version 2.6.x die Basis des Android-Systems. Dieser wurde um spezielle Module erweitert, um die Hardware der Android-Geräte zu unterstützen. Zusätzlich dazu wird der Kernel für die Verwaltung der laufenden Prozesse sowie des Speichers verwendet und stellt einige der Sicherheitsmechanismen bereit, die in Android implementiert sind.
Version | Codename | API | Veröffentlichung | Verwendung |
1.0 | Base | 1 | 09/2008 | s |
1.5 | Cupcake | 3 | 04/2009 | s |
1.6 | Donut | 4 | 09/2009 | s |
2.0 | Eclair | 5 & 6 | 10/2009 | s |
2.1 | Eclair | 7 | 01/2010 | s |
2.2 | Froyo | 8 | 05/2010 | s |
2.3 | Gingerbread | 9 & 10 | 12/2010 | s |
3.0 | Honeycomb | 11–13 | 02/2011 | t |
4.0 | Ice Cream Sandwich | 14 & 15 | 10/2011 | s,t |
4.1 | Jelly Bean | 16 | 06/2012 | s,t |
4.2 | Jelly Bean | 17 | 11/2012 | s,t |
4.3 | Jelly Bean | 18 | 07/2013 | s,t |
4.4 | KitKat | 19 & 20 | 10/2013 | s,t |
5.0 | Lollipop | 21 | 10/2014 | s,t |
5.1 | Lollipop | 22 | 03/2015 | s,t |
6.0 | Marshmallow | 23 | 10/2015 | s,t |
Tab. 1–1: Liste der Android-OS-Versionen und deren Erscheinungsdatum seit der ersten offi-ziellen Veröffentlichung in 2008 (s = Smartphone, t = Tablet-PC)
Prozesse mit ihrem zugehörigen Identifier (PID) sind eines der wichtigsten Konzepte des Linux-Kernels. Neben dieser PID speichert der Kernel weitere wichtige Informationen über laufende Prozesse – wie z.B. den Prozessstatus, den Thread, in dem der Prozess läuft, und Angaben darüber, welche Dateien verwendet werden (eine vollständige Liste stellt der Linux-Quellcode [10] bereit). Diese Daten werden in einer gesonderten Struktur – task_struct – abgelegt. Die PID ist im weiteren Zusammenhang sehr wichtig, da mit ihrer Hilfe während der dynamischen Analyse die Operationen den entsprechenden Applikationen zugeordnet werden können (mehr dazu in Abschnitt 4.2.1).
Systembibliotheken und Laufzeitumgebung
In der darüberliegenden Schicht befinden sich sie Systembibliotheken und die eigentliche Android-Laufzeitumgebung. Diese Bibliotheken sind in C bzw. C++ geschrieben und werden sowohl vom System selbst als auch von allen installierten Apps verwendet. Die Android-Laufzeitumgebung enthält die Dalvik Virtual Machine (DVM) sowie die wichtigsten Java-Bibliotheken. Die DVM- und die Java-Bibliotheken wurden speziell an die Vorgaben eines mobilen Betriebssystems – geringer Stromverbrauch und geringe Rechenleistung – angepasst.

Abb. 1–1: Übersicht über die Architektur des Android-Betriebssystems
Applikationsframework
Die nächste Ebene ist das sogenannte Applikationsframework, das die Application Programming Interfaces (API) bereitstellt. Diese Ebene ist eine Art Übersetzungsschicht: Sie stellt eine hohe Anzahl an geräteabhängigen Schnittstellen zur Verfügung, die es einem Entwickler erlauben, auf alle Features des Endgerätes zuzugreifen, ohne dass er hierfür tiefere Kenntnisse der einzelnen Komponenten benötigt.
Die Applikationen selbst
Darüber liegen schließlich die eigentlichen Applikationen. Jede dieser installierten Applikationen ist zum großen Teil in Java geschrieben (mit optionalen eigenen Bibliotheken) und wird zur Laufzeit in einer eigenen DVM ausgeführt. Aktuell gibt es im offiziellen Google Play Store knapp über 1,6 Millionen dieser Applikatione...
Inhaltsverzeichnis
- Cover
- Titel
- Impressum
- Vorwort
- Danksagung
- Inhaltsverzeichnis
- 1 Einführung in mobile Betriebssysteme und deren Applikationen
- 2 Chancen und Risiken des Reversings
- 3 Reversing von Android-Applikationen
- 4 Sicherheitsprobleme bei Android-Applikationen
- 5 Reversing von iOS-Applikationen
- 6 Sicherheitsprobleme bei iOS-Applikationen
- 7 Reversing von Windows-10-Mobile-Applikationen
- 8 Sicherheitsprobleme bei Windows-10-Mobile-Applikationen
- 9 Angriffe auf die Datenübertragung
- 10 Wie geht die Reise weiter?
- Literaturverzeichnis
- Index