Masterarbeit abgeschlossen

Viel Mühe und Fleiß finden ihr Ende, die Masterarbeit ist abgegeben und wurde bewertet. Im Rückblick musste während der Arbeit festgestellt werden, dass der Ansatz leider nicht so geklappt hat, wie er sollte – auch eine Erkenntnis. Dies hat zum Glück keinen Einfluss auf die Abschlussnote :).

Masterthesis
Masterthesis
Masterthesis.pdf
3.2 MiB
792 Downloads
Details

Seminararbeit: Frühzeitige Erkennung von Schadsoftware in App-­Märkten

Diese Seminararbeit war eine Richtungsweisung für meine jetzige Masterarbeit. Sie ist ein Review zu dem Papier: „Hey, You, Get Off of My Market: Detecting Malicious Apps in Official and Alternative Android Markets“ von Yajin Zhou, Zhi Wang, Wu Zhou und Xuxian Jiang.

Inhaltlich geht es um die Erkennung von bekannter und unbekannter Schadsoftware (Apps) für Android.

Frühzeitige Erkennung von Schadsoftware in App‐Märkten
214.9 KiB
562 Downloads
Details

Projektarbeit: Erkennung von Schadsoftware auf Androidgeräten

Während der Vorbereitung auf meine Masterarbeit habe ich diese Projektarbeit verfasst, dessen Schwerpunkt letztendlich die Erstellung des „App-Checkers“ war. Ein weiterer Schwerpunkt der Arbeit ist der Versuch aus Apps zur ihrer Laufzeit Informationen zu ihrem Verhalten zu entlocken.

In der Arbeit wird von einem Modell gesprochen, welches mit einer Support-Vektor-Maschine erstellt wurde. Dieses Modell enthält die Intelligenz vom App-Checker, also die Informationen welche Merkmale eine App enthalten muss damit sie als böse bzw. gut klassifiziert wird. Inzwischen gibt es eine Veröffentlichung zu dem Modell:

Drebin: Efficient and Explainable Detection of Android Malware in Your Pocket. (Daniel Arp, Michael Spreitzenbarth, Malte Hübner, Hugo Gascon, and Konrad Rieck.) In: Proc. of Network and Distributed System Security Symposium (NDSS), to appear 2014.

Drebin-Paper

 

Apps für die Galaxy Gear

Eine der Fragen, die meine Freundin während ihres Tests beantworten soll ist:

Welche und wie viele Apps kann man auf die Galaxy Gear übertragen?

Der Bitte, das für sie herauszufinden, bin ich nachgekommen und habemit ihr – wie im letzten Artikel beschrieben – einfach mal so viele Apps installiert, bis die Gear „satt“ war. Natürlich lassen sich davon viele auf der Uhr nicht gebrauchen, aber es geht ja auch nur darum zu testen, wie viel Platz die Uhr bietet und wie sie sich mit dem vollen Speicher verhält. Eine Speicher-Anzeige hat sie übrigens nicht, gleiches gilt für Internetzugriff oder GPS.

Als erstes habe ich den Datensatz der „Top 100“ installiert, wovon ich bei 91 Erfolg hatte. Einige der Apps forderten die Google Maps Bibliothek an, die auf der Uhr nicht verfügbar ist – diese ließen sich somit nicht installieren.

Da ich bisher nichts von „insufficient storage“ gelesen hatte, suchte ich aus meinem großen Datensatz 100 weitere Spiele mit möglichst großem Platzbedarf (~ 30MB – 50MB / App). Davon konnte ich dann noch 40 Stück installieren, bis die Uhr ihre „Backen voll“ hatte :D.

Ergebnis:

Insgesamt ließen sich so 1,6 GB Apps installieren, was aufgeteilt auf 134 Stück ein wirklich sehr volles „Menü“ ergibt.

