Malware-Erkennung im Google Play Store mit Dynamic Code Loading umgehen

[English]Falls sich jemand wundert, warum immer wieder Malware in Android-Apps gefunden wird, die ganz offiziell im Google Play Store erhältlich sind, gibt es eine Erklärung. Googles Sicherheitsteam hat nun bestätigt, dass Angreifer das dynamische Laden von Code nutzen, um die Erkennung von Malware im Play Store zu umgehen.


Anzeige

Ich habe hier im Blog ja immer wieder mal berichtet, dass schädliche Android-Apps im Google Play Store entdeckt und durch Google entfernt wurden. Aber es gibt Ansätze, dass Apps Schadcode nachladen können, obwohl die im Google Play Store eingestellte Version sauber ist.  Auf das Thema wurde ich über nachfolgende Diskussion auf Twitter aufmerksam. Nicolas Krassas weist auf das Problem des Dynamic Code Loading hin, mit denen schädliche Android-Apps die Malware-Erkennung im Google Play Store umgangen werden kann.

Dynamic Code Loading bypass malware detection in Google Play Store

Das wurde durch das Google Cybersecurity Action Team (GCAT) jetzt bestätigt. In diesem Dokument legen die Sicherheitsexperten von Google eine Technik namens Versionierung offen. Diese Technik verwenden Bedrohungsakteure, um die Malware-Erkennung im Google Play Store zu zu umgehen.

Der Fall der iRecorder-App

Anstoß war vermutlich der von ESET beschriebene Fall, dass eine legitime Android-App iRecorder innerhalb eines Jahres plötzlich bösartige Funktionen aufwies und seine Nutzer ausspionierte. Die App war im September 2021 bei Google Play verfügbar, wobei die ESET-Forscher vermuten, dass die bösartige Funktionalität wahrscheinlich erst im August 2022 zur App hinzugefügt wurde.


Anzeige

Der Schadcode, der der sauberen Version von iRecorder hinzugefügt wurde, basiert auf dem quelloffenen AhMyth Android RAT (Remote Access Trojan) und wurde von ESET als AhRat bezeichnet. Die bösartige App ist in der Lage, über das Mikrofon des Geräts Audio aufzuzeichnen und Dateien zu stehlen, was darauf schließen lässt, dass sie Teil einer Spionagekampagne sein könnte.

Dynamic Code Loading

Obwohl nur weniger als 1 % der im Google Play Store eingestellten Apps schädliche Funktionen aufweisen, gelingt es Angreifern immer wieder die Sicherheitsmechanismen zu umgehen. Eine Möglichkeit, um die Sicherheitskontrollen von Google Play zu umgehen, ist die Versionierung. Dazu veröffentlicht ein Entwickler eine Version seiner App im Google Play Store (funktioniert auch bei Apple im Store), frei von Schadcode ist und die
Prüfungen besteht. Später erhält die App ein Update von einem Server eines Drittanbieters, das den Schadcode dann hinzufügt.

Die Technik ist nicht neu, aber sie ist nach wie vor effektiv. Es gibt einen Mitre.org-Warnung T1407 vom 25. Oktober 2017, die zum 20. März 2023 aktualisiert wurde, zu diesem Ansatz. Mehrere Malware wie der Banking-Trojaner SharkBot nutzte sie, um die von Google für den Play Store eingeführten Kontrollen zu umgehen. Eine gängige Form der Versionierung ist die Verwendung des Dynamic Code Loading (DCL). DCL steht für eine App, die Code von nicht vertrauenswürdigen Quellen nachlädt.

 Dynamic Code Loading (DCL).

Eine weitere Methode besteht in der Verschleierung (obfuscation) von schädlichem Code innerhalb der App. Dieser Ansatz wurde zum 26. Juli 2023 in diesem Beitrag von einem Sicherheitsforscher beschrieben. Solche Apps können vermutlich nicht durch die Schutzmaßnahmen des Play Store erkannt werden.

