Forensische Analyse von Android-Geräten

Größe: px
Ab Seite anzeigen:

Download "Forensische Analyse von Android-Geräten"

Transkript

1 Bachelorarbeit Forensische Analyse von Android-Geräten Autor: Artur Sterz Betreuer: Prof. Dr. Bernd Freisleben 20. August 2014

2 Abstract Durch die hohe Beliebtheit von Smartphones und Tablets und ihre ständige Präsenz in der Gesellschaft gewinnen diese Geräte an IT-forensischer Relevanz. Die Nutzung dieser Geräte und dadurch anfallende Daten können dazu beitragen Kriminalfälle aufzuklären. Diese Arbeit befasst sich mit dem Sammeln und der Auswertung von Daten, die sich auf ebensolchen mobilen Geräten, genauer auf Android-Devices befinden. Ziel ist es, ein Tool zu entwickeln, welches möglichst viele Daten eines Gerätes sammelt und diese anschließend auswertet und in geeigneter Form darstellt, um die anschließende Datenkorrelation zu vereinfachen. Begonnen wird dabei mit einigen Hintergrundinformationen und notwendigen Grundlagen. Darauf aufbauend werden Designentscheidungen erläutert und Teile der Implementierung dargelegt. Schließlich erfolgt eine Evaluation der Arbeit, mit dem Ergebnis, dass das im Rahmen dieser Arbeit entwickelte Programm den IT-forensischen Anforderungen genügt. 1

3 Inhaltsverzeichnis Abbildungsverzeichnis 4 Listings 5 1 Einleitung Zielsetzung Problemstellung Grundlagen IT-Forensik Anforderungen Vorgehensweise Android Architektur Sicherheit Verwandte Arbeiten IT-forensische Analyse von Android-Geräten Forensische Analyse des Arbeitsspeichers von mobilen Geräten Techniken, die IT-forensische Analysen erschweren Datenerkennung und -korrelation Design Relevanter Speicher RAM Flash SIM-Karte Bedingungen für eine erfolgreiche Analyse Betriebszustand SIM-Karte Verschlüsselung SDK und USB-Debugging Rootzugriff Datenextraktion Content Provider Android Debugging Bridge Relevante Daten SQLite-Datenbanken

4 INHALTSVERZEICHNIS Bilder im JPEG-Format CSV-Dateien Weitere Daten und Dateiformate Aufbau von A Spy A Spy Android A Spy Implementierung Datensammlung A Spy Android Ausführen von externen Programmen DataCollection Package Datenverarbeitung DataAnalysis Package HandlePictures HandleSQL HandleCSV Graphische Benutzeroberfläche Darstellung der Daten Evaluation Testfragen Datensammlung Datenanalyse IT-forensische Anforderungen Testumgebung und Aufbau der Tests Ergebnisse und Auswertungen der Tests Ist die Datensammlung vollständig? Wie lange dauert die Datensammlung? Welcher Teil der Datensammlung dauert am längsten? Ist die Datenauswertung vollständig? Wie lange dauert die Datenverarbeitung? Anforderungen an IT-forensische Analysen Anwendbarkeit von A Spy Fazit Ausblick Literaturverzeichnis 57

5 Abbildungsverzeichnis 2.1 Forensischer Ablauf nach BSI [Bun11, S. 61] Android Architektur [Goo14a] Main Activity von A Spy Android Datensammlung mit A Spy Android Flussdiagramm der Datensammlung UML-Diagramm des DataCollection Package Flussdiagramm der Datenanalyse UML-Diagramm des DataAnalysis Package Kartenansicht von A Spy Visuelle Repräsentation der Datenbanken Visuelle Repräsentation der extrahierten Daten Spezifikationen der Testgeräte Statistik der Datensammlung Statistik der Erstellung des Systemabbilds Statistik der Extraktion der Appdaten Statistik der Datenanalyse

6 Listings 5.1 Content Provider Initialisierung Ausführen externer Programme Beispiel eines Readers Überprüfung der angegebenen Parameter Erfassung aller Dateien und Ordner im Rootverzeichnis Verarbeitung der Dateien und Ordner Installation von A Spy Android Starten von A Spy Android Verarbeitung gesammelter Daten Suchen von Geopositionsinformationen in CSV-Dateien

7 Kapitel 1 Einleitung Mobile Endverbrauchergeräte wie Smartphones und Tablets erfreuen sich immer größerer Beliebtheit. Besonders Smartphones zeichnen sich durch ihre vielseitige Einsetzbarkeit aus. Egal, ob als Kamera, zum Musik hören oder Videos schauen, um nachzusehen wann der nächste Bus kommt, s checken, soziale Dienste wie Facebook oder Twitter zu nutzen oder einfach mit Freunden und Bekannten zu schreiben. Diese mobilen Alleskönner sind omnipräsent, was auch eine Studie von ComScore [Com14b] belegt. Demnach besaßen 2009 in Deutschland ca. 6 Millionen Personen ein Smartphone, was in etwa 7 % der Bevölkerung entspricht. Im Februar 2014 waren es hingegen ca. 40 Millionen Personen, also um die 50 %. Anteilig an allen Smartphones setzt sich vermehrt das Betriebssystem Android von Google [Goo14c] durch. Laut einer Statistik von ComScore [Com14a] liefen Ende % aller mobilen Geräte mit dem Betriebssystem Android. Ende 2013 waren es schon 60 %. Ausgehend von dieser häufigen und ständigen Nutzung von mobilen Geräten fallen viele Daten an. Die Größe des Speichers in modernen Geräten zeigt wie viel diese Geräte genutzt werden. Die vermehrte und umfangreichere Nutzung erhöht den Bedarf an Speicherplatz. So verfügt das aktuelle Smartphone Galaxy S5 von Samsung über 16 Gigabyte internen Speicher, der sich mit einer microsd-karte auf insgesamt 80 Gigabyte erweitern lässt [Sam14]. Somit kann man all die anfallenden Bilder, Videos, Apps und daraus resultierende Daten wie Kontakte und vieles mehr speichern. Diese anfallenden Daten und die daraus resultierende Bedeutung für kriminaltechnische Untersuchungen sind der Anlass dieser Bachelorarbeit. Im Zuge kriminaltechnischer Untersuchungen ist es häufig notwendig auf diese Daten zuzugreifen und diese auszuwerten. Dieses Vorgehen nennt man IT-Forensik. Im Laufe dieser Arbeit wird auf notwendige Grundlagen eingegangen, die zum Verständnis und zur Entwicklung der Softwarelösung erforderlich sind. Zu Beginn werden Grundlagen der IT-Forensik erläutert, worauf einige Designentscheidungen beruhen, da es hier einige wichtige Punkte gibt, die zu beachten sind. Anschließend werden Sicherheitsaspekte und -mechanismen der Android- Architektur vorgestellt und daraus resultierende Notwendigkeiten, die es bei der 6

8 KAPITEL 1. EINLEITUNG 7 Sammlung der auf einem Gerät befindlichen Daten zu beachten gibt. Im Anschluss daran wird Bezug auf verwandte Artikel und Arbeiten genommen, wobei begründet wird, auf welche Aspekte eingegangen wird und welche Aspekte anders gemacht wurden. Nach diesem Abschnitt werden Designentscheidungen der entwickelten Software begründet, um danach auf die eigentliche Implementierung einzugehen. Zum Abschluss gibt es eine Evaluierung der Software und ein Fazit dieser Arbeit, in welchem auf Erkenntnisse und zukünftige Arbeiten eingegangen wird. 1.1 Zielsetzung Das Ziel dieser Arbeit ist eine Softwarelösung, die ein Android-Gerät IT-forensisch analysiert. Dazu soll zum einen eine möglichst komplette Datensammlung der Daten, die sich auf dem betreffenden Gerät befinden, angelegt werden, die anschließend ausgewertet wird. Dabei soll es sich um eine integrierte Lösung handeln, also eine Software, die möglichst viele Schritte vollständig und ohne Zutun des forensischen Leiters durchführt. Außerdem soll das Programm eine graphische Benutzeroberfläche besitzen, worüber sowohl die Datensammlung als auch die die Analyse gesteuert werden soll. Desweiteren sollen auch die Ergebnisse der Analyse in dieser graphischen Oberfläche dargestellt werden. Dazu werden beispielsweise Geopositionsdaten auf einer Karte geplottet. Hierfür wird eine grundlegende Analyse durchgeführt, die gängige Dateiformate wie Bildateien und SQLite-Datenbanken auf bestimmte Inhalte durchsucht und diese Anhand gefundener Muster auswertet und darstellt. Die Software wurde A Spy genannt, wobei das A für Android steht. Ziel ist jedoch nicht Sicherheitslücken von Android auszunutzen, um an Daten zu gelangen, wie unter normalen Umständen nicht zugänglich sind. So ist es nicht möglich auf den /data/data-ordner zuzugreifen, wenn kein Rootzugang zum betreffenden Gerät vorliegt. 1.2 Problemstellung Zwar gibt es schon Lösungen für dieses Problem, allerdings bieten diese entweder nur einen begrenzten Umfang, wie AFLogical OSE von ViaForensics [Via14b], sind ausschließlich für behördliche und staatliche Zwecke zugänglich oder benötigen spezielle Hardware. Zu nennen sind hier AFLogical von ViaForensics [Via14a], XRY von Micro Systemation [Sys14] oder UFED von Celebrite [Cel14]. In Abgrenzung zu einer vollständigen IT-forensischen Lösung (siehe Kapitel 2.1), soll im Rahmen dieser Arbeit lediglich die Datenakquisition und Datenanalyse im Vordergrund stehen. Auf den restlichen Teil der IT-Forensik wird lediglich zum Überblick im Grundlagenkapitel eingegangen.

9 Kapitel 2 Grundlagen In diesem Kapitel wird auf Grundlagen eingegangen, die benötigt werden, um eine IT-forensische Softwarelösung zu erarbeiten. Dabei wird zuerst Bezug auf IT-forensische Grundlagen genommen, um dann auf die Plattform Android zu kommen. 2.1 IT-Forensik Die IT-Forensik oder auch Computer Forensik bzw. Digitale Forensik ist ein Teilgebiet der Forensik. Die Forensik im Allgemeinen versucht Straftaten durch Sicherung und Analyse von Spuren eines Tathergangs zu rekonstruieren und zu bewerten [Sta14]. In Anlehnung an die allgemeine Erklärung [der] [...] Forensik ist die [IT]- Forensik ein Teilgebiet, das sich mit dem Nachweis und der Aufklärung von strafbaren Handlungen z.b. durch Analyse von digitalen Spuren beschäftigt. [Ges10, S. 2] Das bedeutet also, dass sich die IT-Forensik im Wesentlichen mit der Beantwortung folgender Fragen beschäftigt: [Bun11, S. 22] Was ist passiert? Wo ist es passiert? Wann ist es passiert? Wie ist es passiert? Optional dazu führt das Bundesamt für Sicherheit in der Informationstechnik [Bun11, S. 22] folgende zwei Fragestellungen auf, die relevant sein können, wenn es sich um die Aufklärung einer Straftat handelt: Wer hat es getan? Was kann gegen die Wiederholung getan werden? 8

10 KAPITEL 2. GRUNDLAGEN Anforderungen Um diese Fragen zu beantworten müssen im Hinblick auf die Methoden einige Merkmale erfüllt sein, da es im Sinne der gesetzlichen Korrektheit zu Unstimmigkeiten und daraus resultierendem Verfall der Glaubwürdigkeit kommen kann. Diese Merkmale sollen hier nur kurz erläutert werden und beziehen sich auf [Bun11, S. 23] und [Ges10, S. 62 f]. Akzeptanz Die von den Ermittlern angewandten Methoden sollten in der Fachwelt gut dokumentiert und anerkannt sein. Setzt man neue Methoden ein, muss deren Korrektheit nachgewiesen werden. Außerdem bedarf es guten Begründungen, warum man sich für diese neue und keine anerkannte und bewährte Methode entschieden hat. Glaubwürdigkeit Die Daten, die erfasst werden und bei der Analyse entstehen, müssen nachvollziehbar und dokumentiert sein. Es bedarf also eines Determinismus. Wiederholbarkeit Führt eine dritte außenstehende Person die gleichen Schritte mit den gleichen Voraussetzungen und Prämissen durch, ist es erforderlich, dass die angewandten Methoden die gleichen Ergebnisse liefern. Integrität Die zugrundeliegenden Daten und Voraussetzungen dürfen zu keinem Zeitpunkt verändert werden. Hierzu wird verlangt, dass die Integrität der Daten zu jedem Zeitpunkt nachgewiesen werden kann. Ursache und Auswirkung Die Wahl der Methoden muss in Zusammenhang mit den Voraussetzungen und den erwünschten Methoden stehen. Zur Veranschaulichung soll folgendes Beispiel dienen: Es ist wenig sinnvoll einen social graph zu erstellen, wenn ein Bewegungsprofil des zu untersuchenden Gerätes erforderlich oder gewünscht ist. Dokumentation Der gesamte Prozess sollte vollständig - also von Beginn bis Ende - dokumentiert sein. Dieser Punkt ergibt sich gewissermaßen aus den vorangegangen Merkmalen Vorgehensweise Für die Vorgehensweise einer IT-forensischen Analyse gibt es je nach Literatur unterschiedliche Methoden. Hier sollen zwei gängige Modelle erläutert werden.

11 KAPITEL 2. GRUNDLAGEN 10 Modell des BSI Das BSI hat ein Modell zur IT-forensischen Untersuchung zusammengestellt, welches auf fünf grundlegenden Arbeitsschritten beruht [Bun11, S. 60 ff.]: strategische Vorbereitungen operationelle Vorbereitungen Dokumentation Abschlussbericht Datensammlung Datenanalyse Untersuchung Abbildung 2.1: Forensischer Ablauf nach BSI [Bun11, S. 61] Strategische Vorbereitungen Im Rahmen der strategischen Vorbereitungen sind Maßnahmen zu treffen, die vor Eintreten des Vorfalls nötig sind. So ist zum Beispiel sicherzustellen, dass auf der Workstation, auf der die forensische Untersuchung durchgeführt wird, die korrekte Systemzeit eingestellt ist. Ein weiterer Punkt ist das Starten von Logdiensten, die während der gesamten Untersuchung Logdateien und Protokolle erstellen, die im weiteren Verlauf erheblich sind für die Dokumentation. Operationelle Vorbereitungen Hier sind alle notwenigen Schritte zwischen dem Eintreten des Vorfalls und der eigentlichen Datensammlung einzuordnen. Beispielhaft kann hier die Identifikation der Datenträger (nur interner oder gegebenenfalls auch externer Speicher) angeführt werden. Datensammlung In diesem Abschnitt werden sämtliche zugänglichen Daten gesichert. Eine genauere Ausführung am Beispiel eines Android-Gerätes erfolgt in den folgenden Kapiteln. Allgemein festzuhalten ist jedoch, dass, wenn möglich, exakte Abbilder der Datenträger, so genannte Images, zu erstellen sind und deren Korrektheit, Integrität und Vollständigkeit mit kryptographischen Mitteln, insbesondere Hashfunktionen wie MD5 oder SHA1, zu verifizieren sind. Datenuntersuchung Während dieses Prozesses geht es um die Filterung von forensisch wertvollen Daten. Beispielhaft sind unter anderem Bild- und Tonmaterial oder andere nutzerspezifische Inhalte wie Kontakte aus Adressbücher oder s. Datenanalyse Schließlich gilt es die Daten zu untersuchen, zu analysieren und zu korrelieren. Es müssen Daten in Verbindung gebracht werden, um einen zeitlich plausiblen Zusammenhang herstellen zu können. So wäre beispielsweise ein Bewegungsprofil mit zeitlichem Ablauf denkbar. Außerdem soll versucht