Da pro Seite – mit dem Standard-Launcher – nur 4 Apps pro Seite angezeigt werden, ist eine derartige Menge an Apps wirklich sehr unpraktikabel. Aber ohne den „USB-Debugging„-Modus zu aktivieren, lassen sich ohnehin keine 134 Apps installieren, denn der Samsung-eigene App-Store für die Galaxy Gear bietet nur rund 70 Apps (Hab‘ es nachgezählt). Die 70 Apps teilen sich in die Kategorien: Gesundheit und Fitness, Hilfsprogramme, Lifestyle, Soziale Netzwerke, Unterhaltung und Uhr ein. Bekannte Highlights sind: Runtastic, Evernote und eBay.

Der Grund für die verhältnismäßig geringe Anzahl ist der bisher geschlossene Entwicklerkreis, in den man nur durch Einladung von Samsung eintreten kann. Es ist zu hoffen, dass Samsung das irgendwann ändert und ein Gear-SDK veröffentlicht. Details dazu in diesem Artikel. Zum Schluss noch etwas sehr erfreuliches:

Angry Birds gehört nicht zu den nicht spielbaren Apps … 😉 *click*

Und hier noch die Schleife zum Nachmachen, die ich aus dem Ordner mit den zu installierenden Apps ausgeführt habe:

for i in *.apk; do echo $i; adb install $i; done

Galaxy Gear Development – Kurztest

Schon als ich von meiner besseren Hälfte die Uhr das erste Mal in die Hand bekam, sah ich mit Freude die „USB-Debugging“-Option. Einmal aktiviert und an USB angeschlossen verhält sich die Uhr wie jedes andere Android-Gerät auch. Mit einer Neuerung, die ich bisher nicht kannte: Man muss den Debugging-Zugriff auf der Uhr explizit für den angeschlossenen Computer erlauben. Gleiches gilt im Übrigen auch für das Note 3, welches dann – wie die Uhr auch – den Nutzer automatisch nach Erlaubnis fragt.

Nach der Bestätigung ist die Uhr über die Android Debug Bridge (adb) ganz normal erreichbar und kann für die Entwicklung verwendet werden. Als Erstes habe ich mir mittels

adb shell

mal den Inhalt des Systems angesehen. Für vollen Zugriff gibt es sogar schon Rooting-Lösungen, die ich aber nicht getestet habe – ist ja nicht meine Uhr ;). Nachdem ich dann sichergestellt hatte, dass es sich um ein normales Android handelt wollte ich wissen:

Welche Apps wohl auf dieser Uhr laufen?

Mehr aus Faulheit mir zu überlegen, was man mal installieren könnte habe ich einfach in Eclipse beim App-Checker auf „Play“ gedrückt und siehe da, es installierte und startete völlig normal. Sogar das Layout war okay und ließ sich bedienen. Mit ein paar Tipps auf der Uhr war die zu analysierende App ausgesucht und die Analyse lief. Kurze Zeit später konnte man schon das Ergebnis begutachten und ich stellte fest: Auch die nativen Bibliotheken hatten ihre Arbeit geleistet.

Beeindruckt von dem Erfolg installierte ich TicTacTo, eine App, die ich für meine Hiwi-Stelle im „allgemeinen Programmierpraktikum“ an der Uni zu Testzwecken geschrieben hatte. Der Vorteil, ich hatte damals ein quadratisches Layout gebaut, von dem die Uhr natürlich absolut profitiert. Leider bin ich bisher nicht dazu gekommen eine anständige KI zu schreiben, aber im Alltag macht das Spiel – wenn überhaupt – eh nur mit echten Gegnern Spaß.

Da ich meiner Freundin jetzt etwas zum Spielen im Alltag installiert hatte, 😀 … überlegte ich kurz, was mögliche sinnvolle Anwendungen für die Uhr sein könnten und hatte zwei Ideen: Zum einen, ein Taschenrechner, den man so schnell griffbereit hat und zum Anderen einen QR-Code Scanner.

