Suchen

Mobile Malware Schwachstellen in geprüften Apps als Einfallstor

Autor / Redakteur: Tony Anscombe * / Stephan Augsten

Apple, Google und Microsoft versuchen, ihre App-Stores vor Malware-Apps zu schützen. Doch Schadcode muss nicht zwingend direkt den Weg auf den Marktplatz finden, vermehrt werden bereits geprüfte Anwendungen als Vehikel genutzt. Um dieses Risiko einzudämmen, müssen Entwickler und Marktplatz-Betreiber in Zukunft stärker zusammenarbeiten.

Firmen zum Thema

Code-Schwachstellen können Cyber-Kriminellen dabei helfen, Malware über legitime Apps zu verbreiten.
Code-Schwachstellen können Cyber-Kriminellen dabei helfen, Malware über legitime Apps zu verbreiten.
(© © ellagrin - Fotolia)

Hacker konnten aufgrund von dezentralisierten und offenen Distributions-Plattformen bis vor wenigen Jahren Malware relativ einfach in unterschiedlichen App-Stores hochladen und darüber verbreiten. Dieses Problem haben Apple, Google und Microsoft erkannt.

Zu den Sicherheitsvorkehrungen zählen mittlerweile strenge Sicherheitsvorschriften, Kontrollen und zentralisierte Plattformen. Beispielsweise kann das Smartphone eines Anwenders Informationen über eine Android-App und ihre Herkunft an Google senden, wo diese anhand einer Datenbank mit bekannter Malware abgeglichen wird, um festzustellen, ob diese App ein Sicherheitsrisiko darstellt.

In diesem Fall erhält der Nutzer eine Warnung, bzw. Google blockiert die Installation auf dem Gerät, wenn die App schädlich für das Gerät, Daten oder den Nutzer sein kann. Auch Apple und Microsoft bieten vergleichbare Funktionen. Da der direkte Weg über die Stores erschwert ist, nutzen Hacker nun vermehrt bestehende Schwachstellen in nicht-bösartigen Apps.

Nichtsahnende Anwender laden dann die als sicher eingestuften Apps aus den Stores auf ihre privaten oder beruflich genutzten Endgeräte. Schwachstellen bei der Datenübermittlung, lokalen Datenspeicherung und dem Komponenten-Recycling machen es Betrügern besonders leicht, unbefugt auf Daten zuzugreifen.

Datenabfluss während der Übermittlung

Fast alle mobilen Apps empfangen von und übermitteln Daten zwischen im Netz befindlichen Servern und Endgeräten. Sie tun dies, um etwa Updates einzuspielen oder Lizenzen zu prüfen. Dabei kann es vorkommen, dass die Daten, die das mobile Endgerät verlassen, nicht ausreichend verschlüsselt sind. Dies betrifft auch viele Unternehmen, die keinen Wert auf eine sichere Ende-zu-Ende Verschlüsselung beispielsweise beim E-Mail-Versand legen.

Ein besonders Risiko bergen hier vor allem auch private Mobilgeräte, die beruflich im Unternehmen genutzt werden (Bring Your Own Device, BYOD). Über eventuell ungeschützte Geräte können Angreifer nicht nur an persönliche Daten der App-Nutzer wie etwa Passwörter oder Kreditkartennummern gelangen. Sie können auch den Datenverkehr abfangen und ihn statt auf den Zielserver an einen eigenen Server weiterleiten.

Dies ist besonders für Unternehmen ein großes Risiko, da geschäftskritische Daten an Unbefugte weitergeleitet werden können. 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.

Lokale Datenerfassung und -speicherung

Eine weitere potenzielle Schwachstelle ist die lokale Datenspeicherung, da mobile Endgeräte anfallende Daten häufig lokal auf den Endgeräten speichern, beispielsweise in Form von Log-Files. Somit soll das Nutzerverhalten innerhalb der App dokumentiert oder Daten und Reports gecacht werden. Dies kann die App-Leistung erhöhen und deren Nutzung vereinfachen. Doch andere Applikationen können auf diese lokalen Daten zugreifen und diese auswerten.