12 KAPITEL 2. GRUNDLAGEN 11 werden Rückschlüsse auf die Urheberschaft der Daten zu schließen. So kann man beispielsweise Logdaten auswerten. Dokumentation Im Abschnitt der Dokumentation ist es notwenig eine Einteilung in prozessbegleitende und abschließende Dokumentation vorzunehmen. Prozessbegleitende Dokumentation Zum einen wird hier während der gesamten forensischen Analyse aufgezeichnet welche Daten untersucht wurden. Zum anderen sollen zusätzliche Informationen zu den Hilfsmitteln und Methoden wie Name und Versionsnummer des verwendeten Programms Kommandozeilenparameter des Aufrufs und mehr protokolliert werden. Abschließende Dokumentation Dieser Teil beschreibt den letzten Schritt der forensischen Untersuchung. Es wird ein Gesamtbild der Untersuchung erstellt, indem unter anderem Aufschluss über gesammelte Daten gegeben wird und welche Informationen daraus gewonnen werden können. Außerdem werden hier alle Informationen gegeben, die benötigt werden, um den Prozess für Dritte wiederholbar und nachvollziehbar zu machen. Das S-A-P Modell nach Geschonneck Dieses Modell gliedert sich in drei Phasen. Dabei stellt das Modell von Geschonneck eine Vereinfachung des Modells des BSI dar. Im Folgenden soll ersteres vorgestellt werden. Secure-Phase Am Anfang der Secure-Phase steht die sorgfältige Beweissicherung am Tatort. Hier wird das Vier-Augen-Prinip [Ges10, S. 65 f.] erwähnt, welches besagt, dass Beweise und Indizien nicht alleine gesammelt werden sollen, da diese im eventuell auftretenden Gerichtsverfahren an Beweiskraft verlieren. Vielmehr sollen sich an der Beweissicherung mehrere Personen beteiligen, um die gewonnen Beweise und Indizien gegenseitig zu prüfen und zu verifizieren. Außerdem soll das Vier-Augen-Prinzip auch bei der späteren Datensammlung angewendet werden, die auch noch in die Secure-Phase einzuordnen ist. Diese Datensammlung sollte sorgfältig und möglichst vollständig sein. Auch sollten Images erstellt werden [Ges10, S. 64 f.] und diese mit entsprechenden Hashverfahren verifiziert werden [Ges10, S. 65 f.]. Analyse-Phase In dieser Phase werden die Spuren und Daten, die in der Secure-Phase gesammelt wurden, sorgfältig analysiert und die entstandenen Ergebnisse möglichst objektiv [Ges10, S. 65 f.] bewertet. Die Schlüsse und Interpretationen sollten kritisch betrachtet werden, um Lücken in der Argumentationskette zu identifizieren [Ges10, S. 65 f.].

13 KAPITEL 2. GRUNDLAGEN 12 Present-Phase Die letzte Phase ist die Present-Phase. Hier müssen gewonnene Erkenntnisse entsprechen der Zielgruppe präsentiert werden. Es sollte davon ausgegangen werden, dass Leute, die bei der Untersuchung und Analyse nicht anwesend waren keine Experten sind und von der Thematik nur laienhafte Kenntnisse haben [Ges10, S. 65 f.]. Anwendbarkeit der beiden Modelle Während Geschonneck mit seinem S-A-P-Modell eher oberflächlich auf den Ablauf einer IT-forensischen Analyse eingeht, ist der Ablauf im Modell des BSI detaillierter. In Grundzügen sind jedoch beide übereinstimmend. Beide beginnen mit Vorbereitungen und der Spurensicherung. Anschließend werden Daten gesammelt, um diese dann zu analysieren. Der wesentliche Unterschied ist jedoch, dass Geschonneck nicht explizit auf die Dokumentation eingeht, welche jedoch grundlegend ist und als selbstverständlich angesehen werden muss, da es bei der Präsentation der Ergebnisse und Erkenntnisse essentiell ist, gut dokumentierte Ergebnisse zu präsentieren, da diese die Verständlichkeit und Nachvollziehbarkeit der Analyse fördern und die Glaubwürdigkeit untermauern. 2.2 Android Android ist ein quelloffenes Betriebssystem, welches speziell für mobile Endverbrauchergeräte entwickelt wurde. Ursprünglich wurde dieses Projekt von der Android, Inc., einem im Jahr 2003 gegründeten [Bus14] ehemaligem USamerikanischen Unternehmen, entwickelt und publiziert. Im Jahr 2005 wurde Android, Inc. von Google übernommen, sodass das Android-Betriebssystem nun von der Open Handset Alliance 1, einem von Google initiierten Projekt [All14], entwickelt und geleitet wird. Außerdem hat Google den Quellcode veröffentlicht. Aktuell ist Android in der Version erhältlich Architektur Im Wesentlichen besteht die Android-Architektur aus fünf Teilen (siehe Abbildung 2.2), die nun erklärt werden sollen. Linux-Kernel Die Basis von Android ist ein Linux-Kernel. Dieser stellt die Schnittstelle zwischen Hardware und darüber liegenden Schichten dar. Er stellt die notwendigen Gerätetreiber zur Verfügung, ist für die Verwaltung von Systemressourcen, wie Speicher und Energie, zuständig und kümmert sich um die Prozessverwaltung. Um sinnvoll auf mobilen Geräten eingesetzt zu werden, sind jedoch einige Anpassungen notwendig. So besitzt ein Smartphone beispielsweise keine unbegrenzten Energieressourcen, wodurch diesbezüglich eine Optimierung erforderlich war, indem unter anderem eine automatische Displayabdunklung implementiert wurde. 1 Die Open Handset Alliance ist ein Konsortium von ca. 87 Unternehmen, die sich für die Etablierung von offenen Standards für Mobilgeräte einsetzen

14 KAPITEL 2. GRUNDLAGEN 13 Abbildung 2.2: Android Architektur [Goo14a] Libraries und Android Runtime Auf dem Linux-Kernel bauen die Libraries wie SSL zur verschlüsselten Übertragung im Internet, libc mit häufig genutzten C-Funktionen, OpenGL für graphische Darstellungen und die Android Runtime auf. Android Runtime Die Android Runtime besteht im Wesentlichen aus der Dalvik Virtual Machine und einigen Core Libraries. Dalvik Virtual Machine In der Regel werden Android-Apps in Java geschrieben. Der Quelltext wird mit Hilfe des Java-Compilers in den Java- Bytecode übersetzt. Die nun vorliegenden *.class-dateien werden anschließend von einem Tool namens dx zu Dalvik-Bytecode übersetzt [BM09, S. 17]. Warum wurde aber eine neue virtuelle Maschine entwickelt, wenn man auch die Java VM hätte nehmen können? Dafür gibt es einige Gründe. Der erste wäre zum Beispiel, dass die Java VM keine Register der CPU nutzt [BM09, S. 18]. Dieses Manko wurde in der Dalvik VM ausgebessert, da Berechnungen mit Hilfe von Registern schneller vonstattengehen. Außerdem werden bei mobilen Geräten wie Smartphones überwiegend Prozessoren der Firma ARM verwendet, sodass die Dalvik VM auf diese Architektur zugeschnitten wurde, was teilweise zu erheblichen Geschwindigkeitsschüben führt [BM09, S. 17]. In der neuen Androidversion Android L wird die Dalvik Virtual Machine durch die Android Runtime (ART) ersetzt. Da sich Android L zum Zeitpunkt

15 KAPITEL 2. GRUNDLAGEN 14 der Entwicklung von A Spy noch in der Betaphase befand, soll hier nicht näher darauf eingegangen werden. Core Libraries Die Core Libraries sind Bibliotheken, die in C geschrieben sind und der Dalvik VM zur Verfügung stehen. Dabei handelt es sich um Bibliotheken wie LibWebCore für WebKit basierte Browser, SQLite, um mit Datenbanken arbeiten zu können und das Media Framework, eine Bibliothek, um mit gängigen Medienformaten umgehen zu können [BM09, S. 19]. Application Framework Die nächste Schicht bildet das Application Framework, bestehend zum Beispiel aus dem Window Manager, Resource Manager und Activity Manager. Diese Schicht ist zur Verwaltung der Application-Schicht verantwortlich. So ist der Activity Manager zum Beispiel für den Lebenszyklus von Activities 2 verantwortlich [BM09, S. 19]. Hier sind auch für diese Arbeit wichtige Komponenten enthalten, wie zum Beispiel die Content Provider, auf die später näher eingegangen wird. Mit den entsprechenden Berechtigungen (Permissions), auf die ebenfalls später noch eingegangen wird, ist es möglich auf Daten wie Kontakte, Browserverlauf, SMS, MMS und vielem zuzugreifen. Das oberste Layer bilden die Apps, wie Browser, Nachrichten, Kontakte, Facebook, usw Sicherheit Durch die hohe Popularität von Smartphones bedarf es bei mobilen Betriebssystemen wie Android einiger Sicherheitsmaßnahmen, um den Nutzer vor Schadsoftware und Hackerangriffen zu schützen. Sandbox Bei einer Sandbox handelt es sich um einen eingeschränkten Bereich des Gesamtsystems, in dem das Java-Programm laufen darf [BM09, S. 23]. Das heißt also, dass prinzipiell jede App, die auf einem Android-Gerät läuft, in einer eigenen, in sich geschlossenen Umgebung läuft und nur auf erforderliche Ressourcen zugreifen darf. Zu diesen Ressourcen gehören zum Beispiel Arbeitsspeicher, interner und externer Speicher, Netzwerk, Telefonfunktionen und vieles mehr [BM09, S. 23]. Ein Programm kann seine Sandbox im Normalfall auch nur verlassen, wenn die entsprechenden Berechtigungen in der Manifest.xml 3 gesetzt sind. Darauf wird später noch eingegangen. Grundlegend für das Sandboxing unter Android ist das von Linux angebotene Gruppen- und Benutzersystem. Dazu wird im Normalfall jeder installierten App 2 Activities sind Appkomponenten, die einen logischen Teil einer App darstellen. Dabei steht jeder Activity eine eigenen graphische Oberfläche zur Verfügung. 3 in der Manifest.xml werden Werte gesetzt, die global für eine App gelten. Zum Beispiel werden hier die Permissions gesetzt oder die Ausrichtung der App.

16 KAPITEL 2. GRUNDLAGEN 15 ein eigener Nutzer angelegt und eine eindeutige User-ID zugeordnet. Dadurch wird das zugrundeliegende Berechtigungskonzept verwendet [BM09, S. 23]. Signierte Apps Ein weiteres Sicherheitskonzept von Android ist das Signieren von Anwendungen [BM09, S. 24]. Während der Entwicklung von Android-Apps wird ein Zertifikat genutzt, welches immer den Developertools zugrunde liegt. Kompiliert man seine App, wird die daraus entstandene *.apk-datei automatisch mit Hilfe dieses generischen Zertifikats signiert [Goo14e]. Am Ende der Entwicklung steht in den meisten Fällen die Veröffentlichung der Anwendung. Ist gewünscht die Anwendung in Googles eigenem Play Store zu veröffentlichen, ist es zwingend erforderlich die Anwendung mit Hilfe von einem eigenen privaten Schlüssel zu signieren [Goo14e]. Permissions Normalerweise sind die gesetzten Berechtigungen einer Anwendung der einzige Weg, um auf Daten zuzugreifen, die von der Sandbox versteckt sind. Zur Veranschaulichung ein kleines Beispiel. Eine Anwendung ohne Berechtigungen kann keine Internetverbindung herstellen. Mit der Berechtigung 1 <uses - permission android : name=" android. permission. INTERNET " bekommt die App jedoch alle nötigen Rechte, um eine Internetverbindung herzustellen. Gesetzt werden diese Berechtigung in der Manifest.xml [BM09, S. 24]. Außerdem ist es möglich, dass mehrere Anwendungen in der gleichen Sandbox agieren, indem in der Manifest.xml 1 android : shareduserid =" <ID >" gesetzt wird. Das heißt also, dass alle Anwendungen, die in der Manifest.xml die gleiche shareduserid gesetzt haben, gegenseitig auf Ressourcen und Daten zugreifen können, sowohl lesend als auch schreibend [BM09, S. 25]. Dieser Teil ist für diese Arbeit besonders wichtig, da der Android-bezogene Teil einige dieser Permissions nutzt, um an Daten der Standard-Android-Apps zu gelangen. Verschlüsselung Ab Version 4.1 bietet Android die Möglichkeit der Verschlüsselung sowohl der Data-Partition als auch des externen Speichers [Goo14b]. Somit sind die Daten bei einem ausgeschalteten Gerät vor Fremdzugriffen geschützt und nur zugänglich, wenn das entsprechende Passwort beim Systemstart eingegeben wurde. Ist die Verschlüsselung aktiviert, kann eine IT-forensische Untersuchung schwer behindert oder im schlimmsten Fall mit vertretbarem Zeitaufwand gar unmöglich werden.

17 Kapitel 3 Verwandte Arbeiten 3.1 IT-forensische Analyse von Android-Geräten Zum einen ist hier das Paper Toward a general collection methodology for Android devices [VZC11] zu erwähnen. Dort wird aufgezeigt, wie Androidsicherheitsmechanismen, wie Sandboxing oder Zugriffsbeschränkungen auf bestimmte Bereiche, umgangen werden können. Es wird beschrieben, dass das vom Hersteller des Gerätes bereitgestellte Recovery Image durch ein anderes, von Drittentwicklern bereitgestelltes, zu ersetzen ist. Wird das Gerät anschließend in den Recovery Mode gebootet, in dem sich nun das neue Image befindet, kann mittels adb (vgl. Kapitel 4.3.2) eine Datensammlung erfolgen, die auch Bereiche einschließt, die im Normalfall geschützt und nicht erreichbar sind. Allerdings hat diese Vorgehensweise auch Nachteile. Zum einen muss für dieses Vorgehen ein eingeschaltetes Gerät ausgeschaltet werden. Dabei kann es zu Verlust von wichtigen Daten kommen, die nur temporär gespeichert sind oder sich im RAM befinden (vgl. Kapitel 4.1.1). Somit wären diese Daten schlimmstenfalls unwiderruflich verloren. Zum anderen soll eine Interaktion mit dem zu analysierenden Gerät auf ein Minimum beschränkt werden, da durch Veränderung des Speichers (egal, ob RAM oder Flash) unter Umständen die Integrität des Resultates der ITforensischen Analyse nicht mehr gewährleistet werden kann. Daher ist es fraglich, ob der Austausch des Recoveryimages durchgeführt werden sollte. In Android Forensics [Hoo11] beschreibt der Autor Andrew Hoog mehrere Möglichkeiten, ein Android-Gerät IT-forensisch zu analysieren. Zum einen wird die Datenaquisition in zwei Bereiche, die logischen und die physikalischen Techniken unterteilt. Bei den logischen Techniken nennt Hoog ebenfalls das Tool adb mit der Option pull. Dabei wird auch auf Unterschiede von gerooteten 1 und ungerooteten Geräten eingegangen. So wird diese Methode als einfach und effektiv dargestellt, wenn man ein gerootetes Gerät hat. Hat man jedoch keinen Rootzugang zu dem 1 Von einem gerooteten Gerät spricht man, wenn die vom Hersteller eingerichteten Sicherheitsmaßnahmen umgangen werden und der Rootnutzer auf dem betreffenden Gerät aktiviert ist. 16

