Mobilfunkforensik. Autoren: Dr.-Ing. Michael Spreitzenbarth Ben Stock. Friedrich-Alexander-Universität Erlangen-Nürnberg

Größe: px
Ab Seite anzeigen:

Download "Mobilfunkforensik. Autoren: Dr.-Ing. Michael Spreitzenbarth Ben Stock. Friedrich-Alexander-Universität Erlangen-Nürnberg"

Transkript

1 Mobilfunkforensik Autoren: Dr.-Ing. Michael Spreitzenbarth Ben Stock Friedrich-Alexander-Universität Erlangen-Nürnberg

2

3 Modul 4 Mobilfunkforensik Studienbrief 1: Das Android-Betriebssystem Studienbrief 2: Mobilfunkforensik auf Basis des Android OS Studienbrief 3: Android-Applikationen Autoren: Dr.-Ing. Michael Spreitzenbarth Ben Stock 1. Auflage Friedrich-Alexander-Universität Erlangen-Nürnberg

4 2015 Dr.-Ing. Michael Spreitzenbarth und Dr.-Ing. Ben Stock Department Informatik Martensstr Erlangen 1. Auflage (01. Oktober 2014) Didaktische und redaktionelle Bearbeitung: Hochschule Albstadt-Sigmaringen Das Werk einschließlich seiner Teile ist urheberrechtlich geschützt. Jede Verwendung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung der Verfasser unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Um die Lesbarkeit zu vereinfachen, wird auf die zusätzliche Formulierung der weiblichen Form bei Personenbezeichnungen verzichtet. Wir weisen deshalb darauf hin, dass die Verwendung der männlichen Form explizit als geschlechtsunabhängig verstanden werden soll.

5 Inhaltsverzeichnis Seite 3 Inhaltsverzeichnis Einleitung zu den Studienbriefen 5 I. Abkürzungen derrandsymbole undfarbkodierungen II. Zu denautoren III. Modullehrziele Studienbrief 1 Das Android-Betriebssystem EinführunginAndroid AufbaudesAndroid-Systems Unterschiede zwischen der Java VM und der Dalvik VM Sicherheitsmechanismen desandroid-systems DasAndroid SDK DieAnalyseumgebung Einrichten derbibliotheken unddasos Erstellung eines Android-Emulators Studienbrief 2 Mobilfunkforensik auf Basis des Android OS Einführungindie Mobilfunkforensik Der klassische InvestigativeProcess Der Investigative ProcessfürSmartphones Wo befindensich die interessantendaten? Rooting vs. Recovery Bewegungsprofile Manuelle AnalyseeinesAndroid-Smartphones Das Mobilfunkforensik-Framework ADEL Die Idee hinter dem System Implementierung und SystemWorkflow Mobile-SandboxConnectivity Studienbrief 3 Android-Applikationen Aufbau vonandroid-applikationen Programmierungvon Android-Applikationen Erstelleneines neuenprojektesüber ADT Startender Applikation im Android-Emulator Hinzufügenvon Funktionalität EinführunginRechte undintents Zugriff auf im System gespeicherte Daten Obfuskierung EinführunginObfuskierung Fortgeschrittene Obfuskierungs-Techniken Analysevon Android-Applikationen Bedrohungsszenarien durch schadhafte Applikationen Einführung in das Analysieren von Android-Applikationen Manuelle Analyse des Netzwerkverkehrs einer Android- Applikation Manuelle Analyse des Source-Codes einer Android-Applikation Automatisierte Analysetechniken Automatisierte Analyse einer Android-Applikation Die Mobile-Sandbox Anhang 97 A. Official Android Permissions Verzeichnisse 101 I. Abbildungen II. Beispiele III. Definitionen

6 Seite 4 Inhaltsverzeichnis IV. Exkurse V. Kontrollaufgaben VI. Tabellen VII. Literatur Liste der Lösungen zu den Übungen 107

7 Einleitung zu den Studienbriefen Seite 5 Einleitung zu den Studienbriefen I. Abkürzungen der Randsymbole und Farbkodierungen Beispiel Definition Exkurs Kontrollaufgabe Quelltext Übung B D E K Q Ü

8 Seite 6 Einleitung zu den Studienbriefen II. Zu den Autoren Dr.-Ing. Michael Spreitzenbarth studierte Wirtschaftsinformatik an der Universität Mannheim mit Schwerpunkt in den Bereichen IT-Security und Digitale Forensik. Zwischen 2010 und 2013 arbeitete er als Doktorrand an der Universität Erlangen- Nürnberg. Seine Forschungsthemen lagen in den Bereichen der forensischen Analyse von Smartphones (speziell im Bereich Android) sowie im Bereich der Detektion und automatisierten Analyse von mobilem Schadcode (Malware). Seit April 2013 arbeitet er in einem weltweit operierenden CERT, wo sein Fokus auf der Absicherung mobiler Endgeräte, Incident Handling und der Analyse verdächtiger mobiler Applikationen liegt. In seiner Freizeit arbeitet Michael Spreitzenbarth immer noch im Bereich der Forschung und Entwicklung von Malware-Analyse- und Detektionstechniken sowie digitaler Forensik. Zusätzlich hält er regelmäßig Vorträge und Schulungen zu diesen Themen in der freien Wirtschaft sowie für öffentliche Auftraggeber. Ben Stock absolvierte sein Bachlor-Studium an der Universität Mannheim mit Fokus auf IT-Sicherheit und Forensik. Anschließend wechselte er für einen Master in IT-Security an die Technische Universität Darmstadt, wo er u. a. sein Wissen in dem Bereich Android-Sicherheit vertiefte. Seit 2013 ist er Doktorand am Lehrstuhl für IT-Sicherheits-Infrastrukturen an der Universität Erlangen-Nürnberg. Sein Forschungsthema ist dabei client-seitige Web- Sicherheit. Neben der Forschungstätigkeit betreut er das IT-Sicherheits-Praktikum des Lehrstuhls sowie die Übungen zu den Veranstaltungen Reverse Engineering und Angewandte IT-Sicherheit. Dazu veranstaltet er regelmäßig Workshops, die den Teilnehmern in kurzer Zeit eine ausführliche Einführung in verschiedene Themen der offensiven IT-Sicherheit bietet.

9 Modullehrziele Seite 7 III. Modullehrziele Sie verstehen den Aufbau und die Funktionsweise von Android und Android-Applikationen. Sie kennen nach erfolgreichem Absolvieren dieses Moduls die grundlegenden Methoden zur Vorbereitung einer forensischen Analyse von Android-Mobiltelefonen und können diese auch durchführen. Die Werkzeuge zur Analyse des Telefons sowie dessen Applikationen können sie anwenden und deren Vor- und Nachteile sind Ihnen bekannt. Sie kennen nach Abschluss dieses Moduls die gängigen Tools und Techniken zur Analyse von potentieller Malware. Sie können einfache Applikationen für Android programmieren und analysieren und sind mit der sicherheitskritischen Betrachtung dieser Applikationen vertraut. Sie verstehen die potentiellen Gefahren, die in mobilen Applikationen stecken können und wissen wo sich auf einem Androidbasierten Gerät interessante Daten für eine forensische Untersuchung befinden und wie Sie an diese gelangen können.

