Mobile-Sandbox: Ein Analyse-Framework für Android Applikationen

Größe: px
Ab Seite anzeigen:

Download "Mobile-Sandbox: Ein Analyse-Framework für Android Applikationen"

Transkript

1 Mobile-Sandbox: Ein Analyse-Framework für Android Applikationen Michael Spreitzenbarth 1, Johannes Hoffmann 2, Hanno Lemoine 3, Thomas Schreck 4, Florian Echtler 5 Kurzfassung: Da sich Mobiltelefone immer größerer Beliebtheit erfreuen, rücken sie auch immer weiter in den Fokus von Kriminellen. Waren vor ein bis zwei Jahren nur einige hundert bösartige Applikationen in der freien Wildbahn verbreitet, sind es heutzutage mehr als Applikationen und es kommen monatlich mehr als neue Applikationen hinzu [13]. Dies macht es notwendig, dass die Anzahl und vor Allem die Qualität der Analysetools gesteigert werden sollte. Dabei sollte der Fokus auf automatisierbaren Tools liegen, damit die rasant ansteigende Zahl an neuer Schadsoftware überhaupt bewältigt werden kann. In diesem Artikel wird ein Analyse-Framework für Android vorgestellt, das verschiedene statische und dynamische Analysen übersichtlich über ein Webinterface unter zur Verfügung stellt. Folgende Punkte zeichnen dieses System aus: (1) Ein gutes Zusammenspiel aus statischer und dynamischer Analyse; (2) eine dynamische Analyse, die auf der am weitest verbreiteten Version von Android aufsetzt und (3) native Bibliotheken überwachen kann; (4) ein statisches Program Slicing, welches Konstanten aus Funktionsaufrufen auslesen kann, sowie (5) die Entdeckung von über- und unterprivilegierten Applikationen. Zusätzlich wird ein alternativer Ansatz für die dynamische Analyse vorgestellt. Darüber hinaus wurde bei der Evaluation von über Applikationen aus diversen asiatischen und russischen Drittmärkten sowie aus dem offiziellen Google-Play Store zwei schädliche Applikationen entdeckt, die zum Zeitpunkt der Entdeckung durch die Mobile- Sandbox noch von keinem Antivirenscanner erkannt wurden. Stichworte: Android, Mobile, Malware, statische und dynamische Analyse, Program Slicing, statische Instrumentierung 1. Einführung In den vergangenen Jahren ist die Anzahl an verkauften Mobiltelefonen stark gestiegen. Dieses Wachstum hat auch die Aufmerksamkeit von Kriminellen erregt, die versuchen, den Nutzer dazu zu bringen, schädliche Software auf ihrem Gerät zu installieren. Google s Smartphone Plattform Android ist das beliebteste Betriebssystem und hat kürzlich Symbian und ios-basierte Geräte überholt. Höchst wahrscheinlich ist dieses Wachstum der Offenheit der Plattform geschuldet, die es Nutzern erlaubt, zusätzliche Software zu installieren. Gleichzeitig nutzen Angreifer jedoch diese Offenheit aus, um schädliche Applikationen über so genannte App Stores zu verteilen. 1 Friedrich-Alexander-Universität Erlangen-Nürnberg; 2 Ruhr-Universität Bochum; 3 G Data Software AG Bochum; 4 SIEMENS CERT München; 5 SIEMENS CERT München; 13. Deutscher IT-Sicherheitskongress des BSI 1

2 Im Rahmen vergangener Projekte [25, 26] wurden etwa schädliche Apps analysiert und in 115 Malware Familien zusammengefasst. Für diese Klassifizierung wurde die VirusTotal API [16] verwendet. Rund 60% der analysierten Malware Familien haben versucht, persönliche Informationen wie Adressbucheinträge, die IMEI oder GPS-Koordinaten zu stehlen. Zusätzlich wurden bei 30% SMS Nachrichten an Premiumnummern versendet, um als Autor direkt Einkünfte zu generieren. Die letzte charakteristische Schadfunktion, die bei 24% aller Apps gefunden wurde, war die Fähigkeit, sich mit einem Server im Internet zu verbinden, um Kommandos zu erhalten und auszuführen. Mit Hilfe dieser Technik wird es dann einfach möglich, ein mobiles Botnetz zu konstruieren. Ein sehr detaillierter Überblick aller existierenden Malware Familien ist ebenfalls von Zhou et al. [32] verfügbar. Um dieser bedenklichen Entwicklung entgegenzuwirken ist es nötig, Analysesysteme zu schaffen, die frühzeitig schadhafte Applikationen erkennen und so deren Verbreitung eindämmen. Aus diesem Grund wurde im Rahmen des vom BMBF geförderten Forschungsprojektes MobWorm unter Führung der Universität Erlangen-Nürnberg die Mobile-Sandbox entwickelt, deren verschiedene Komponenten in diesem Beitrag vorgestellt werden. 2. Architektur der Mobile-Sandbox Um festzustellen, ob eine Applikation gut- oder bösartig ist, muss diese mit großem Aufwand analysiert werden. Bei einer solchen Analyse müssen alle Attribute und Funktionsweisen dokumentiert werden. Innerhalb der folgenden Abschnitte werden die einzelnen Komponenten der Mobile-Sandbox vorgestellt und der Funktionsumfang beschrieben. Die automatisierte Analyse besteht aktuell aus drei Hauptteilen: statische und dynamische Analyse sowie Program Slicing, eine spezielle Art der Datenflussanalyse. Besonders ist hierbei, dass die Ergebnisse der statischen Analyse verwendet werden, um bestimmte Ereignisse oder Benutzerinteraktionen in der dynamischen Analyse auszulösen. Hierbei wird die Applikation automatisiert in einem modifizierten Android System installiert und ausgeführt. Während der Laufzeit der Applikation werden dann die Ergebnisse von vorherigen Analysen verwendet, um mit möglichst vielen Bereichen der Applikation zu interagieren. Die Ergebnisse aller Analysen werden dem Benutzer im Anschluss in der Weboberfläche der Mobile-Sandbox angezeigt (siehe Abbildung 1). Abbildung 1: Ansicht einer analysierten Applikation im Webinterface der Mobile- Sandbox mit Verweis auf alle verfügbaren Berichte der einzelnen Komponenten Deutscher IT-Sicherheitskongress des BSI

3 2.1 Statische Analyse mit Hilfe des Droidlyzer Die implementierte statische Analyse besteht aus mehreren Modulen. Um einen ersten Eindruck zu erhalten, ob es sich bei der zu analysierenden Applikation um eine bekannte bösartige Anwendung handelt, wird deren Hash-Wert berechnet und mit der VirusTotal-Datenbank [16] verglichen. Die dabei resultierende Erkennungsrate wird für den Bericht gespeichert, allerdings während der weiteren Analyse nicht weiter verwendet. Im Anschluss daran werden alle Komponenten der Applikation entpackt und das Android-Manifest nach benötigten Berechtigungen und Intents durchsucht. Um diesen Schritt durchführen zu können, wird das Werkzeug aapt aus dem Android SDK [14] verwendet. Des Weiteren wird auch die SDK-Version der Applikation ausgelesen um sicherzustellen, dass sie während der dynamischen Analyse in einer konformen Umgebung ausgeführt wird. Im darauf folgenden Schritt wird der Dalvik-Bytecode in Smali-Code [12] umgewandelt indem die Datei classes.dex dekompiliert wird. Während dieses Schritts werden alle Dateien der integrierten Werbenetzwerke extrahiert und aus der eigentlichen Analyse ausgeklammert. Dies geschieht um sicherzustellen, dass die Analyse der eigentlichen Applikation nicht durch aggressive Werbenetzwerke, die z.b. Benutzerdaten oder Identifikationsnummern des Telefons an ihre Betreiber versenden, verfälscht wird. Darauf folgend wird der komplette Smali-Code nach potentiell gefährlichen Funktionen und Methoden durchsucht. Hierbei wird speziell auf Funktionsaufrufe geachtet, die vermehrt in bösartigen Applikationen verwendet werden. Dazu zählen zum Beispiel: sendtextmessage(): Mit Hilfe dieses Aufrufs werden SMS-Nachrichten versendet. getpackageinfo(): Hiermit sucht Malware häufig nach bereits installierten Applikationen (z.b. AV-Produkte). getsimcountryiso(): Dieser Aufruf liefert die Landeskennung der eingelegten SIM-Karte. Hierdurch kann der Autor der Malware sicherstellen, dass seine Applikation nur in bestimmten Ländern das gewünschte Verhalten ausführt. java/lang/runtime;->exec(): Dieser Funktionsaufruf führt den übergebenen Befehl in einem eigenständigen Prozess aus. Im Falle von Malware sind das häufig die Befehle su oder chmod. Des Weiteren wird nach Aufrufen von bekannten Kryptographie-Bibliotheken wie AES oder Base64 gesucht, um Verschleierung durch Verschlüsselung zu erkennen. Eine zuverlässige Malwareerkennung lässt sich hiermit nicht realisieren, da es sowohl schädliche als auch berechtigte Verwendung der gesuchten Funktionsaufrufen gibt. Die statische Analyse liefert dem Analysten aber entscheidende Hinweise auf die kritischen Stellen für eine spätere manuelle Analyse. Zusätzlich wird bei jeder gefundene Methode verglichen, ob hierfür eine Berechtigung notwendig ist. So kann am Ende der Analyse auch Auskunft darüber erteilt werden, ob die Applikation unter- oder überprivilegiert ist. Hierzu wird ein Vorgehen verwendet, dass von Felt et al. [10] bekannt ist. 13. Deutscher IT-Sicherheitskongress des BSI 3