18 KAPITEL 3. VERWANDTE ARBEITEN 17 entsprechenden Gerät, kann es sein, dass wichtige Daten durch diese Möglichkeit nicht extrahiert werden können. Ein weiterer Vorteil dieser Möglichkeit ist die Erhaltung der Ordnerstruktur. Dennoch ist die Möglichkeit der Datenextraktion mittels adb pull eine gute und effektive Methode zur Ergänzung der Daten, die mit Hilfe von anderen Methoden gesammelt wurde. Aus den oben genannten Gründen wird die Möglichkeit der Datenextraktion mit Hilfe von adb auch von A Spy verwendet. Eine weitere Möglichkeit, die Hoog vorstellt, sind Drittanbieterapps wie Nandroid [Ote14] oder My Backup Pro von RerWare [LLC14]. Diese beiden Apps erstellen Backups mit Hilfe von Content Providern. Ebenfalls erwähnt wird AFLogical, welches bereits in Kapitel 1.2 genannt wurde. Diese App nutzt ebenfalls die von Android zur Verfügung gestellten Content Provider, um Daten zu sammeln. Für diese Arbeit wurde die Open Source Edition von genanntem AFLocial verwendet. Gründe dafür sind bereits geschriebener, öffentlicher Code, der unter der GNU General Public License steht und somit nach Belieben verändert und angepasst werden kann. Nachteil ist lediglich der begrenzte Umfang der App. Dieses Manko wurde jedoch für diese Arbeit ausgebessert (vgl. Kapitel 4.5.1). Bei den physikalischen Methoden zählt Hoog zum einen hardwarebasierte Methoden, wie das Entfernen des Flash-Speichers von der Platine und das anschließende Einlesen mit Hilfe von externer Hardware. Dieses Vorgehen erfordert jedoch das Zerlegen des Gerätes. Dabei kann es dazu kommen, dass das Smartphone oder Tablet nicht mehr in den Ausgangszustand gebracht werden kann, da ein abgelötetes Bauteil unter Umständen nicht mehr aufgelötet werden kann. Zum anderen nennt Hoog softwarebasierte Methoden. Dazu zählen Verfahren, die ein Image des Gerätes mit Hilfe von Software erstellen. Zu erwähnen ist das unter Unixsystemen verbreitete Tool dd, welches eine bitweise Kopie eines Dateisystems erstellt. Die physikalischen Methoden überschreiten jedoch den Umfang dieser Arbeit, sodass sie hier nicht betrachtet werden. Außerdem sollten diese auch nur als letzte Möglichkeit genutzt werden, da sowohl bei den hardware- als auch bei den softwarebasierten Methoden Änderungen am Gerät vorgenommen werden, die die Wiederholbarkeit der forensischen Analyse einschränken oder unmögliche machen und die Integrität der Daten durch Softwaremanipulation nicht gewährleistet ist. 3.2 Forensische Analyse des Arbeitsspeichers von mobilen Geräten Die Arbeit Live memory forensics of mobile phones [TNC10] beschreibt eine Vorgehensweise, um Daten aus dem RAM mobiler Geräte zu analysieren. Dabei wird der RAM als immer wichtiger werdender Speicher dargestellt, in dem aus IT-forensischer Sicht wichtige und nicht zuvernachlässigende Daten enthalten sein können, wie Passwörter oder Schlüssel für etwaige kryptographisch verschlüsselte Daten. Dabei wurde als Testgerät ein Android-Smartphone verwendet, aus welchem in Echtzeit Daten aus dem Arbeitsspeicher analysiert wurden. Die Autoren verwendeten außerdem noch einige weitere Tools wie Chat

19 KAPITEL 3. VERWANDTE ARBEITEN 18 Bot, memgrab und Memory dump analyser. Im Wesentlichen werden dabei bestimmte Regionen des RAMs mit dem unter Unixsystemen bekannten Systemcall ptrace extrahiert. Dazu wird der Prozess für kurze Zeit suspendiert, während memgrab einen Snapshot des RAM- Bereiches anfertigt, der mit ptrace suspendiert wurde. Anschließend wird der Prozess wieder aufgeweckt, sodass er seine Arbeit fortsetzen kann. Problematisch bei diesem Ansatz ist jedoch, dass nicht näher auf die Voraussetzungen des Smartphones eingegangen wird und somit nicht klar ist, ob diese Methode auch bei ungerooteten Android-Geräten funktioniert. Desweiteren werden durch das Senden von Daten an das Gerät aktiv Bereiche des RAMs verändert, um so an dessen Inhalt zu gelangen. Dabei kann es vorkommen, dass bereits vorhandene Daten gelöscht werden, da der RAM, der typischerweise bei alten Geräten nur 256 Megabyte groß ist, voll sein kann und neuer Platz durch Löschen von alten Daten geschaffen wird. 3.3 Techniken, die IT-forensische Analysen erschweren Karl-Johan Karlsson und William Bradley Glisson stellen in ihrer Arbeit Android Anti-forensics: Modifying CyanogenMod [KG14] Möglichkeiten vor, eine forensische Analyse von Android-Geräten zu erschweren oder bestenfalls zu verhindern. Dabei beziehen sich die Autoren auf das Betriebssystem Cyanogen- Mod [Cyn14b], welches auf Android basiert und laut eigenen Angaben einige Verbesserungen zum herkömmlichen Android Betriebssystem bereithält. So wurde beispielsweise der vom CyanogenMod entwickelte Brain Fuck Scheduler in das Repository von Android aufgenommen [Cyn14a]. Um das CyanogenMod- Betriebssystem zu installieren, wird jedoch der Rootzugang zum jeweiligen Gerät benötigt. Als wichtigste Methode, um eine IT-forensische Analyse zu erschweren, wird das Artifact Wiping genannt. Dabei soll das Problem behoben werden, dass Daten, die vom Nutzer gelöscht wurden, lediglich ihre Referenz verlieren. Die Bits, die die Daten repräsentieren, sind jedoch noch im Speicher vorhanden. Eine einfache, aber effektive Möglichkeit ist das Überschreiben der Bits mit zufälligen Bits. Dabei geht jegliche Möglichkeit verloren die Daten aufzuspüren und zu rekonstruieren. Desweiteren wird das Trail Obfuscation genannt. Hier sollen alle Spuren, die während der Benutzung des Gerätes entstehen, verwischt und unkenntlich gemacht werden. So soll eine Rekonstruktion der getätigten Anrufe oder gesendeten Nachrichten verhindert werden. Ein weiterer Punkt der genannt wird, ist das Data Hiding. Dabei sollen sich laut den Autoren so wenig Daten wie möglich auf dem Gerät befinden. Erreicht wird dieses Ziel mit Hilfe einiger Tricks. Zum Beispiel sollen Dokumente nicht auf dem Gerät, sondern bei einem Cloud-Dienst wie Dropbox gespeichert werden. Desweiteren können Daten mit Hilfe von kryptographischen und steganographischen Methoden versteckt werden. Da sich diese Methoden auf ein angepasstes Android beziehen, ist der Teil an untersuchten Geräten vergleichsweise klein. Deshalb wird es voraussichtlich relativ selten dazu kommen, dass ein Gerät zu analysieren ist, bei dem oben

20 KAPITEL 3. VERWANDTE ARBEITEN 19 genannte Techniken angewandt wurden. Aus diesem Grund werden solche Fälle in dieser Arbeit ignoriert. Das Paper Real-time digital forensics and triage [RQM13] geht auf die Geschwindigkeit von IT-forensischen Tools ein. Dabei wird festgestellt, dass computerforensische Analysen aufgrund der immer größer werdenden Speichermöglichkeiten zunehmend langsamer werden. Tests zeigen, dass die grundsätzlichen Methoden der forensischen Tools kaum Geschwindigkeitszuwachs erlauben. Viel mehr sollte darauf geachtet werden, eine Workstation zu nutzen, die genügend Ressourcen, wie eine Mehrkern-CPU und ausreichend RAM, zur Verfügung hat. Auch das Clustern von mehreren Systemen wird in Betracht gezogen. Außerdem sollen forensische Komitees Grundlagen festlegen, um nicht alle Daten eines zu analysierenden Gerätes betrachten zu müssen. Viel mehr sollen lediglich Daten in Betracht gezogen werden, die eine gewisse forensische Wichtigkeit inne haben. Allerdings werden die Daten nicht näher spezifiziert. Es wird lediglich darauf eingegangen, dass jeder IT-forensische Leiter von Fall zu Fall entscheiden soll, welche Daten wichtig sind und welche nicht. 3.4 Datenerkennung und -korrelation In dem Paper File Fragment Classification The Case for Specialized Approaches von Vassil Roussev und Simson L. Garfinkel [RG09] beschreiben die Autoren die Schwierigkeiten, die beim Erkennen von Dateiformaten auftreten und stellen einen Lösungsversuch vor. So wird aufgezeigt, dass das unter Unixsystemen bekannte Programm file ein guter Ansatz für einfache Datenformate wie Bilder im JPEG-Format oder einfachen Text in der ASCII-Kodierung ist. Jedoch stößt diese Methode an Grenzen, wenn keine vollständigen Dateien vorliegen. Das kann zum Beispiel der Fall sein, wenn nur einzelne Netzwerkpakete betrachtet werden. Desweiteren können Containerformate wie ZIP oder TAR erkannt werden, es wird jedoch keine Aussage über deren Inhalt getroffen. Um dieses Manko auszubessern stellen die Autoren eine Lösung vor, die, ähnlich dem Programm file, auf bestimmte Muster im Bytestrom einer Datei achtet. Der Unterschied ist jedoch, dass der gewählte Ansatz nicht statisch ist, sondern mit zunehmender Anwendung neue Muster lernt und die Erkennungsrate deutlich steigt. Allerdings stellen die Autoren keine endgültige Lösung vor, sondern lediglich Lösungsvorschläge, die in Zukunft ausgebaut werden können. Somit wurde sich im Rahmen dieser Arbeit für das Programm file entschieden, da bei dem hier gewählten Ansatz der Analyse von Android-Geräten lediglich vollständige Dateien vorliegen und die Erkennung von file zuverlässig arbeitet. Das Paper FACE: Automated digital evidence discovery and correlation [CCM + 08] stellt eine Möglichkeit vor Informationen über Daten zu finden und zu korrelieren. Dazu werden nicht die Dateien selbst, sondern Metadaten betrachtet, die während der Nutzung entstehen. Wird beispielsweise eine Datei aus dem Internet geladen, entsteht zunächst

21 KAPITEL 3. VERWANDTE ARBEITEN 20 Netzwerkaktivität. Anschließend gibt es schreibenden Zugriff auf die Festplatte. In den meisten Fällen wird diese Datei nach dem Herunterladen geöffnet, wodurch lesend auf die Festplatte zugegriffen wird. Außerdem werden systemabhängige Daten wie passwd oder group auf Unixsystemen ausgelesen. Auch Logdaten wie system.log oder CrashReporter unter Mac OS X werden betrachtet. Die gesammelten Informationen werden korreliert, um Gemeinsamkeiten herauszustellen und Verbindungen zu Nutzern auf dem System herzustellen. So wird in einem Beispiel festgestellt, welcher Nutzer welche Daten einer Firma auf einen FTP-Server hochgeladen hat. Allerdings beschränkt sich dieser Ansatz vorallem auf Linux-Systeme auf herkömmlichen Computern. Außerdem werden keine Dateien an sich betrachtet, wodurch auch Metadaten von Nutzerdaten unbeachtet bleiben. Diese Betrachtung war jedoch eine Anforderung an diese Arbeit, wodurch die in diesem Paper vorgestellten Ansätze keine Beachtung in A Spy finden. Die Arbeit Selektive Datensicherungen in der IT-Forensik von Felix Freiling und Konstantin Sack [FS14] beschäftigt sich mit den Daten, die von einem zu analysierenden Gerät extrahiert werden sollen. Dabei beziehen sich die Autoren auf die gängige Methode von den Speichergeräten beispielsweise mit Hilfe des Unixkommandos dd ein 1:1 Abbild anzufertigen. Diese Methode wird jedoch aus zwei Gründen kritisiert. Zum einen dauert eine Analyse aufgrund der immer größer werdenden Speicher unter Umständen unverhältnismäßig lange. Zum anderen werden durch diese Vorgehensweisen auch Daten betrachtet, die eine aus IT-forensischer Sicht vergleichsweise geringe Relevanz haben. Als Lösung wird vorgeschlagen, zu Beginn ein Image der zu analysierenden Speicher anzufertigen, für die eigentliche Analyse hingegen eine angemessene Datenmenge zu betrachten. Dabei wird allerdings nicht vollständig geklärt, was die angemessene Datenmenge ist. Vielmehr muss abgewogen werden zwischen relevanten Daten und erlaubten Daten. Als relevant werden Daten bezeichnet, die zur Aufklärung eines Sachverhaltes beitragen. Kritischer ist jedoch der Begriff der erlaubten Daten. Hier werden Paragraphen im IT-Recht angeführt, die eine willkürliche und unverhältnismäßige Betrachtung der Daten verbietet. Schließlich wird hinterfragt, ob es überhaupt sinnvoll ist ein 1:1 Abbild anzufertigen oder ob es nicht geeigneter ist lediglich relevante Daten zu betrachten. Basierend auf diesen Erkenntnissen wurden auch im Rahmen dieser Arbeit einige Daten als wichtig und weniger wichtig eingestuft, um die Analyse mit Hilfe von A Spy zu beschleunigen (vgl. Kapitel 4.4).

22 Kapitel 4 Design In diesem Kapitel geht es um Designentscheidungen der Implementierung von A Spy. Dabei wurden die Erkenntnisse der Kapitel Grundlagen und Verwandte Arbeiten berücksichtigt. Dennoch mussten Entscheidungen getroffen werden, die dem Leitfaden des BSI und der Vorgehensweise von Geschonneck teilweise widersprechen. Warum diese Entscheidungen letztendlich im Rahmen dieser Arbeit getroffen werden mussten, wird ebenfalls in diesem Kapitel erläutert. Dabei werden zunächst die Teile erläutert, die von A Spy analysiert werden. Anschließend werden Bedingungen für den erfolgreichen Einsatz von A Spy genannt, um schließlich auf konkrete Designentscheidungen von A Spy, wie betrachtete Dateiformate oder Ablauf der Analyse, dargelegt. 4.1 Relevanter Speicher Mobile Endverbrauchergeräte wie Tablets und insbesondere Smartphones bestehen grundsätzlich aus drei für IT-forensische Untersuchungen relevanten Bauteilen, die hier identifiziert und beschrieben werden sollen RAM In Anlehnung an klassische Computer nutzt Android eine virtuelle Speicherverwaltung. Das heißt also, dass der Arbeitsspeicher nicht direkt allokiert, sondern über Seitentabellen auf virtuelle Speicheradressen abgebildet wird. Im Unterschied zu herkömmlichen PCs werden unter Android jedoch keine Daten auf den internen Flash-Speicher ausgelagert. Wird der Speicher für laufende Anwendungen zu gering, werden Apps, die sich im Hintergrund befinden, beendet, um deren Speicher freizumachen. Der Arbeitsspeicher wird jedoch in dieser Arbeit nicht berücksichtigt, da die Menge an Daten, die daraus extrahiert werden können, kaum IT-forensische Relevanz besitzen. 21

23 KAPITEL 4. DESIGN Flash Zur permanenten Speicherung von Daten setzen Smartphones auf einen Flash- Speicher, der im Falle von Android bis zu 64 GB groß sein kann. Desweiteren ist es möglich bei Geräten einiger Anbieter die Kapazität durch Erweiterung eines externen Speichergerätes zu vergrößern. Aufgrund des Speichervermögens und der Persistents dieses Speichers, spielt er aus IT-forensischer Sicht die größte Rolle, da hier sowohl System- als auch Benutzerdaten wie Bilder, Video- und Audiomaterial und Dokumente liegen. Im Gegensatz zum externen Speicher, der in den meisten Fällen nur aus einer Partition besteht, gliedert sich der interne Speicher in mehrere Partitionen, die im Folgenden kurz erläutert werden: Die Boot-Partition enthält alle für den Systemstart notwendigen Daten wie zum Beispiel den Kernel. Ein alternativer Bootvorgang ist der Recovery Mode. Alle Daten, die dafür notwendig sind, sind in der Partition Recovery zu finden. In der Misc-Partition sind alle Hardwareeinstellungen gespeichert, die während des Systemstarts geladen werden und zum Betrieb des Smartphones oder Tablets zwingend erforderlich sind. Diese drei genannten Partitionen werden über kein Dateisystem abstrahiert, sondern es wird direkt auf diese zugegriffen. Über die Partition Root werden Kernelinitialisierungsskripte wie init.rc bereitgestellt. Außerdem ist diese Partition der Ausgangspunkt für alle weiteren. Die Partition System enthält alle Betriebssystemkomponenten, außer den Kernel und den Recovery Mode. Somit ist ein Booten im Recovery Mode auch möglich, wenn die System-Partition beschädigt oder gelöscht ist. Daten von Applikationen, die auf einem Gerät installiert sind, werden in der Partition Data gespeichert. Nuzterspezifische Daten werden üblicherweise in einer weiteren Partition auf dem internen Speicher gespeichert. Schließlich gibt es noch die Cache-Partition. Hier werden Betriebssystemund manchmal auch Applikationsdaten zwischengespeichert. Bei den oben vorgestellten Partitionen handelt sich um allgemeine Partitionen, die für Android zwingend erforderlich sind. Je nach Hersteller kommen noch andere, jedoch aus IT-forensischer Sicht nicht allzu relevante Partitionen hinzu. Lediglich der Flash-Speicher stellt für diese Arbeit einen relevanten Teil dar. Dieser muss jedoch, bedingt durch die physikalische Trennung in internen und durch SD-Karte erweiterten Speicher, in zwei Teile geteilt werden. In der root-partition befinden sich sämtliche für den laufenden Betrieb relevanten und nutzerspezifische Daten. Außerdem gibt es hier einen Ordner sdcard. Dieser impliziert, dass SD-Karten in diesen Ordner eingehangen werden. Dies ist jedoch eine falsche Annahme, da dieser Ordner auch existiert, wenn das Gerät