10 Seite 8 Einleitung zu den Studienbriefen Modulbeschreibung Modulbezeichnung: Studiengang: Verwendbarkeit: Lehrveranstaltungen und Lehrformen: Mobilfunkforensik Zertifikatsstudium Präsenzveranstaltung: Vorlesung, Übungen, Präsentation der Übungsergebnisse Onlineveranstaltungen: flexible Vertiefung wichtiger Themen, Lernen im Dialog, Fragen zu Übungen Modulverantwortliche(r): Dr.-Ing. Michael Spreitzenbarth Lehrende: Dr.-Ing. Michael Spreitzenbarth und Dr.-Ing. Ben Stock Dauer: 1 Semester Credits: 5 ECTS Studien- und Prüfungsleistungen: Schriftlicher Bericht (1/3) Mündliche Prüfung (2/3) Berechnung der Modulnote: Notwendige Voraussetzungen: Programmierkenntnisse in Python und Java gute Linux-/UNIX-Kenntnisse gute Englischkenntnisse Empfohlene Voraussetzungen: Unterrichts- und Prüfungssprache: Zuordnung des Moduls zu den Fachgebieten des Curriculums: Einordnung ins Fachsemester: Generelle Zielsetzung des Moduls: Arbeitsaufwand bzw. Gesamtworkload: Kenntnisse der forensischen Grundsätze Deutsch Vertiefung des Wissens von forensischen Ermittlern und Sicherheitsanalysten mit Interesse im Bereich mobile Endgeräte Präsenzzeit: 15 h Vorlesungsteil: 5 h Übungsteil: 10 h Eigenstudium: 135 h Durcharbeiten der Studienbriefe: 75 h Online Betreuung und Beratung: 10 h Ausarbeiten von Aufgaben: 50 h

11 Modullehrziele Seite 9 Lerninhalt und Niveau: Einführung in Android Aufbau des Android-Systems Unterschiede zwischen der Java-VM und der Dalvik- VM Das Android SDK Einführung in Mobilfunkforenisk für Android Wie kommt man an die wichtigen Daten? Rooting, Recovery und andere Zugriffsstrategien Wo befinden sich die interessanten Daten und welches Aussehen/Format haben sie? Einführung in SQLite Das Mobilfunkforensik-Framework ADEL Aufbau und Analyse von Android-Applikationen Bestandteile einer Android-Applikation (Manifest, Dalvik-Bytecode, Zertifikate, native Bibliotheken usw.) Einführung in das Dekompilieren und Reversen von Android-Applikationen Automatisierte Analysetechniken: Überblick, Einführung und Diskussion statische vs. dynamische Analyse Einführung in die Tools smali, dex2jar und JD-GUI Obfuskierung Einführung in Obfuskierung String-Obfuskierung (XOR, Crypt,...) Junkbytes zum Verwirren der Disassembler Kollision mehrerer Apps zum Verschleiern der Schadfunktion Das Niveau der Lerninhalte liegt gemessen am DQR-Niveau bei 7 (Master)

12 Seite 10 Einleitung zu den Studienbriefen Angestrebte Lernergebnisse: Fachkompetenz: Die Studierenden erwerben fundierte Kenntnisse über den Aufbau des Android und ios Betriebssystems. Sie sind in der Lage Android und ios Mobiltelefone zu analysieren und Spuren auf diesen Geräten zu sichern. Ebenso sind sie in der Lage Applikationen zu analysieren und verdächtiges Verhalten zu identifizieren. Methodenkompetenz: Die Studierenden beherrschen die Arbeitstechnik, mit bekannten Tools und Werkzeugen im Bereich Forensik und Android-Applikations-Analyse umzugehen. Weiter beherrschen sie die Problemlösefähigkeit, ein Android-Programm auf sein Verhalten zu untersuchen. Sozialkompetenz: Durch das gemeinsame Lösen von Aufgaben erlangen die Studierenden die Fähigkeit eigene Handlungsziele mit den Einstellungen und Werten einer Gruppe zu verknüpfen und ihre Teamfähigkeit zu stärken. Häufigkeit des Angebots: Anerkannte Module: Anerkannte anderweitige Lernergebnisse / Lernleistungen: Medienformen: Selbstkompetenz: Die Studierenden erlangen die Fähigkeit in komplexen Situationen zu handeln und eine Lösung für komplexe Probleme zu finden. Wintersemester Keine Keine Studienbriefe in schriftlicher und elektronischer Form Onlinematerial in Lernplattform Übungen und Projekt über Lernplattform Online-Konferenzen, Chat und Forum Präsenzveranstaltung mit Rechner und Beamer Literatur: Siehe Verweise innerhalb der einzelnen Studienbriefe

13 Modullehrziele Seite 11 Einleitung In den letzten Jahren stiegen die Absatzzahlen von Smartphones enorm und der Trend wandelte sich von altmodischen Handys mit nur geringer Funktionalität hin zu leistungsfähigen und funktionsreichen Smartphones. Die Google-Smartphone-Plattform Android ist dabei das beliebteste Betriebssystem geworden und überholte Symbian- und ios-basierte Telefone. Smartphones sind allgegenwärtig und spielen daher eine zunehmend wichtige Rolle für Beweise in forensischen Untersuchungen. Dabei spielt die Wiederherstellung von digitalen Spuren oft eine wesentliche Rolle bei der Prüfung und Klärung der Fakten im Rahmen von Straftaten. Obwohl es bereits einige Werkzeuge und Vorgehensbeschreibungen in diesem Bereich gibt, besteht weiterhin eine starke Nachfrage nach Methoden und Werkzeugen für die forensische Extraktion und Analyse von Daten, die auf Smartphones gespeichert sind. Dieser Bedarf wird durch das schnelle Wachstum und die steigende Diversifikation im Bereich des Mobilfunkmarktes geweckt. Durch die hohe Verbreitungsrate und steigende Popularität werden Smartphones nicht nur bei Straftaten verwendet, sie geraten auch als Angriffsziel zunehmend in den Fokus von Kriminellen. Für das bessere Verständnis der damit verbundenen Bedrohungen für Endnutzer, ist es wichtig, bösartige Software zu analysieren und zu identifizieren. Die exponentiell wachsenden Zahlen der Android-Malware in den vergangenen Jahren verlangen eine Automatisierung des Analyseprozesses, um dem schnell wachsenden Datenaufkommen gerecht zu werden. In diesem Modul werden die Spezifikationen und Besonderheiten von Android-Smartphones beschrieben. Des Weiteren wird auf Möglichkeiten zur forensischen Analyse von Smartphones eingegangen und es wird gezeigt, wie man Bewegungsprofile von Smartphone-Nutzern generieren und anhand dieser Profile den Aufenthaltsort eines Smartphones über einen gewissen Zeitraum in der Vergangenheit nachweisen kann. Dieser Schritt könnte vor allem bei der Aufklärung von Straftaten, bei denen es um eine spezifische Zeit-Ort- Kombination geht, eine wichtige Rolle spielen. Ein Beispiel für eine solche Fragestellung ist: Befand sich der Verdächtige zum Zeitpunkt des Einbruchs in der Nähe der ausgeraubten Villa? Im Zusammenhang mit der Aufklärung von Straftaten kommt es auch immer wieder zu dem Punkt, an dem ein Ermittler sich die Frage stellen muss: Wurde die Aktion auf dem Smartphone durch den Eigentümer ausgeführt, oder war das Mobiltelefon manipuliert? Um bei der Beantwortung dieser Frage Hilfestellung zu geben, wird im dritten Studienbrief der Fokus auf die Analyse von mobilem Schadcode gelegt. Rückmeldungen Trotz zahlreicher Verbesserungsvorschläge verschiedener Personen (vor Allem auch der Studierenden aus dem ersten Durchlauf) enthält dieser Text sicherlich noch Fehler, seien sie inhaltlich, konzeptionell, sprachlich oder stilistisch. Die Herausgeber freuen sich deshalb über jede konstruktive Rückmeldung, die wir in zukünftigen Versionen unseres Textes gerne berücksichtigen. Dr.-Ing. Michael Spreitzenbarth Ben Stock