4 Im Anschluss daran wird versucht statisch implementierte URLs und IP-Adressen zu extrahieren. Um die dynamische Analyse aus Abschnitt 2.3 zu steuern und somit möglichst viele Aktionen der Applikation auszulösen, werden zusätzlich Timer und Broadcasts herausgefiltert. Mit diesem Schritt wird sichergestellt, dass die Applikation im Analysesystem so lange läuft, bis alle Timer abgelaufen sind. Das Setzen von Timern ist eine beliebte Vorgehensweise, um bösartiges Verhalten zu verstecken [28]. Am Ende der statischen Analyse wird eine XML-Datei mit allen wichtigen Ergebnissen erzeugt und in der Weboberfläche bereitgestellt. 2.2 Statische Analyse mit Hilfe von SAAF Das Static Android Analysis Framework (SAAF) ist ein Tool zur statischen Analyse von Android Software und ermöglicht es, einem Analysten eine App besser zu verstehen. Das Tool bietet eine grafische Benutzeroberfläche, in der alle Operationen ausgeführt werden können sowie wichtige Informationen, wie der Smali-Code oder der Kontrollflussgraph, angezeigt werden können. Die Kernkomponente von SAAF stellt jedoch die Möglichkeit dar, eine spezielle Technik der Datenflussanalyse namens Program Slicing [1, 4, 11] auf die zu untersuchende App anzuwenden. Mit dieser Technik wird es dem Analysten ermöglicht, beispielsweise nach Konstanten in einem Programm zu suchen, welche als Telefonnummer oder Text für eine Kurznachricht verwendet werden. Somit können unter anderem Premiumnummern in Programmen gefunden werden. Diese Suche wird im Rahmen von SAAF als static backtracking bezeichnet. Des Weiteren bietet das Tool einen Konsolenmodus zur automatischen Analyse von mehreren Apps. Die gefundenen Ergebnisse werden anschließend in einer Datenbank abgespeichert und können so auch in anderen Analyseschritten benutzt werden. Die folgenden Ausführungen gehen näher auf die Technik des static backtracking ein eine detailliertere Beschreibung sowie Analyseergebnisse sind in einer Arbeit von Hoffmann et al. [17] zu finden. SAAF ist in Java geschrieben und kann online [24] bezogen werden. Die Analyseergebnisse werden von der Mobile-Sandbox ebenfalls zur Verfügung gestellt Statisches Backtracking Die Möglichkeit eine statische Datenflussanalyse durchzuführen stellt die Kernkomponente von SAAF dar. Sie ermöglicht einem Analysten zu entscheiden, welche Apps einer präziseren manuellen Analyse unterzogen werden sollten. Hierzu definiert dieser eine Methode und mit Hilfe des Program Slicing werden alle Konstanten in der App gesucht, welche als Parameter in die gewählte Methode übergeben werden können. Versendet eine Applikation beispielsweise Kurznachrichten mit Hilfe der sendtext- Message() Methode an eine fest kodierte Telefonnummer, so deutet dies auf eine ungewünschte bzw. bösartige Aktivität hin. Da manuelle Analysen jedoch sehr aufwändig sind, kann SAAF eine Vorsortierung von vielen Apps vornehmen Deutscher IT-Sicherheitskongress des BSI

5 Um die statische Analyse durchzuführen, muss die zu analysierende App zunächst entpackt werden und die einzelnen Programmteile ausgelesen werden. Dabei wird wie folgt vorgegangen: Der Analyst lädt die App (APK Datei). SAAF entpackt das APK und generiert mit Hilfe des apktools [30] Smali-Code aus dem Bytecode der App. Die Manifest-Datei sowie der Smali-Code werden anschließend analysiert und alle Klassen, Methoden, Felder usw. werden als spezielle Java-Objekte im Speicher vorgehalten. Nachdem diese Schritte durchgeführt sind, kann die eigentliche Analysephase beginnen sobald der Analyst Methoden und zugehörige Parameter definiert hat, zu welchen Konstanten gesucht werden sollen. Um Konstanten mit Hilfe der Kontrollflussanalyse zu finden, muss zunächst ein Startpunkt ausgewählt werden das sogenannte Slicing-Kriterium. In unserem Fall muss dieses Kriterium die folgenden Informationen enthalten: Den Methoden- und den vollen Klassennamen der entsprechenden Klasse, die Methodensignatur und den Index des Methodenparameters, welcher untersucht werden soll. Das Kriterium beschreibt exakt alle Befehle, welche die entsprechende Methode aufrufen und ermöglicht es, nach sogenannten use-def chains zu suchen: Zunächst werden alle im Programm enthaltenen Methodenaufrufe (invoke Anweisungen) gesucht und überprüft, ob sie die definierte Methode aufrufen. Nachdem alle relevanten Aufrufe bekannt sind, wird für all diese Aufrufe wie folgt vorgegangen. Es wird das Register r bestimmt, welches an der entsprechenden Codestelle als Parameter verwendet wird (use Information). Anschließend werden alle vorherigen Befehle in allen vorherigen Basisblöcken untersucht, ob sie mit r Operationen ausführen. Eine Kombination aus verschiedenen Techniken aus dem Bereich der Programmanalyse (sog. forward und backward slicing) ermöglicht es, alle Operationen wie Arrayzugriffe oder Erzeugungen zu analysieren. Die Suche ist beendet, wenn eine Konstante gefunden wurde (def Information) oder r von einer Objektreferenz überschrieben wird, für welches dann eine neue Suche gestartet wird (siehe Abschnitt 3.2). Allgemein gesprochen werden alle Operationen gesucht, welche den Wert von r verändern oder verwenden und diese Operationen werden ebenso nach demselben Prinzip analysiert, bis eine Konstante gefunden wird. Als Konstante bzw. Suchergebnis werden neben den offensichtlichen Konstanten wie Strings oder Integerwerten auch folgende Eigenschaften des Programms als solche gehandelt, wenn sie mit dem beobachteten Register r in Verbindung stehen: Felder und Arrays mit deren Typ, Namen, initialen und zugewiesenen Werten, falls diese in r kopiert werden. 13. Deutscher IT-Sicherheitskongress des BSI 5