Nachdem sich der auf dem Note 3 vorhandene Taschenrechner nicht installieren lassen wollte, suchte ich im Google Play Store nach einem simplen Taschenrechner, der so aussieht, als würde er auch auf nahezu quadratischen Displays funktionieren können. Kurz und bündig: installieren und starten: ja; Benutzbarkeit: nein. Man müsste einen für das Display optimierten Taschenrechner zusammentüfteln.

Beim QR-Code Scanner hatte ich zunächst auch kein Glück, denn den QR-Code Scanner, den ich mir von meinem gerooteten S3 ausgeliehen habe wollte unbedingt die Google-Maps Bibliothek für die Installation haben (was ich prima mit meinem App-Checker überprüfen konnte … 🙂 ). Nach etwas Googlen fand ich einen weiteren QR- und Barcode Scanner, der nicht so aussah, als wollte er irgendwelche Karten anzeigen und lud diesen aus dem Play-Store runter. Die Installation klappte problemlos. Allerdings forderte es eine Menge Konzentration den Bildausschnitt des QR-Codes in das vorgegebene Fenster zu bringen, denn die Displayausrichtung passte nicht sonderlich gut zu der Kamera, sodass man die Uhr in zwei von drei Dimensionen spiegelverkehrt bewegen musste.

Als ich also nun herausgefunden hatte, das sich die Uhr durchaus auch für Entwicklung eignet habe ich mal etwas gegoogelt und einen Beitrag gefunden, in dem der Nova Launcher installiert wird, mit dem man dann das Gefühl einer normalen Androidoberfläche bekommt – funktioniert auch, habe aber keinen Vorteil darin gesehen.

Eins noch: Nach einem Update musste ich den Entwicklermodus freischalten, was ich mit 7x drücken auf die Softwareversion geschafft habe – auch eine Neuerung, die ebenfalls im Note 3 Einzug erhalten hat.

P.S.: Die Screenshots habe ich mit

adb shell  screencap -p /sdcard/<screenshot_name.png>

und

adb pull 

gemacht.

Note 3 und das WLAN oder mit „Automatischem Netzwechsel“ einfach mal Ruhe schaffen …

Samsung hat im neuen Betriebssystem – es könnte auch von Android selbst kommen, ich habe mir seit ICS keines mehr angesehen – scheinbar eine Funktion hinzugefügt, die ermittelt, ob die Netzwerkanbindung über das Mobilfunknetz oder das WLAN besser ist und schaltet angeblich dynamisch auf das um, wo der Empfang besser ist. Das soll zu einer stabilen Netzwerkanbindung führen, allerdings unter der Prämisse, dass eventuell mehr Traffic im Mobilfunknetz entsteht.

Mein Fazit lautete schnell: Gute Idee und wo kann man es abstellen?

In diesem Fall erwies sich diese Funktion dann aber doch als total hilfreich:  Denn hat man auf dem Heimatmobilfunknetz keinen Empfang, wohl aber auf anderen Netzen und die WLAN-Verbindung ist nicht erstklassig, sondern „nur“ gut, dann schaltet das Telefon einfach mal den WLAN-Zugang ab, um dann dem Nutzer auch mal die Möglichkeit zu geben sich auf die wichtigen Dinge im Leben zu konzentrieren und nicht von einer stetigen Internetverbindung gestört zu werden…

Sobald man diese tolle neue Funktion deaktiviert hat, müllt einen das Telefon aber prompt wieder in der gewohnten Art und Weise mit Nachrichten aus den Unweiten des Internets zu – die natürlich über die nicht ganz so schlechte WLAN-Verbindung kommen :-D.

Note 3 Smart Cover

Der Crowdmarktforscher hat das Testhandy zusammen mit dem zugehörigen „Smart Cover“ verschickt, doch was kann denn diese intelligente  Note-3-Hülle?