14

15 Studienbrief 1 Das Android-Betriebssystem Seite 13 Studienbrief 1 Das Android-Betriebssystem Das Android OS, das speziell für die Verwendung auf Smartphones und Tablet- PCs designed wurde, findet in letzter Zeit aber 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. In den folgenden Abschnitten wird auf die wichtigsten Eigenschaften und das Grundgerüst der Android-Plattform eingegangen. Dazu zählt neben einem Rückblick über die Entwicklung des Systems auch ein Blick auf die wichtigsten Komponenten wie die Dalvik VM und das Android SDK, welches im weiteren Verlauf der Studienbriefe immer wieder Anwendung findet. Ein wichtiges Augenmerk wird dabei auch auf die Sicherheitsmechanismen gelegt, die in Android implementiert sind. 1.1 Einführung in Android Zu Beginn der Einführung in die Android-Plattform wird im Rahmen dieses Abschnitts die bisherige Entwicklung der verschiedenen Android-Versionen aufgezeigt. Die gesamte zeitliche Entwicklung der Plattform, speziell deren Haupt- Versionen, ist in Tabelle 1.1 zusammen mit ihren Versionsnummern, Codenamen und Erscheinungsdaten dargestellt. Seit der Version 1.5 haben die Haupt-Versionen 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. Version Codename Erscheinungsdatum Verwendung /2008 s 1.5 Cupcake 04/2009 s 1.6 Donut 09/2009 s 2.0 Eclair 10/2009 s 2.1 Eclair 01/2010 s 2.2 Froyo 05/2010 s 2.3 Gingerbread 12/2010 s 3.0 Honeycomb 02/2011 t 4.0 Ice Cream Sandwich 10/2011 s, t 4.1 Jelly Bean 06/2012 s, t 4.2 Jelly Bean 11/2012 s, t 4.3 Jelly Bean 07/2013 s, t 4.4 KitKat 10/2013 s, t 4.5 Lollipop 10/2014 s, t Tabelle 1.1: Liste der Android-OS-Versionen und deren Erscheinungsdatum seit der ersten offiziellen Veröffentlichung in2008.(s=smartphone, t=tablet-pc) Die Erfolgsgeschichte von Android began Ende 2008 mit der ersten offiziellen, jedoch namenlosen Version 1.0. Diese Version wurde speziell für Smartphones entwickelt und enthielt die ersten Apps für Gmail, GTalk, Youtube und Google- Maps, aber auch die Fähigkeit, SMS-Nachrichten zu empfangen bzw. zu versenden und natürlich zu telefonieren. Das erste Telefon, welches mit diesem OS ausgestattet war, war das legendäre Google G1 (siehe Abbildung 1.1), welches in Deutschland erstmalig im Februar 2009 bei T-Mobile erschien. Nur ein knappes halbes Jahr später veröffentlichte Google die Version 1.5 unter dem Namen Cupcake. Diese Version bot mehrheitlich Änderungen am Design der Oberfläche, aber auch Neuerungen wie die bekannten Widgets und die Möglichkeit, Videos aufzunehmen wurden hinzugefügt. Version 1.6 fügte im Anschluss noch die Steuerung per Gesten sowie die Optimierung für höhere Displayauflösungen hinzu, welche dafür sorgten, dass auch vermehrt Hersteller wie Motorola und HTC anfingen, Telefone mit Android OS auszuliefern.

16 Seite 14 Studienbrief 1 Das Android-Betriebssystem Abb. 1.1: Erstes Android Smartphone: Google G1. Mit dem ersten Major-Update auf Version 2.0 Eclair kamen eine hohe Anzahl an geschlossenen Sicherheitslücken, neue Nutzerfeatures sowie der Support für MS- Exchange und Bluetooth 2.1 hinzu. Im kurz darauf folgenden Update auf Version 2.1 wurde nur die API für die inzwischen zahlreichen Entwicklern von Apps für das Android OS angepasst und erweitert. Knapp 4 Monate später veröffentlichte Google Froyo. In dieser Version wurde besonderen Wert auf Performance des OS gelegt und zudem die Fähigkeiten eines mobilen Hotspots und des Remote-Wipes (sobald das Telefon mit einem MS-Exchange-Account verbunden war) hinzugefügt. Die wohl wichtigsten Änderungen für den Großteil der Nutzer war jedoch, dass sie nun auch Apps auf der SD-Karte installieren konnten und dass es nun eine neue Generation Smartphones mit mehr als 256MB an RAM gab (dies war in den vorangegangenen Versionen des Android OS das Maximum, welches verwendet werden konnte). Gingerbread war im Bezug auf die Änderungen am Android-System wohl eines der gravierendsten Versionsupdates. In dieser Version wurde der JIT-Compiler verbessert, es wurde Garbage-Collection in der Dalvik VM eingeführt, Apps konnten nun auch in C geschriebene Bibliotheken nachladen und es wurde NFC als neuer Kommunikationskanal hinzugefügt. Der jedoch größte Unterschied war, dass man beim Dateisystem von YAFFS2 auf Ext4 umgesattelt hat. Diese Version von Android war über viele Jahre eine der am häufigsten verwendeten Version von Android; so war ihr Anteil Ende 2012 immer noch bei über 60 % aller im Feld befindlicher Android-Smartphones und selbst aktuell liegt ihr Anteil noch bei knapp über 16 % (siehe Tabelle 1.2). Tabelle 1.2: Verbreitung der Android-Versionen (zugrunde liegende Daten wurden in einer 7-tägigen Periode mit demendeam1.mai 2014 gesammelt)[android Developers, 2014] Version Codename API Distribution 2.2 Froyo 8 1,0 % 2.3 Gingerbread 10 16,2 % 3.x Honeycomb 13 0,1 % 4.0 Ice Cream Sandwich 15 13,4 % 4.1.x Jelly Bean 16 33,5 % 4.2.x Jelly Bean 17 18,8 % 4.3.x Jelly Bean 18 8,5 % 4.4 KitKat 19 8,5 % Nur kurze Zeit später hat Google Version 3.0 des Android-Systems veröffentlicht: Honeycomb. Diese Version war speziell für die Verwendung auf Tablet-PCs gedacht. Die meisten Tablet-PCs verwendeten jedoch modifizierte Versionen der weit verbreiteten Gingerbread- und Froyo-Systeme; Honeycomb wurde somit nur sehr wenig in der freien Wildbahn des Android-Ökosystems gefunden. Mit dem