6 Unbekannte (API) Methodenaufrufe wenn diese einen Wert bzw. ein Objekt zurückgeben, welcher nach r kopiert wird. Bekannte Methoden sind Teil der usedef chains und alle dort zurückgegebene Werte werden entsprechend analysiert. Operationen, die r mit Werten überschreiben, welche nicht direkt Teil des Programms sind, z.b. Exceptions. Alle gefundenen Suchergebnisse werden mit zusätzlichen Metainformationen wie Variablenname und -werte, Opcode sowie Zeilennummer in einer Datenbank persistent gespeichert. 2.3 Dynamische Analyse durch modifiziertes DroidBox und ltrace Während viele bösartige oder schädliche Verhaltensmuster schon bei einer statischen Analyse erkannt werden können, ist es bei weiter entwickelter Schadsoftware nötig, diese während der Laufzeit zu analysieren, um so ihr komplettes Verhalten zu erkennen. Dieser Schritt kann einen zusätzlichen Mehrwert bei der Klassifizierung in gutoder bösartig bringen, da hier erkannt wird, welche Daten vom System abfließen und welche nur intern verwendet werden Systemaufbau Um die dynamische Analyse einer Applikation vorzunehmen, wird bei der Mobile- Sandbox auf den Android Emulator [3] gesetzt. Diese Software simuliert ein vollwertiges ARMv7 Gerät mit allen wichtigen Hardware-Erweiterungen wie ein GSM Modul oder einen Touchscreen. Zudem gewährleistet der Emulator eine sichere Umgebung zum Ausführen von schadhaften Applikationen auf einem Hostcomputer. In Abbildung 2 wird gezeigt, welche Rolle der Emulator im gesamten Analyse- Framework spielt. Hier ist ebenfalls zu erkennen, wie die eingesetzten Module (die im Weiteren beschrieben werden) zusammenarbeiten und an welchen Punkten sie ansetzen. Da der von Google bereitgestellte Emulator nur eingeschränkte Logging-Funktionalität besitzt wird in dem hier beschriebenen Ansatz auf die bekannten Erweiterungen TaintDroid bzw. DroidBox [8, 20] als Basis der dynamischen Analyse zurückgegriffen. Während Taint- Droid Applikationen bis zu Version 4.1 des Android Betriebssystems unterstützt, werden von DroidBox nur die Versionen bis 2.1 abgedeckt. Um mit der Mobile-Sandbox Abbildung 2: Übersicht der einzelnen Komponenten der dynamischen Analyse Deutscher IT-Sicherheitskongress des BSI

7 den Großteil der Applikationen analysieren zu können, wurden die Funktionen von TaintDroid mit DroidBox verschmolzen und um weitere Module ergänzt Überwachung von nativen Code Die im vorherigen Absatz erwähnten Werkzeuge haben trotz aller Vorteile auch einen gravierenden Nachteil: Sie können keine Aufrufe von Methoden oder Funktionen aus nativem Code aufzeichnen. Seit es in Android möglich ist, wichtige Programmteile in native Bibliotheken auszulagern und per Java Native Interface (JNI) anzusprechen, ist es sehr einfach möglich, schadhafte Bestandteile dorthin auszulagern. Um diese Programmfragmente und die zugehörigen Aufrufe überwachen zu können, wird im hier vorgestellten Framework auf eine angepasste Variante von ltrace [6] gesetzt (siehe Abbildung 2). Dieses Werkzeug ist bekannt aus dem Bereich des Linux- Debugging und kann sich in Bibliotheksaufrufe einklinken und sie überwachen. Nachdem die Applikation im Emulator gestartet wurde, wird eine Instanz von ltrace an die Dalvik VM mit der laufenden Applikation angekoppelt. Durch diesen Schritt werden alle nativen Aufrufe einer dynamisch nachgeladenen Bibliothek und die übergebenen Werte in eine separate Log-Datei gesichert Netzwerkverkehr Als weiteres Log-Modul wird der komplette Netzwerkverkehr als PCAP-Datei aufgezeichnet. Dieses weit verbreitete Dateiformat kann in späteren Analysen mit Tools wie WireShark oder Derrick [29, 22] ausgewertet werden Zusammengefasster Ablauf Die Mobile-Sandbox generiert drei separate Log-Dateien mit allen Einzelheiten zum Verhalten der Applikation (siehe Abbildung 2): Die DroidBox Log-Datei enthält alle wichtigen Java Methodenaufrufe und Daten aus der Dalvik VM. Die ltrace Log-Datei enthält alle Aufrufe und Daten der nativen Komponenten einer Applikation welche mit JNI eingebunden wurden. Die PCAP-Datei enthält alle Netzwerkdaten, die über das mobile Datennetz oder WLAN gesendet bzw. empfangen wurden. Um all diese Log-Dateien generieren zu können, werden die folgenden Schritte bei der Analyse einer Applikation abgearbeitet: Der Emulator wird auf einen vordefinierten Zustand zurückgesetzt. Der Emulator wird im Anschluss gestartet. Installation der verdächtigen Applikation mit Hilfe von adb. Start der Applikation in einer eigenen Dalvik VM. ltrace an den laufenden VM Prozess anbinden. MonkeyRunner ausführen um Benutzerinteraktion zu simulieren. Sammeln und auswerten der erzeugten Log-Dateien und der PCAP-Datei. 13. Deutscher IT-Sicherheitskongress des BSI 7

8 Alle erzeugten Berichte und Log-Dateien werden in einer globalen Datenbank abgelegt, damit Analysten diese Daten über die Weboberfläche abrufen können. 2.4 Dynamisches Android Analyse Framework Das Dynamische Android Analyse Framework (DyAnA Framework), ist aus einer Masterarbeit [21] an der Ruhr-Universität Bochum Anfang 2012 hervorgegangen. Mit Hilfe von statischer Instrumentation protokolliert DyAnA jeden Java-Funktionsaufruf einer Applikation, inkl. der Parameter und Rückgabewerte. Native Funktionsaufrufe werden dabei nicht berücksichtigt, da es dafür bereits zahlreiche Programme aus der Linux-Welt (vgl. Abschnitt 2.3) gibt. DyAnA stellt somit eine Alternative zu Droid- Box [20] dar Konzept Dem DyAnA Framework liegt das Konzept der statischen Instrumentierung zugrunde. Die Instrumentierung von Binaries ist ein schon lange bekanntes Feld der Informatik. Bereits in den neunziger Jahren wurden Tools wie ATOM [27] und Etch [23] entwickelt, wobei das PIN-Tool [5, 9] das bekannteste ist. Es verwendet eine dynamische Instrumentierung und es steht neben einer Version für x86 auch eine für ARM- Prozessoren zur Verfügung. Es existierte jedoch bisher kein nutzbares Tool, das den Bytecode auf der Ebene der DalvikVM, dem Äquivalent zur Java Virtual Maschine (JVM) im Android Betriebssystem, instrumentiert. Der Ansatz der statischen Instrumentierung bringt folgende Vorteile mit sich: Das gesamte Android Betriebssystem in der Analyseumgebung kann unverändert bleiben, lediglich das APK wird verändert. Die Analyse kann auch auf echten Mobilgeräten stattfinden, ohne diese rooten oder flashen zu müssen. DyAnA muss nicht für jede neue Android Version angepasst werden, es läuft per Design auf allen Android Versionen. Es kann, spezifisch für jedes APK, die Menge der zu protokollierenden Funktionsaufrufe angepasst werden. Dagegen bestehen folgende Nachteile gegenüber anderen dynamischen Methoden: Nachgeladener Programmcode kann nicht instrumentiert werden. Nativer Code wird nicht instrumentiert (Alternativen vgl. Abschnitt 2.3.2). Darüber hinaus gibt es folgende Nachteile gegenüber statischen Methoden: Das Abarbeiten eines möglichst großen Teils der Programmpfade ist sehr aufwendig und zeitintensiv. Bei der Ausführung der potentiellen Malware hat diese die Möglichkeit, eine Analyseumgebung zu erkennen und auf diese zu reagieren Deutscher IT-Sicherheitskongress des BSI