24 KAPITEL 4. DESIGN 23 keine Vorrichtung für SD-Karten besitzt. Das bedeutet also, dass Android auch bei Geräten ohne SD-Karte diesen Ordner nutzt, um den Speicher um eine Art media -Ordner zu erweitern, der nicht so strengen Sicherheitsmaßnahmen unterliegt wie der Rest des Systems [Goo14d]. Aus diesen Gründen ist es nicht erforderlich, dass in der Implementierung von A Spy eine Unterscheidung getroffen wird, ob das zu analysierenden Gerät eine physische SD-Karte hat oder nur den dazu vorgesehenen Ordner SIM-Karte Die SIM-Karte besitzt einen persistenten Speicher, der 16 bis 512 Kilobyte umfasst. Dieser Speicher enthält providerbezogene Informationen wie zum Beispiel unterstützte Frequenzbänder. Auf diesem Speicher befinden sich auch gesendete, empfange und entworfene SMS-Nachrichten sowie Geopositionsdaten und Anruflisten. Desweiteren kann der Speicher historisch bedingt für Kontakte genutzt werden. Aufgrund von eigenen Apps für Kontakte, Telefonie und SMS können diese Daten auch aus dem Flash-Speicher des Gerätes extrahiert werden, sodass die SIM-Karte aus IT-forensischer Sicht an Bedeutung verliert. Um den Speicher einer SIM-Karte auszulesen, wird spezielle Hardware benötigt. Außerdem befinden sich auf der SIM-Karte im Wesentlichen Daten, die größtenteils auch im Flash-Speicher des Gerätes vorzufinden sind. Daher wird dieser Speicher hier nicht näher betrachtet. 4.2 Bedingungen für eine erfolgreiche Analyse Die IT-Forensik sieht sich oft mit ungünstigen Bedingungen konfrontiert. So kann es einem Forensiker unmöglich sein ein Gerät zu analysieren, wenn bestimmte Voraussetzungen erfüllt sind. Daher werden hier einige Bedingungen gestellt, die erforderlich sind, damit ein Gerät erfolgreich von A Spy analysiert werden kann Betriebszustand Die erste Bedingung, die erfüllt sein muss, ist, dass sich das Gerät im eingeschalteten Zustand befindet. Der Grund dafür ist, dass A Spy aus zwei Teilen besteht. Zum einen wird eine App auf dem Gerät installiert, um alle Daten zu sammeln, die Android mit Hilfe seiner Content Provider bietet. Zum anderen werden sämtliche Daten über den Befehl adb pull <source> <destination> extrahiert. Beide Prozeduren erfordern ein eingeschaltetes Gerät. Aus IT-forensischer Sicht ist es jedoch fraglich ein ausgeschaltetes Gerät eigenmächtig einzuschalten. Dies sollte nur geschehen, wenn keine anderen Möglichkeiten für eine forensische Analyse existieren. Wenn das Gerät also nicht eingeschaltet ist, sollten erst Möglichkeiten aufgesucht werden das Gerät zu analysieren ohne es einzuschalten. Erst wenn das

25 KAPITEL 4. DESIGN 24 nicht möglich ist oder vollständig abgeschlossen wurde, kann es eingeschaltet werden, um es mit A Spy weiter zu analysieren SIM-Karte War das Gerät am Fundort ausgeschaltet und es befindet sich eine SIM-Karte darin, sollte diese aus zwei Gründen entfernt werden. Zum einen kann, im Hinblick auf Kapitel 4.2.1, das Booten des Gerätes durch eine aktivierte PIN- Abfrage erschwert oder gar unmöglich werden, wenn PIN oder PUK nicht bekannt sind. Zum anderen ist die Analyse der Daten auf der SIM-Karte nicht möglich, wenn diese sich im Gerät befindet. Siehe dazu auch Kapitel Verschlüsselung Ein weiterer kritischer Punkt ist eine aktive Speicherverschlüsselung. Wird das Gerät im ausgeschalteten Zustand vorgefunden und während dem Einschalten wird ein Passwort oder ähnliches verlangt, um den Speicher zu entschlüsseln, ist es unerlässlich das Passwort zu kennen. Kann der Speicher nicht erfolgreich entschlüsselt werden, ist eine IT-forensische Analyse mit A Spy nicht möglich SDK und USB-Debugging Da A Spy die Datenextraktion mit Hilfe des von Google bereitgestellten Tools adb durchführt, ist es zum einen Notwendig, dass sich auf der Analyseworkstation dieses Tool befindet, welches Teil des Android SDK ist. Es ist zwar nicht zwingend erforderlich das gesamte SDK auf der Workstation installiert zu haben, da sich in diesem SDK jedoch noch andere Tools befinden, die während einer manuellen IT-forensischen Analyse hilfreich sein können, wie der Dalvik Debug Monitor Server, ist es empfehlenswert, das SDK auf der forensischen Workstation zu installieren. Außerdem wird vorausgesetzt, dass die Option USB-Debugging auf dem entsprechenden Gerät aktiviert ist, da, wie bereits erwähnt, die Datenextraktion mit Hilfe des Tools adb durchgeführt wird. Dieses Tool ermöglicht die Interaktion mit dem Android-Gerät von der Workstation aus. adb bietet dafür verschiedene Befehle wie install, um Apps, die im.apk-format vorliegen, von der Workstation aus auf dem zu analysierenden Gerät zu installieren. Außerdem gibt es Befehle zum Starten von Apps oder shell, um eine Shell auf den Android-Gerät zu öffnen. Ist das USB-Debugging jedoch nicht aktiviert, kann die Analyse mit Hilfe von A Spy nicht erfolgen. Diese Option kann aktiviert werden, dies sollte jedoch nur getan werden, wenn andere forensische Methoden angewandt wurden oder erfolglos waren, da die Interaktion mit dem zu analysierenden Gerät auf ein Minimum beschränkt werden sollten Rootzugriff Zwar spielt es für den in dieser Arbeit gewählten Ansatz der Analyse keine Rolle, ob man auf das vorliegende Gerät Rootzugriff bekommt oder nicht, es macht aber einen Unterschied bei der Menge an gesammelten Daten. So hat man ohne

26 KAPITEL 4. DESIGN 25 Rootrechte beispielsweise keinen Zugriff auf die Daten im /data/data-ordner, da sich hier Daten der einzelnen auf dem Gerät installierten Apps befinden, die von der Android-Sandbox geschützt werden. Somit wäre ein gerootetes Gerät wünschenswert, jedoch nicht zwingend erforderlich, um das Gerät mit A Spy zu analysieren. Jedoch kann die Aussagekraft der Analyse geschwächt sein, wenn kein Rootzugriff auf das Gerät vorliegt. 4.3 Datenextraktion Um Daten eines Android-Gerätes zu extrahieren, bieten sich mehrere Möglichkeiten an. So kann zum Beispiel ein Image vom Speicher des Gerätes mit Hilfe des unter Unixsystemen verbreiteten Befehls dd <inputfile> <outputfile> erstellt werden. Dabei wird der Speicher bitweise in eine vom Nutzer spezifizierte Datei geschrieben. Dieses Vorgehen erfordert jedoch den Rootzugang zu dem Android-Gerät. Da eine Anforderung jedoch darin bestand, möglichst viele Android-Geräte abzudecken, wurde hier auf andere Methoden zurückgegriffen, da nicht davon ausgegangen werden kann, dass alle Geräte im gerooteten Zustand vorliegen. Zwar könnte das jeweilige Device mit einem Rootzugang versehen werden, davon ist jedoch zu Beginn einer Datensammlung abzusehen (vgl. Kapitel 2.1.1). Um dieser Anforderung zu entsprechen, wurde im Rahmen dieser Arbeit auf die Mechanismen der Content Provider und adb zurückgegriffen, um die Daten eines Android-Gerätes möglichst vollständig zu extrahieren Content Provider Die erste Möglichkeit ist das von Android zur Verfügung gestellten Konzept der Content Provider. Hier haben Entwickler die Möglichkeit bestimmte Daten einzusehen, die im Regelfall nicht sichtbar sind. Dazu zählen zum Beispiel Kontakte oder versandte SMS. Um an diese Daten zu gelangen, werden in der Manifest-Datei der App, die auf diese Daten zugreifen will, die Rechte so gesetzt, dass Android den Zugang gewährt. Nun kann mit sogenannten Content URIs der gewünschte Datensatz aus der entsprechenden SQLite-Datenbank ausgelesen werden. Wird eine App auf herkömmlichem Weg, beispielsweise aus Googles Play Store, installiert, muss der Nutzer jedoch zunächst zustimmen, damit die App auf diese Daten zugreifen kann. Wird diese App jedoch mittels adb installiert, ist diese Zustimmung nicht erforderlich, da bereits physikalischer Zugang zum Gerät vorliegt und eine Abfrage keine höhere Sicherheit bringen würde. Android sieht eine Vielzahl solcher Content Provider vor, von denen ein großer Teil in A Spy implementiert wurde. Auf einige wurde verzichtet, da sie nur in bestimmten Androidversionen verfügbar sind und aus computerforensischer Sicht vergleichsweise wenig relevante Daten enthalten. Ein Beispiel dafür ist der Content Provider für Systemeinstellungen. Diese geben keinerlei Aufschluss über nutzerspezifisches Verhalten, da hier lediglich grundsätzliche Systemeinstellungen vorgenommen werden, die keine Rückschlüsse auf den Nutzer oder mit dem Nutzer in Verbindung stehenden Personen zulassen.

27 KAPITEL 4. DESIGN 26 Es wurde jedoch eine Schnittstelle implementiert, um zukünftige Erweiterungen zu erleichtern Android Debugging Bridge Die Android Debugging Bridge, kurz adb, ist ein von Google zur Verfügung gestelltes Tool, mit dessen Hilfe eine Interaktion mit dem Android-Gerät von der Workstation aus ermöglicht wird. Der wesentliche Teil von adb, der für die Datensammlung entscheidend ist, ist der Befehl adb pull <source> <target>. Damit wird <source> (egal ob Ordner oder Datei) vom Android-Gerät nach <target> übertragen. Ist source ein Ordner mit Unterordner, bleibt die Ordnerstruktur im target erhalten. Ein weiterer Vorteil ist, dass sämtliche Daten übertragen werden, die sich im angegeben Ordner befinden. Die einzige Einschränkung bilden die Zugriffsbeschränkungen. Liegt auf dem entsprechenden Gerät kein Rootzugang vor, werden Daten, die in Bereichen ohne Zugriffserlaubnis liegen, ignoriert. Auf diese Daten kann jedoch auch mit keinem anderen Hilfsmittel zugegriffen werden. Die einzige Lösung für dieses Problem wäre sich den Rootzugang zu verschaffen. Doch auf diese Möglichkeit sollte erst zurückgegriffen werden, wenn alle anderen Möglichkeiten der Datensammlung ausgeschöpft sind. Ein weiterer Vorteil von adb ist, dass hier noch einige wichtige Funktionen, die im Rahmen dieser Arbeit von Bedeutung sind, mitgeliefert werden. So ist es möglich eine App völlig automatisiert von der Workstation aus zu installieren, zu starten und nach der Termination die Ergebnisse einzusehen und zu verarbeiten. So bedarf es keiner Interaktion des Forensikers, um die App, die Daten mit Hilfe der Content Provider extrahieren soll, zu installieren, auszuführen und die gesammelten Daten auf die Workstation zu übertragen. 4.4 Relevante Daten SQLite-Datenbanken Bei der Identifizierung von relevanten Daten hat sich herausgestellt, dass Android appspezifische Daten, wie den Browserverlauf oder die Kontakte der Facebook- App, in SQLite-Datenbanken sichert. Aus diesem Grund ist es unerlässlich diese SQLite-Datenbanken auszuwerten. Problematisch ist jedoch, dass die Datenbanken der Apps im /data/data- Ordner liegen. Hat man zum zu analysierenden Gerät keinen Rootzugang, kann im Zuge der Datensammlung nicht garantiert werden, dass genügend Datenbanken extrahiert wurden, um genügend Material mit einer aussagekräftigen forensischen Relevanz zu haben. Aus diesem Grund wurde sich nicht allein darauf verlassen, dass mittels adb genügend Datenbanken extrahiert werden. Es wurde vielmehr ergänzend zu adb eine App entwickelt, die Daten, die in SQLite- Datenbanken gesichert sind, mit Hilfe von Content Providern extrahiert. Allerdings werden mit diesem Ansatz keine Drittanbieter-Apps abgedeckt.

28 KAPITEL 4. DESIGN 27 Ist das betreffende Gerät nicht gerootet, gibt es keine Möglichkeit an Daten von Drittanbieter-Apps heran zu kommen. Sämtliche gefundenen SQLite-Datenbanken werden in das CSV-Format übersetzt. Zum einen vereinfacht es eine manuelle Analyse der Daten und zum anderen ist die Repräsentation in Tabellen übersichtlicher zu gestalten. Schließlich ist anzumerken, dass im hier gewählten Ansatz ein programmatischer Umgang mit CSV-Daten mit Hinblick auf Overhead bei der Programmierung einfacher ist als mit SQLite-Datenbanken zu arbeiten Bilder im JPEG-Format Eine weitere wichtige Datenquelle stellen Bilder dar. Nicht nur der Informationsgehalt der Bildinformationen an sich ist wichtig, viel mehr geht es hier darum Metadaten aus Bilddateien auszulesen. Besonders wichtig sind dabei Zeitund Positionsangaben. Die Informationen sind in der sogenannten Exchangeable Image File Format-Erweiterung von JPEG gespeichert. Damit stellt das JPEG-Format mit Hinblick auf Bewegungsprofile eine bedeutende Quelle dar, da durch das Auslesen von diesen Metadaten mit vergleichsweise wenig Aufwand nachverfolgt werden kann, wo das betreffende Gerät zu welcher Zeit war. Diese Informationen werden jedoch nur in Bilddaten gesichert, wenn in den Systemeinstellungen nicht explizit widersprochen wurde, sodass davon auszugehen ist, dass bei der Mehrzahl an Bildern entsprechende Metainformationen vorhanden sind. Desweiteren ist das JPEG-Format das Standartformat unter Android, sodass davon ausgegangen werden kann, dass die meisten gefunden Bilder in diesem Format vorliegen CSV-Dateien Schließlich werden CSV-Dateien betrachtet. Da gefundene SQLite-Datenbanken in dieses Format übersetzt werden, kann die Auswertung dieser Dateien nicht unberücksichtigt bleiben, da hier sämtliche wichtigen Daten der Datenbanken enthalten sind Weitere Daten und Dateiformate Neben den drei oben genannten Dateiformaten existieren noch eine Vielzahl von Formaten, die jedoch in dieser Arbeit keine Berücksichtigung finden. Das Design ermöglicht eine Erweiterung, da klare Schnittstellen eingebaut wurden. Im Kontext und Design dieser Arbeit sind die drei oben genannten Formate implementiert worden, da diese die Relevantesten sind, spätere Erweiterungen stellen jedoch kein Problem dar. Da diese Daten jedoch ebenfalls extrahiert auf der Workstation vorliegen, können diese bei der manuellen Sichtung der Daten mitberücksichtigt und eingesehen werden. Desweiteren werden bei der Datensammlung Systemordner wie sys nicht berücksichtigt, da es Nutzern nicht möglich ist hier Daten abzulegen und sich somit in Systemordnern lediglich Systemdaten befinden.

