Barcamp Stuttgart 4: Android Malware
Malware begegnet uns seit ein paar Jahren an jeder Ecke im Internet. Vollmundig werden auf vielen Websites gar so tolle Softwareapplikationen beworben, welche diese oder jene Funktionen dreimal besser erfüllen, als altes im Einsatz befindliches. Erst einmal installiert verbirgt diese Software ihre, dem Nutzer meist verborgene, Schattenseiten.
Am ersten Oktober habe ich an vielen äußerst informativen Sessions beim Barcamp Stuttgart 4 teilgenommen. Falls jemand nicht weiß, was ein Barcamp ist, gibt es einen kurzen und guten Wikipediaartikel. Auf Anfrage von @pawelf erkläre ich nun ein wenig, was ich aus der Session "Android Malware", welche von Denis gehalten wurde, mitgenommen habe. Ich muss übrigens klarstellen, dass ich weder ein Android noch ein ichPhone besitze und somit absolut nicht aus Erfahrungen spreche. Bitte verzeiht sämtliche eingebaute Ungenauigkeiten.
Situation
Zumindest auf heutigen Mobilgeräten gibt es die meiste Malware für die Android-Plattform. Auch wenn diese vorgebrachte Untersuchung von einem Antiviren-Softwarehersteller stammt, welcher sein Geld mit in Umlauf befindlicher Schadsoftware verdient, kann da etwas wahres dran sein. Im Gegensatz zur Softwarevertriebsplattform für ichPhones, wo grundsätzlich und ausschließlich der Hersteller bestimmt, was Nutzer angeboten bekommen und somit installieren dürfen, gibt es beim Einstellen von Applikationen für Androidgeräte weniger Hürden. Zum einen ist der zu bezahlende Geldbetrag pro eingestellter Applikation niedriger und zum anderen wird nicht sämtliche Software vor der Freigabe in großem Umfang geprüft. Kurz gesagt, bekommt man relativ problemlos beliebige Software in die Androidsoftwareangebots- und -verteilungsinfrastruktur.
Konkret Böse
Beispielsweise ist ein Stück Software, welche sich dafür ausgibt, von einer seriösen und bekannten Firma zu stammen, dies aber in der Tat nicht ist, gefährlich. Normale Menschen merken es einfach nicht, wenn z.B. der für viele bekannte Opera-Browser auf einmal als Opara-Browser bezeichnet wird. Hoffend, einen guten schnellen und vertrauenswürdigen Browser zu installieren, haben sie auf einmal einen Browser, der sämtliche Passwörter und sonstige privaten Angelegenheiten an den "bösen Malwareentwickler" schickt, welcher diese dann potentiell Missbrauchen kann.
Gegenmaßnahmen
Android weist einen Nutzer bei der Installation einer Anwendung auf Gerätefunktionen hin, welche sich von der Anwendung im Zugriff befinden werden. Diese muss der Softwareentwickler in einer bestimmten Datei zur Entwicklungszeit in seiner Anwendung deklarieren. Wenn er dies nicht vollständig macht, gehen die in dieser Datei nicht bekanntgemachten Aufrufe ins leere.
Problem
Nutzer ignorieren solche sicherheitsrelevanten Informationen meistens, um schnellstmöglich die von ihnen erhoffte Funktionalität bereitgestellt zu haben. Dies mündet auch darin, dass Aufforderungen, einen bestimmten kritischen Vorgang gesondert zu autorisieren, praktisch im Unterbewusstsein übersprungen werden. Meist mangelt es den Nutzer auch einfach an ausreichendem Fachwissen, um entscheiden zu können, ob es gut ist, einer Anwendung, die nur Verdauungsgeräusche von sich gibt, Netzzugang zu erlauben.
Lösung
Als Lösung wurde in der Session demonstriert, wie einfach man als geübter Nutzer eine beliebige Androidapplikation entpackt, decompiliert und kritische API-Aufrufe, wie das Versenden von SMS identifiziert. Dieser Ansatz mag für eine sehr kleine Nutzerschicht funktionieren, aber der "Fußgänger" kommt damit nicht zurecht. Fakt ist, dass Quellcode beliebig kryptisch geschrieben sein kann und eigentliche ablaufende Prozesse so sehr verschleiert werden, dass es in endlicher Zeit nicht möglich ist, zu bestimmen, ob ein Stück Software "gut" oder "böse" ist.
Ein Vorschlag war es, einfach Reviews durchzuführen und einen Expertenmodus für die Verteilungsplattform, welcher standardmäßig bei der Geräteauslieferung deaktiviert ist, einzuführen. Ist dieser deaktiviert, werden nur von möglichst verschiedenen Stellen positiv gereviewte Softwareapplikationen zur Installation angeboten.
Auf eine einfache und allumfassende Lösung sind auch wir in der Session nicht gekommen. Alles in allem habe ich einen sehr guten Einblick bekommen, was zur Zeit in diesem Bereich alles für Gefahren und suboptimal gelöste Probleme existieren.
Ich bedanke mich nochmals für die tolle Session und hoffe, dass ich die Inhalte und Resultate nicht allzu oberflächlich wiedergegeben habe.
Update: Slides der Session
Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.
Kommentare