17 1.2 Aufbau des Android-Systems Seite 15 Update auf Android 4.0 hat Google dann schließlich die Systeme für Smartphones und Tablets verschmolzen. Neben den üblichen Sicherheitsupdates, welche bei Android nur mit System-Updates eingespielt werden, wurde in Android 4.0 auch erstmal Full-Disk-Encryption (FDE) mittels dm-crypt in der breiten Masse der Android-Hardware eingeführt. Daneben wurde das Benutzerinterface (UI) komplett überarbeitet, neue NFC-Funktionen sowie Direct-WiFi implementiert und schlussendlich noch weitere Möglichkeiten eingeführt, wie man das Display sperren kann. Darunter auch die zweifelhafte Variante der Gesichtserkennung, bei der man als Nutzer in die Frontkamera schauen muss und das erzeugte Bild dann mit einem bereits gespeicherten Bild verglichen wird. Eines der auch heute noch am weitesten verbreiteten Systeme ist Jelly Bean mit seinen unterschiedlichen Versionsnummern (von 4.1.x bis 4.3.x). In diesen Versionen wurden die Verschlüsselung von Apps sowie das sogenannte Smart-Update (es werden keine kompletten Apps mehr beim Update ersetzt, sondern nur geänderte Komponenten, die dann lokal auf dem Gerät mit der alten App verschmolzen werden) eingeführt. Die neue Verschlüsselung der Apps bewirkt, dass bezahlte Apps vor dem Download mit einem geräteabhängigen Schlüssel verschlüsselt werden, so dass sie nicht auf anderen Geräten (die nicht für die App bezahlt haben) installiert werden können. Die aktuellste Version des Android-Systems KitKat bietet im Wesentlichen Sicherheitsupdates, ein deutliches Plus an Performance und eine Optimierung für Cloud-Dienste. Mit ihr versucht Google auch ältere Geräte zu versorgen, um die starke Fragmentierung des Ökosystems zu verringern. Dies ist bisher aber leider nicht gelungen, da viele Hersteller die neue Version noch nicht auf ihre Geräte portiert haben. Damit sind wir auch bei einer der größten Nachteile der Android-Welt: Sicherheitsupdates werden nur mit neuen Android-Versionen bereitgestellt und diese müssen von den Herstellern zuerst an die vorhandenen Geräte angepasst werden, bevor sie an den Nutzer ausgerollt werden können. Selbst wenn also alle Hersteller immer und umgehend die von Google bereitgestellten Updates sofort anpassen und verteilen würden, würden Sicherheitsupdates im Schnitt nur alle zwei Monate bereitgestellt werden. Diese Zeitspanne klingt im ersten Moment noch recht akzeptabel, schaut man aber die Realität an, so sieht man häufig, dass Updates gar nicht ausgerollt werden oder mit mehreren Monaten Verzug, wodurch eine große Anzahl an Geräten gegen Angriffe ungeschützt sind. Wie man in diesem Abschnitt gesehen hat, ist das Android-System speziell für Smartphones und Tablet-PCs designed worden und zeigt hier auch seine Stärken. Das System als solches basiert auf einem Linux-Kernel und wurde für die Advanced-RISC-Machines (ARM) Architektur optimiert. In den folgenden Abschnitten werden diese Eigenheiten und die internen Strukturen näher erläutert. Kontrollaufgabe 1.1: Sicherheitsprobleme bei Android Worin liegt eines der größten Probleme in der Android-Welt, wenn es um das Thema Sicherheit geht? K 1.2 Aufbau des Android-Systems 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, das

18 Seite 16 Studienbrief 1 Das Android-Betriebssystem Applikations-Framework und als oberste Ebene die eigentlichen Applikationen (für eine grafische Darstellung siehe Abbildung 1.2). Jede dieser vier Schichten stellt spezielle Interfaces und Systemressourcen für die darüberliegende Schicht zur Verfügung, so dass eine Interaktion zwischen den einzelnen Schichten ermöglicht wird. Abb. 1.2: Übersicht der Architektur des Android- Betriebssystems[Android Developers, a]. Browser Contacts Applications Phone etc. Activity Manager Window Manager Application Framework Resource Manager Manager Package Manager Telephony Manager Content Providers Location Manager View System Libraries Android Runtime SGL SSL libc Core Libraries Surface Manager Media Framework SQLite Dalvik Virtual Machine OpenGL / ES FreeType WebKit Display Driver Keypad Driver Camera Driver Wi-Fi Driver Linux Kernel Flash Memory Driver Audio Drivers Binder IPC Driver Power Management Wie im vorherigen Abschnitt bereits beschrieben 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, welche in Android implementiert sind. Prozesse mit ihrem zugehörigen Identifier (PID) sind eines der bedeutendsten Konzepte des Linux-Kernels. Neben dieser PID speichert der Kernel weitere wichtige Informationen über laufende Prozesse wie z. B. den Prozessstatus, den Threat, in dem der Prozess läuft und welche Dateien verwendet werden (eine vollständige Liste stellt der Linux-Quellcode [Linux Kernel Organization Inc., 2012] bereit). Diese Daten werden in einer gesonderten Struktur task_struct abgelegt. Die PID ist im weiteren Zusammenhang sehr wichtig, da anhand von ihr während der dynamischen Analyse die Operationen den eigenen Apps zugeordnet werden können (mehr dazu in Abschnitt 3.4.7). 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 von dem 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. Die hierdurch entstandenen Unterschiede werden genauer in Abschnitt 1.3 beschrieben. Die nächste Ebene stellt das Application Programming Interface (API) bereit. 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