Obwohl ich persönlich ja nun kein Fan von diesen Covers bin, meine Freundin das Note 3 aber nach dem Testzeitraum möglichst unversehrt wieder zurückschicken soll, haben wir gleich nach dem Auspacken das „Smart Cover“ angebracht. Hier sind die Vor- und Nachteile und ein paar Bilder:

Vorteile:

– Das Handy sperrt und entsperrt sich automatisch beim auf- und zuklappen.

– Durch das Fenster in der Hülle kann man auf dem geteilten Bildschirm Uhrzeit, Datum und die Statusleiste sehen und mit einem Wisch nach rechts die Kamera und „Aktionsmemo“ aufrufen sowie Musik steuern. Schwergängige Bedienung durch die Hülle konnte ich nicht feststellen.

– Es ist möglich den Stift aus der Halterung zu ziehen, obwohl die Hülle angebracht ist.

– Das Telefon selbst bleibt länger hübsch, wovon man aber durch das weniger schöne Cover nichts hat ;).

Nachteile:

– Das Cover bleibt offen stehen, wenn man es eine Weile offen hatte.

– Über Nachrichten (SMS) wird man informiert und kann diese auch anwählen, sie dann aber nicht lesen (siehe Bild) 😀 .

– Die Lauter- und Leisertasten sind schwer zu erreichen, insbesondere wenn man gerade telefoniert, aber wer möchte schon selbst steuern, ob er ins Ohr geschrien bekommt?

Unboxing the Samsung Galaxy Gear

Ebenso wie beim Galaxy Note 3 ist die Verpackung sehr cool aufgemacht. Nach dem Öffnen kann man auch sofort das Display der Uhr bestaunen und erst mal seine Verwunderung über die heutige Technik sacken lassen ;).

Nachdem ich die Uhr dann das erste Mal richtig in der Hand hatte, war auch sofort die erste Enttäuschung da: Das Armband ist – wie ich bereits gelesen hatte – wirklich nicht angenehm. Wenn man diese Uhr jeden Tag im Alltag tragen möchte, ist das ziemlich steife Kunststoffarmband keine echte Freunde.

Als Nächstes wollten wir dann auch gleich mal das Ding in Aktion sehen und haben voller Erwartung eine Bluetooth-Verbindung aufgebaut, die sofort wieder abbrach. Okay, Anleitung lesen (mache ich normalerweise ja immer zuerst …) und feststellen: Die Paarung der Geräte funktioniert zunächst indem man die Ladeschale der Uhr mittels NFC am Handy anmeldet – Top Idee!. Das ging dann in der Tat auch gleich problemlos.

Auf dem Handy öffnete sich dann die Steuerungs-App für die Uhr und kann dann nach Belieben durchstöbert werden. Alle Funktionen einer völlig normalen Digital-Uhr sind vorhanden:  Uhrzeit und Datum, Stoppuhr, Timer, Wetterbericht, Kamera für Fotos und Videos, Schrittzähler, Kalender, Sprachmemo, Anruffunktionen, Spracheingabe (S-Voice), Schrittzähler, Mediencontroller fürs Handy, was halt so ne Armbanduhr heutzutage so kann… 😉

Während wir also so diese Funktionen entdecken, fragen wir uns, ob wir sie in einem Monat immer noch als überflüssig empfinden oder dieser Spielerei doch etwas abgewinnen können. Aus sportlicher Sicht jedenfalls hat uns gefallen, dass es eine Runtastic-App für die Uhr gibt, dessen Funktionsweise noch zu testen bleibt.

Mir persönlich hat gefallen, dass es die USB-Debugging-Option gibt und ich freue mich schon darauf zu sehen, was sich damit anstellen lässt.

Unboxing the Samsung Galaxy Note 3