9 2.4.2 Implementierung Abbildung 3: Ablauf einer Analyse mit DyAnA Das DyAnA Framework greift auf einige bestehende Tools zurück, wie dem apktool [30] und dem Android Emulator [3], deren Einsatz im Folgenden erklärt wird. Abbildung 3 veranschaulicht zunächst den Ablauf einer Analyse. Zuerst wird das APK- Sample durch das apktool entpackt. Dabei werden die Dalvik-Klassen mit Hilfe des Disassemblers Baksmali [12] disassembliert, sodass DyAnA auf dem Smali-Bytecode arbeiten kann. Anschließend wird Bytecode vor und nach den Funktionsaufrufen zum Protokollieren eingefügt, um anschließend den gesamten Code wieder zu assemblieren und zu einem APK zu packen. Um dieses modifizierte APK nun auszuführen, wird wieder der Emulator genutzt (vgl. Abschnitt 2.3.1). Alternativ kann dieses aber auch auf einem Android Mobilgerät ausgeführt werden. Dabei wird durch DyAnA keine Android OS Version fest vorgeschrieben, relevant ist nur noch die im Manifest der APK definierte Mindest-SDK- Version. Die Interaktion mit der Applikation kann dabei entweder manuell von dem Analysten oder automatisch von dem Monkey aus dem Android SDK durchgeführt werden. Die durch den modifizierten Bytecode aufgezeichneten Informationen werden über Androids eigene Logfunktion ausgegeben und von DyAnA in einer Textdatei gespeichert. Dieses Log, genannt DyAnA-Protokoll, wird in Abschnitt 3.4 anhand von zwei Beispielen vorgestellt Anwendungsmöglichkeiten Das DyAnA Framework wurde für die dynamische Analyse von Android Malware entwickelt, so wie aktuell noch DroidBox in der Mobile-Sandbox eingesetzt wird (vgl. Abschnitt 2.3). Es bieten sich aber noch weitere Einsatzmöglichkeiten an: DyAnA kann eine manuelle statische Analyse des Bytecodes mit Informationen über die Abfolge der Funktionsaufrufe, über Parameter und über Rückgabewerte stark vereinfachen. Dies nützt z.b. Datenschützern oder CERT-Mitarbeitern, um Android Applikationen für den Firmengebrauch zu überprüfen und freizugeben. DyAnA könnte, spezialisiert für den Einsatzzweck, bestimmte Informationen herausfiltern. So wäre es für die Strafverfolgungsbehörden mitunter interessant, genutzte Premium-SMS-Nummern und dazugehörige Texte automatisiert von allen schädlichen Applikationen zu bestimmen, um so den Betrügern einen 13. Deutscher IT-Sicherheitskongress des BSI 9

10 Schritt voraus zu sein und deren Einnahmen durch Betrugs-Apps in Deutschland zu unterbinden. Das DyAnA-Modul zur Instrumentation kann automatisiert aus allen Applikationen bestimmte Funktionsaufrufe herauspatchen. Damit könnte z.b. sichergestellt werden, dass eine Applikation keine SMS mehr verschicken kann. 3 Evaluation Im Rahmen der Evaluation der einzelnen Mobile-Sandbox Komponenten wurden je nach Komponente zwischen bis kostenfreie Applikationen aus dem offiziellen Google Play-Market und mehreren inoffiziellen Märkten aus Russland und China analysiert. Unter diesen Applikationen befanden sich ca Applikationen, die durch VirusTotal eindeutig als schadhaft identifiziert wurden und etwa Applikationen aus den erwähnten inoffiziellen Märkten. 3.1 Performance Bei der steigenden Anzahl an neuen Schaddateien für Android ist es extrem wichtig, schnelle und aussagekräftige Analysen zu erhalten. Aus diesem Grund werden alle Komponenten der Mobile-Sandbox fortlaufend auf eine minimale Laufzeit und gleichzeitig auf einen Mehrwert an Ergebnissen optimiert. Der Abgleich mit der VirusTotal Datenbank geschieht im Durchschnitt innerhalb von 3 Sekunden. Die statischen Analysen brauchen typischerweise zwischen 8 und 15 Sekunden. Die dynamischen Analysen benötigen bis zu 14 Minuten, dabei werden abhängig von eventuellen Timern und Broadcasts 6 bis 10 Minuten für die Ausführung der Applikation im Emulator benötigt. Durch Multithreading und parallel betriebene Instanzen kann der Gesamtdurchsatz bei der Analyse noch deutlich gesteigert werden. 3.2 Beispiel zu Program Slicing Die Vorgehensweise zum Auffinden von Konstanten anhand von use-def chains wird in diesem Abschnitt mit einem Beispiel verdeutlicht. Abbildung 4 zeigt ein Programm, nachdem aus dem Dex-Code der App Smali-Code erzeugt wurde. Der Code ist vereinfacht dargestellt, enthält jedoch alle wesentlichen Befehle und Parameter. Das Programm ruft aus der work() Methode die Methode sendmsg() auf und verschickt dort eine SMS-Nachricht. Wenn für dieses Beispielprogramm zwei Slicing Kriterien spezifiziert sind, die jeweils nach der Methode sendtextmessage() aus der Android API den Parameter 1 (Telefonnummer) und 3 (Text) zurückverfolgen, dann werden folgende Konstanten gefunden: Die Nummer für den ersten Parameter und die Methode a.t.t.getdeviceid() und der String imei = für den dritten Parameter. Zusätzlich werden die Aufrufe von getsystemservice() und tostring() sowie der String phone gefunden. Die Telefonnummer wird wie folgt beschrieben durch den Analyseprozess gefunden: SAAF übersetzt den ersten Parameter zu Register v1 in Zeile 33 und startet den Such Deutscher IT-Sicherheitskongress des BSI

11 prozess, welcher sofort ein Feld findet, wessen Wert in Zeile 29 in dieses Register kopiert wird. Daraufhin werden mögliche Werte für dieses Feld gesucht, indem alle Befehle gesucht werden, welche einen Wert in dieses Feld schreiben. Diese werden im Konstruktor in Zeile 4 5 gefunden. Das Register für den Text wird in Zeile 33 zu v3 aufgelöst. Das Slicing zeigt dann, dass Register p1 in Zeile 30 in v3 kopiert wird, welches dem Methodenparameter in Zeile 25 entspricht. In einem weiteren Schritt durchsucht SAAF alle Aufrufe der sendmsg() Methode mit der entsprechenden Signatur. Der Slicing-Prozess wird daher in Zeile 22 mit Register v4 fortgesetzt. Diesem Register wird ein unbekannter Rückgabewert durch den Aufruf der Methode tostring() auf dem StringBuilder Objekt zugewiesen, welches selbst in v2 liegt (Z ). Da der zurückgegeben Wert nicht bekannt ist, behandelt SAAF diese Methode als Konstante und sucht ebenfalls nach allen Operationen, die mit dem Objekt in v2 interferieren. So wird Register v0 gefunden, welches als Parameter der append() Methode dem StringBuilder in v2 übergeben wird. Dadurch wird in den Zeilen v0 analysiert, welches zum Aufruf von a.t.t.getdeviceid() führt da der Rückgabewert in v0 geschrieben wird. In diesem Fall handelt es sich um die IMEI des Gerätes. v3 wird daraufhin ebenfalls analysiert, da getdeviceid() auf diesem Objekt aufgerufen wurde. Da v2 weiterhin analysiert wird, werden die Strings imei = und phone auf eine ähnliche Weise gefunden. Das Beispiel verdeutlicht, das SAAF Register von Methodenaufrufen analysiert, selbst wenn kein Smali-Code dafür vorliegt (z. B. StringBuilder.append() oben). Dieses Verhalten kann zu unerwünschten Ergebnissen führen, da nicht bekannt ist, welche Register relevant sind. Trotzdem ist dieses Vorgehen von Interesse, da so beispielsweise alle Strings gefunden werden, welche einem StringBuilder übergeben werden. Es ist jedoch darauf zu achten, dass nicht die Instanz der aktuell analysierten Klasse ( this ) zurückverfolgt wird, ansonsten würden alle verwendeten Register von allen Instanzmethoden analysiert werden. 13. Deutscher IT-Sicherheitskongress des BSI 11 Abbildung 4: Beispielprogramm zum Versenden einer SMS Nachricht in Smali-Code