19 1.3 Unterschiede zwischen der Java VM und der Dalvik VM Seite 17 Features des Telefons zugreifen zu können, ohne dass er hierfür tiefere Kenntnisse der einzelnen Komponenten benötigt. Darüber liegen schlussendlich 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. Ende 2013 gab es im offiziellen Google Play Store knapp 1 Million dieser Applikationen (Apps). Exkurs 1.1: Architektur des ARM-CPU Die Architektur des ARM-CPUs ist sehr ähnlich zu der des Reduced Instruction Set Computer (RISC). Eine typische Eigenschaft des ARM-CPU besteht darin, dass Datenverarbeitung ausschließlich in Registern geschieht und nicht direkt auf Speicherstellen. Jedes dieser Register kann 32 bit an Daten speichern; abhängig vom Operationsmodus, gibt es ein Subset von 16 dieser Register, welche verwendet werden können. Die neueren Android- Smartphones verwenden einen ARMv7-CPU im Gegensatz zu dem ARMv5, welcher in älteren Geräten Verwendung findet. Der neuere ARMv7 bietet Verbesserungen durch die Beschleunigung in der Verarbeitung von Java (Jazelle) und eine eigene TrustZone (vergleiche Abbildung 1.3). E Abb. 1.3: ARM-CPU- Übersicht[ARM Ltd., 2012]. Kontrollaufgabe 1.2: PID Was ist eine PID und warum ist sie so wichtig? K 1.3 Unterschiede zwischen der Java VM und der Dalvik VM Android-Applikationen sind großteils in Java programmiert und werden in den Versionen 1.x bis 4.4.x in der Dalvik Virtual Machine (DVM) ausgeführt, welche sich in wesentlichen Punkten von der bekannten Java Virtual Machine (JVM) unterscheidet. Die DVM wurde von Google entwickelt und ist speziell auf die Eigenschaften von mobilen Betriebssystemen und deren Hardware hin optimiert. Dabei wird der herkömmliche Java-Bytecode in das dex-format überführt, indem die Java.class-Dateien mittels dx in Dalvik-Bytecode übersetzt werden. Um Android- Applikationen zu analysieren, ist es nötig, den Dalvik-Bytecode und dessen Format zu verstehen, daher werden im Folgenden die wesentlichen Unterschiede der beiden Bytecodes dargestellt (siehe auch Wiliam Enck et al. [Enck et al., 2011]):

20 Seite 18 Studienbrief 1 Das Android-Betriebssystem Abb. 1.4: Compilation process for Android applications [Enck et al., 2011]. Java Compiler class1.class Constant Pool Class Info Data dx class2.class Constant Pool Class Info Data classes.dex Header Constant Pool Notiz Notiz Java Source Code... classn.class Constant Pool Class Info Data Data Applikations-Architektur: Der JVM-Bytecode besteht aus mehreren.class- Dateien (jede davon beinhaltet eine Java Klasse). Während der Ausführung lädt die JVM dynamisch den Bytecode der verwendeten Klassen aus den zugehörigen.class Dateien während bei der DVM der gesamte Bytecode aller verwendeten Klassen in einer einzigen.dex-datei zusammengeführt ist. Abbildung 1.4 zeigt den Prozess, wie diese Datei erzeugt wird. Nachdem der Java-Compiler den Java-Bytecode erzeugt hat, löscht der Dalvik-Compiler dx die.class-dateien, kompiliert deren Inhalt zu Dalvik-Bytecode und fügt sie in einer.dex-datei neu zusammen. Dieser Prozess beinhaltet die Übersetzung sowie Neuordnung und Interpretation der Basiselemente einer Applikation (Konstanten-Bereich, Klassendefinitionen und Datensegmente). Der Konstanten-Bereich beschreibt sämtliche in der Applikation vorhandenen Konstanten inklusive Referenzen und Methodennamen. Die Klassendefinitionen beinhalten unter anderem die Klassennamen und Zugriffsrechte. Der eigentliche Code einer Applikation wird im Datensegment abgelegt, welches somit den Funktionscode, welcher später von der VM ausgeführt wird, wie auch alle dazugehörigen Informationen der Klassen und Funktionen (z. B. Anzahl der von der DVM verwendeten Register) beinhaltet. Struktur der Register Im Gegensatz zur JVM (welche stack-basiert ist) ist die DVM register-basiert. Bei der JVM werden die lokalen Variablen in der Variablenliste gespeichert und auf den Stack gepusht, wo sie mit den entsprechenden Opcodes manipuliert werden können. Zusätzlich kann die JVM auch direkt auf dem Stack arbeiten, ohne die Variablen zuvor in die lokale Variablenliste zu speichern. Im Gegensatz dazu werden bei der DVM lokale Variablen den 2 16 verfügbaren Registern zugeordnet, wo sie direkt mit den entsprechenden Opcodes manipuliert werden können, ohne den Stack zu verwenden. Instruction-Set Dalvik besitzt 218 Opcodes welche sich wesentlich von den knapp 200 Opcodes aus dem Java-Umfeld unterscheiden. In Java gibt es z. B. mehrere Dutzend Opcodes, welche dafür zuständig sind, Daten zwischen dem Stack und der lokalen Variablenliste zu transferieren. Aufgrund des Designs der DVM sind diese hier vollkommen überflüssig. Hingegen sind die Opcodes in Dalvik länger als ihre vergleichbaren Instruktionen in Java, da sie ein Quell- und Zielregister beinhalten. Struktur der Konstanten-Bereiche Der JVM-Bytecode besitzt wiederholende Konstanten-Bereiche in allen.class-dateien. Im Gegensatz dazu besitzt der Dalvik-Bytecode nur einen einzigen dieser Bereiche, welcher mittels dx

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Sicherheit in Android

Sicherheit in Android Motivation Aufbau Sicherheit Ausblick Quellen Sicherheit in Android Peter Salchow INF-M2 - Anwendungen 1 Sommersemester 2008 Department Informatik HAW Hamburg 20. Mai 2008 Peter Salchow Sicherheit in Android

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

Sicherheitsbetrachtung von Android und dessen Apps. Dr. Michael Spreitzenbarth

Sicherheitsbetrachtung von Android und dessen Apps. Dr. Michael Spreitzenbarth Sicherheitsbetrachtung von Android und dessen Apps Dr. Michael Spreitzenbarth Über mich Studium der Wirtschaftsinformatik an der Universität Mannheim mit dem Schwerpunkt in den Bereichen IT-Security und

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum ca. 10 Wochen

Mehr

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A D O Z E N T : R E F E R E N T : P R O F. D R. K L I N K E R R I C O L O S C H W I T Z Aufbau der Präsentation

Mehr

Android. LUG-LD Christoph Maya 2011 http://demaya.de. Lizenz: http://creativecommons.org/licenses/by-nc/3.0/de/

Android. LUG-LD Christoph Maya 2011 http://demaya.de. Lizenz: http://creativecommons.org/licenses/by-nc/3.0/de/ Android LUG-LD Christoph Maya 2011 http://demaya.de Lizenz: http://creativecommons.org/licenses/by-nc/3.0/de/ Inhalt Inhalt: ein Mix für Einsteiger und Fortgeschrittene Was ist Android und wo kommts her?

Mehr

Apps-Entwicklung mit Eclipse