29 KAPITEL 4. DESIGN 28 Außerdem werden Symbolic Links nicht berücksichtigt, da diese bei der Datensammlung implizit extrahiert werden. Diese befinden sich in Unterordnern und müssen nicht explizit abgerufen werden. Aus diesen Gründen wurde sich lediglich auf die drei oben genannten Formate beschränkt. 4.5 Aufbau von A Spy A Spy Android Zum einen besteht A Spy aus der App A Spy Android, die auf dem zu analysierenden Gerät installiert wird. Dabei basiert diese Anwendung auf AFLogical OSE von ViaForensics, was die Opensource Version der App AFLogical darstellt. Diese App sammelt zunächst Daten, die von Androids Content Providern zur Verfügung gestellt werden. Das sind unter anderem SMS, Kontakte und der CallLog. Die originale App von ViaForensics besteht aus zwei Activities, wobei eine der beiden eine graphische Oberfläche bietet, auf der ausgewählt werden kann, welche Daten gesammelt werden sollen. Außerdem befindet sich hier der Button, der die nächste Activity startet. In der zweiten Activity findet die eigentliche Datensammlung statt. Sie hat keine eigene graphische Oberfläche und verrichtet die Arbeit im Hintergrund. Dabei werden mittels Intents 1 Anfragen an den entsprechenden Content Provider gesendet, welcher die angeforderten Daten zurückliefert. Diese Daten werden anschließend in CSV-Dateien auf der SD-Karte des Gerätes gespeichert. Abbildung 4.1: Main Activity von A Spy Android Desweiteren erstellt A Spy Android eine Liste aller installierten Apps, inklusive Name der App, Datenordner, Versionsnummer und weitere Informationen. 1 Intents sind Konstrukte unter Android, um Activities und einzelne Services zu starten.

30 KAPITEL 4. DESIGN 29 Diese Informationen werden in einer XML-Datei gespeichert. Außerdem befinden sich in dieser XML-Datei Informationen zum Gerät, wie IMEI, Hersteller, Modelname, Fingerprint und installierter Androidversion. Vorgenommene Änderungen Um AFLogical OSE für A Spy nutzen zu können, waren einige Änderungen und Anpassungen notwenig. So bietet AFLogical OSE nur einen begrenzten Funktionsumfang. Es werden lediglich MMS, SMS, Kontakte, und CallLogs von dem zu analysierenden Gerät ausgelesen und gespeichert. Das ist ein guter Anfang für eine IT-forensische Analyse, jedoch bei Weitem nicht ausreichend. Daher wurden im Rahmen dieser Arbeit weitere Content Provider Anfragen implementiert, um den Umfang und die Menge an extrahierten Daten zu vergrößern, und somit die IT-forensische Aussagekraft zu erhöhen. Außerdem werden unter AFLogical die Intents an die Content Provider in eigenen Threads gesendet. Dadurch können sämtliche Content Provider parallel angesprochen werden. A Spy Android wird jedoch programmatisch aus A Spy heraus gestartet. Dazu wird ein in Kapitel näher vorgestellter adb-befehl verwendet. Dieser wartet jedoch nur auf das Ende einer Activity, wenn keine Threads gestartet wurden. Somit könnte, wenn die Content Provider in Thread laufen, nicht gesagt werden, wann die Datensammlung erfolgreich abgeschlossen ist. Abbildung 4.2: Datensammlung mit A Spy Android Desweiteren startet AFLogical mit einer graphischen Benutzeroberfläche, da zunächst ausgewählt werden muss, welche Daten gesammelt werden sollen.

31 KAPITEL 4. DESIGN 30 Für die Nutzung in A Spy wurde das so geändert, dass A Spy Android mit der Datensammlung beginnt, da als Ziel eine Software gefordert ist, die eine vollständige Datensammlung anfertigt und somit die Wahl, welche Daten gesammelt werden sollen, hinfällig ist. Wird A Spy Android nicht programmatisch von A Spy gestartet, sondern manuell über das Gerät selbst, so startet sie mit der graphischen Oberfläche. Diese Entscheidung wurde getroffen, da es unter Umständen nötig sein kann, dass nur bestimmte Daten gesammelt werden sollen, wenn sich beispielsweise in einem bestimmten Zeitraum nur bestimmte Daten geändert haben und eine vollständige Datensammlung nicht notwendig ist A Spy A Spy bildet die Anwendung, die auf der forensischen Workstation ausgeführt wird und den Teil der Softwarelösung darstellt, der die Extraktion und Auswertung der Daten übernimmt. Dabei spielen sich alle relevanten Prozesse, von der Installation von A Spy Android bis hin zur Darstellung der gewonnen Daten hier ab. Außerdem sollen alle hier vorgestellten Teile automatisiert geschehen. Datensammlung Anhand der oben dargestellten relevanten Daten ergeben sich die Teile, die A Spy enthalten muss, um das erarbeitete Konzept zu erfüllen. Zum einen findet sich hier der Teil, der für die Datensammlung wichtig ist. Da es Teil der Anforderung war, ein nahezu vollständig automatisiertes System zu entwickeln, werden sämtliche Schritte, die für die Datensammlung benötigt werden, aus dem Modul DataCollection heraus gesteuert. Dazu muss vom forensischen Leiter der Pfad zum adb-tool und ein Ordner, in dem die Daten gespeichert werden sollen, angegeben werden. In dem angegeben Ordner soll auch die Analyse stattfinden, um die Integrität der Originaldaten nicht zu verletzen. Abbildung 4.3: Flussdiagramm der Datensammlung

32 KAPITEL 4. DESIGN 31 Anschließend wird geprüft, ob auf dem Gerät ein Rootzugang vorliegt. Ist das der Fall, werden die kommenden adb-befehle als Rootnutzer ausgeführt, andernfalls als normaler Nutzer. Nach der Feststellung, ob auf dem betreffenden Gerät ein Rootzugang vorhanden ist oder nicht, erfolgt die Datensammlung möglichst aller Daten. Dazu wird der Befehl adb pull <source> <target> eingesetzt. Hier ist jedoch anzumerken, dass als source nicht einfach der Rootordner / angegeben werden kann, da dies zu Komplikationen führt, wenn Systemdaten extrahiert werden sollen. Aus diesem Grund wird vorher mittels adb shell ls -al / die Ordnerstruktur des Rootordners abgefragt. Mit dem Ergebnis dieser Abfrage werden mit dem adb pull-befehl die jeweiligen Ordner extrahiert. Die hier gewonnenen Daten werden in einem Ordner namens DeviceImage abgelegt. Dieser wiederum stellt einen Unterordner des Ordners dar, der vom forensischen Leiter angegeben wurde. Dies soll implizieren, dass es sich bei dem hier gesammelten Daten um ein möglichst vollständiges Abbild der Ordnerstruktur des Rootordners handelt. Der nächste Schritt ist die App A Spy Android auf dem Gerät zu installieren und zu starten. Die Installation geschieht mit dem Befehl adb install apk/a spy-debug -unaligned.apk. Abbildung 4.4: UML-Diagramm des DataCollection Package Nachdem die Anwendung installiert ist, wird sie mit adb shell am start -W -a android.intent.action.main -n com.artur.android.aspy/ com.artur.aspy.extractalldata gestartet. Dabei wird die Activity ausgeführt, die für das Sammeln und Speichern der Daten notwendig ist. Anschließend werden die Informationen, die von der App gesammelt wurden, ebenfalls mit dem pull-befehl auf die Workstation übertragen. Diese Daten werden in einem weiteren Unterordner des vom Nutzer ausgewählten Analyseordners angelegt. Der Name besteht dabei aus der Bezeichnung des Gerätes und des Datums und der Uhrzeit der IT-forensischen Analyse. Abschließend wird die App wieder deinstalliert und der auf der SD-Karte des Gerätes angelegte Ordner zum Zwischenspeichern der von den Content Providern abgefragten Daten gelöscht, um den Ausgangszustand des Gerätes wiederherzustellen. Der Grund dafür, erst ein Abbild des Speichers anzufertigen und erst im Anschluss daran die App zu installieren und Daten der Content Provider zu

33 KAPITEL 4. DESIGN 32 extrahieren, liegt in der Tatsache, dass die Installation von Apps Änderungen am Speicher vornimmt. Dadurch kann unter Umständen die Integrität der Daten nicht garantiert werden. Daher sollte erst das Abbild angefertigt werden, bevor in irgendeiner Art und Weise mit dem Gerät interagiert beziehungsweise der Speicher modifiziert wird. Verarbeitung der Daten Für die Verarbeitung der gesammelten Daten wurde das Modul DataAnalysis konzipiert. Abbildung 4.5: Flussdiagramm der Datenanalyse Hier sollte erst eine Liste aller extrahierten Daten angelegt werden. Im anschließenden Schritt wird über diese Liste iteriert und mit dem Unix-Kommando file <file> die Art der jeweiligen Datei herausgefunden. Handelt es sich um ein Bild im JPEG-Format, eine SQLite-Datenbank oder eine Datei im CSV- Format, wird entsprechend damit umgegangen. Trifft jedoch keiner der drei Fälle zu, wird die nächste Datei in der Liste behandelt. SQLite-Datenbanken werden in das CSV-Format übersetzt und in einem weiteren Unterordner des Analyseordners mit dem Namen Databases abgelegt, damit der forensische Leiter erkennt, dass es sich bei diesen Daten ursprünglich um SQLite-Datenbanken handelte. Die Originaldaten bleiben erhalten. Handelt es sich bei der Datei um ein JPEG-Bild, werden Geopositions- und Datumsdaten extrahiert und gesichert, um sie später visuell darzustellen.

34 KAPITEL 4. DESIGN 33 Abbildung 4.6: UML-Diagramm des DataAnalysis Package Schließlich wird in CSV-Daten nach bestimmten Pattern gesucht, wobei sich diese Pattern im aktuellen Stadium von A Spy lediglich auf Positionsdaten beschränken, die in Form von Koordinaten gespeichert sind. Für die Zukunft wären weitere Pattern denkbar, jedoch hängen diese stark vom forensischen Leiter ab, sodass hier keine weiteren implentiert wurden.

35 Kapitel 5 Implementierung In diesem Kapitel wird die Implementierung von A Spy anhand von kleinen Beispielen dargelegt. Dabei wird so vorgegangen, wie bei der eigentlichen Implementierung vorgegangen wurde. Es werden erst die einzelnen, in der Designphase identifizierten Module in ihrer Entstehung vorgestellt. 5.1 Datensammlung Bevor mit der Implementierung von A Spy begonnen wurde, musste zunächst A Spy Android an die in der Designphase identifizierten Anforderungen angepasst werden A Spy Android Die Implementierung von A Spy Android hat sich auf einige Erweiterungen beschränkt, da AFLogical, die App, auf der A Spy Android basiert, bereits alle erforderlichen Klassen, Methoden und Konzepte enthält. Um AFLogical für die Arbeit verwenden zu können, wurde die Erweiterung der bereits implementierten Content Provider wurde vorgenommen. Dabei wurde darauf geachtet, eine einheitliche Struktur beizubehalten, um die nachträgliche Erweiterung zu vereinfachen. Listing 5.1: Content Provider Initialisierung 1 private void initializebrowserproviders (){ 2 configuredproviders. add ( new BrowserHistoryProvider (" BrowserHistoryAndBookmarks ", Browser. BOOKMARKS_URI )); 3 configuredproviders. add ( new BrowserSearchProvider (" BrowserSearch ", Browser. SEARCHES_URI )); 4 } In Listing 5.1 wird beispielhaft die Implementierung der BrowserProvider dargestellt. Dabei bietet Android die Möglichkeit, über einen Aufruf der entsprechenden URI auf die zugehörige SQLite-Datenbank zuzugreifen. Letztlich gilt es diese SQLite-Datenbank auszulesen und in eine CSV-Datei zu schreiben, wobei dieser Teil bereits von viaforensics, den ursprünglichen Entwicklern von AFLogical, implementiert wurde und nicht gesondert implementiert werden 34

36 KAPITEL 5. IMPLEMENTIERUNG 35 musste. Das erste Modul, dass es nun zu implementieren galt, war die Datensammlung. Da in der Designphase entschieden wurde, die Datensammlung mit Hilfe des Programms adb zu erledigen, war die erste Frage, mit welchen Mitteln dieses Tool gesteuert werden sollte. Dazu wurde die in Kapitel vorgestellte Hilfsklasse entwickelt Ausführen von externen Programmen Hierbei wurde auf das von Java bereitgestellte Konstrukt des ProcessManagers zurückgegriffen. Dabei kann ein Kommando in einem separaten Prozess ausgeführt werden. Da sich abzeichnete, dass weitere Hilfsmittel benötigt werden, wurde das Package Utils konzipiert. Hier sollen sich alle Teile befinden, die nicht direkt mit der Datensammlung oder Datenverarbeitung in Verbindung stehen, sondern eher Hilfsklassen mit nützlichen Methoden enthalten. Zu diesem Zeitpunkt soll jedoch nur die Klasse betrachtet werden, die für das Ausführen von adb notwendig und zuständig ist. Im Laufe der Entwicklung wurde festgestellt, dass es zu Synchronisierungsproblemen kommen kann. Die Ursache konnte relativ schnell identifiziert und lokalisiert werden. Es wurde festgestellt, dass sich die beiden Streams OutputStream, welcher für erfolgreiche Ausgaben zuständig ist und der ErrorStream, der für fehlgeschlagene Ausgaben erforderlich ist, bei langen Aufgaben gegenseitig blockieren können. Das geschieht insbesondere, wenn bei einer erfolgreichen Ausgabe der OutputStream geöffnet ist und anschließend ein Fehler auftritt. Das aufgerufene Programm wartet nun auf den ErrorStream, der jedoch nicht zur Verfügung steht, da bereits der OutpurStream geöffnet ist. Um diesem Problem entgegenzuwirken, werden die beiden Streams in eigenen Threads gestartet, sodass beide zur gleichen Zeit bedient werden können. Listing 5.2: Ausführen externer Programme 1 public ExecCommandUtil ( String [] command ) { 2 try { 3 p = Runtime. getruntime (). exec ( command ); 4 new OutputReader (). start (); 5 new ErrorReader (). start (); 6 p. waitfor (); 7 8 } catch ( IOException e) { 9 e. printstacktrace (); 10 } catch ( InterruptedException e) { 11 e. printstacktrace (); 12 } 13 } public String getoutput (){ 16 return output ; 17 } public String geterror (){ 20 return error ; 21 } In Listing 5.2 sieht man nun, dass das ExecCommandUtil ein Array aus Strings benötigt. Dabei steht in diesem Array das Kommando, das in einem separaten Prozess ausgeführt werden soll. Daraufhin (Zeile 3) wird ein neuer

