Android und die bösen Buben

In letzter Zeit häufen sich die Berichte über Maleware und Adware für Android wie dieser hier.

Ohne jetzt auf einzelne Programme einzugehen kann man sagen, dass Android insgesamt sehr sicher ist; alle Programme müssen vom Benutzer installiert werden und dieser muss auch die entsprechenden Rechte abnicken. Gerade an dieser Stelle achten allerdings manche Nutzer nicht genau genug darauf, was die App so alles machen will.

Wie kann ich mich schützen?

Der Schutz vor solcher Adware / Maleware ist grundsätzlich sehr einfach. Da bisher kein Programm es geschafft hat sich ohne Einwilligung des Benutzers zu installieren, kann man an dieser Stelle bereits viel Sicherheit herstellen, indem man nur Software installiert, die „wahrscheinlich sicher“ ist. Dazu gehört es beispielsweise keine kostenlosen Kopien von eigentlich kostenpflichtigen Programmen zu installieren; die Verlockung ein paar Cent zu sparen ist es wohl nicht wert sich Software aus einer dubiosen Quelle zu installieren. Google löscht solche Software auch regelmäßig aus dem Market. Auch Software, die sehr populär ist, ist potentiell sicherer, weil hier die Wahrscheinlichkeit, dass unerwünschte Funktionen entdeckt wurden, höher ist. Hier hilft es auch mal nach dem Namen der App zu googlen und nach negativen Berichten zu suchen. Eine Garantie liefert das natürlich nicht.

Der bessere Weg ist keine App zu installieren, die zu viele Rechte haben will, aber dann muss man im Zweifelsfall sich auch dazu entschließen auf eine App zu verzichten. Wenn eine App beispielsweise Zugriff auf Hardware (Audio) verlangt, es aber keinen offensichtlichen Grund gibt, warum die App Tonaufnahmen machen sollte, ist das zunächst mal verdächtig. Besonders zu beachten ist, dass die Tatsache, dass eine App keinen Zugriff auf das Internet haben will, nicht heißt, dass sie keine Daten nach Hause funken kann: es ist installierten Apps möglich den Browser zu nutzen, um Webseiten aufzurufen, und in diesen Aufrufen können auch Daten übermittelt werden.

Wie werde ich Maleware los?

Wenn man feststellt, dass man sich Maleware eingefangen hat, weil beispielsweise Werbung aufpoppt, die man nicht haben will, dann kann man das durch Deinstallation des verantwortlichen Programms beheben. Das entsprechende Programm zu finden kann etwas Probieren erfordern, aber in der Regel weiß man ja, was man kürzlich installiert hat und kann auch nachgucken, welche App die notwendigen Rechte hat. Momentan gibt es für Apps keine Möglichkeit sich gegen eine Deinstallation zu wehren.

Gibt es keine Virenscanner für Android?

Es gibt auch Virenscanner für Android, aber diese sind meiner Meinung nach im Moment eher eine Ressourcenverschwendung als eine wirkliche Hilfe. Selbst identifizierte Adware wird teilweise nicht angezeigt, so dass man glaubt sicher zu sein, selbst wenn man solch ein Programm installiert hat.

Was muss ich noch beachten?

Bei aller Vorsicht muss man immer bedenken, von dem die Software geschrieben wird. Die Facebook-App beispielsweise würde nach obiger Empfehlung wohl als potentiell sicher durchgehen. Zwar verlangt sie viele Rechte, aber das erwartet man wohl auch. Beispielsweise braucht diese App Zugriff auf das eigene Adressbuch um beim Anzeigen von Kontakten die entsprechenden Facebook-Profilbilder anzuzeigen; dieser Zugriff kann aber auch genutzt werden, um alle Daten des eigenen Adressbuchs zu Facebook hochzuladen. In der iPhone-Version der Facebook-App ist das tatsächlich der Fall und jedes Update der Android-Version kann dieses „Feature“ ebenfalls mitbringen. Ich verzichte daher bewusst auf den Komfort dieser App und nutze stattdessen die mobile Version von Facebook im Browser. Zwar haben dadurch die Kontakte in meinem Handy ihre schönen Facebook-Profilbilder verloren, was ich sehr schade finde, aber der Preis – potentiell Facebook alle meine Kontakte zu überantworten – erscheint mir einfach zu hoch.

Ein nicht zu unterschätzendes Einfallstor für Maleware ist übrigens der eigene Google-Account. Sollte es einem Angreifer gelingen Zugriff auf den Account zu erlangen, den man mit seinem Smartphone verbunden hat, kann dieser über das Internet Apps installieren und dabei auch alle Rechte aus der Ferne abnicken; das eigene Telefon ist also nur so sicher, wie der damit verbundene Google-Account. Sollte man auf seinem Smartphone auf einmal die Meldung bekommen, dass eine neue Software erfolgreich installiert wurde, und man weiß nicht, was das soll, ist es am sinnvollsten das Gerät erstmal auszuschalten und sich in seinen Account einzuloggen. Dort kann man dann erstmal nach dem Rechten sehen und ggf. sein Passwort ändern.