12 3.3 Fallstudie zur Analyse von nativem Code In diesem Abschnitt wird exemplarisch eine der gefundenen neuen Schadsoftware- Instanzen beschrieben. Der schadhafte Code der Applikation findet sich zu einem großen Anteil in einer nativen Bibliothek, die zusammen mit der Applikation auf dem Smartphone installiert wird. Ein Abgleich mit der VirusTotal Datenbank ergab eine Erkennungsrate von 0% bei 24 Tests. Während der dynamischen Analyse ist allerdings aufgefallen, dass die Applikation sehr viele persönliche Daten des Benutzers mit Hilfe des NDK verarbeitet. Zudem ist bei der statischen Analyse bereits aufgefallen, dass die Applikation eine ungewöhnlich hohe Anzahl an Berechtigungen benötigt. Zieht man in Betracht, dass die Applikation sich als Social-Networking-App ausgibt, sind viele der Berechtigungen plausibel. Jedoch gibt es immer noch eine hohe Anzahl an Berechtigungen, die in Kombination fragwürdig sind. Dazu zählen unter anderem READ_PHONE_STATE und CHANGE_NETWORK_STATE. Nachdem im Rahmen der statischen Analyse die Codebasis mit den geforderten Berechtigungen verglichen wurde, fiel auf, dass die Applikation massiv überprivilegiert ist, sie also deutlich mehr Berechtigungen vom Benutzer fordert, als sie durch Aufrufe im Java-Code benötigt. Im weiteren Verlauf der Analyse ist aufgefallen, dass die Applikation die IMEI durch einen regulären Java API Aufruf getdeviceid() ausgelesen hat und zugleich noch mit Hilfe einer nativen Funktion getimeinumev(). Diese native Funktion ist nicht Bestandteil der offiziellen Android API, sie wurde vielmehr durch eine Bibliothek bereitgestellt, die sich im Paket der Applikation befindet. Ein identisches Vorgehen war beim Auslesen der IMSI zu beobachten. Beim Analysieren der Codebasis mit Hilfe von Smali fanden sich noch mehr fragwürdige Fragmente. Darunter waren zum Beispiel: android/net/wifi/wifimanager;->startscan(), android/app/activitymanager;->getrunningtasks(), android/media/mediarecorder;->setaudiosource() und android/telephony/smsmanager;->sendtextmessage(). Bei der dynamischen Analyse ist weiterhin aufgefallen, dass die Applikation zu einem mobilen Werbenetzwerk und mehreren inhaltlich fragwürdigen Webseiten Verbindungen per HTTP und HTTPS aufbaut. Nach genauerer Betrachtung des Netzwerkverkehrs fanden sich sehr viele Pakete, die IMEI, IMSI und aktuelle GPS-Koordinaten des Telefons enthielten. Zusätzlich wartet die Applikation auf den Event BOOT_COMPLETED um einen Hintergrunddienst zu starten, der konstant die GPS- Koordinaten ausliest und an diverse Webseiten weiterleitet. Auf Grund all dieser Ergebnisse wurde diese Applikation von uns als schadhaft klassifiziert. 3.4 Beispiele zu DyAnA Einer der größten Vorteile von DyAnA ist die Detailtiefe an Informationen, die das DyAnA-Protokoll enthält. Dies wird nachfolgend anhand zweier schädlicher Applikationen gezeigt: Deutscher IT-Sicherheitskongress des BSI

13 Bei der Malware SuiConFu (md5sum= 1a3fb120e5a4bd51cb999a43e2d06d88 ) produziert DyAnA ein kurzes Protokoll von 29 Zeilen (vgl. Abbildung 5). In Zeile ist zu erkennen, wie eine Zeichenkette mit dem Ländercode de erfolgreich verglichen wird. Im Code wird nachfolgend ein SmsManager Objekt geholt (Z ) um eine SMS-Nachricht an die Premiumnummer mit dem Text SP 462 (Z. 26) zu verschicken. Schon bei Applikationen von mittlerer Komplexität erzeugt DyAnA Protokolle von mehreren tausend Zeilen, da jeder Java-Funktionsaufruf mitgeschnitten wird. Damit der Analyst bei großen Protokollen die Übersicht behält, wurde der Methoden-Aufruf- Graph (vgl. Abbildung 6) entwickelt. Auf der linken Y-Achse sind die verschiedenen lokalen Methoden der Applikation, in der Reihenfolge wie sie in der classes.dex gespeichert wurden, aufgeführt. Auf der rechten Y-Achse ist die Aufteilung der Methoden in Klassen dargestellt. Im Graph sind die Aufrufe der lokalen Methoden mit dem jeweiligen Zeitpunkt festgehalten und durch eine Linie verbunden. Dabei werden die einzelnen Threads auf farblich unterschiedlichen Kurven dargestellt. Zur besseren Referenzierung sind einzelne Methodenaufrufe beschriftet. Abbildung 6: Methoden-Aufruf-Graph für die Applikation RuFakeInstaller Ein Beispiel für eine Applikation mit mittlerer Komplexität ist die Malware RuFake- Installer (md5sum= f056ee7f8d4931c905157ebd2cc4a795 ). Dieser sogenannte Fake Installer täuscht vor eine legitime Installationshilfe für eine meist bekannte Applikation zu sein, wobei im Hintergrund kostenpflichtige Premium-SMS verschickt Abbildung 5: Ausschnitt aus einem DyAnA Protokoll für SuiConFo 13. Deutscher IT-Sicherheitskongress des BSI 13

14 werden. Dabei zeigt diese Applikation dem Nutzer zuerst einen Link auf AGBs und fordert ihn auf, diese zu bestätigen. Danach verschickt die Applikation drei Premium- SMS-Nachrichten abhängig vom Land in dem es sich befindet. Zum Schluss öffnet es den Browser um das gewünschte APK vermeintlich legal herunterzuladen. Abbildung 6 zeigt nun, dass die Applikation nach dem Start durch die oncreate()-methode (m40) regelmäßig dieselben Funktionen aufruft (m2, m14, m15, ). Ein Blick in den Bytecode verifiziert, dass es sich um eine Zustandsmaschine handelt, die regelmäßig bestimmte Events abfragt und darauf reagiert. Ein verändertes Verhalten erkennt man nach dem Aufruf der onclick()-methode (m6), der zuvor beschriebenen Bestätigung der angezeigten AGBs durch den Benutzer, woraufhin die Methode sendsms() (m34) dreimal ausgeführt wird, die den Versand der erwähnten Premium-SMS entspricht. Das Öffnen des Browsers übernimmt (m41) nach einer erneuten Bestätigung des Benutzers (m6). 4 Vergleichbare Arbeiten Für die Android Malware Analyse gibt es einige interessante statische und dynamische Ansätze, wie DroidRanger [33], RiskRanker [15], ScanDal [19] und DroidMoss [31], die aber nicht frei zugänglich sind. Daneben gibt es einige Open Source Tools wie das statisch arbeitende Androguard [7] und die beiden dynamischen Analysetools Taint- Droid [8] und DroidBox [20]. Die zuletzt genannten Tools haben aber sowohl einen hohen Installations- und Einarbeitungsaufwand als auch keine gute Bedienoberfläche. Im Android Web-Sandbox-Bereich gibt es zurzeit nur Anubis [18] mit der Andrubis- Komponente als Konkurrenz. Diese Komponente von Anubis existiert seit Juni 2012 und basiert genau wie Teile des hier präsentierten Systems auf Droidbox. Dabei verwendet Anubis jedoch noch die veraltete Android Version 2.2, die laut aktuellen Zahlen nur noch auf ca. 20% aller aktiven Geräte läuft [2]. Im Vergleich dazu ist die Mobile-Sandbox mit der Portierung von DroidBox auf Android 2.3.x mit mindestens 72,6% der Geräte kompatibel [2]. Andrubis nutzt zusätzlich noch Androguard um statische Informationen herauszufiltern und beispielsweise benutzte Rechte und URLs zu finden. Die Mobile-Sandbox bietet dagegen komplexe statische Analysen und zusätzliche dynamische Analysen von nativen Bibliotheken. DyAnA bietet im Vergleich zu DroidBox den Vorteil, dass mit minimalem Aufwand jegliche Java-Funktionsaufrufe inklusive der Parameter und Rückgabewerte protokolliert werden können. DroidBox schneidet dagegen nur an etwa 50 Stellen im Betriebssystem Funktion mit. Diese Flexibilität von DyAnA kann sogar dafür genutzt werden, mit Informationen aus den statischen Analysen (vgl. Abschnitt 2.1 und 2.2) ein individuelles Log-Profil für jede APK-Datei zu definieren. Des Weiteren ist DyAnA nicht auf Android 2.3 beschränkt, sondern ist per Konzept ohne weitere Anpassung auch kompatibel zu künftigen Android Betriebssystemen. 5 Zusammenfassung In diesem Beitrag wurde die Mobile-Sandbox vorgestellt, die in der Lage ist Applikationen statisch und dynamisch zu analysieren um einem Analysten bei der Entscheidung zu helfen, ob eine Applikation schadhaft ist, oder nicht. Während der statischen Deutscher IT-Sicherheitskongress des BSI