Neues Hightechspielzeug auspacken ist ja immer wieder ein Erlebnis und vermittelt vor allem auch einen ersten Eindruck zum Gerät. Beim Samsung Galaxy Note 3 war dieser insgesamt sehr positiv. Über die nett gemachte aber relativ kleine Verpackung darf man sich erst mal nicht wundern, da das oben aufliegende Note 3 diese komplett ausfüllt. Darunter befinden sich dann neben den Kopfhörern, dem Ladekabel und einer merkwürdigen Tüte, das Päckchen mit Anleitung, „Key features“, Garantie- und sonstigen Hinweisen.

Das Handy selber wiegt ohne Akku kaum etwas, was aber dem soliden Eindruck nicht schadet, denn es ist eingefasst von einem chromfarbigen Rahmen, dessen tatsächliches Material aber ich bisher nicht ermitteln konnte. Die Rückenabdeckung in Lederoptik ist auch nicht so labil wie bei anderen Geräten und gut griffig. Positiv fällt vor allem das Display auf, da es fast das ganze Mobiltelefon ausfüllt und somit kaum Rahmen stehen lässt.

Aufgefallen ist mir auch sofort der USB-Stecker, der auf den ersten Blick merkwürdig erscheint, was an der Kompatibilität zum USB-2-Microstecker liegt. Ich habe ihn dann mit Hilfe von Google als USB3-Microstecker identifiziert, den ich bisher nicht kannte. Nach einem Blick auf das Ladegerät habe ich freudig festgestellt, dass dieses zwei Ampere liefert.

Auch erst mit Hilfe von Google bin ich auf die Idee gekommen, dass es sich bei der merkwürdigen Tüte um Ersatzspitzen für den S-Pen handelt. Dieser steckt unten gut erreichbar im Handy und ist gar nicht so überflüssig, wie ich zunächst angenommen hatte. Obwohl manche der möglichen Funktionen eher als Spielerei abzustempeln sind.

Nachdem ich das Note 3 bestückt und angeschaltet hatte waren erst mal direkt hintereinander zwei Softwareupdates fällig, was mir persönlich leicht auf die Nerven ging ;). Darüber hinaus ist das Android mit Samsungs Funktionen für meinen Geschmack leicht überfrachtet. Beim Einrichten soll man zunächst gefühlte 100 Seiten mit Nutzungsbedingungen und Datenschutzerklärungen und von Samsung, Google und Dropbox lesen – Pssssst: nicht verraten – aber wir haben, ohne zu lesen „weiter“ gedrückt ;). Danach drängen sich S-Note, S-Planner, S-Dies und S-Das geradezu auf und wollen unbedingt von einem entdeckt werden, was mir für den Anfang auch leicht auf den Wecker gefallen ist. Davon abgesehen ist der Umstieg vom S3 auf das Note 3 insgesamt nicht wirklich schwergefallen, da das meiste bekannt vorkommt.

Die Bilder sind leider etwas unscharf – von der guten Kamera war der Akku leer 😉

Access /data/app/-content from Android-application

Da meine App „App-Checker“ auf dem Handy andere Apps analysieren kann, sollte sie auch Zugriff auf die bereits auf dem Handy installierten Apps haben. Der Dateibrowser kann ohne root-Rechte allerdings nicht zu dem Ordner /data/app/ navigieren, da der „App-Checker“ nicht die Rechte besitzt den Inhalt zu lesen.

Dass es aber eine Möglichkeit gibt, die Apps aus dem Ordner zu lesen habe ich bei „Dex Dump“ und „Dexplorer“ gesehen und bin dem nachgegangen. Eigentlich ist die Lösung ganz einfach… 😉 :

private List<File> getDataApps(String dir) {
	ArrayList<File> list = new ArrayList<File>();
	Iterator<ApplicationInfo> apps = this.getPackageManager()
		.getInstalledApplications(PackageManager.GET_ACTIVITIES)
		.iterator();
	while (apps.hasNext()) {
		ApplicationInfo applicationInfo = (ApplicationInfo) apps.next();
		String path = applicationInfo.sourceDir;
		if (path.startsWith(dir)) {
			list.add(new File(path));
		}
	}
	return list;
}