Welche Sicherheitsauswirkungen hat die Verwendung einer App, die für das Debuggen erstellt wurde?

7

Ich bin gerade auf mehrere .apkDateien gestoßen, die mit Github-Projekten gehostet werden und "zum Debuggen kompiliert" sind (dh application-debuggablefestgelegt haben, was man zB überprüfen kann aapt dump badging /path/to/apk | grep debuggable. Da ich kein Android-Entwickler bin, habe ich nur vage Ideen, wofür das ist (erweitertes Debuggen über) ADB) - aber das ist hier nicht die Frage.

Meine Frage ist aus reiner Endbenutzerperspektive: Welche (Sicherheits-) Auswirkungen hat die Installation / Verwendung einer solchen App? Welche Risiken muss man beachten?

Natürlich suchte ich im Internet nach Hinweisen dazu, bekam aber wieder nur vage Hinweise wie "du sollst nicht" und "für eine Veröffentlichung sollte dies ausgeschaltet sein" - keine Gründe, kein Hintergrund. Dafür könnte man denken "offensichtlich keine große Sache" - aber Notizen wie "Verbringen Sie einige Zeit damit, über die Sicherheitsauswirkungen für Ihre Benutzer in diesem Kontext nachzudenken (siehe diese Antwort bei SO) schlagen dies anders vor.

Kann hier jemand einen Einblick geben?

Izzy
quelle
Verwandte Lektüre über Sicherheit . Beachten Sie, dass es bei Web-Apps schwerwiegender sein kann (möglicherweise wird zusätzlicher Zugriff gewährt und viele Benutzerdaten gleichzeitig verloren gehen), aber insgesamt ähnelt es dem, was ich unten gesagt habe - es gibt definitiv Probleme, aber sie sind meistens potenzielle Nebeneffekte. Effekte statt echte Löcher.
Matthew Read
1
Nur eine Randnotiz: Sie können auch anhand der Entwickleroptionen überprüfen, ob eine App debuggbar ist. Wählen Sie die Debug-App aus (zumindest im Nexus- Standard- ROM). Das Paket der debuggbaren App wird immer in LogCat angezeigt (im Vergleich zum leeren Paket der Release-Apps), sodass Sie leichter erkennen können, was es tut (ob für Entwickler, Endbenutzer oder Angreifer).
Andrew T.
@ AndrewT. Danke für diese Erklärung! Ich habe mich oft gefragt, wie diese Konfiguration zu interpretieren ist. Wenn dies die Möglichkeit bietet, "das Risiko zu überprüfen" (vorzugsweise ohne viel Entwicklerwissen), wäre das gut zu wissen. Noch besser, wenn man das Debug-Flag der App von dort aus ausschalten kann :)
Izzy
1
@ AndrewT. Bitte um Klarstellung: Was meinst du mit "immer auf LogCat angezeigt"? Können Sie dazu noch ein paar Details geben? Gilt dies nur für "logcat via ADB" oder wird es auch für andere Apps sichtbar?
Izzy
1
@MatthewRead Guter Zeiger, um die Sicherheit zu überprüfen, übrigens. Siehe auch dort: Deaktivieren des Debug-Modus für Android-Anwendungen als Sicherheitspraxis - wodurch es eher für den Entwickler als für den Benutzer ein Problem darstellt (obwohl letzteres auch später betroffen sein könnte, wenn eine Lücke entdeckt wurde;)
Izzy

Antworten:

5

Es gibt keine angeborenen Probleme beim Ausführen einer Debug-App. Wenn jemand Ihr entsperrtes Telefon greift, den Entwicklermodus aktiviert und mit dem Debuggen beginnt, kann er möglicherweise vertrauliche Informationen etwas einfacher aus dem Speicher der App abrufen. Dies ist jedoch nicht besonders realistisch und kann mit einem Sperrbildschirm problemlos behoben werden.

Debug-Informationen werden es auch schwieriger machen, Sicherheit durch Dunkelheit zu nutzen, von der wir alle wissen, dass sie keine echte Sicherheit ist. Dies ist offensichtlich nicht einmal ein Faktor, wenn es um Open-Source-Apps geht, da sie einfach die Quelle untersuchen können, um einen Fehler zu finden.

Die Besonderheiten der Codepfade, die Sie zum Debuggen hinzugefügt haben, können jedoch definitiv Sicherheitslücken sein. Möglicherweise schreibt die Debug-Version zu Test- und Überprüfungszwecken das Kennwort des Benutzers beispielsweise bei der Anmeldung an logcat. Es gibt eine Menge PII, die auf diese Weise verfügbar gemacht werden könnten.

Für einen Endbenutzer ist alles, was Sie wissen, dass es wahrscheinlich wahrscheinlicher ist, dass eine beliebige App Informationen verliert, wenn es sich um eine Debug-Version handelt. Wenn Sie nicht selbst danach suchen, werden Sie es wahrscheinlich nicht sehen. Das ist wahrscheinlich Grund genug, solche Apps zu vermeiden - doppelt so, da ein Entwickler, der den Unterschied zwischen Release- und Debug-Versionen nicht kennt, Ihre Daten wahrscheinlich auch nicht sehr kompetent schützt.

Dan Hulme machte auch im Chat einen guten Punkt : Eine Debug-Version wird wahrscheinlich nicht richtig signiert, was bedeutet, dass sie von einer böswilligen Quelle "aktualisiert" werden könnte. Ich würde wieder annehmen, dass dies ein unwahrscheinliches Ereignis ist, aber es ist ein weiterer Punkt dagegen.

Matthew Read
quelle
Danke, Matthew! Wenn Sie also von einem durchschnittlichen Benutzer gefragt werden: Würden Sie dringend davon abraten, eine solche App zu verwenden, schlagen Sie einfach vor, "vorsichtig zu sein" oder etwas dazwischen?
Izzy
1
@Izzy würde ich mäßig davon abraten. Wenn Sie zwischen Debug und Release wählen, wählen Sie natürlich immer Release. Aber wenn Sie geeignete Vorsichtsmaßnahmen getroffen haben, z. B. nicht dasselbe Passwort an anderer Stelle zu verwenden, und es nicht wichtig ist wie Ihre E-Mail / Twitter / Banking / etc., Dann wird es wahrscheinlich kein Problem sein.
Matthew Read
1
"Angesichts der Wahl zwischen Debug und Release" müsste ich nicht fragen :) Das Problem ist, dass einige Projekte dort nur eine Debug-Version anbieten und nicht im Playstore oder auf F-Droid präsent sind. Aber der letzte Satz Ihrer Bearbeitung hat einen guten Punkt: Der Entwickler hat möglicherweise auch "Sicherheitslücken an anderen Stellen hinterlassen". Vor diesem Hintergrund ist es also einen "starken Ratschlag gegen" wert - aber nicht so stark wie "bereitwillig Malware installieren". Danke noch einmal! Ich werde Ihre Antwort dann akzeptieren (natürlich immer noch offen für andere Erkenntnisse - wie die von Andrew in seinem Kommentar zu meiner Frage selbst :)
Izzy