15 Analyse wird die Applikation entpackt und der Smali-Code sowie das Manifest werden analysiert. Bei diesem Schritt wird nach verdächtigen Berechtigungen und Intents gesucht. In einem weiteren Schritt wird eine dynamische Analyse durchgeführt. Bei dieser Analyse werden alle Methoden und Funktionsaufrufe, auch native, überwacht. Mit all diesen Fähigkeiten stellt die Mobile-Sandbox aktuell ein einzigartiges Analyse- Framework für Android unter öffentlich zur Verfügung und ist dabei für aktuelle und zukünftige Malware bestens gerüstet. Trotz all dieser Entwicklungsschritte gibt es noch Punkte zur Optimierung. Zum aktuellen Zeitpunkt ist die Performance der Analysen zu gering um größere Datenmengen in angemessener Zeit zu analysieren. Dieser Schritt wird in der Zukunft durch Parallelisierung der dynamischen Analyse verbessert. Ebenfalls wird auch eine Applikation für Android Mobiltelefone veröffentlicht, die eine direkte Interaktion mit der Mobile-Sandbox zulässt und so dem Benutzer bei der komplizierten Entscheidung, ob eine Applikation gutartig oder schadhaft ist, unterstützt. Für die nähere Zukunft sind weitere Verbesserungen geplant. So soll zum Beispiel das hier vorgestellte DyAnA Framework in die Mobile-Sandbox integriert werden, so dass eine weitere dynamische Analyse zur Verfügung steht. Das aktuell eingesetzte Droid- Box soll um die Kompatibilität zu Android 4.1 erweitert werden, um auch zukünftig verlässliche Informationen zu liefern. Als weiteres Modul wird eine Analyse eingefügt, die durch maschinelles Lernen in der Lage ist, schadhafte Applikationen zu erkennen. Dieser Schritt soll die Erkennungsrate verbessern und die Abhängigkeit von Antivirusprodukten verringern. Danksagungen Diese Arbeit wurde im Rahmen des Projekts MobWorm durch das Bundesministerium für Bildung und Forschung (BMBF) gefördert. Des Weiteren möchten wir Felix Freiling und Thorsten Holz für ihre zahlreichen Kommentare und konstruktive Diskussionen danken. Literaturhinweise [1] F. E. Allen and J. Cocke. A program data flow analysis procedure. Commun. ACM, 19(3), March [2] Android Developers. Platform Versions, October [3] Android Developers. Using the Android Emulator, January https://developer.android.com/guide/developing/ devices/emulator.html [4] H. Agrawal and J. R. Horgan. Dynamic Program Slicing. SIGPLAN Not., 25(6), June [5] A dynamic binary instrumentation tool., Feb [6] The Debian Project. ltrace, Januar [7] A. Desnos. Androguard, Januar [8] W. Enck, P. Gilbert, B. gon Chun, L. P. Cox, J. Jung, P. McDaniel, and A. N. Sheth. TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones. 13. Deutscher IT-Sicherheitskongress des BSI 15

16 In USENIX Symposium on Operating Systems Design and Implementation (OSDI), October [9] C. K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. SIGPLAN Not., 40(6): , June [10] A. P. Felt, E. Chin, S. Hanna, D. Song, and D. Wagner. Android permissions demystified. In Proc. of the 18th ACM conference on Computer and communications security, [11] L. D. Fosdick and L. J. Osterweil. Data flow analysis in software reliability. ACM Comput. Surv., 8(3), Sept [12] J. Freke. smali - an assembler/disassembler for android s dex format, September [13] G Data. G Data MalwareReport Halbjahresbericht 2012, September https://www.gdata.de/securitylab/whitepaper-tools.html [14] Google Inc. Android SDK, October [15] M. Grace, Y. Zhou, Q. Zhang, S. Zou, and X. Jiang. RiskRanker: Scalable and Accurate Zero-day Android Malware Detection. International Conference on Mobile Systems, Applications and Services, [16] Hispasec Sistemas S.L. VirusTotal Public API, March https://www.virustotal.com/documentation/public-api/ [17] J. Hoffmann, M. Ussath, M.Spreitzenbarth, T. Holz. Slicing Droids: Program Slicing for Smali Code. 28th International ACM Symposium on Applied Computing (SAC 2013). [18] International Secure Systems Lab, Anubis: Analyzing Unknown Binaries, June [19] J. Kim, Y. Yoon, and K. Yi. ScanDal: Static Analyzer for Detecting Privacy Leaks in Android Applications. Workshop on Mobile Security Technologies (MoST), [20] P. Lantz. droidbox - Android Application Sandbox, February [21] H. Lemoine. Dynamic Analysis of Mobile Malware for Android, February Master thesis, Ruhr-University Bochum, Germany. [22] K. Rieck. Derrick, January https://github.com/rieck/derrick [23] T. Romer, G. Voelker, D. Lee, A. Wolman, W. Wong, H. Levy, B. Bershad, and B. Chen. Instrumentation and optimization of win32/intel executables using etch. In Proceedings of the USENIX Windows NT Workshop on The USENIX Windows NT Workshop 1997, Berkeley, CA, USA, USENIX Association. [24] SAAF, January [25] M. Spreitzenbarth. The Evil Inside a Droid - Android Malware: Past, Present and Future. In Proceedings of the 1st Baltic Conference on Network Security & Forensics, April [26] M. Spreitzenbarth. Our Android Malware Summary for the Year 2012, January [27] A. Srivastava and A. Eustace. Atom: A system for building customized program analysis tools. pages ACM SIGPLAN 94 Conference on Programming Language Design and Implementation, Deutscher IT-Sicherheitskongress des BSI

17 [28] C. Willems, T. Holz, and F. C. Freiling. Toward automated dynamic malware analysis using CWSandbox. IEEE Security & Privacy, 5(2):32 39, [29] Wireshark Foundation. Wireshark, March [30] R. Wiśniewski. android-apktool - a tool for reverse engineering android apk files, February [31] W. Zhou, Y. Zhou, X. Jiang, and P. Ning. Droidmoss: Detecting repackaged smartphone applications in third-party android marketplaces. ACM Conference on Data and Application Security and Privacy, [32] Y. Zhou and X. Jiang. Dissecting android malware: Characterization and evolution. In Proc. of the 33rd IEEE Symposium on Security and Privacy (Oakland 2012), May [33] Y. Zhou, Z. Wang, W. Zhou, and X. Jiang. Hey, You, Get Off of My Market: Detecting Malicious Apps in Official and Alternative Android Markets. Symposium on Network and Distributed System Security, Deutscher IT-Sicherheitskongress des BSI 17

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

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

Mehr

Mobile- Sandbox Ein Analyse- Framework für Android Applika6onen