Aufpassen ist angesagt

Die einzige Möglichkeit, die Google als Schutz vorschlägt, besteht darin, nur Apps von vertrauenswürdigen Quellen aus dem Google Play Store zu installieren. Sprich: Möglichst auf Apps zu verzichten, die von unbekannten Entwicklern stammen. Mein Tipp lautet, sich auch die Bewertungen anderer Nutzer und die Download-Zahlen der Apps anzuschauen und nachzusehen, welcher Entwickler hinter der App steckt.

Die obigen Ansätze basieren meiner Meinung nach immer noch auf dem "der Nutzer ist unaufmerksam und unbedarft und installiert sich alles, was er kriegen kann"-Ansatz. In meinen Android-Büchern für Einsteiger rate ich seit Jahren, sich in der Zahl der genutzten Apps zu beschränken und nur essentiell Benötigtes von bekannten Entwicklern einzusetzen. Leider wird das durch die Manie konterkariert, dass alle Welt meint, eine App für jeden Scheiß anbieten zu müssen. Ich hatte dies bereits 2015 im Beitrag Stoppt die App-Bloatware und den App-Update-Wahn angerissen und kürzlich im Blog-Beitrag Der tägliche App- und Cloud-Irrsinn erneut aufgegriffen.


Anzeige

Dieser Beitrag wurde unter Android, App, Sicherheit abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