Apps-Entwicklung mit Eclipse JDroid mit Eclipse Seite 1 Apps-Entwicklung mit Eclipse Version 1.1, 30. April 2013 Vorbereitungen: 1. JDK installieren JDK SE neuste Version (64 oder 32 Bit) herunterladen und installieren (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

APPS FÜR ANDROID ENTWICKELN

APPS FÜR ANDROID ENTWICKELN jan TITTEL jochen BAUMANN ELL N H C S IEG T S N I E APPS FÜR ANDROID ENTWICKELN AM BEISPIEL EINER REALEN APP Inhalt 1 Einführung.............................................. 1 1.1 Die Android-Plattform.................................................

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

Apps-Entwicklung mit Netbeans

Apps-Entwicklung mit Netbeans JDroid mit Netbeans Seite 1 Apps-Entwicklung mit Netbeans Version 2.2, 30. April 2013 Vorbereitungen: 1. JDK SE neuste Version installieren, (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

JDroidLib mit Eclipse (Mac/Linux/Windows) JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

The Dark Side of Android Applications OWASP 07.11.2012. The OWASP Foundation http://www.owasp.org. Michael Spreitzenbarth

The Dark Side of Android Applications OWASP 07.11.2012. The OWASP Foundation http://www.owasp.org. Michael Spreitzenbarth The Dark Side of Android Applications Michael Spreitzenbarth 07.11.2012 Lehrstuhl für Informatik 1 Universität Erlangen-Nürnberg michael.spreitzenbarth@cs.fau.de Copyright The Foundation Permission is

Mehr

Mobile Datensicherheit Überblick ios und Android

Mobile Datensicherheit Überblick ios und Android Mobile Datensicherheit Überblick ios und Android Aldo Rodenhäuser Tom Sprenger Senior IT Consultant CTO 5. November 2013 Agenda Präsentation AdNovum Smartphone Daten Kommunikationskanäle Risikolandschaft

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Organisatorisches Anmelden im Web: ZIV Lehre Anmelden Anwesenheitsliste Anwesenheitsschein bei 75% Anwesenheit Allgemeine

Mehr

Einführung in Android. 9. Dezember 2014

Einführung in Android. 9. Dezember 2014 Einführung in Android 9. Dezember 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr

LaVida. Mobile Endgeräte. Andreas Neupert

LaVida. Mobile Endgeräte. Andreas Neupert LaVida Mobile Endgeräte Andreas Neupert Einleitung 1 33 Was? 1) Android a. Hardware b. Entwickeln i. Tools ii. Architektur & Konzepte iii. Google App Inventor c. Benutzen versus 2) WP 7 a. Hardware b.

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum 10 Wochen

Mehr

Google's Betriebssystem für mobile Plattformen. Vortrag von Michaela Rindt Universität Siegen

Google's Betriebssystem für mobile Plattformen. Vortrag von Michaela Rindt Universität Siegen Google's Betriebssystem für mobile Plattformen Vortrag von Michaela Rindt Universität Siegen Übersicht Einleitung Softwarearchitektur Softwareentwicklung für Android Unterschied zu anderen mobilen Plattformen

Mehr

Apps Programmierung von Android-Smartphones

Apps Programmierung von Android-Smartphones Apps Programmierung von Android-Smartphones 2/34 Android-Apps Gliederung: Warum? / Warum Android? Grundlagen Beispiel (sehr kurz) weitere Möglichkeiten Einsatz im Unterricht Diskussion / Fragen 3/34 Smartphone-Programmierung

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

Mobile App Development

Mobile App Development Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum 10 Wochen

Mehr

Sicherheit von Smartphone-Betriebssystemen im Vergleich. Andreas Jansche Gerhard Klostermeier

Sicherheit von Smartphone-Betriebssystemen im Vergleich. Andreas Jansche Gerhard Klostermeier Sicherheit von Smartphone-Betriebssystemen im Vergleich Andreas Jansche Gerhard Klostermeier 1 / 24 Inhalt ios Sicherheitsmechanismen allgemein Sicherheits-APIs weitere Features Probleme Android Architektur

Mehr

Plattformen mobiler Endgeräte Windows Phone, ios, Android

Plattformen mobiler Endgeräte Windows Phone, ios, Android Plattformen mobiler Endgeräte Windows Phone, ios, Android 13.12.2012 Inhaltsverzeichnis 1. Einführung 2. Ecosystem Smartphone OS 3. Mobile Software Platform 4. Android App Entwicklung 5. Zusammenfassung

Mehr

Handbuch für ios 1.4 1

Handbuch für ios 1.4 1 Handbuch für ios 1.4 1 Inhaltsverzeichnis 1. Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 4 2. Installation... 5 3. Grundfunktionen... 6 3.1. Einrichtung von Boxcryptor

Mehr

Android. 2 24.09.2013 Mobile Systeme - Android

Android. 2 24.09.2013 Mobile Systeme - Android Android 24.09.2013 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer speziellen JVM

Mehr

NEXT GENERATION MOBILE PHONE PLATFORMS

NEXT GENERATION MOBILE PHONE PLATFORMS Stephan Zeisberg NEXT GENERATION MOBILE PHONE PLATFORMS Ein Einblick in die Systemarchitekturen aktueller Smartphones 1 Motivation Technologischer Stillstand in der Entwicklung mobiler Betriebssysteme

Mehr

Handbuch für Android 1.5

Handbuch für Android 1.5 Handbuch für Android 1.5 1 Inhaltsverzeichnis 1 Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 3 2. Installation... 5 3. Grundfunktionen... 5 3.1 Einrichtung von Boxcryptor

Mehr

Smartphone-Sicherheit

Smartphone-Sicherheit Smartphone-Sicherheit Fokus: Verschlüsselung Das E-Government Innovationszentrum ist eine gemeinsame Einrichtung des Bundeskanzleramtes und der TU Graz Peter Teufl Wien, 15.03.2012 Inhalt EGIZ Themen Smartphone

Mehr

Seminar Multimediale Werkzeuge Sommersemester 2011