Mobile- Sandbox Ein Analyse- Framework für Android Applika6onen Mobile- Sandbox Ein Analyse- Framework für Android Applika6onen Vortragender: Hanno Lemoine, G Data SoAware AG 13. IT- Sicherheitskongress Bonn, 14. Mai 2013 Mo6va6on Ziele von Mobworm Gefahrenpoten6al

Mehr

Erkennung von Android Malware. Daniel Arp

Erkennung von Android Malware. Daniel Arp Daniel Arp Überblick: Android-Malware 1 Android-Malware Ø Smartphones sind mittlerweile ein beliebtes Angriffsziel Bieten verschiedene Bezahlmöglichkeiten für Dienste Enthalten meist sensible Daten des

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

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

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

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

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

Mehr

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

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

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

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

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

Variablen manipulieren per JDI

Variablen manipulieren per JDI Variablen manipulieren per JDI Zusammenfassung Jede moderne Java IDE verfügt über eine mächtige und dennoch meist einfach zu bedienende Benutzeroberfläche die das finden von Fehlern in lokalen oder entfernt

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

Relevante Sicherheitskriterien aktueller mobiler Plattformen

Relevante Sicherheitskriterien aktueller mobiler Plattformen Relevante Sicherheitskriterien aktueller mobiler Plattformen RTR-Workshop Sicherheit mobiler Endgeräte Thomas Zefferer Zentrum für sichere Informationstechnologie - Austria Motivation RTR-Workshop Sicherheit

Mehr

SDK Implementierung & Account- Verknüpfung Stand 02.01.2015

SDK Implementierung & Account- Verknüpfung Stand 02.01.2015 SDK Implementierung & Account- Verknüpfung Stand 02.01.2015 SDK Implementierung... 3 Google Analytics SDK... 3 Google Analytics E-Commerce Tracking... 4 Google Remarketing-TAG für Apps... 4 Google Analytics

Mehr

Mobile Security Configurator

Mobile Security Configurator Mobile Security Configurator 970.149 V1.1 2013.06 de Bedienungsanleitung Mobile Security Configurator Inhaltsverzeichnis de 3 Inhaltsverzeichnis 1 Einführung 4 1.1 Merkmale 4 1.2 Installation 4 2 Allgemeine

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

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

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

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Apps-Entwicklung mit Netbeans

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

Mehr

Mobile App Development. - Einführung -

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

Mehr

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

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

Mehr

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

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

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

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

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

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

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

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

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

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

Mehr

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

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

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

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

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

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

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

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

Mehr

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

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

Effiziente Java Programmierung

Effiziente Java Programmierung Effiziente Java Programmierung Seminar Implementierung moderner virtueller Maschinen am Beispiel von Java SS 2009 von Reinhard Klaus Losse 20. Mai 2009 Gliederung Definition Effizienz Werkzeuge zum Messen

Mehr

LDAP für HiPath OpenOffice ME V1 Installation von ESTOS Metadir unter Windows XP

LDAP für HiPath OpenOffice ME V1 Installation von ESTOS Metadir unter Windows XP LDAP für HiPath OpenOffice ME V1 Installation von ESTOS Metadir unter Windows XP Inhaltsverzeichnis Dokumenteninformation... 2 Voraussetzungen... 2 Einschränkungen... 2 Installation von ESTOS Metadir...

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

PDF FormServer Quickstart

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

Mehr

Kombinierte Attacke auf Mobile Geräte

Kombinierte Attacke auf Mobile Geräte Kombinierte Attacke auf Mobile Geräte 1 Was haben wir vorbereitet Man in the Middle Attacken gegen SmartPhone - Wie kommen Angreifer auf das Endgerät - Visualisierung der Attacke Via Exploit wird Malware

Mehr

LaVida. Mobile Endgeräte. Andreas Neupert

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

Mehr

Installationsanleitung MS SQL Server 2005. für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold

Installationsanleitung MS SQL Server 2005. für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold Installationsanleitung MS SQL Server 2005 für Sage 50 Ablage & Auftragsbearbeitung Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold Inhaltsverzeichnis 1. GRUNDSÄTZLICHES... 3 2. SQLExpress Installationsanleitung

Mehr

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI The expert for industrial and automotive communication IXXAT Hauptsitz Geschäftsbereich USA IXXAT Automation GmbH IXXAT Inc. Leibnizstr.

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

www.heimetli.ch Heimetli Software AG HSWModule ... Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5.

www.heimetli.ch Heimetli Software AG HSWModule ... Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5. www.heimetli.ch. Heimetli Software AG HSWModule........ Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5. August 2005 Inhaltsverzeichnis Was ist HSWModule?... 1 Installation...

Mehr

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung Fertigprodukte Bruno Blumenthal und Roger Meyer 18. Juli 2003 Zusammenfassung Dieses Dokument beschreibt die Fertigprodukte welche im Projekt NetWACS eingesetzt werden sollen. Es soll als Übersicht dienen

Mehr

Überprüfung der Wirksamkeit der BSI-Konfigurationsempfehlungen für Windows 7

Überprüfung der Wirksamkeit der BSI-Konfigurationsempfehlungen für Windows 7 BSI-Veröffentlichungen zur Cyber-Sicherheit ANALYSEN Überprüfung der Wirksamkeit der BSI-Konfigurationsempfehlungen Auswirkungen der Konfiguration auf den Schutz gegen aktuelle Drive-by-Angriffe Zusammenfassung

Mehr

Erste Schritte mit HG 2

Erste Schritte mit HG 2 Erste Schritte mit HG 2 Malte Ried FH-Gießen Version: 1.0 21. November 2003 Inhaltsverzeichnis 1 Einführung 2 2 Allgemeines 2 2.1 Koordinaten...................................... 2 2.2 Farben.........................................

Mehr

Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz.

Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz. IInsttallllattiionslleiittffaden Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz. Voraussetzungen Für die Installation

Mehr

Linutronix - Wir verbinden Welten. Open Source Software in der Industrie. Firmenvorstellung

Linutronix - Wir verbinden Welten. Open Source Software in der Industrie. Firmenvorstellung Linutronix - Wir verbinden Welten Open Source Software in der Industrie Firmenvorstellung Firma Gegründet 1996 von Thomas Gleixner 2006 Umwandlung in GmbH Maintainer von: X86 Architektur RT-Preempt UIO

Mehr

Glossar. Launching auf.

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

Mehr

SZENARIO. ausgeführt Command Injection: Einschleusen (Injizieren) bösartiger Befehle zur Kompromittierung der Funktionsschicht

SZENARIO. ausgeführt Command Injection: Einschleusen (Injizieren) bösartiger Befehle zur Kompromittierung der Funktionsschicht SZENARIO Folgenden grundlegende Gefahren ist ein Webauftritt ständig ausgesetzt: SQL Injection: fremde SQL Statements werden in die Opferapplikation eingeschleust und von dieser ausgeführt Command Injection:

Mehr

EXPANDIT. ExpandIT Client Control Kurzanleitung. utilities. be prepared speed up go mobile. Stand 14.11.07

EXPANDIT. ExpandIT Client Control Kurzanleitung. utilities. be prepared speed up go mobile. Stand 14.11.07 ExpandIT Client Control Kurzanleitung Stand 14.11.07 Inhaltsverzeichnis ExpandIT Client Control 3 Installationshinweise 3 System-Voraussetzungen 3 Installation 3 Programm starten 6 Programm konfigurieren

Mehr

Software Engineering Übung 4 Architektur, Modulentwurf

Software Engineering Übung 4 Architektur, Modulentwurf software evolution & architecture lab Software Engineering Übung 4 Architektur, Modulentwurf 1 Informationen 1.1 Daten Ausgabe Di 27.10.2009 Abgabe So 08.11.2009 bis 23:59 Uhr Besprechung am Di 17.11.2009

Mehr

MALWARE AM BEISPIEL VON STUXNET

MALWARE AM BEISPIEL VON STUXNET MALWARE AM BEISPIEL VON STUXNET IAV10/12 24.05.2011 Jan Heimbrodt Inhalt 1. Definition Was ist Malware? 2. Kategorisierung von Malware Viren, Würmer, Trojaner, 3. Was macht Systeme unsicher? Angriffsziele,

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

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133. Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht

