Umpaketieren von HTML5-Apps in Android-Schadsoftware

Originalartikel von Seven Shen, Mobile Threats Analyst

Nachdem im letzten Oktober der HTML5-Standard vom World Wide Web Consortium (W3C) verabschiedet worden ist, wird die Zahl der HTML5-Web Apps schnell steigen. Die Plattformunabhängigkeit dieser Apps wird auch das Umpaketieren von Web Apps zu mobilen Apps mit bösen Absichten beschleunigen.

Überblick über HTML5 Android Apps

Das Monitoring von Trend Micro hat gezeigt, dass die Zahl der HTML5-paketierten Apps für die Android-Plattform in 2014 im Vergleich zum Vorjahr um 200 Prozent gestiegen ist. Verglichen mit dem Beginn der Zählung in 2012 sind es sogar 600 Prozent.


Bild 1. Verteilung der neuen HTML5-paketierten Apps in Android von 2012 bis 2014

Auch die Zahl der HTML5-paketierten Malware oder möglicherweise unerwünschten Apps ist im Steigen begriffen, wobei die Hälfte davon als Spiele getarnt ist.


Bild 2. Verteilung der neuen HTML5-paketierten möglicherweise bösartigen Apps in Android von 2012 bis 2014

Ein Beispiel ist eine App, die sich als legales HTML5-Spiel namens Tiny Rifles tarnt (Paket: com.html5.game2). Greift ein Nutzer auf das gefälschte Spiel in einem Browser zu, so wird HTML5 Game Webview geladen und ein aggressives Adware SDK in den Code eingefügt. Die bösartige App wurde mittlerweile aus Google Play entfernt.


Bild 3. Gefälschtes Tiny Rifles-Spiel

Zwei Angriffsmethoden für HTML5 Android Malware

Die Analysen haben zwei Hauptangriffsmethoden aufgezeigt.

Methode 1: Starten von lokaler Webview

Dies ist eine beliebte Angriffsmethode, die ohne Änderung einer einzigen Zeile des Codes in der ursprünglichen HTML5-App auskommt. Hacker müssen lediglich lokales Webview starten, um den angehängten oder remote verfügbaren HTML5/JavaScript/CSS-Code zu laden. Danach arbeiten die Hauptfunktionen einwandfrei und eine neue Android App kann veröffentlicht werden. Die meisten Hacker begnügen sich nicht damit, denn es bringt nichts, eine Web in eine Android App umzuwandeln. Sie fügen meist bösartigen Java Code3 in die App ein, bevor sie diese veröffentlichen.


Bild 4. Bösartiger Java Code wurde in HTML5-paketierte Apps eingefügt

Der bösartige und der „normale“ Code lassen sich im Source Code trennen. Hacker können sich so allein auf den eingefügten Teil konzentrieren.

Methode 2: Paketieren von HTML5-Apps zu Middleware, in die bösartiger JavaScript-Code eingefügt wurde

Mit steigender Beliebtheit von Android, wird auch immer mehr Middleware veröffentlicht, um Entwicklern das Erstellen von plattformübergreifenden Apps zu erleichtern. Middleware ist eine Drittanbieter-Software/Framework, das zwischen Apps und dem Betriebssystem arbeitet.

Für HTML5 und entsprechende Web Apps gibt es mittlerweile etliche offene Frameworks, so etwa Phonegap, Apache Cordova, Crosswalk, Cocoonjs und andere, die plattformübergreifende Entwicklung unterstützen. Diese Middleware unterstützt häufig HTML5. Eine der bekanntesten und in Android am häufigsten verwendete ist Apache Cordova.

Apps, die mit solcher Middleware integriert sind, laufen im Core der Framework-Bibliotheken, normalerweise in einer Art stark angepasstem Browser. Mit den funktionsstarken APIs, die diese Middleware liefert, können Entwickler mit Android nur über JavaScript interagieren.


Bild 5. Eingefügter bösartiger JavaScript-Code, um über die Ausführung von Cordova SMS zu senden

Fazit

HTML5 erleichtert die Entwicklung von funktionsstärkeren Web Apps, und davon wird Android bestimmt profitieren, denn Web Apps sind plattformunabhängig. Die Kosten für plattformunabhängiges Entwickeln sind niedrig und Programmfähigkeiten für „Write once, run anywhere” gibt es. Für Nutzer ist es attraktiv, ihre beliebtesten Apps jederzeit zwischen mehreren Plattformen zu teilen.

Doch die Vorteile von plattformübergreifenden Apps bedeuten auch plattformübergreifende Infektionen. Die Schwierigkeiten beim Schutz von JavaScript-Code machen es häufig möglich, die Web Apps zu kopieren und neu zu paketieren, sodass Hacker jede Web App raubkopieren können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*