37 KAPITEL 5. IMPLEMENTIERUNG 36 Prozess p gestartet. Die Methode exec(command) führt nun das Kommando aus. Anschließend werden sowohl der OutputReader als auch der ErrorReader gestartet. Beide laufen in separaten Threads, sodass der Outputreader nicht vom ErrorReader oder umgekehrt gestört werden kann. Eingebettet ist das Ganze in einen try-catch-block, da sowohl eine IOException als auch eine InterruptException auftreten kann. Schließlich können die Ergebnisse, die entweder in output oder error stehen, mit dem Methoden getoutput() beziehungsweise geterror() abgefragt werden. Listing 5.3: Beispiel eines Readers 1 private class OutputReader extends Thread { 2 public void run () { 3 try { 4 StringBuilder readbuffer ; 5 readbuffer = new StringBuilder (); 6 BufferedReader isr = new BufferedReader ( new InputStreamReader (p. getinputstream ())); 7 String buff ; 8 while (( buff = isr. readline ())!= null ) { 9 readbuffer. append ( buff ); 10 output = readbuffer. tostring (); 11 } 12 } catch ( IOException e) { 13 e. printstacktrace (); 14 } 15 } 16 } Im obigen Listing 5.3 soll als Beispiel für die beiden Reader der OutputReader veranschaulicht werden. Wird der Thread des Readers gestartet, wird der InputStream ausgelesen und in einen BufferedReader geschrieben. Dieser wird anschließend zeilenweise ausgelesen und in den output-string geschrieben. Analog wird mit dem ErrorStream verfahren, wobei anstatt des InputStreams der ErrorStream ausgelesen wird DataCollection Package Nachdem adb nun ausgeführt werden konnte, wurde mit der Implementierung des eigentlichen Moduls für die Datensammlung begonnen. Alle dafür erforderlichen Klassen sind im datacollection-package zusammengefasst. Dabei wurde während der Designphase festgelegt erst ein Abbild der im Gerät befindlichen Speicher (intern und extern) anzufertigen. Anschließend sollte A Spy Android installiert und ausgeführt werden. Die Daten, die dabei gesammelt wurden, werden anschließend, ebenfalls mit Hilfe von adb, extrahiert. Extraktion der beiden Speicher Um nun die Daten des internen als auch externen Speichers 1 zu extrahieren, muss unterschieden werden, ob auf dem Gerät der Rootzugang vorliegt. Ist das der Fall, muss adb im Rootmodus neu gestartet werden, damit sämtliche Befehle mit Rootrechten auf dem Gerät ausgeführt werden und auch Daten mit gesammelt werden, die sich in, unter normalen Umständen, beschränkten Bereichen befinden. Beispielhaft sei hier der Ordner data/data/ genannt, der 1 Zur Unterscheidung von internem und externem Speicher siehe Kapitel 4.1.2

38 KAPITEL 5. IMPLEMENTIERUNG 37 alle appspezifischen Daten enthält. Dieser Ordner ist normalerweise von der Androidsandbox geschützt. ADB und Rootrechte Um zu unterscheiden, ob es sich bei dem zu analysierenden Gerät um ein gerootetes handelt oder nicht, wird versucht einen Befehl mit Rootrechten auszuführen. Listing 5.4: Überprüfung der angegebenen Parameter 1 private void validateadbandpermissions (){ 2 System. out. println (" COLLECTION : CHECKING PERMISSION "); 3 4 String [] cmd = {adb, " shell ", "su -c ls root "}; 5 6 BufferedReader reader = InformationCollectionHelper. runcommandreader ( cmd ); 7 StringBuilder builder = new StringBuilder (); 8 9 String line ; 10 try { 11 while (( line = reader. readline ())!= null ) { 12 builder. append ( line ). append ("\n"); 13 } 14 } catch ( IOException e) { 15 e. printstacktrace (); 16 } 17 String inputfromdevice = builder. tostring (); if( inputfromdevice. isempty ()){ 20 ErrorPopUp. infobox (" Cannot run adb. Check Path : \"" + adb + "\"", " Select adb "); 21 } 22 if( inputfromdevice. contains (" su: permission denied ") inputfromdevice. contains (" su: not found ")){ 23 rooted = false ; 24 } else if ( inputfromdevice. contains (" error : device not found ")){ 25 ErrorPopUp. infobox ("USB - Debugging is not enabled. Please turn it on or mount your device as mass - storage.", " Let s Go"); 26 rooted = false ; 27 } else { 28 rooted = true ; 29 } 30 } Dazu wurde die Methode validateadbandpermissions() geschrieben, die in Listing 5.4 abgebildet ist. Den Befehl, der für den Check ausgeführt wird, sieht man in Zeile 4. Dabei wird versucht, das Kommando ls mit Rootrechten auszuführen. Der Befehl wird jedoch nicht mit Hilfe der vorgestellten Klasse ExecCommandUtil ausgeführt, sondern mit einer angepassten Version, die jedoch im Wesentlichen gleich arbeitet. Der einzige Unterschied besteht darin, dass hier der BufferedReader mit dem OutputStream zurückgegeben wird, um in den folgenden Zeilen eine einfachere Auswertung durchführen zu können. In den Zeilen 19 bis 29 werden Abfragen bezüglich des Resultates des ausgeführten Kommandos getätigt. Der erste Fall überprüft, ob adb überhaupt gestartet werden konnte. Ist das nicht der Fall, wird eine Meldung angezeigt, die den Nutzer auffordert, den angegeben Pfad zu überprüfen. Die zweite Abfrage überprüft, ob das Resultat eines der beiden Strings su: permission denied oder su: not found enthält. Eine dieser beiden Meldungen wird von Android zurückgeliefert, wenn zu dem betreffenden Gerät kein Rootzugang möglich ist. Ist das der Fall, werden die anschließenden Teile von A Spy ohne Rootrechte ausgeführt.

39 KAPITEL 5. IMPLEMENTIERUNG 38 Der letzte Fall bedeutet, dass das Gerät nicht angeschlossen ist oder das USB-Debugging nicht eingeschaltet ist. Sollte das USB-Debugging nicht aktiviert sein, muss vom forensischen Leiter entschieden werden, ob dieses eingeschaltet werden soll oder nicht. Pull Data Nachdem nun festgestellt wurde, ob auf dem Android-Gerät Rootrechte vorliegen oder nicht, und ob alle Bedingungen erfüllt sind, werden die Daten extrahiert. Dafür wird der Befehl adb pull <source> <target> genutzt. Allerdings wird aus zwei Gründen nicht einfach der Rootordner / als <source> angegeben. Zum einen gibt es Probleme, da adb auch mit Rootrechten die Extraktion aller Daten verhindert. Desweiteren wurden einige Bereiche explizit ausgeschlossen. So hat beispielsweise der Ordner /dev/ keinerlei forensische Relevanz, da sich hier nur Hardwareteile des Gerätes befinden. Somit wird dieser Ordner bei der Extraktion der Daten nicht berücksichtig. Diese Entscheidung wurde im Laufe des Designs getroffen, da bei der Auswertung der im Rootordner befindlichen Ordner und Dateien festgestellt wurde, dass ein Nutzer keine Möglichkeit hat, hier eigene Daten und Dateien abzulegen. Eine weitere Ausnahme bilden SymLinks. Da diese lediglich einen Verweis auf eine Datei oder einen Ordner darstellen, wird die Datei oder der Ordner, auf den verwiesen wird, ohne hin extrahiert. Ist der <source> im adb pull Kommando ein SymLink, folgt adb diesem Verweis und extrahiert die Daten, die sich am Ende des SymLinks befinden. Somit würde man redundante Daten erhalten, würde man SymLinks nicht ignorieren. Listing 5.5: Erfassung aller Dateien und Ordner im Rootverzeichnis 1 String [] lsrootdircmd = {adb, " shell ", "ls", "-a", "-l", "/"}; Um oben genannten Problemen und Hinweisen entgegenzuwirken, wird zuerst das in Listing 5.5 dargestellte Kommando ausgeführt. Es bewirkt, dass alle im Rootordner / befindlichen Ordner und Dateien zurückgegeben werden. Durch den Parameter -a werden auch versteckte Dateien berücksichtigt. Außerdem wird mit dem Parameter -l eine ausführliche Liste angelegt, sodass unterschieden werden kann, ob es sich bei der jeweiligen Datei um eine tatsächliche Datei, einen Ordner oder um ein SymLink handelt. Hier wurde auf Unixkommandos zurückgegriffen, da Javakonstrukte wie File in Kombination mit adb nicht möglich sind. Listing 5.6: Verarbeitung der Dateien und Ordner 1 for ( int i = 0; i < lsarray. length ; i++) { 2 if ( lsarray [i]. startswith ("d")){ 3 lsarray [i] = lsarray [i]. replaceall (".*:[0-9][0-9] ", ""); 4 if ( lsarray [i]. contentequals (" sys ") lsarray [i]. contentequals (" proc ") lsarray [i]. contentequals (" dev ")){ 5 continue ; 6 } 7 File dir = new File ( defaultpath + lsarray [i]); 8 dir. mkdir (); 9 pullallcmd [2] = "/" + lsarray [i] + "/"; 10 pullallcmd [3] = defaultpath + lsarray [i]; 11 new ExecCommandUtil ( pullallcmd ); 12 } else if ( lsarray [i]. startswith ("l")){ 13 } else { 14 lsarray [i] = lsarray [i]. replaceall (".*:[0-9][0-9] ", ""); 15 pullallcmd [2] = "/" + lsarray [i];

40 KAPITEL 5. IMPLEMENTIERUNG pullallcmd [3] = defaultpath ; 17 new ExecCommandUtil ( pullallcmd ); 18 } 19 } Diese Unterscheidung sieht man in Listing 5.6. Dabei wird für jede gefundene Datei eine if-abfrage gestartet. Handelt es sich um einen der drei Ordner sys, proc oder dev, so werden diese ignoriert und der nächste Eintrag wird verarbeitet. Ist die betrachtete Datei jedoch ein Ordner ungleich der drei genannten, wird ein neues Kommando zusammengesetzt. Dieses Kommando bewirkt nun, dass der betrachtete Ordner mit dem adb pull Befehl von dem Android-Gerät extrahiert wird und in dem vom Nutzer angegeben Pfad abgelegt wird. Handelt es sich bei der betrachteten Datei um einen SymLink, wird dieser ignoriert. Der letzte Fall ist nun eine Datei, die weder ein Ordner noch ein SymLink ist. Diese wird einfach mit dem adb pull Befehl in dem Ordner abgelegt, der vom Nutzer angegeben wurde. Die Daten, die vom Android-Gerät auf die forensische Workstation übertragen werden, behalten ihre ursprüngliche Ordnerstruktur bei, sodass es sich um ein nahezu vollständiges Systemabbild des Gerätes handelt. Extraktion der Content Provider Daten Nachdem nun die Daten vom internen und externen Flash-Speicher auf die Workstation übertragen wurden, müssen die Daten, die von den Content Providern zur Verfügung gestellt werden, extrahiert werden. Installation von A Spy Android installiert werden. Zunächst muss jedoch A Spy Android Listing 5.7: Installation von A Spy Android 1 String apppath = " apk / a_spy - debug - unaligned. apk "; 2 3 String [] cmd = {adb, " install ", apppath }; 4 InformationCollectionHelper. runcommand ( cmd ); Dazu wird die App mitgeliefert und liegt im Ordner./apk. Die Installation erfolgt nun mit dem Kommando adb install apk/a spy-debug-unaligned.apk. Nachdem alle Content Provider Informationen gesammelt wurden, wird die App wieder deinstalliert. Dazu wird der in Listing 5.7 vorgestellte Befehl nur in dem Punkt install zu uninstall abgeändert. Der Rest erfolgt analog und wird daher nicht näher betrachtet. Starten von A Spy Android Nachdem A Spy Android auf dem Android- Gerät installiert wurde, muss die App gestartet werden. Dazu nutzt man ebenfalls das Programm adb. Listing 5.8: Starten von A Spy Android 1 String mainintent = " android. intent. action. MAIN "; 2 3 String extractdataactivity = " com. artur. android. aspy / com. artur. aspy. ExtractAllData "; 4

41 KAPITEL 5. IMPLEMENTIERUNG 40 5 String [] cmd = {adb, " shell ", "am start ", "-W","-a", mainintent, "-n", extractdataactivity }; Hier bedient man sich der Shell auf dem Android-Gerät. Diese wurde von Google um Kommandos erweitert, um von adb aus mit auf dem Gerät installierten Apps interagieren zu können. So bewirkt adb shell am start -n <activity>, dass die angegebene Activity gestartet wird. In diesem Fall handelt es sich um die in Zeile 3 des Listings 5.8 angegebene Activity. Diese ist zum Sammeln der Content Provider Daten erforderlich. Außerdem benötigt das Kommando einen Intent, der die App dazu veranlasst zu starten. Dazu wird hier der MainIntent verwendet, wie in Zeile 1 des Listings 5.8 gezeigt. Für die Angabe des Intents wird der Parameter -a verwendet. Desweiteren besitzt das Kommando am optionale Parameter, die hier verwendet wurden. Hier wird jedoch lediglich der Parameter -W benötigt, der bewirkt, dass mit der weiteren Ausführung gewartet werden soll, bis die App vollständig gestartet wurde. Übertragen der Daten und Entfernen des Ordners Die letzten Schritte beim Sammeln der Daten ist das Übertragen der Content Provider Daten auf die Workstation und das Entfernen des Ordners, der von A Spy Android angelegt wurde. Hier gibt es keinerlei Neuerungen zu den bereits vorgestellten Techniken. Daher sollen hier nur die Kommandos angegeben werden, die für die beiden Aktionen erforderlich sind. Zum einen ist das der Befehl adb pull /sdcard/captureddata/ folderpath, der die Informationen von den Content Providern, die im Ordner /sdcard/captureddata/ auf dem Gerät liegen, in den folderpath auf der Workstation überträgt, wobei folderpath der Ordner ist, der vom Nutzer festgelegt wurde. Zum anderen ist es das Kommando adb shell rm -r /sdcard/captureddata/. Damit wird der Ordner /sdcard/captureddata vom Gerät gelöscht, sodass es sich wieder im Ausgangszustand von vor der IT-forensischen Analyse befindet. 5.2 Datenverarbeitung DataAnalysis Package Nach der erfolgreichen Extraktion der Daten folgt die Implementierung des DataAnalysis Package. Hier sollen alle Klassen enthalten sein, die für die Verarbeitung der gesammelten Daten erforderlich sind. Beginn der Analyse Dabei ist die Klasse Analysis lediglich für die Erstellung einer Liste aller Dateien verantwortlich, die extrahiert wurden. Dazu wurde eine rekursive Methode getallfiles(curpath, filelist) geschrieben, die eine Datei in die filelist speichert, wenn es sich bei curpath um eine Datei handelt. Wenn es ein Ordner ist, wird die Methode getallfiles mit der aktuellen filelist und dem Pfad des neuen Ordners aufgerufen. Dadurch erhält man eine Liste, die sämtliche