Mehr

PowerBridge MSSQL Beta

PowerBridge MSSQL Beta SoftENGINE PowerBridge MSSQL Beta Dokumentation Thomas Jakob 17.04.2011 Inhalt Einrichtung der SQL Umgebung... 3 SQL-Server Installieren... 3 BüroWARE Installieren... 3 PowerBridge-SQL Modus einrichten...

Mehr

visionapp Platform Management Suite Save Event Version 2.0 Technische Dokumentation

visionapp Platform Management Suite Save Event Version 2.0 Technische Dokumentation visionapp Platform Management Suite Save Event Version 2.0 Technische Dokumentation Copyright visionapp GmbH, 2002-2006. Alle Rechte vorbehalten. Die in diesem Dokument enthaltenen Informationen, Konzepte

Mehr

Tutorium Java Ein Überblick. Helge Janicke

Tutorium Java Ein Überblick. Helge Janicke Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Embedded-Linux-Seminare. Toolchains

Embedded-Linux-Seminare. Toolchains Embedded-Linux-Seminare Toolchains http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de Kopier-Rechte

Mehr

Cnlab / CSI 2011. Demo Smart-Phone: Ein tragbares Risiko?

Cnlab / CSI 2011. Demo Smart-Phone: Ein tragbares Risiko? Cnlab / CSI 2011 Demo Smart-Phone: Ein tragbares Risiko? Agenda Demo 45 Schutz der Smart-Phones: - Angriffsszenarien - «Jailbreak» - Was nützt die PIN? - Demo: Zugriff auf Passwörter iphone Bekannte Schwachstellen

Mehr

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint Überblick Unterscheidung Tablet PC & Tablet Computer Tablet PC; ursprüngliche Bezeichnung von Microsoft Mit Tablet Computer sind die heutigen gängigen Mit Tablet Computer sind die heutigen gängigen Tablets

Mehr

Systemanforderungen und Installationsanleitung für Internet Security. Inhalt

Systemanforderungen und Installationsanleitung für Internet Security. Inhalt Systemanforderungen und Installationsanleitung für Internet Security Inhalt 1 Systemanforderungen für Internet Security...2 2 Installationsanleitung: Internet Security für einen Test auf einem Computer

Mehr

IT-Sicherheit mobiler Applikationen zur Unterstützung von Geschäftsprozessen. Bachelorarbeit

IT-Sicherheit mobiler Applikationen zur Unterstützung von Geschäftsprozessen. Bachelorarbeit IT-Sicherheit mobiler Applikationen zur Unterstützung von Geschäftsprozessen Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft der

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

4D v11 SQL Release 6 (11.6) ADDENDUM

4D v11 SQL Release 6 (11.6) ADDENDUM ADDENDUM Willkommen zu Release 6 von 4D v11 SQL. Dieses Dokument beschreibt die neuen Funktionalitäten und Änderungen der Version. Erweiterte Verschlüsselungsmöglichkeiten Release 6 von 4D v11 SQL erweitert

Mehr

KURZANLEITUNG FÜR DIE. Installation von Nokia Connectivity Cable Drivers

KURZANLEITUNG FÜR DIE. Installation von Nokia Connectivity Cable Drivers KURZANLEITUNG FÜR DIE Installation von Nokia Connectivity Cable Drivers Inhalt 1. Einführung...1 2. Voraussetzungen...1 3. Installation von Nokia Connectivity Cable Drivers...2 3.1 Vor der Installation...2

Mehr

McAfee Advanced Threat Defense 3.0

McAfee Advanced Threat Defense 3.0 Versionshinweise McAfee Advanced Threat Defense 3.0 Revision A Inhalt Über dieses Dokument Funktionen von McAfee Advanced Threat Defense 3.0 Gelöste Probleme Hinweise zur Installation und Aktualisierung

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

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

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

Mobile App Development. - Einführung -

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

Mehr

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com Merkblatt: HSM Version 1.01 Systemvoraussetzungen, Setup und Trouble Shooting Kontakt: pdfsupport@pdf-tools.com Besitzer: PDF Tools AG Kasernenstrasse 1 8184 Bachenbülach Schweiz www.pdf-tools.com Copyright

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

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

Schnittstellenbeschreibung

Schnittstellenbeschreibung Schnittstellenbeschreibung Inhalt: - Beschreibung - Vorbereitungen - Die Details - Die verschiedenen Nachrichtenarten - Nachrichtenarchiv - Rückgabewerte - Schnellübersicht und Preisliste Weltweite-SMS.de

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

Kundenanforderungen. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 24.05.2013

Kundenanforderungen. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 24.05.2013 Software Komponenten FS13 Gruppe 03 Horw, 24.05.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Adresse Telefon

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

KLASSIFIZIERUNG VON SCHADSOFTWARE ANHAND VON SIMULIERTEM NETZWERKVERKEHR

KLASSIFIZIERUNG VON SCHADSOFTWARE ANHAND VON SIMULIERTEM NETZWERKVERKEHR Retail KLASSIFIZIERUNG VON SCHADSOFTWARE ANHAND VON SIMULIERTEM NETZWERKVERKEHR Technology Life Sciences & Healthcare Florian Hockmann Ruhr-Universität Bochum florian.hockmann@rub.de Automotive Consumer

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

1. BlueJ installieren (nach dem Buch Java lernen mit BlueJ von David J. Barnes; Michael Kölling)

1. BlueJ installieren (nach dem Buch Java lernen mit BlueJ von David J. Barnes; Michael Kölling) 1. BlueJ installieren... 1 2. BlueJ auf die deutsche Version umstellen... 1 3. BlueJ Extensions... 2 a. Klassenkarte... 2 i. UML Extension... 2 ii. Klassenkarte zum Schulbuch... 3 b. CNU BlueJ Code Formatter...

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

Apps-Entwicklung mit Eclipse

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

Mehr

Laborübung SNMP. Aufgabe 1: SNMP Basics genutzter Agent: 10.20.143.73 (VM_SNMP_Win_XP)

Laborübung SNMP. Aufgabe 1: SNMP Basics genutzter Agent: 10.20.143.73 (VM_SNMP_Win_XP) Netzmanagement SS 2014 Prof. Dr. Martin Leischner / Dipl.Inf. Wolfgang Pein 14.5.14 - V1 Laborübung SNMP Einführung Um Netzmanagement betreiben zu können, ist es notwendig, auf Managementinformationen

Mehr

Eine Wiederherstellung setzt immer ein vorhandenes Backup voraus. Wenn man nichts sichert, kann man auch nichts zurücksichern.

Eine Wiederherstellung setzt immer ein vorhandenes Backup voraus. Wenn man nichts sichert, kann man auch nichts zurücksichern. Exchange Daten wieder ins System einfügen (Dieses Dokument basiert auf einem Artikel des msxforum) Eine Wiederherstellung setzt immer ein vorhandenes Backup voraus. Wenn man nichts sichert, kann man auch

Mehr

Microsoft SQL Server 2005 für Administratoren

Microsoft SQL Server 2005 für Administratoren Microsoft SQL Server 2005 für Administratoren Irene Bauder ISBN 3-446-22800-4 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22800-4 sowie im Buchhandel Sichern von

Mehr

Erstinstallation und Verwendung der Software Citrix GoToMeeting für Organisatoren/-innen von virtuellen Besprechungen

Erstinstallation und Verwendung der Software Citrix GoToMeeting für Organisatoren/-innen von virtuellen Besprechungen Erstinstallation und Verwendung der Software Citrix GoToMeeting für Organisatoren/-innen von virtuellen Besprechungen 1 Inhaltsverzeichnis 3 1. Voraussetzungen für die Durchführung von virtuellen Besprechungen

Mehr

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

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

Mehr

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit List & Label 16 List & Label Windows Azure List & Label Windows Azure - 2 - Inhalt Softwarevoraussetzungen 3 Schritt 1: Neues Projekt

Mehr

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

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

Mehr