So zeigen Sie die Android-App-Berechtigungen an, bevor Sie ein APK installieren
Wenn Sie eine App aus dem Google Play Store installieren, zeigt Android eine vereinfachte Zusammenfassung dessen an, auf was die App zugreifen kann. Laden Sie eine APK von einer Nicht-Play-Quelle quer und Sie haben kein solches Sicherheitsnetz, es sei denn, Sie lesen das Manifest selbst. „Sollte eine Wallpaper-App wirklich SMS- und Mikrofonzugriff benötigen?“ ist genau die Art von Frage, bei deren Beantwortung Ihnen dieser Leitfaden helfen wird.
Was folgt, ist derselbe Arbeitsablauf, den unser Team bei der Auswahl einer unbekannten APK verwendet: Öffnen Sie sie, lesen Sie die uses-permission-Einträge, entschlüsseln Sie die Schutzstufen und vergleichen Sie, was die App sagt benötigt, mit dem, was ihre Kategorie normalerweise erfordert. Unser Online-APK-Info-Tool übernimmt die Binär-XML-Dekodierung für Sie, sodass der gesamte Vorgang etwa zehn Sekunden dauert.
Warum sich die Mühe machen, Berechtigungen zu überwachen?
Böswillige Entwickler nehmen beliebte kostenlose Apps, verändern sie und veröffentlichen sie auf Websites Dritter erneut. Auch wenn die App normal aussieht und funktioniert, könnte ihr versteckter Code darin bestehen, Ihre Kontaktliste zu kopieren oder Ihre Hintergrundgeräusche aufzuzeichnen. Wenn Sie sich die Berechtigungen Vorinstallation ansehen, können Sie diese Warnsignale für „Berechtigungskriechen“ erkennen.
So prüfen Sie jede APK-Datei (online)
Unser APK-Info-Tool liest das Manifest Ihrer Datei vollständig in Ihrem Browser; Die Datei wird niemals auf einen Server hochgeladen und es wird kein Code ausgeführt. So verwenden Sie es:
Verfahren:
- Gehen Sie zu APK-Infoseite.
- Wählen Sie Ihre .apk-Datei aus.
- Warten Sie, bis die Analyse abgeschlossen ist (normalerweise 5 Sekunden).
- Scrollen Sie nach unten zu Abschnitt „Berechtigungen“..
- Suchen Sie nach Hochrisiko-Flags wie: READ_SMS, PROCESS_OUTGOING_CALLS oder ACCESS_FINE_LOCATION.
Liste der roten Flaggen für Berechtigungen
Wenn eine Kalkulator- oder Taschenlampe-App nach READ_CONTACTS oder RECORD_AUDIO fragt, löschen Sie die Datei sofort. Es gibt keinen legitimen Grund dafür, dass diese Apps über diese Daten verfügen.
Grundlegendes zu Android-Berechtigungsstufen
Nicht alle Berechtigungen sind gleich. Android kategorisiert sie in drei Ebenen:
- Normal: Berechtigungen mit geringem Risiko, die die Privatsphäre nicht direkt gefährden (z. B. SET_ALARM). Android gewährt diese automatisch.
- Gefährlich: Hochriskante Berechtigungen (Kontakte, Standort, Kamera). Diese muss werden von Ihnen bestätigt, wenn die App ausgeführt wird.
- Signatur/System: Extrem hohes Risiko. Diese sind nur für Apps verfügbar, die vom Gerätehersteller oder dem Betriebssystem selbst signiert sind.
Manuelle Methode (mit einem ZIP-Viewer)
Wenn Sie über technische Kenntnisse verfügen, können Sie die Berechtigungen selbst prüfen:
- Benennen Sie app.apk in app.zip um und öffnen Sie es.
- Finden Sie AndroidManifest.xml. (Hinweis: Es liegt im Binärformat vor und sieht in einem Texteditor wie Kauderwelsch aus.)
- Verwenden Sie ein Tool wie AXMLPrinter, um es in lesbaren Text umzuwandeln.
- Suchen Sie nach Tags, die mit <uses-permission> beginnen.
Empfehlung: Viel schneller geht es mit unserem Online-Tool, der dies sofort für Sie dekodiert.
Prüfen Sie jetzt Ihre Apps
Wissen Sie genau, was Ihre Apps verlangen. Keine Geheimnisse, keine Risiken.
Überprüfen Sie die APK-BerechtigungenWas tatsächlich in AndroidManifest.xml gespeichert ist
Das Manifest ist die Quelle der Wahrheit für jede Berechtigung, Komponente und Funktion, die eine App deklariert. In einem APK liegt die Datei im binäres XML-Format vor, nicht im Klartext, den Sie im Quellcode sehen, und kann daher nicht mit einem normalen Texteditor gelesen werden. Unser APK-Info-Tool dekodiert das binäre XML und zeigt die relevanten Tags an. Die wichtigsten sind:
- <uses-permission android:name="..."/>: jede Erlaubnis, die die App jemals anfordern könnte. Hier finden Sie die voll-Liste, einschließlich derjenigen, die die App zur Laufzeit möglicherweise nie tatsächlich verwendet.
- <uses-permission-sdk-23 ... />: dasselbe, aber nur angefordert, wenn die App auf Android 6 oder höher läuft. Ältere Geräte werden ohne Aufforderung stillschweigend zugelassen.
- <uses-feature android:name="..." android:required="true|false"/>: Hardwarefunktionen, die die App nutzt (Kamera, GPS, NFC). Wenn sie als erforderlich markiert ist, verbirgt der Play Store die App vor Geräten, denen diese Funktion fehlt.
- <application android:debuggable="true">: eine riesige rote Fahne in einer Release-APK. Eine debuggbare App stellt ihren Speicher- und Prozessstatus jedem mit ADB-Zugriff zur Verfügung. Ablehnen.
- <activity android:exported="true"> bei sensiblen Aktivitäten: Ermöglicht anderen Apps, diesen Bildschirm zu starten. Bei einer Datenschutz-App deutet dies häufig auf eine schlampige Codierung hin.
Berechtigungsschutzstufen: Der Spickzettel
Android weist jeder Berechtigung eine „Schutzstufe“ zu. Wenn Sie wissen, zu welcher Ebene eine Anfrage gehört, erfahren Sie, wie ernst das Betriebssystem sie behandeln wird.
| Schutzstufe | Benutzererfahrung | Beispiele |
|---|---|---|
| Normal | Wird bei der Installation stillschweigend gewährt. Keine Aufforderung. | INTERNET, VIBRATE, ACCESS_NETWORK_STATE, WAKE_LOCK |
| gefährlich | Runtime-Eingabeaufforderung bei der ersten Verwendung der Funktion. In den Einstellungen widerrufbar. | KAMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION |
| Unterschrift | Wird nur Apps gewährt, die mit demselben Zertifikat signiert sind wie die gewährende App oder das Betriebssystem. | BIND_VPN_SERVICE, INSTALL_PACKAGES (nur System) |
| Signatur|privilegiert | Nur für vorinstallierte Apps im priv-app-Verzeichnis des Systemabbilds verfügbar. | MANAGE_USERS, READ_LOGS (Systemsteuerung) |
| appop / Rolle | Zur Aktivierung ist ein separater Einstellungsablauf erforderlich. | SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (Sonderzugriff) |
Was „versteckte“ Berechtigungen eigentlich bedeuten
Ein weit verbreitetes Missverständnis ist, dass einige Berechtigungen geheim sind. Dies ist nicht der Fall: Jede Berechtigung, die eine App verwenden könnte, muss in AndroidManifest.xml deklariert werden, und das Betriebssystem weigert sich, Berechtigungen zu erteilen, die dort nicht aufgeführt sind. Was die Leute normalerweise mit „versteckt“ meinen, ist eines von zwei Dingen:
- Berechtigungen auf normaler Ebene sind stumm. Sie werden zum Zeitpunkt der Installation ohne Benutzerinteraktion gewährt. In der Play Store-Übersicht werden einige davon nicht einmal angezeigt. Sie sind „versteckt“ im Sinne von „leicht zu übersehen“, nicht im Sinne von „unveröffentlicht“.
- App-definierte benutzerdefinierte Berechtigungen. Apps können ihre eigenen <permission>-Tags deklarieren und diese für interne Komponenten erfordern. Diese existieren für die Kommunikation zwischen Apps und stellen an sich kein Datenschutzproblem dar. Sie können jedoch missbraucht werden, wenn eine beliebte App eine benutzerdefinierte Berechtigung mit der falschen Schutzstufe deklariert und eine andere App diese dann als Hintertür verwendet.
In jedem Fall ist die Antwort dieselbe: Lesen Sie das Manifest und vertrauen Sie nicht einer Play Store-Beschreibung allein.
Arbeitsbeispiel: Prüfung einer echten APK
Angenommen, Sie haben example.apk in Ihrem Download-Ordner. Hier ist der genaue Ablauf:
- Öffnen Sie APK-Info-Tool in Ihrem Browser.
- Legen Sie die APK im Upload-Bereich ab. Die Verarbeitung erfolgt lokal; Die Datei verlässt Ihr Gerät nicht.
- Lesen Sie den Abschnitt Berechtigungen. Jeder Eintrag zeigt den Konstantennamen (android.permission.READ_CONTACTS und eine verständliche Beschreibung dessen, was er ermöglicht).
- Vergleichen Sie die Liste mit der Kategorie der App. Erwarten Sie in etwa Folgendes:
- Kamera-Apps: KAMERA, RECORD_AUDIO (für Video), SPEICHER/MEDIEN schreiben
- Messaging-Apps: INTERNET, READ_CONTACTS, SEND_SMS (nur wenn SMS-basiert), RECORD_AUDIO (für Sprachnotizen), CAMERA (zum Versenden von Fotos)
- Spiele: INTERNET, manchmal RECORD_AUDIO (für Voice-Chat im Spiel), abrechnungsbezogene Berechtigungen; selten etwas anderes
- Utility-Apps (Rechner, Taschenlampe, Wetter): INTERNET (für Werbung), ACCESS_NETWORK_STATE, möglicherweise LOCATION (nur Wetter). Alles darüber hinaus ist verdächtig.
- Wenn etwas in der Liste nicht in die Kategorie passt, installieren Sie es nicht. Es gibt keinen guten Grund, warum ein Taschenrechner SMS-Zugriff benötigt.
Die gleiche Logik gilt unabhängig davon, ob es sich bei der Datei um ein APK, ein XAPK (wo wir das innere Basis-APK lesen) oder ein APKS-Bundle (wo wir das Manifest jedes Splits lesen) handelt.
Machen Sie es über die Befehlszeile
Wenn Sie die Terminalroute bevorzugen, liefert das Android SDK aapt2, das ein Manifest von jedem APK in einfachem XML ausgibt:
aapt2 dump badging example.apk | grep "uses-permission"
Oder verwenden Sie apksigner, um gleichzeitig das Signaturzertifikat zu überprüfen:
apksigner verify --print-certs example.apk
Dasselbe leistet das Browser-Tool für Benutzer, die lieber kein SDK installieren möchten, nur um eine einzelne Datei zu überprüfen.
Häufig gestellte Fragen (FAQ)
Kann ich eine Berechtigung verweigern, nachdem ich ein APK installiert habe?
Ja. Unter Android 6.0 und höher können Sie zu Einstellungen > Apps > [App-Name] > Berechtigungen gehen, um einzelne gefährliche Berechtigungen ein- oder auszuschalten.
Haben XAPK-Dateien unterschiedliche Berechtigungen?
Ein XAPK enthält ein oder mehrere APKs. Jede darin enthaltene APK verfügt über ein eigenes Manifest. Unser Tool analysiert die Haupt-APK innerhalb des Bundles, um Ihnen die relevanten Berechtigungen anzuzeigen.
Warum fragt jede App nach „Netzwerkzugriff“?
Fast alle Apps benötigen einen Internetzugang für Analysen, Fehlerberichte oder Werbung. Obwohl dies üblich ist, handelt es sich auch um die Art und Weise, wie gestohlene Daten an den Server eines Hackers gesendet werden.
Überprüfen Sie die Manifestberechtigungen, bevor Sie auf „Installieren“ tippen
Sie können nicht beurteilen, was Sie nicht sehen. Zehn Sekunden damit zu verbringen, Sehen Sie sich die Berechtigungen einer APK an vor dem Seitenladen zu verwenden, ist der Unterschied zwischen dem Wissen, was eine App erreichen kann, und dem einfachen Hoffen, dass sie sich verhält. Lesen Sie zuerst die Liste und installieren Sie sie dann.