42 KAPITEL 5. IMPLEMENTIERUNG 41 Dateien des Ordners enthält, den der Nutzer angegeben hat. Mit dieser Liste wird nun die Methode handlefiles aufgerufen, die so konzipiert wurde, um anhand der Dateiart zu entscheiden, wie damit verfahren werden soll. Um zu entscheiden, um welches Dateiformat es sich handelt, wird auf das unter unixoiden Systemen bekannte Programm file zurückgegriffen. Dazu wird das bereits vorgestellte ExecCommandUtil eingesetzt, mit dessen Hilfe das Tool file auf die aktuell betrachtete Datei angewendet wird. Listing 5.9: Verarbeitung gesammelter Daten 1 if ( output. tolowercase (). contains (" jpeg image data ")) { 2 System. out. println (" Found JPG : " + file. getname ()); 3 picswithgeodatalist. add ( new Picture ( file )); 4 } else if ( output. matches (".* SQLite.* database.*")) { 5 System. out. println (" Found SQL : " + file. getname ()); 6 HandleSQLite. handle ( file, workingpath + " Databases /"); 7 } else if ( output. tolowercase (). contains (" text ") && file. getname (). endswith (". csv ")) { 8 System. out. println (" Found CSV : " + file. getname ()); 9 csvlist. add ( file ); 10 } In Listing 5.9 wird diese Unterscheidung dargestellt. Dabei ist die Variable output vom Typ String, wobei darin das Resultat des file-aufrufes enthalten ist. Steht in output nun jpeg image data, handelt es sich um ein Bild im JPEG- Format. Somit wird dieses Bild einer speziellen Liste hinzugefügt, die nur Bilder im Format JPEG enthält. Ähnlich wird mit CSV-Dateien verfahren. Einen Unterschied bilden jedoch SQLite-Datenbanken. Da in der Designphase entschieden wurde SQLite-Datenbanken in CSV-Dateien zu übersetzen, werden diese in keiner Liste gespeichert, sondern über die Klasse HandleSQL in CSV-Dateien übersetzt. Dabei werden in diesem Schritt keine Daten der SQL-Datenbank verworfen. Vielmehr wird ein Dump jeder Datenbankdatei angelegt. Die entstandenen CSV-Dateien wiederum werden dann, wie ebenfalls in der Designphase entschieden, in einem speziellen Ordner mit dem Namen Databases gesichert HandlePictures Ein Dateiformat, das ausgewertet werden muss, sind Bilder im JPEG-Format. Dazu wurde das Objekt Picture entwickelt, um Bilddaten angemessen zu repräsentieren. Dabei haben Bildobjekte die Felder Coordinate für Geopositionskoordinaten, Dimension für die Bildgröße in Pixeln, Date für das Aufnahmedatum und File als Pfadangabe der reellen Datei. Um diese Daten aus einer Bilddatei auszulesen, wurde die Library metadata-extractor verwendet und die Klasse EXIFUtil konzipiert, die alle erforderlichen Methoden hat, die benötigten Metadaten wie Koordinaten oder Datum mit Hilfe der Library aus den Bildern auszulesen. Erscheinen in Zukunft weitere Metadaten aus Bildern als sinnvoll und erforderlich, bietet die Klasse EXIFUtil eine Schnittstelle, um diese Informationen auszulesen. Das Ziel ist nun, die Geopositionsdaten, die in Bildern gefunden wurden, auf einer Karte zu zeichnen und anhand des Aufnahmedatums zu sortieren.

43 KAPITEL 5. IMPLEMENTIERUNG 42 Für diese Anforderungen wurde die Klasse HandlePictures entwickelt, die die nötigen Methoden zum Sortieren und Plotten auf einer Karte enthält. Das Sortieren geschieht dabei mit Hilfe eines einfachen Vergleichs des Aufnahmedatums. Um nun die Koordinaten auf einer Karte einzuzeichnen, stellte sich die Frage nach einem geeigneten Anbieter von Kartenmaterial. Dabei wurde sich für das Kartenmaterial von OpenStreetMap entschieden, da dieses frei zur Verfügung steht. Außerdem bieten die Entwickler eine Java-Anbindung an, die mit Hilfe der Library JMapViewer erfolgt. Für die Darstellung und Verwaltung der einzuzeichnenden und eingezeichneten Koordinaten, wurde die Klasse MapsUserInterface im Package UserInterface entwickelt, wobei auf das Package später näher eingegangen wird. Im aktuellen Entwicklungsstadium befindet sich in der Klasse lediglich eine Methode, um Koordinaten in Form von Punkten einzuzeichnen. Für die spätere Entwicklung können hier jedoch weitere Methoden hinzugefügt werden, beispielsweise wäre eine Routenerstellung denkbar HandleSQL Da in den Vorbereitungen zu A Spy SQLite-Datenbanken als wichtige Datenquelle identifiziert wurden, wurde in der Designphase entschieden, gefundene SQLite-Dateien in Dateien vom CSV-Format zu übersetzen. Um Datenbanken in Java lesen zu können, steht das Konzept von JDBC zur Verfügung. Hierbei handelt es sich um eine Möglichkeit, aus Java heraus mit Datenbanken zu interagieren. Dazu wird jedoch, je nach Datenbankart, ein Treiber benötigt. Für A Spy wurde sich für den Treiber sqlite-jdbc m1 entschieden, da dieser Treiber weit verbreitet ist und als zuverlässig gilt. Für die Anbindung der Datenbanken und zur Ausführung von SQLite-Queries wurde die Klasse SQLiteUtil entwickelt. Hier sind alle relevanten Schritte zur Ermittlung der Tabellennamen und der Inhalte der Tabellen enthalten. Desweiteren wurde die Klasse HandleSQL geschrieben, die dafür verantwortlich ist, die gefundenen SQLite-Datenbanken zu verarbeiten. Dabei sendet diese Klasse die Queries für jede Datei an das SQLiteUtil und legt für jede Tabelle eine eigene CSV-Datei an. Die CSV-Dateien, die für eine Datenbank erstellt wurden, werden in einem gemeinsamen Ordner abgelegt, der den gleichen Namen hat wie die Datenbankdatei. Problematisch war, dass mit unbekannten Datenbanken gearbeitet wird. Somit ist nicht bekannt, welche und wie viele Datenbanken in einer SQLite-Datei sind. Außerdem sind die Tabellen in den Datenbanken unbekannt. Um nun die Tabellennamen einer Datenbankdatei zu ermitteln, wird der SQLite-Befehl SELECT name FROM sqlite master WHERE type= table mittels JDBC ausgeführt. Für jeden Tabellennamen, der zurückgeliefert wird, wird nun die entsprechende CSV-Datei angelegt HandleCSV Der abschließende Schritt ist nun die Verarbeitung der gefundenen und angelegten CSV-Dateien.

44 KAPITEL 5. IMPLEMENTIERUNG 43 Um mit diesem Dateiformat umzugehen, wurde auf die beiden Libraries opencsv-2.3 und xmpcore zurückgegriffen, wobei letztere lediglich für die OpenCSV- Library erforderlich ist und von A Spy nicht direkt verwendet wird. Für die Verarbeitung von CSV-Dateien wurde schließlich die Klasse HandleCSV entwickelt. In der Designphase wurde entschieden, in diesem Entwicklungsstadium lediglich Geopositionsdaten zu betrachten. Allerdings wurde die Klasse HandleCSV so konzipiert, dass diese Klasse als Schnittstelle für weitere Fälle dient. Somit können hier in Zukunft Pattern definiert werden, auf die in CSV- Dateien geachtet werden soll. Auch eine Implementierung zu Behandlung der neu definierten Fälle geschieht hier. Listing 5.10: Suchen von Geopositionsinformationen in CSV-Dateien 1 if ( headerline [i]. contains (" latitude ") && headerline [i+1]. contains (" longitude ")) Um nun Geopositionsdaten aus CSV-Dateien auszulesen, wird zunächst eine Datei mit Hilfe der OpenCSV-Library eingebunden. In dieser wird nun in der Kopfzeile nach bestimmten Pattern gesucht (siehe Listing 5.10). Handelt es sich um Positionsdaten in Form von Koordinaten, sind diese in den meisten Fällen in Form von latitude und longitude 2 gespeichert. Werden diese Spalten in der CSV-Datei gefunden, wird für jede Zeile der CSV-Datei eine neue Koordinate angelegt, die wiederum, wie Geopositionsdaten bei Bilddaten, in die Karte eingezeichnet werden. Schließlich werden sämtliche CSV-Dateien, wie im Design festgelegt, in tabellarischer Form in der graphischen Oberfläche von A Spy dargestellt. 5.3 Graphische Benutzeroberfläche In der Designphase wurde entschieden, dass A Spy um eine graphische Benutzeroberfläche verfügen soll, um zum einen die Auswertung übersichtlicher zu gestalten und zum anderen die Resultate und Ergebnisse visuell darzustellen. So soll die anschließenden manuelle Auswertung vereinfacht werden. Die Implementierung und Entwicklung der graphischen Benutzeroberfläche erfolgte mit Hilfe des GUI Designer der Entwicklungsumgebung IntelliJ IDEA, da bei der Erstellung einer GUI ein direktes visuelles Feedback von großer Bedeutung ist. Somit war der Aufwand beim Programmieren verhältnismäßig gering, sodass hier auf eine detaillierte Vorstellung der Implementierung des UserInterface- Package verzichtet wird Darstellung der Daten Da eine vollautomatisierte Datenkorrelation keine triviale Aufgabe ist, wurde im Rahmen dieser Arbeit darauf verzichtet. Wie soll ein Computer beispielsweise entscheiden, ob ein Bild, welches sich auf dem Gerät befindet, tatsächlich von diesem Gerät aufgenommen wurde, wenn keine Informationen in der EXIF- Erweiterung enthalten sind? Vielmehr soll die manuelle Analyse der gewonnenen 2 Bei latitude und longitude handelt es sich um die englische Bezeichnung von Breitengrad und Längengrad

45 KAPITEL 5. IMPLEMENTIERUNG 44 Daten erleichtert werden, indem diese möglichst adäquat dargestellt und visualisiert werden. Dabei wurden frühzeitig einige Dinge festgelegt. So sollten Geopositionsdaten auf einer Karte aufgezeigt werden. Kontakt- und andere personenbezogenen Informationen sollen übersichtlich und gebündelt an einem Ort dargestellt werden. Dateien sollten leicht zugänglich sein. Abbildung 5.1: Kartenansicht von A Spy In Abbildung 5.1 sieht man A Spy nach einer erfolgreichen Analyse. Auf der linken Seite sieht man zu Beginn einen kleinen, erklärenden Text. Dieser beschreibt, wie das Tool zu nutzen ist. Darunter sieht man zwei Button. Mit dem Ersten wählt man den Ordner, in dem die Analyse stattfinden soll, mit dem Zweiten muss das Programm adb ausgewählt werden. Nun drückt man auf Let s Go! und wartet auf das Ergebnis. In der Mitte des Programms sieht man eine Karte, auf der gefundene Positionsdaten angezeigt werden. Dabei werden diese durchnummeriert und mit Datum und Uhrzeit versehen. Auf der Karte kann nun gezoomt werden; auch der Bildausschnitt kann geändert werden. Anhand der Nummerierung kann auf der rechten Seite von A Spy die entsprechende Datei gewählt werden. Handelt es sich bei der Datei um ein Bild, wird dieses links unten dargestellt. Außerdem kann auf der rechten Seite der Pfad der Datei abgelesen werden, um sie zu öffnen.

46 KAPITEL 5. IMPLEMENTIERUNG 45 Abbildung 5.2: Visuelle Repräsentation der Datenbanken Klickt man nun oben auf den Reiter Other Info, sieht man oben links eine Auflistung der Dateien, die von den Content Providern abgefragt wurden (Abb. 5.2). Wählt man eine dieser Dateien aus, wird sie in der unteren Hälfte in Form einer Tabelle angezeigt. Auf der oberen, rechten Seite sieht man eine Auflistung der gefundenen Datenbanken. Hier gilt ebenfalls: wird eine dieser Datenbanken ausgewählt, erscheint sie in tabellarischer Form in der unteren Hälfte. Abbildung 5.3: Visuelle Repräsentation der extrahierten Daten Schließlich findet man hinter dem Reiter Collected Files eine Auflistung aller gesammelten Daten (Abb. 5.3). Dabei wird die Ordnerstruktur in einem Dateibaum dargestellt. Wählt man eine Datei mit doppeltem Mausklick aus, öffnet sich diese in einem separatem, für das jeweilige Dateiformat spezifischem Programm. So kann die manuelle Analyse der Daten vollständig in A Spy stattfinden, ohne dass ein Wechseln in die jeweiligen Ordner notwenig ist.

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

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

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

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

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

Vodafone Cloud. Einfach A1. A1.net/cloud

Vodafone Cloud. Einfach A1. A1.net/cloud Einfach A1. A1.net/cloud Ihr sicherer Online-Speicher für Ihre wichtigsten Daten auf Handy und PC Die Vodafone Cloud ist Ihr sicherer Online-Speicher für Ihre Bilder, Videos, Musik und andere Daten. Der

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

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

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

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

PC-Schule für Senioren. Windows Phone. für Einsteiger

PC-Schule für Senioren. Windows Phone. für Einsteiger PC-Schule für Senioren Windows Phone für Einsteiger INHALT 7 IHR WINDOWS PHONE 7 Aus grauer Vorzeit: Die Historie 8 Windows Phone und die Konkurrenz 11 Los geht s: Das Microsoft-Konto 15 Ein Gang um das

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

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

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

Fachschule für Heilerziehungspflege Bamberg

Fachschule für Heilerziehungspflege Bamberg Fachschule für Heilerziehungspflege Bamberg BSI für Bürger Gruppe 2 Quellen: www.bsi fuer buerger.de www.wikipedia.de Verschlüsselung von Daten bei Smartphones: Für Smartphones, Tablets und ähnliche Geräte

Mehr

5.2 Analyse des File Slack

5.2 Analyse des File Slack 5.2 Analyse des File Slack 109 Es gibt an vielen Stellen eines Betriebssystems Fundorte für Gebrauchsspuren oder Hinweise auf Auffälligkeiten. Diese Stellen sollten grundsätzlich aufgesucht und analysiert

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

Installationsanleitung für den Online-Backup Client

Installationsanleitung für den Online-Backup Client Installationsanleitung für den Online-Backup Client Inhalt Download und Installation... 2 Login... 4 Konfiguration... 5 Erste Vollsicherung ausführen... 7 Webinterface... 7 FAQ Bitte beachten sie folgende

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

Bewusster Umgang mit Smartphones

Bewusster Umgang mit Smartphones Bewusster Umgang mit Smartphones Komponenten Hardware OS-Prozessor, Baseband-Prozessor Sensoren Kamera, Mikrofon, GPS, Gyroskop, Kompass,... Netzwerk: WLAN-Adapter, NFC, Bluetooth,... Software Betriebssystem

Mehr

Android, ios und Windows Phone dominieren zurzeit den Markt für mobile Firmware, wesentlich kleiner ist der Marktanteil von Blackberry OS10.

Android, ios und Windows Phone dominieren zurzeit den Markt für mobile Firmware, wesentlich kleiner ist der Marktanteil von Blackberry OS10. Zahlen und Fakten. Firmware Mit Firmware wird bei mobilen Endgeräten der Anteil des Betriebssystems bezeichnet, der auf die Hardware in dem Gerät angepasst ist und mit dem Gerät durch Laden in einen Flash-Speicher

Mehr

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Windows Client Management AG Alte Haslenstrasse 5 CH-9053 Teufen wincm.ch 1 Quick Install - Scripting Framework Workplace...3

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

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

LUSC Workshopweekend 2008. Verschlüsselung mit Truecrypt

LUSC Workshopweekend 2008. Verschlüsselung mit Truecrypt LUSC Workshopweekend 2008 Verschlüsselung mit Truecrypt Zusammenfassung Teil 1 Was ist Truecrypt? Warum Truecrypt? Was macht die Software? Verschiedene Varianten Anwendungsmöglichkeiten Gundlagen 1, 2

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

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

EDV-Service-Germany. Handy schützen

EDV-Service-Germany. Handy schützen Handy schützen Um sein Handy zu schützen muß man nicht unbedingt viel Geld investieren. Vieles geht schon mit den mitgelieferten Bordmitteln des Betriebssystems. Da viele Menschen, gerade die jüngeren,

Mehr

Fedora 14 Linux. Microsoft Windows

Fedora 14 Linux. Microsoft Windows Fedora 14 Linux als virtuelle Maschine in Microsoft Windows installieren und betreiben Ersteller: Jürgen Neubert E Mail: juergen@ntnb.eu Hinweise Die von der Fachgruppe Spektroskopie bereitgestellte virtuelle

Mehr

icloud Kapitel Apples icloud-dienst wurde bereits in vorangegangenen in diesem Abschnitt wollen wir uns dem Service nun im Detail widmen.

icloud Kapitel Apples icloud-dienst wurde bereits in vorangegangenen in diesem Abschnitt wollen wir uns dem Service nun im Detail widmen. Kapitel 6 Apples icloud-dienst wurde bereits in vorangegangenen Kapiteln mehrfach angesprochen, in diesem Abschnitt wollen wir uns dem Service nun im Detail widmen. um einen Dienst zur Synchronisation

Mehr

Leitfaden zur Installation von BitByters.Backup

Leitfaden zur Installation von BitByters.Backup Leitfaden zur Installation von BitByters.Backup Der BitByters.Backup - DASIService ist ein Tool mit dem Sie Ihre Datensicherung organisieren können. Es ist nicht nur ein reines Online- Sicherungstool,

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