Seminar Multimediale Werkzeuge Sommersemester 2011 Seminar Multimediale Werkzeuge Sommersemester 2011 Dipl.-Ing. Marco Niehaus marco.niehaus@tu-ilmenau.de 09.06.2011 Page 1 Android Development - Installation Java SDK wird benötigt (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Dominik Helleberg inovex GmbH. Android-Enterprise- Integration

Dominik Helleberg inovex GmbH. Android-Enterprise- Integration Dominik Helleberg inovex GmbH Android-Enterprise- Integration Dominik Helleberg Mobile Development Android HTML5 http://dominik-helleberg.de/+ http://twitter.com/_cirrus_ Agenda Intro Enterprise Apps /

Mehr

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM ÜBERSICHT Android Android Dalvik Virtuelle Maschine Android und Desktop Applikationen Android Entwicklung Tools R Activity

Mehr

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia Auf einen Blick Auf einen Blick TEIL I Grundlagen 1 Android eine offene, mobile Plattform... 21 2 Hallo Android!... 43 3 Von der Idee zur Veröffentlichung... 73 TEIL II Elementare Anwendungsbausteine 4

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

Mehr

Quelle: Quelle: Stanford.edu

Quelle: Quelle: Stanford.edu Quelle: Quelle: Stanford.edu Freies Betriebssystem für mobile Geräte Smartphones Tablet PCs Netbooks Betriebssystem und Softwareplattform Entwickelt von der Open Handset Alliance Ein Konsortium von 80

Mehr

Mobile App Testing. Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013. Functional Test Automation Tools

Mobile App Testing. Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013. Functional Test Automation Tools Functional Test Automation Tools Mobile App Testing Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013 Presenter: Christoph Preschern (cpreschern@ranorex.com) Inhalte» Ranorex Company Overview»

Mehr

Android. Dokumentation zu Kurzvortag. Von Marc Spring

Android. Dokumentation zu Kurzvortag. Von Marc Spring Android Dokumentation zu Kurzvortag Von Marc Spring Version 1.1 Burgdorf / November 2011 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 3 2. Abbildungsverzeichnis... 4 3. Was ist Android?... 5 4. Geschichte...

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Departement Wirtschaft. IT Forensics in action against malicious Software of the newest generation

Departement Wirtschaft. IT Forensics in action against malicious Software of the newest generation Departement Wirtschaft IT Forensics in action against malicious Software of the newest generation Dipl. Ing. Uwe Irmer IT Security- Schnappschüsse 2 Malware der neuesten Generation Professionalität- wer

Mehr

Erste Erfahrungen mit Android

Erste Erfahrungen mit Android Java User Group München, 22. 9. 2008 Erste Erfahrungen mit Android 1 Was ist Android? Die erste vollständige, offene und freie Plattform für mobile Telefone Entwickelt von der Open Handset Alliance (Telecoms,

Mehr

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

1. Software-Plattform Android

1. Software-Plattform Android 1. Software-Plattform Android Themenübersicht 1. Software-Plattform Android Themen/Lernziele: Mobile Informationssysteme: Grundbegriffe Elementare Eigenschaften von Android Android Software Stack Entwicklungsumgebung

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

Mehr

Erste Schritte zum lauffähigen Java Programm

Erste Schritte zum lauffähigen Java Programm Erste Schritte zum lauffähigen Java Programm Diese kleine Einführung ist eine Hilfe für Studenten der Vorlesung SWT I zur Meisterung der sich ergebenden Hürden bei der Erstellung eines ersten kleinen Java-Programms.

Mehr

Sophos Mobile Control Benutzerhandbuch für Android

Sophos Mobile Control Benutzerhandbuch für Android Sophos Mobile Control Benutzerhandbuch für Android Produktversion: 2 Stand: Dezember 2011 Inhalt 1 Über Sophos Mobile Control... 3 2 Einrichten von Sophos Mobile Control auf einem Android-Mobiltelefon...

Mehr

Mobile Application Plattforms

Mobile Application Plattforms Mobile Application Plattforms Trends in der Kommunikationstechnik DI Franz Geischläger Agenda Mobile Applications Allgemeine Betrachtung Mobile Betriebssysteme und Plattformen Die wichtigsten Vertreter

Mehr

Fork Leitfaden. BibApp Android

Fork Leitfaden. BibApp Android Fork Leitfaden BibApp Android letzte Aktualisierung: 24. April 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 2 2 Eclipse Projekt 2 3 Abhängigkeiten 2 4 Konfiguration 3 4.0.1 Paketname...............................

Mehr

Einrichtung des NVS Calender-Google-Sync-Servers. Installation des NVS Calender-Google-Sync Servers (Bei Neuinstallation)

Einrichtung des NVS Calender-Google-Sync-Servers. Installation des NVS Calender-Google-Sync Servers (Bei Neuinstallation) Einrichtung des NVS Calender-Google-Sync-Servers Folgende Aktionen werden in dieser Dokumentation beschrieben und sind zur Installation und Konfiguration des NVS Calender-Google-Sync-Servers notwendig.

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr

Arno Becker Marcus Pant. Android. Grundlagen und Programmierung. I dpunkt.verlag

Arno Becker Marcus Pant. Android. Grundlagen und Programmierung. I dpunkt.verlag Arno Becker Marcus Pant Android Grundlagen und Programmierung I dpunkt.verlag IX 1 Ein erstes Beispiel 3 1.1 Projekt anlegen 3 1.2 Die erste Activity 4 1.3 Layout definieren 5 1.4 Activities aufrufen 8

Mehr

SMARTPHONES. Möglichkeiten, Gefahren, Sicherheit Best Practice Peter Teufl

SMARTPHONES. Möglichkeiten, Gefahren, Sicherheit Best Practice Peter Teufl SMARTPHONES Möglichkeiten, Gefahren, Sicherheit Best Practice Peter Teufl A-SIT/Smartphones iphone security analysis (Q1 2010) Blackberry security analysis (Q1 2010) Qualifizierte Signaturen und Smartphones

Mehr

Mit Cloud Power werden Sie zum

Mit Cloud Power werden Sie zum Mit Cloud Power werden Sie zum Herzlich Willkommen! Christian Hassa Managing Partner TechTalk Software AG Agenda Mobile App Development mit Xamarin Pause Azure Mobile Services Q&A 9h00-10h30 10h30-10h50

Mehr

Inhaltsverzeichnis. 1. Remote Access mit SSL VPN 1 1 1 1 2-3 3 4 4 4 5 5 6

Inhaltsverzeichnis. 1. Remote Access mit SSL VPN 1 1 1 1 2-3 3 4 4 4 5 5 6 Inhaltsverzeichnis. Remote Access mit SSL VPN a. An wen richtet sich das Angebot b. Wie funktioniert es c. Unterstützte Plattform d. Wie kann man darauf zugreifen (Windows, Mac OS X, Linux) 2. Aktive WSAM

Mehr

Dateisysteme mit Plugin-Funktion

Dateisysteme mit Plugin-Funktion Dateisysteme mit Plugin-Funktion Basierend auf Reiser 4 unter Linux http://llugb.amsee.de/logo.gif Ausgearbeitet und vorgetragen von Michael Berger 1/23 Agenda Die Idee Dateisysteme mit Plugin-Funktion

Mehr

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

Mehr

BlackBerry Mobile Fusion Universal Device Service. Thomas Dingfelder, Senior Technical Account Manager ubitexx a Subsidiary of Research In Motion

BlackBerry Mobile Fusion Universal Device Service. Thomas Dingfelder, Senior Technical Account Manager ubitexx a Subsidiary of Research In Motion BlackBerry Mobile Fusion Universal Device Service Stefan Mennecke, Director Stefan Mennecke, Director Thomas Dingfelder, Senior Technical Account Manager ubitexx a Subsidiary of Research In Motion RIM

Mehr

Sind Cloud Apps der nächste Hype?

Sind Cloud Apps der nächste Hype? Java Forum Stuttgart 2012 Sind Cloud Apps der nächste Hype? Tillmann Schall Stuttgart, 5. Juli 2012 : Agenda Was sind Cloud Apps? Einordnung / Vergleich mit bestehenden Cloud Konzepten Live Demo Aufbau

Mehr

Leseprobe. Sven Owsianowski SVO-Webdesign GbR 22.02.2015 3. Auflage

Leseprobe. Sven Owsianowski SVO-Webdesign GbR 22.02.2015 3. Auflage 2015 Sven Owsianowski SVO-Webdesign GbR 22.02.2015 3. Auflage Inhalt Android Smartphone & Tablets 1 Herzlich willkommen... 4 2 Inhalt des Tagesseminars... 5 3 Android ein System mit Potenzial... 7 3.1

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

KeePass. 19.01.2010 10:15-10:45 Uhr. Birgit Gersbeck-Schierholz, IT-Sicherheit, RRZN

KeePass. 19.01.2010 10:15-10:45 Uhr. Birgit Gersbeck-Schierholz, IT-Sicherheit, RRZN KeePass the free, open source, light-weight and easy-to-use password manager 19.01.2010 10:15-10:45 Uhr Birgit Gersbeck-Schierholz, IT-Sicherheit, RRZN Agenda Einführung Versionen Features Handhabung Mobile

Mehr

Programmieren für iphone und ipad

Programmieren für iphone und ipad Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 4 3., aktualisierte und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Begriffe 2 1.2 Was behandelt dieses

Mehr

cs106 Informatiklabor Teil 1: Java-Installation

cs106 Informatiklabor Teil 1: Java-Installation Herbstsemester 2009 cs106 Informatiklabor Teil 1: Java-Installation Florian Zeller Vorgehen und Ziele Wöchentlich eine Übung Unterstützte Bearbeitung während den Übungsstunden Austausch mit älteren Semestern

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück

Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück Adrian Fülöp (297545) - 1 - Inhaltsverzeichnis: 1. Einführung 2.

Mehr

Sophos Mobile Control Benutzerhandbuch für Apple ios

Sophos Mobile Control Benutzerhandbuch für Apple ios Sophos Mobile Control Benutzerhandbuch für Apple ios Produktversion: 2 Stand: Dezember 2011 Inhalt 1 Über Sophos Mobile Control... 3 2 Einrichten von Sophos Mobile Control auf einem Apple iphone... 4 3

Mehr

Hinweise zu A-Plan 2009 SQL

Hinweise zu A-Plan 2009 SQL Hinweise zu A-Plan 2009 SQL Für Microsoft Windows Copyright Copyright 2008 BRainTool Software GmbH Inhalt INHALT 2 EINLEITUNG 3 WAS IST A-PLAN 2009 SQL? 3 WANN SOLLTE A-PLAN 2009 SQL EINGESETZT WERDEN?

Mehr

Web und Mobile Apps Programmieren mit Dart

Web und Mobile Apps Programmieren mit Dart Web und Mobile Apps Programmieren mit Dart Marco Jakob Kalaidos Fachhochschule Schweiz majakob@gmx.ch Abstract: Bisher war es kaum realistisch, im Anfängerunterricht mobile oder webbasierte Applikationen

Mehr

Einrichtungsanleitung Exchange Server Synchronisation

Einrichtungsanleitung Exchange Server Synchronisation Einrichtungsanleitung Exchange Server Synchronisation www.simplimed.de Dieses Dokument erhebt keinen Anspruch auf Vollständigkeit oder Korrektheit. Seite: 2 1. Die Exchange Server Synchronisation (EXS)

Mehr

UI-Redressing-Angriffe auf Android. OWASP 07. November 2012. The OWASP Foundation http://www.owasp.org. Marcus Niemietz Ruhr-Universität Bochum

UI-Redressing-Angriffe auf Android. OWASP 07. November 2012. The OWASP Foundation http://www.owasp.org. Marcus Niemietz Ruhr-Universität Bochum UI-Redressing-Angriffe auf Android Marcus Niemietz Ruhr-Universität Bochum 07. November 2012 mail@mniemietz.de http://www.mniemietz.de Copyright The Foundation Permission is granted to copy, distribute

Mehr

E-Mail-Verschlüsselung mit Geschäftspartnern

E-Mail-Verschlüsselung mit Geschäftspartnern E-Mail-Verschlüsselung mit (Anleitung für Geschäftspartner) Datum: 15.07.2013 Dokumentenart: Anwenderbeschreibung Version: 3.2 : Redaktionsteam PKI cio.siemens.com Inhaltsverzeichnis 1. Zweck des Dokumentes:...

Mehr

Grundlagen der Informatik Übungen 1.Termin

Grundlagen der Informatik Übungen 1.Termin Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen

Mehr

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Verwendung der bereitgestellten Virtuellen Maschinen»Einrichten einer Virtuellen Maschine mittels VirtualBox sowie Zugriff auf

Mehr

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise A-Plan 2010 SQL Hinweise zur SQL-Version von A-Plan Copyright Copyright 1996-2010 braintool software gmbh Kein Teil dieses Handbuches darf ohne ausdrückliche Genehmigung von braintool software gmbh auf

Mehr

Installationsanleitung

Installationsanleitung Avira Free Android Security Installationsanleitung Warenzeichen und Copyright Warenzeichen Windows ist ein registriertes Warenzeichen der Microsoft Corporation in den Vereinigten Staaten und anderen Ländern.

Mehr

PDF FormServer Quickstart

PDF FormServer Quickstart PDF FormServer Quickstart 1. Voraussetzungen Der PDF FormServer benötigt als Basis einen Computer mit den Betriebssystemen Windows 98SE, Windows NT, Windows 2000, Windows XP Pro, Windows 2000 Server oder

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Installationsanleitung Webhost Linux Flex

Installationsanleitung Webhost Linux Flex Installationsanleitung Webhost Linux Flex Stand März 2014 Inhaltsverzeichnis 1. Zugangsdaten & Login... 3 2. Passwort ändern... 4 3. Leistungen hinzufügen / entfernen... 6 4. Datenbanken anlegen / entfernen...

Mehr

Collax Web Application

Collax Web Application Collax Web Application Howto In diesem Howto wird die Einrichtung des Collax Moduls Web Application auf einem Collax Platform Server anhand der LAMP Anwendung Joomla beschrieben. LAMP steht als Akronym

Mehr

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg Connecting Android Externe Hardware mit dem grünen Roboter verbinden Alexander Dahmen Dominik Helleberg Speaker Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+

Mehr

SMARTPHONE SECURITY. Sichere Integration mobiler Endgeräte

SMARTPHONE SECURITY. Sichere Integration mobiler Endgeräte Sichere Integration mobiler Endgeräte ÜBERSICHT PROFI MOBILE SERVICES.mobile PROFI Mobile Business Agenda Workshops Themen Business Case Design Business Case Zielgruppe / -markt Zielplattform BPM fachlich

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates RIWA NetUpdater Tool für automatische Daten- und Softwareupdates Grundlegendes... 1 Ausführbare Dateien und Betriebsmodi... 2 netupdater.exe... 2 netstart.exe... 2 netconfig.exe... 2 nethash.exe... 2 Verzeichnisse...

Mehr

Collax E-Mail Archive Howto

Collax E-Mail Archive Howto Collax E-Mail Archive Howto Howto Dieses Howto beschreibt wie ein Collax Server innerhalb weniger Schritte als E-Mail Archive eingerichtet werden kann, um Mitarbeitern Zugriff auf das eigene E-Mail Archiv

Mehr

Bin ich fit für myconvento?

Bin ich fit für myconvento? Bin ich fit für myconvento? Sie planen den Einsatz unserer innovativen Kommunikationslösung myconvento und fragen sich gerade, ob Ihr Rechner die Anforderungen erfüllt? Hier erfahren Sie mehr. Inhalt Was

Mehr

Mobile App development mit Xamarin. Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG

Mobile App development mit Xamarin. Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG Mobile App development mit Xamarin Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG % der Bevölkerung mit Smartphone Smartphone Durchdringung >50% 34% 43% 54% DACH

Mehr