Fazit

Apps sind noch keine große Gefahrenquelle. Besonders offizielle Quellen – wie der Google Market – entfernen Apps, die beispielsweise teure SMS versenden – zügig und während der Installation muss man den Apps die entsprechenden Rechte einräumen. Andererseits verleitet diese scheinbare Sicherheit zu Sorglosigkeit. Wenn man bei der Installation von Apps genau hinguckt und sich im Zweifelsfall dazu durchringen kann eine App nicht zu installieren – auch wenn die Features noch so verlockend sind – und seinen Google-Account mit einem sicheren Passwort versieht, muss man sich keine Sorgen machen.

Weiterlesen

Global Tracker

Stallite (openclipart.org)Diese App protokolliert die Bewegungen des Benutzers. Ziel ist es nicht ein Spionageprogramm zu erschaffen (Gloabl Tracker meldet seine Anwesenheit in der Statusleiste an und startet sich nicht automatisch), sondern nach einer Städtereise eine Verfolgung der eigenen Schritte zu ermöglichen. Momentan arbeite ich noch daran, Positionsdaten verschiedener Quellen sinnvoll zu kombinieren. Die Datenbank und Google-Maps-Anbindung funktionieren bereits.

Weiterlesen

How-To: Splash Screen

Man sollte meinen, dass es hierzu bereits genug Anleitungen im Netz gibt. Leider ist das meiste davon nicht wirklich zu gebrauchen und unglaublich kompliziert. Häufig wird Code von anderen Platformen wiederverwendet, der in Android eigentlich nichts zu suchen hat, während Androids Hausmittel vollständig ignoriert werden.

Das Elegante an dieser Lösung ist, dass man keine Ahnung von Threads haben muss. Statt eigene Threads zu erstellen und sich um Race-Conditions sorgen machen zu müssen, benutzt dieser Code den von jeder Android-App vorgehaltenen Message-Handler, der auf dem UI-Thread läuft. Es kann daher zu keinem Konflikt zwischen dem ablaufenden Timer und einem Click-Event kommen.

public class Startup extends Activity implements Runnable, OnClickListener {
	private static final int SPLASH_DELAY = 3000;
	private boolean once = false;
	private Handler handler = new Handler();

	@Override
	public void onClick(View v) {
		run();
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.startup);
		findViewById(R.id.StartupLayout).setOnClickListener(this);
	}

	@Override
	protected void onStart() {
		super.onStart();
		handler.postDelayed(this, SPLASH_DELAY);
	}

	@Override
	protected void onStop() {
		super.onStop();
		handler.removeCallbacks(this);
	}

	@Override
	public void run() {
		if (once) {
			return;
		}
		once = true;
		finish();
		startActivity(new Intent(this, MainEntry.class));
	}
}

Der Quelltext ist CC BY 3.0 by Volker Kamin

Der Splash-Screen wartet für 3000 Millisekunden oder bis man auf den Bildschirm tippt und startet dann die Activity MainEntry. Wird der Splash-Screen unterbrochen (Anruf, etc.) oder das Display gedreht, fangen die 3 Sekunden von vorne an, sobald der Splash-Screen wieder sichtbar wird.

Weiterlesen

RoomWTH

Johnny Automatic Look it up (openclipart.org)Diese kleine App hilft dabei Chaos in die Raumnamen der RWTH Aachen zu liefern. Sie bietet eine Volltextsuche aller Vorlesungssäle und Seminarräume der RWTH Aachen und offenbart beispielsweise, dass 2356|050 entgegen dem üblichen Schema nicht in Gebäude 2 (Altbau Informatik) auf Etage 3 zu finden ist, sondern die neue Bezeichnung des Hörsaals AH V ist (dieser befindet sich in Gebäude 5). Dazu liefert der RWTH Room Finder die Straßenadresse und kann diese in Google Maps anzeigen.

Was leider noch nicht vorhanden ist, ist ein Übersichtsplan des Gebäudes, um den Raum noch leichter zu finden. Sobald die App stabil läuft, werde ich die RWTH Aachen um eine entsprechende Zusammenarbeit bitten.

Die erste Test-Version ist im Market zu finden. Diese App wird Einzug in die Vorlesung Einführung in eingebettete Systeme halten.

Weiterlesen

The Hills Have Dice

d20 (openclipart.org)Diese App dient reisenden Rollenspielern als Würfelbeutelersatz. Version 1.0 ist endlich fertiggestellt und im Market erhältlich. Ich werde die App außerdem in der Vorlesung Einführung in eingebettete Systeme einsetzen, um die Grundzüge von Android zu erklären.

Weiterlesen