Selbst Daten, die als verborgene Überbleibsel längst gelöschter Apps auf dem Gerät verbleiben, können so noch nach Jahren ausgelesen werden. Denn auch hier werden Nutzerverhalten und persönliche Daten nicht automatisch durch das Deinstallieren der Applikation entfernt. Deswegen ist es wichtig, beim Löschen von Apps darauf zu achten, auch lokal gespeicherte Dateien wie Chroniken oder Caches zu entfernen.

Probleme bei der Software-Entwicklung

Das Recycling von App-Komponenten kann ebenfalls zum Problem werden. App-Entwickler stehen unter dem ständigen Druck ihre Produkte möglichst schnell auf den Markt zu bringen. Daher verwenden sie App-Komponenten von Drittanbietern, so genannte 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.

Ein Beispiel hierfür ist etwa Android WebView. Mobile Apps können mit dem Tool Webinhalte anzeigen. Um diese Inhalte herunterzuladen und auf dem mobilen Endgerät anzeigen zu können, verwenden viele Entwickler Komponenten von WebView. Diese sind jedoch erwiesenermaßen anfällig für Attacken von Hackern.

Ein weiteres Beispiel ist der Dropbox Android SDK. Zur Integration ihrer Funktionen in Cloud Storage Systeme – wie etwa Photo-Apps oder Bezahlsysteme – verwenden viele Applikationen SDKs von Cloud Storage Providern. Beim Dropbox Android SDK wurde jedoch eine Sicherheitslücke entdeckt, mit der Hacker sensible Informationen sowohl lokal durch das Einschleusen von Malware als auch durch remote Verbindungen entwenden können.

Fehlendes Bewusstsein, zu wenig Entwicklungszeit

Fehlerhafte Codes sind nicht ausschließlich die Gründe für die Existenz der Schwachstellen. Viele Probleme hängen vielmehr damit zusammen, dass die App-Entwickler sich der Schwachstellen nicht bewusst sind. Denn bei der Entwicklung der App stehen eher Funktionalität und Optik als Sicherheitsaspekte im Vordergrund.

Auch das rasche „Go to Market“ und die oftmals geringe Größe der Entwicklungsteams führen zu einer Anfälligkeit für Schwachstellen, da so das Testen der Applikationen auf Schwachstellen oft auf der Strecke bleibt. Zudem spielen wirtschaftliche Faktoren eine Rolle. Es gibt tausende Apps, die aufgrund mangelnder Wirtschaftlichkeit nicht mehr unterstützt, aber weiter genutzt werden und deren Schwachstellen somit ebenfalls nicht behoben werden.

App-Entwickler können die Verbreitung von Schwachstellen mit unterschiedlichen Maßnahmen vermeiden: Wichtig ist, die SDKs als Drittanbieter-Komponenten genau zu prüfen und „Secure Code“ zu nutzen. Zur Qualitätssicherung sollten manuelle Sicherheitstests und automatische Scans gehören. Zudem sollten Entwickler unnötige Funktionen im Code entfernen und die Verbreitung von Apps, die nicht mehr mit Updates versorgt werden, im Idealfall stoppen.

Auch die Stores müssen weitere Maßnahmen ergreifen, um die Verbreitung betroffener Applikationen zu unterbinden. Etwa durch automatische Security Scanner, die einige Stores bereits verwenden. Mit deren Hilfe lassen sich anfällige Applikationen aufdecken.

Tony Anscombe: „Nur gemeinsam können App-Store-Betreiber und Software-Entwickler die Schwachstellen schließen.“
Tony Anscombe: „Nur gemeinsam können App-Store-Betreiber und Software-Entwickler die Schwachstellen schließen.“
(Bild: AVG)

Zudem sollten die Schwachstellen der SDKs behoben werden – unabhängig davon, ob die jeweils ursprüngliche Version noch unterstützt wird oder nicht. Denn ihre Komponenten werden noch in vielen anderen Applikationen genutzt. Nur so kann der Teufelskreis der sich durch SDKs weiterverbreitenden Schwachstellen gestoppt werden.

Vor allem ist jedoch eine verbesserte Kommunikation zwischen den App-Stores und den App-Entwickler wichtig. Nur gemeinsam lassen sich die Schwachstellen langfristig schließen.

Tony Anscombe ist Senior Security Evangelist bei AVG Technologies.

(ID:44389863)