Systemvoraussetzungen und Installation

Systemvoraussetzungen und Installation Systemvoraussetzungen und Installation Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 2 2. Einzelarbeitsplatzinstallation... 3 3. Referenz: Client/Server-Installation... 5 3.1. Variante A:

Mehr

KEEPASS PLUGIN - BENUTZERHANDBUCH

KEEPASS PLUGIN - BENUTZERHANDBUCH Zentrum für sichere Informationstechnologie Austria Secure Information Technology Center Austria A-1030 Wien, Seidlgasse 22 / 9 Tel.: (+43 1) 503 19 63 0 Fax: (+43 1) 503 19 63 66 A-8010 Graz, Inffeldgasse

Mehr

IB-AC511 Handbuch - Deutsch - V. 1.0

IB-AC511 Handbuch - Deutsch - V. 1.0 IB-AC511 Handbuch - Deutsch - V. 1.0 Inhalt Content Einleitung... 2 Schnellstart... 2 Hardware Einstellungen... 2 Android Shadow ToolBar... 6 Android Shadow Funktionen... 7 1.Kabelverbindung zum Laden...

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

Hardware- und Software-Anforderungen IBeeS.ERP

Hardware- und Software-Anforderungen IBeeS.ERP Hardware- und Software-Anforderungen IBeeS.ERP IBeeS GmbH Stand 08.2015 www.ibees.de Seite 1 von 8 Inhalt 1 Hardware-Anforderungen für eine IBeeS.ERP - Applikation... 3 1.1 Server... 3 1.1.1 Allgemeines

Mehr

Linux Arbeitsspeicheranalyse

Linux Arbeitsspeicheranalyse Linux Arbeitsspeicheranalyse 19. DFN Cert Workshop Peter Schulik, Jan Göbel, Thomas Schreck Agenda 1. Warum ist Speicheranalyse unter Linux wichtig? 2. Speicherakquise 3. Speicheranalyse 4. Volatility

Mehr

Acronis Universal Restore

Acronis Universal Restore Acronis Universal Restore BENUTZERANLEITUNG Inhaltsverzeichnis 1 Was ist Acronis Universal Restore?...3 2 Acronis Universal Restore installieren...3 3 Bootfähige Medien erstellen...3 4 Acronis Universal

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

Installationsanleitung

Installationsanleitung Installationsanleitung http:// www.pcinspector.de Verzichtserklärung Wir haben unser Bestes getan um sicherzustellen, dass die aufgeführten Installationsanweisungen in korrekter Weise wiedergegeben wurden

Mehr

Analyse der Verschlüsselung von App- Daten unter ios 7

Analyse der Verschlüsselung von App- Daten unter ios 7 Analyse der Verschlüsselung von App- Daten unter ios 7 Version 1.0 Dokumentenhistorie: Version Datum Autor Co-Autor 1.0 16.12.2013 ASC - 1.0 16.12.2013 - CD Version 1.0 cirosec GmbH 2013 Seite 2 von 11

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

Antiforensik auf mobilen Endgeräten

Antiforensik auf mobilen Endgeräten Antiforensik auf mobilen Endgeräten Stefan Lambertz Betreuer: Prof. Dr. Marko Schuba FH AACHEN UNIVERSITY OF APPLIED SCIENCES Antiforensik auf Mobilen Endgeräten Stefan Lambertz 1 Übersicht Warum Antiforensik?

Mehr

THEMA: CLOUD SPEICHER

THEMA: CLOUD SPEICHER NEWSLETTER 03 / 2013 THEMA: CLOUD SPEICHER Thomas Gradinger TGSB IT Schulung & Beratung Hirzbacher Weg 3 D-35410 Hungen FON: +49 (0)6402 / 504508 FAX: +49 (0)6402 / 504509 E-MAIL: info@tgsb.de INTERNET:

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

PARAGON SYSTEM UPGRADE UTILITIES

PARAGON SYSTEM UPGRADE UTILITIES PARAGON SYSTEM UPGRADE UTILITIES VIRTUALISIERUNG EINES SYSTEMS AUS ZUVOR ERSTELLTER SICHERUNG 1. Virtualisierung eines Systems aus zuvor erstellter Sicherung... 2 2. Sicherung in eine virtuelle Festplatte

Mehr

Avira Secure Backup INSTALLATIONSANLEITUNG. Kurzanleitung

Avira Secure Backup INSTALLATIONSANLEITUNG. Kurzanleitung Avira Secure Backup INSTALLATIONSANLEITUNG Kurzanleitung Inhaltsverzeichnis 1. Einführung... 3 2. Systemanforderungen... 3 2.1 Windows...3 2.2 Mac...4 2.3 ios (iphone, ipad und ipod touch)...4 3. Avira

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

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Verschlüsselungstool DATUSCodierung

Verschlüsselungstool DATUSCodierung Verschlüsselungstool DATUSCodierung Benutzerhandbuch Stand: Januar 2014 Inhalt Verschlüsselungstool DATUSCodierung... 1 Inhalt... 2 Release Notes... 3 Technische Details... 3 Dateien im Lieferumfang...

Mehr

Vista Tuning für Anfänger

Vista Tuning für Anfänger Vista Tuning für Anfänger [ebook] Da mir mein Windows Vista trotz ausreichender Hardware zu langsam geworden ist, habe ich mich mit dem Thema Vista Tuning befasst. Herausgekommen ist das Vista Tuning für

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

2. Word-Dokumente verwalten

2. Word-Dokumente verwalten 2. Word-Dokumente verwalten In dieser Lektion lernen Sie... Word-Dokumente speichern und öffnen Neue Dokumente erstellen Dateiformate Was Sie für diese Lektion wissen sollten: Die Arbeitsumgebung von Word

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

Erstellen einer Wiederherstellungskopie

Erstellen einer Wiederherstellungskopie 21 Sollten Sie Probleme mit Ihrem Computer haben und Sie keine Hilfe in den FAQs (oft gestellte Fragen) (siehe seite 63) finden können, können Sie den Computer wiederherstellen - d. h. ihn in einen früheren

Mehr

Acronis TrueImage (Version 7.0) Benutzerführung. genutzte Quelle: http://www.acronis.de / Hilfedatei zum Programm Acronis TrueImage Version 7.

Acronis TrueImage (Version 7.0) Benutzerführung. genutzte Quelle: http://www.acronis.de / Hilfedatei zum Programm Acronis TrueImage Version 7. Hier finden Sie von der Firma GriCom Wilhelmshaven eine, um ein Backup Ihres Computers / Ihrer Festplatten zu erstellen und dieses Backup bei Bedarf zur Wiederherstellung zu nutzen. Diese Bedienerführung

Mehr

DNS-327L SoHo Cloud ShareCenter Network Attached Storage. Verkaufshilfe

DNS-327L SoHo Cloud ShareCenter Network Attached Storage. Verkaufshilfe DNS-327L SoHo Cloud ShareCenter Network Attached Storage Verkaufshilfe Produktfeatures Das DNS-327L SoHo Cloud ShareCenter ist eine benutzerfreundliche, leistungsfähige und vielseitige NAS-Lösung, die

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

Samsung Drive Manager-FAQs

Samsung Drive Manager-FAQs Samsung Drive Manager-FAQs Installation F: Meine externe Samsung-Festplatte ist angeschlossen, aber nichts passiert. A: Ü berprüfen Sie die USB-Kabelverbindung. Wenn Ihre externe Samsung-Festplatte richtig

Mehr

PARAGON Encrypted Disk

PARAGON Encrypted Disk PARAGON Encrypted Disk Anwenderhandbuch Paragon Technologie, Systemprogrammierung GmbH Copyright Paragon Technologie GmbH Herausgegeben von Paragon Technologie GmbH, Systemprogrammierung Pearl-Str. 1 D-79426

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

Anforderungskatalog. zur Bewertung und Zertifizierung mobiler Apps: Check your App / Datenschutz. Version 1.5 Stand 5.

Anforderungskatalog. zur Bewertung und Zertifizierung mobiler Apps: Check your App / Datenschutz. Version 1.5 Stand 5. Anforderungskatalog zur Bewertung und Zertifizierung mobiler Apps: Check your App / Datenschutz Version 1.5 Stand 5. September 2013 Der Anforderungskatalog nebst Anlagen und der entsprechende Inhalt sind

Mehr

Leitfaden zur Installation von Bitbyters.WinShutdown

Leitfaden zur Installation von Bitbyters.WinShutdown Leitfaden zur Installation von Bitbyters.WinShutdown für Windows 32 Bit 98/NT/2000/XP/2003/2008 Der BitByters.WinShutDown ist ein Tool mit dem Sie Programme beim Herunterfahren Ihres Systems ausführen

Mehr

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung 2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer Beitrag von Peter Küsters Formen des Datentransfers bei der Erfassung von Websites Im folgenden werden Methoden und Software zur Erfassung vorgestellt.

Mehr

MobiDM - App - Handbuch für Android. Diese Kurzanleitung beschreibt die Installation und Nutzung der MobiDM-App für Android. Version: x.

MobiDM - App - Handbuch für Android. Diese Kurzanleitung beschreibt die Installation und Nutzung der MobiDM-App für Android. Version: x. MobiDM - App - Handbuch für Android Diese Kurzanleitung beschreibt die Installation und Nutzung der MobiDM-App für Android Version: x.x MobiDM-App - Handbuch für Android Seite 1 Inhalt 1. WILLKOMMEN BEI

Mehr

Mobile Device Management

Mobile Device Management Mobile Device Management Ein Überblick über die neue Herausforderung in der IT Mobile Device Management Seite 1 von 6 Was ist Mobile Device Management? Mobiles Arbeiten gewinnt in Unternehmen zunehmend

Mehr

Orion. Benutzerhanduch. Festplattengehäuse für 3.5 Festplatten. (Deutsch)

Orion. Benutzerhanduch. Festplattengehäuse für 3.5 Festplatten. (Deutsch) Festplattengehäuse für 3.5 Festplatten Benutzerhanduch (Deutsch) v1.0 October 18, 2006 DE Inhaltsverzeichnis KAPITEL 1 - EINLEITUNG 1 SYMBOLERKLÄRUNG 1 DER ORION 1 ERHÄLTLICHE SCHNITTSTELLEN 1 LIEFERUMFANG

Mehr

Smarte Phone-Strategie

Smarte Phone-Strategie Seite 1 / 5 Das mobile WEB.DE Smarte Phone-Strategie Als Jan Oetjen im Oktober 2008 im 1&1 Konzern das Ruder der Portalmarke WEB.DE übernahm, war der Weg ins mobile Internet bereits ins Auge gefasst. Schon

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

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

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

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

Samsung Data Migration v2.7 Einführung und Installationsanleitung

Samsung Data Migration v2.7 Einführung und Installationsanleitung Samsung Data Migration v2.7 Einführung und Installationsanleitung 2014.07 (Rev 2.7.) Haftungsausschluss SAMSUNG ELECTRONICS BEHÄLT SICH DAS RECHT VOR, PRODUKTE, INFORMATIONEN UND SPEZIFIKATIONEN OHNE ANKÜNDIGUNG

Mehr

Installation und Aktivierung von Norton Mobile Security Android

Installation und Aktivierung von Norton Mobile Security Android Installation und Aktivierung von Norton Mobile Security Android Sie haben sich für die Software Norton Mobile Security Android entschieden. So installieren und aktivieren Sie Norton Mobile Security Android

Mehr

cnlab - Mobile Security

cnlab - Mobile Security IT-Ermittler Tagung ostpol Herbst 2014 cnlab - Mobile Security ios, Android Chur, 25. Christian Birchler, René Vogt Folien: www.cnlab.ch Publikationen Tagung ostpol Agenda Vorstellung cnlab Mobile Security

Mehr

Handbuch Version 1.02 (August 2010)

Handbuch Version 1.02 (August 2010) Handbuch Version 1.02 (August 2010) Seite 1/27 Inhaltsverzeichnis 1. Einleitung 1.1. Begrüßung 03 1.2. Was ist PixelX Backup FREE / PRO 03 1.3. Warum sollten Backups mittels einer Software erstellt werden?

Mehr

KURZANLEITUNG CLOUD BLOCK STORAGE

KURZANLEITUNG CLOUD BLOCK STORAGE KURZANLEITUNG CLOUD BLOCK STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung......Seite 03 2. Anlegen eines dauerhaften Block Storage...Seite 04 3. Hinzufügen von Block Storage

Mehr

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Einrichtung des Systems...Seite 04 3. Erzeugen eines Backup-Skripts...Seite

Mehr

Migration in die Cloud Migration in fünf Schritten

Migration in die Cloud Migration in fünf Schritten Migration in die Cloud Migration in fünf Schritten Inhaltsverzeichnis Einleitung...3 Gestaltung Ihres virtuellen Rechenzentrums...3 Überprüfung Ihrer vorhandenen Umgebung...4 Aufbau Ihres virtuellen Rechenzentrums...5

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

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

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein Einleitung Memeo Instant Backup ist eine einfache Backup-Lösung für eine komplexe digitale Welt. Durch automatisch und fortlaufende Sicherung Ihrer wertvollen Dateien auf Ihrem Laufwerk C:, schützt Memeo

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

Heterogenes Speichermanagement mit V:DRIVE

Heterogenes Speichermanagement mit V:DRIVE Heterogenes Speichermanagement mit V:DRIVE V:DRIVE - Grundlage eines effizienten Speichermanagements Die Datenexplosion verlangt nach innovativem Speichermanagement Moderne Businessprozesse verlangen auf

Mehr

Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2

Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2 Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2 Basis: HiScout 2.5 Datum: 17.06.2015 14:05 Autor(en): HiScout GmbH Version: 1.1 Status: Freigegeben Dieses Dokument beinhaltet 13 Seiten.

Mehr

S Leseprobe Kapitel 24 5 6

S Leseprobe Kapitel 24 5 6 S Leseprobe Kapitel 24 5 6 292 Der Speicher 24. Der Speicher Schon vor Jahren hat sich die Erweiterbarkeit des Handys durch Speicherkarten eingebürgert. Für den Hersteller hatte dies damals den Vorteil,

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

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

Mehr

Anleitung zur Verwendung des Ruhezustandes Unter Windows 7:

Anleitung zur Verwendung des Ruhezustandes Unter Windows 7: Anleitung zur Verwendung des Ruhezustandes Unter Windows 7: Wenn Sie mit Windows Vista oder Windows 7 arbeiten, so werden Sie schon oft festgestellt haben, dass das Hochfahren des Betriebssystems einige

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

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

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0)761 59018-201 Fax +49 (0)761 59018-130 Internet www.paragon-software.com E-Mail sales@paragon-software.com

Mehr

SUPER BIG BANG. SCSI - 2 HD-Kontroller für A2000

SUPER BIG BANG. SCSI - 2 HD-Kontroller für A2000 SCSI-2 Harddisk-Kontroller SUPER BIG BANG SUPER BIG BANG SCSI - 2 HD-Kontroller für A2000 MILANO Februar 1992 INHALTSVERZEICHNIS: 1.0 EINLEITUNG 2.0 EINBAU 3.0 SOFTWARE 4.0 FORMATIEREN DER FESTPLATTE 5.0

Mehr

Syslogic White Paper Leitfaden zur Erstellung eines korrekten Image (Datenträgerabbild)

Syslogic White Paper Leitfaden zur Erstellung eines korrekten Image (Datenträgerabbild) Syslogic White Paper Leitfaden zur Erstellung eines korrekten Image (Datenträgerabbild) 1. Einleitung 1.1 Bit-Image oder einfache Datensicherung? 1.2 Warum ist ein Image sinnvoll? 1.3 Welche Datenträger

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

ISA Server 2004 - Best Practice Analyzer

ISA Server 2004 - Best Practice Analyzer ISA Server 2004 - Best Practice Analyzer Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Seit dem 08.12.2005 steht der Microsoft ISA Server 2004 Best Practice Analyzer

Mehr