8 Antworten zu Malware-Erkennung im Google Play Store mit Dynamic Code Loading umgehen

  1. Luzifer sagt:

    Trau schau wem lautet die Devise! ;-P Diesen Schritt kann die PostPISA Generation aber nicht mehr nachvollziehen.

    Ich bin seit VC20 (1980) privat im "Bussiness" dabei, beruflich etwas früher (Lochkartenprogrammierung ist mir nicht nur ein Begriff).
    Viren Malware Phishing in der Ganzen Zeit: Null! Weil man mitdenkt!

    Leider trotzdem 3 mal Opfer gewesen, nicht bei mir oder in der Firma, nein bei Drecksfirmen die Ihre System nicht im Griff haben (*hust* Adobe, LastFM *hust)
    Das ist heute sogar das viel größere Problem… seine System kann man absichern und sauber halten (wenn das Runde Ding auf seinem Hals zu mehr da ist als nur damit es nicht reinregnet), aber die Abhängigkeiten von Dritten sind ein unabwägbares Risiko und sind deshalb auf ein Minimum zu beschränken.
    Solange da kein Haftung existiert wird sich das auch nie ändern. Firmen Sitebetreiber & Co. müssen unumschränklich für alle Schäden und Folgeschäden die durch Nutzung Ihrer Dienste auftretten haften! Nur dann ist man wirklich safe!

  2. Bernd sagt:

    Stimme ich zu 100% zu.

  3. Sebastian sagt:

    Die Technik ist tatsächlich so alt wie effektiv. Ein Anfang wäre DCL im Berechtigungssystem für Apps aufzunehmen und per default erstmal zu verbieten. Stattdessen sieht man eher wie Einstellungsmöglichkeiten im Berechtigungssystem verschwinden.

    Das mit dem vertrauenswürdig ist so eine Sache, da bleibt dann wieder nur das übliche dutzend Anbieter übrig. Da braucht es dann fast keinen Store mehr.

  4. Sansor sagt:

    Irgendjemand muss immer der Erste sein, der eine App herunterlädt. Neue Apps und Hersteller hätten so keine Chancen mehr. Aber grundsätzlich ist prüfen und vergleichen sicher der richtige Ansatz.

  5. Mance sagt:

    Mal allgemein zu den Ratschlägen. Das sind doch Binsenweisheiten und wer sich nicht daran ausrichtet wird das sowieso nie tun. Nichtsdestotrotz ist man nicht davor gefeit mal ins Klo zu fassen. Erst kürzlich wieder Meldungen, daß millionenfach schädliche Apps installiert waren. Und Leute, nennt mir bitte mal die vertrauenswürdigen bzw. bekannten Entwickler. Gibt's da eine Liste wo die drinstehen oder woher kennt ihr die?
    F-Droid wurde überhaupt nicht erwähnt. Die ist nicht im Play-Store erhältlich. Da ist zwar eine F-Droid Nearby aufgelistet was aber sicher nicht die ist, die man eigentlich sucht.

    • Luzifer sagt:

      naja dann schau dir auch mal an was das für Apps waren, sorry der aufmerksame User fasst solch ein Shice gar nicht erst an! Man braucht eben keine drölf millionen Apps die nix taugen sondern eine handvoll aber die müssen vertrauenswürdig sein … oh Wunder das geht sogar wenn man sein Hirn nicht unbenutzt im Leerlauf läßt! Hirn einschalten hilft in jeder Situation die mit IT zu tun hat. Muss man halt nur auch tun!

      Mir ist noch keine Malware App, kein Phishing Kampagne untergekommen wo man das nicht vorher erkennen konnte. Manche waren auf den ersten Blick sogar recht gut gemacht, aber eben nur auf den ersten Blick.
      Gier Dummheit und Faulheit sind die Ursache Nummero Uno wenn man da drauf reinfällt. Alles Eigenverschulden.

      Ne App die nix Online macht braucht auch keine Onlineberechtigung! Will sie die trotzdem, ist sie nicht vertrauenswürdig. Das gleiche für Adressbuch usw. Eine App die nix mit Adressen zu tun hat braucht kein Zugriff aufs Adressbuch. Die Liste kannst du Seitenweise fortführen…

  6. Stefan sagt:

    ESET schürt aber auch gerne Angst. Als Schlangenölverkäufer muss man auch irgendwie sein Dasein noch begründen. Die posten jedes Jahr um Mai herum, wie gefährlich Malware doch wären etc.

    Weiter unten im Artikel steht:
    "Fortunately, preventive measures against such malicious actions have already been
    implemented in Android 11 and higher versions in the form of app hibernation."

    Damit sind nur Android Versionen bis einschließlich Android 10 betroffen, also mindestens 4 Jahre altes Betriebssystem. Android 14 steht diesen oder nächsten Monat vor der Tür.

  7. Cornelia sagt:

    Diese Aussage finde ich etwas gewagt. Klar gibt es unaufmerksame und unbedarfte Nutzer. Ein anderes Problem ist aber, dass es von manchen App-Typen laufend neue gibt und man für die bewährten mitunter weit herunterwischen muss.
    Allein wenn man nach Apps zum Lesen von QR-Codes sucht, findet man Dutzende und es ist auf den ersten Blick nicht erkennbar, welche von diesen nun wirklich gut und harmlos sind. Weil es meine früher genutzte App nicht mehr gab, installierte ich einmal etwa 10 davon nach einer Vorauswahl aufgrund von Beschreibung, Screenshots und Bewertungen. Die meisten löschte ich gleich wieder, weil sie entweder unnötige Berechtigungen verlangten oder weil die Werbung total nervig war. Es würde mich nicht wundern, wenn von einzelnen dieser Apps unerwünschte Rückstände verblieben sind.
    Ähnlich schlechte Erfahrungen habe ich bezüglich Apps gemacht, welche die Handhabung von (Kalender-)Erinnerungen verbessern sollen und mit File Manager Apps. Viele erfüllen nur teilweise, was sie versprechen. Das merkt man meistens aber erst nach der Installation oder sogar erst nach längerer Nutzung. Aber eines haben die meisten gemeinsam: Häufige und zum Teil grossflächige Anzeige von Werbung – vielfach für die Installation andere Apps (insbesondere Spiele).

Schreibe einen Kommentar

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

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.