Android-Berechtigungen und Malware

Kann eine Android-Malware-App bestimmte wichtige Berechtigungen „verbergen“, wodurch der Benutzer vorgetäuscht wird, „gut“ zu sein (oder nur das zu tun, was sein vorgegebener Zweck ist). Kann der Nutzer also die App für echt „glauben“ und installieren? Kurz gesagt, kann eine App ihre Berechtigungen fälschen? Ich weiß, dass es eine AndroidManifest.xml gibt, die jeder App-Entwickler anpassen muss, um die erforderliche Berechtigung zu erhalten. Und ganz sicher wird dies dem Benutzer angezeigt, damit er/sie dies bestätigen kann, bevor er/sie die App installiert. Jetzt ist meine Frage, gibt es eine Möglichkeit, dass dem Benutzer keine der Berechtigungen "gezeigt" wird?

Antworten (2)

Nein. Zumindest nicht ohne Bugusing. Alle Berechtigungen, die nicht in das Manifest geschrieben sind, werden der App von Android nicht gewährt. Seit Android 6 kann eine App auch zur Laufzeit Berechtigungen anfordern. Dann sind sie nicht im Manifest und der Benutzer gewährt sie nicht bei der Installation, aber sobald die App diese Erlaubnis anfordert, muss der Benutzer sie erteilen.

Kurz gesagt: Sie haben die Kontrolle über die Berechtigungen und es gibt keine einfache Möglichkeit, dieses System zu umgehen.

Es besteht jedoch die Möglichkeit, andere Apps zu verwenden, um die Berechtigungsbehandlung zu umgehen. Wenn Ihre App beispielsweise ein Chrome-Browserfenster enthält, ist es nicht erforderlich, dass Ihre App über die Berechtigung für den Internetzugang verfügt, da Chrome diese Berechtigung bereits hat.

Was ist mit den nativen Apps? Sollte eine native Komponente, die mehrere Aktionen innerhalb der Haupt-Android-App ausführt, auch explizit Berechtigungen anfordern müssen?

Meines Wissens: Nicht direkt. Aber mit der aktuellen Berechtigungsrichtlinie von Google kann es Sie immer noch täuschen:

Der übliche Ansatz ist hier, zunächst eine „saubere App“ zu veröffentlichen, die nur grundlegende Berechtigungen anfordert – aber darauf achtet, alle „Berechtigungsgruppen“ abzudecken, die sie später benötigt (siehe: Android-Berechtigungsgruppen ). So könnte es zB nach der INTERNETErlaubnis fragen (die sogar automatisch erteilt wird und von ca. 80% aller Apps angefordert wird, also unverdächtig ist), die zu der NETWORKGruppe gehört. Später wird der Entwickler ein Update veröffentlichen, das dann zusätzlich z. B. die Berechtigungen für CHANGE_NETWORK_STATE, CHANGE_WIFI_STATE, und DOWNLOAD_WITHOUT_NOTIFICATION– die ebenfalls zur NETWORKGruppe gehören – abfragt. 1 Da die installierte App bereits über eine Berechtigung dieser Gruppe verfügt, wird der Benutzer NICHT auf diese neuen Berechtigungen aufmerksam gemacht (der Installationsdialog des Google Play Storezeigt "Diese App erfordert keine wesentlichen neuen Berechtigungen"), wodurch die App als "sicher" betrachtet wird. Aber mit diesen neuen Berechtigungen ist die App jetzt in der Lage, zum Zeitpunkt ihrer Wahl Verbindungen zu Netzwerken ihrer Wahl herzustellen und „Sachen“ herunterzuladen – ohne dass der Benutzer etwas tun muss.

Natürlich könnte man vor jedem Update immer die vollständige Berechtigungsliste überprüfen. Aber 1) der entsprechende Link ist nicht wirklich offensichtlich (Sie mussten bis zum Ende der Playstore-Seite der App scrollen, um ihn zu sehen), 2) das würde bedeuten, dass Sie sich merken, welche Berechtigungen die installierte Version bereits hat, und 3) dies ist eine mühsamer Job, zumindest wenn es um 10 Berechtigungen und mehr geht (kein seltener Fall: ca. 25 %+ aller Apps benötigen 10 Berechtigungen oder mehr). Abgesehen davon, 4) wenn „Auto-Update“ in der Google Play Store- App aktiviert ist (was die Standardeinstellung ist), werden diese Updates installiert, ohne dass der Benutzer die Möglichkeit hat, dies vorher zu überprüfen.

Das ist also gar nicht möglich, aber Google macht dieses Szenario sogar für die „bösen Jungs“ sehr einfach nutzbar. Das war nicht immer so: Bis Mitte 2013 wurde bei Updates jede hinzugefügte Berechtigung dem Benutzer zur Kenntnis gebracht. Dieses neue System wurde eingeführt, um „das Benutzererlebnis zu verbessern“ und „den Playstore benutzerfreundlicher zu machen“. Trotz Kritiker mit Sicherheitsbedenken wurde es dabei belassen.


1: Dies ist nur eine beispielhafte Konstellation. Berücksichtigen Sie auchandere BerechtigungsgruppenBLUETOOTH und ihre Berechtigungen – z. B. undBLUETOOTH_ADMIN.

Kurz gesagt, man kann Berechtigungen während der Installation "verstecken" und sie dann während der Laufzeit stellen, und wenn der Benutzer es zulässt, kann der App alles gewährt werden. Aber zurück zu meiner Frage, es ist immer noch nicht "möglich", "unerlaubte" Berechtigungen zu haben -> das heißt, diejenigen, die der Benutzer nicht kennt, oder?
@user907810 Nein, eine App kann Berechtigungen nicht verbergen, die Google Playstore-App tut es. Wenn Sie unbekannte Quellen aktivieren , herunterladen .apkund die Installation über zB einen Dateimanager auslösen würden, würde der Installer Ihnen jede hinzugefügte Berechtigung anzeigen. Und dank Playstore, das bestimmte Berechtigungen verbirgt: Ja, es sei denn, der Benutzer überprüft die vollständige Berechtigungsliste vor der Installation (oder über Einstellungen › Apps, wenn bereits installiert), es könnte viele Berechtigungen geben, die er nicht kennt (ich könnte mehr als 20 aufzählen weg).