Foto: AVG Technologies
Aufgrund von dezentralisierten und offenen Distributions-Plattformen konnten Hacker bis vor wenigen Jahren Malware relativ einfach in unterschiedlichen App-Stores hochladen und darüber verbreiten. Dann haben der Apple App-Store, Google Play und Microsoft Windows Apps die Verteilung der Apps zentralisiert und so verhindert, dass Hacker über ihre Stores mobile Geräte von Millionen von Usern infizieren. Nun nutzen Hacker vermehrt bestehende Schwachstellen in nicht-bösartigen Apps, um Zugriff auf berufliche und private Nutzerdaten zu bekommen.
Vor allem durch Schwachstellen bei der lokalen Datenspeicherung, der Datenübermittlung und dem Komponenten Recycling können Hacker unbefugt auf Daten zuzugreifen:
1. Lokale Datenspeicherung & App-Überbleibsel: Mobile Endgeräte speichern anfallende Daten häufig lokal auf den Endgeräten, beispielsweise in Form von Log-Files. So können sie das Nutzerverhalten innerhalb einer App dokumentieren oder Daten und Reports cachen. Dies kann die App-Leistung erhöhen und deren Nutzung vereinfachen. Doch das lokale Speichern unverschlüsselter, privater Daten kann zur Sicherheitslücke werden. Andere Applikationen können auf diese Daten zugreifen und sie auslesen. Auch Daten, die als verborgene Überbleibsel längst gelöschter Apps auf dem Gerät verbleiben, können so noch nach Jahren ausgelesen werden.
2. Übermittlung der Daten: Fast alle mobilen Apps empfangen von und übermitteln Daten zwischen Endgerät und Servern im Netz - etwa um Updates einzuspielen oder Lizenzen zu prüfen. Dabei kann es sein, dass die Daten beim Verlassen des mobilen Endgeräts nicht oder nicht ausreichend verschlüsselt sind. So können Hacker nicht nur an persönliche Daten der App-Nutzer wie etwa Passwörter oder Kreditkartennummern gelangen, sondern auch den Datenverkehr abfangen und nicht an den ursprünglichen Zielserver, sondern den eigenen umleiten. Dies ist besonders für Unternehmen ein großes Risiko, da geschäftskritische Daten abgefangen und weitergeleitet werden. Diese Gefahr kann zum Beispiel durch eine Zertifikatsprüfung auf dem Server eingedämmt werden, bei der die App die Rechtmäßigkeit des Empfängers bestätigt.
3. Wiederverwertung von Komponenten: Das Recycling bereits erschienener App-Software-Komponenten entsteht aufgrund des ständigen Zeitdrucks unter dem App-Entwickler stehen, ihre Produkte möglichst schnell auf den Markt zu bringen. Daher verwenden sie App-Teile von Drittanbietern in Form von Software Development Kits (SDKs). Die Toolkits werden jedoch aus Zeit- und Budgetgründen oft ohne Update oder Schwachstellen-Prüfung übernommen, sodass diese auch in neuen Apps bestehen bleiben, wie zum Beispiel bei Android WebView oder Dropbox Android SDK.
Foto: OWASP Foundation
Was können Entwickler und App-Stores tun?
Mit unterschiedlichen Maßnahmen können App-Entwickler die Verbreitung von Schwachstellen vermeiden. Wichtig ist etwa, SDKs als Drittanbieter-Komponenten genau zu überprüfen und "Secure Code" zu nutzen. Auch sollten Sicherheitstests im generellen Qualitätssicherungsprozess implementiert werden. Ebenfalls hilft die Verwendung automatischer Scans bei der frühzeitigen Entdeckung und Behebung von Sicherheitslücken. Entwickler sollten zudem darauf achten, unnötige Funktionen im Code zu entfernen und die Verbreitung von Apps, die nicht mehr mit Updates versorgt werden, zu stoppen.
Auch die Stores selbst sind in der Pflicht und müssen weitere Maßnahmen ergreifen, um die Verbreitung betroffener Applikationen zu unterbinden. Etwa durch automatische Security Scanner, die einige Stores bereits verwenden. Vor allem muss jedoch die Kommunikation zwischen den App Stores und den App-Entwicklern verbessert werden. Nur gemeinsam lassen sich Schwachstellen langfristig bekämpfen. (mb)