Gibt es Tools, mit denen eine Malware-Anwendung noch weiter als die unter Android gewährten Berechtigungen in die Sandbox verschoben werden kann?

59

Angenommen, ich möchte ein Programm ausführen, das zu viele Berechtigungen anfordert. Nehmen Sie zum Beispiel über das Mikrofon auf oder lesen Sie die IMEI meines Telefons. Es gibt jedoch keine praktische Erklärung, warum für diese bestimmte Anwendung eine Aufzeichnung vom Mikrofon oder der IMEI-Nummer erforderlich ist, mit Ausnahme von Data Mining.

Ich möchte diese App testen, aber die Berechtigungen einschränken. Wenn es beispielsweise IMEI liest, sollte es eine zufällige IMEI erhalten (jedoch jedes Mal dieselbe). Wenn es versucht, das Mikrofon zu lesen, sollte es still werden.

Einige andere interessante Berechtigungen:

  1. Lese- / Schreibzugriff auf das Telefonbuch - Gibt keine Kontakte zurück. Stellen Sie sich vor, dass das Schreiben in Ordnung ist, tun Sie jedoch nichts.
  2. SMS senden - Geben Sie vor, dass eine SMS gesendet wird, tun Sie aber nichts.
  3. Liste der sichtbaren Wi-Fi-Netzwerke abrufen - keine Netzwerke zurückgeben.

Offensichtlich sollte das Tool ein gerootetes Telefon erfordern. Gibt es solche Tools?

Denis Nikolaenko
quelle
1
Ich habe diese Frage auf stackexchange gestellt, wurde aber hierher geleitet, da diese Site ein breiteres Android-Publikum hat.
Denis Nikolaenko
9
Ich habe so etwas noch nie gesehen, aber ich verstehe nicht, warum es nicht möglich war. Es ist eine gute Idee.
Matt
1
Könnten Sie den Emulator im Entwickler-SDK verwenden, um viel davon zu erreichen?
Ale
5
Grundsätzlich ja. Die Verwendung des Emulators als Sandbox ist möglich. Aber was ist, wenn ich eine App auf dem physischen Telefon ausführen möchte, aber meine Privatsphäre behalte?
Denis Nikolaenko
Ich weiß, dass diese Frage alt ist, aber können Sie erläutern, in welchem ​​Kontext Sie eine bösartige App auf Ihrem eigenen physischen Gerät testen und falsche personenbezogene Daten beantworten möchten? Für mich scheint die aktuelle Cyanogenmod-Lösung (Anrufe ablehnen, keine gefälschten Daten produzieren) zu genügen.
Stéphane Gourichon

Antworten:

13

XPrivacyLua ist ein Modul für das Xposed-Framework, das genau das tut, was Sie brauchen. Es ist kostenlos und Open Source. Funktioniert auf gerooteten Geräten. Es ist der Nachfolger von XPrivacy.

Installieren Sie Xposed von hier aus: https://forum.xda-developers.com/showthread.php?t=3034811

Sie können das XPrivacyLua-Modul dann über die Xposed Manager-App aus dem Xposed-Repository oder manuell von hier herunterladen:

https://repo.xposed.info/module/eu.faircode.xlua

Quelle:

https://github.com/M66B/XPrivacyLua


Wenn Sie mit Android 5 oder niedriger arbeiten, können Sie das ältere XPrivacy-Modul verwenden.

Xaqron
quelle
Sehr gutes Werkzeug. Genau das, wonach ich mich sehnte.
Denis Nikolaenko
19

Whisper Systems hat ein benutzerdefiniertes ROM herausgebracht, das genau diese Funktion bietet: http://www.whispersys.com/permissions.html . Wie DarthNoodles erwähnt, muss dies auf Systemebene und nicht auf App-Ebene erfolgen, wie dies in WhisperCore implementiert ist. Die aktuelle Version kann nicht alle auf Android verfügbaren Berechtigungen blockieren, sie arbeiten jedoch daran, weitere Berechtigungen zu unterstützen.

Gary Peck
quelle
1
Der Quellcode ist erst nach dem Kauf verfügbar ...
Denis Nikolaenko
Link ist tot. Haben sie den Namen in OpenWhisper Systems geändert und Signal gestartet? oder ist das eine andere gruppe
YetAnotherRandomUser
@YetAnotherRandomUser Ja, es ist mehr oder weniger dieselbe Gruppe: signal.org/blog/welcome . Whisper Systems wurde von Twitter übernommen. Etwas später verließ Moxie, einer der Gründer von Whisper Systems, Twitter und verwandelte einige der alten Whisper Systems-Apps in ein Open-Source-Projekt, das zu Signal wurde.
Gary Peck
16

CyanogenMod 7.1 hat genau diese Funktion , aber ohne Daten zu fälschen, was nur fehlschlägt, wenn die App auf die API zugreift. Vorschlag zur Fälschung der IMEI wurde abgelehnt. Das Fälschen anderer Daten wie Kontakte wird derzeit diskutiert.

Denis Nikolaenko
quelle
1
Steve Kondik erklärt, warum es in diesem Beitrag abgelehnt wurde: plus.google.com/+SteveKondik/posts/iLrvqH8tbce Extract: "Ich habe diese Patches abgelehnt, da sie eine feindliche Umgebung für Anwendungen schaffen, und das ist nicht die Richtung, in die ich CM sehen möchte (...) Entwickler, die nicht möchten, dass ihre Apps in unvorhersehbaren Umgebungen ausgeführt werden. (...) Ich denke, dass diese Patches nur ein Sicherheitsrisiko darstellen und kein wirkliches Problem lösen. Warum möchten Sie bösartige Anwendungen ausführen? sowieso?"
Stéphane Gourichon
9

Keine absolute Lösung für Ihr Problem, aber es gibt eine App auf dem Android-Markt, die auf Ihre Bedürfnisse zugeschnitten ist. Es erfordert auch unbedingt ein besseres Wissen über Berechtigungen und ein gerootetes Gerät.

Permissions Denied ist eine App, mit der Sie die Berechtigungen von Apps, die auf Ihrem Telefon installiert sind, über den Markt oder eine andere Quelle effektiv steuern können. Beachten Sie auch, dass das Verweigern einer von der App angeforderten Berechtigung zum erzwungenen Schließen der App führen kann. (daher müssen Sie besser wissen, wie man es benutzt)

Hinweis: Diese App erfordert Root-Zugriff. Diese App funktioniert nicht auf allen Geräten.

Abhirup Manna
quelle
1
CyanogenMod ist in diesem Bereich noch besser, die App ist derzeit flockig.
Denis Nikolaenko
5

Dies ist keine Sandbox-Anwendung, aber vielleicht auch für Sie interessant, wenn Sie noch nicht davon gehört haben.

Einige Wissenschaftler haben das Projekt Taintdroid gestartet . Echtzeit-Datenschutzmonitorium für Android

NES
quelle
4

Es gibt ein hervorragendes Tool PDroid . Es ist sowohl eine App als auch eine Reihe von ROM-Patches, mit denen Berechtigungsanforderungen abgefangen und vorgetäuscht werden können. Hier sind die PDroid Jellybean ROM Fork Patches

Denis Nikolaenko
quelle
3

Es ist eine logische Lösung für ein mögliches Problem und eine lange Zeit von mir Irritation.

Beachten Sie jedoch, dass die für eine Sicherheitsanwendung verfügbaren Lösungen auch für eine Malware-App verfügbar sind. Wenn eine Sicherheits-App den Netzzugriff blockieren kann, kann sie auch von einer Malware-App blockiert werden. So kann beispielsweise eine Sicherheits-App die Aktualisierung von Datendateien verhindern.

Dies muss auf Systemebene erfolgen, nicht als eine andere Anwendung.

Siehe meinen Beitrag hier für meine Gedanken.

DarthNoodles
quelle
4
Solche Tools erfordern Root-Zugriff auf das Telefon, wenn Sie ihm gewähren, und sollten dem Tool letztendlich vertrauen, z. B. "Verweigerte Berechtigungen". Wenn Sie Root-Zugriff auf eine zufällige Anwendung aus dem Markt gewähren, haben Sie sich gerade selbst in den Fuß geschossen :)
Denis Nikolaenko
3

LBE Privacy Guard scheint eine vielversprechende Lösung mit interaktiven Funktionen zu sein, mit denen Anwendungsaktivitäten im laufenden Betrieb blockiert oder zugelassen werden können.

Denis Nikolaenko
quelle
3

Eine übersetzte Version der chinesischen Version von LBE ist für XDA-Entwickler verfügbar und funktioniert sehr gut für Jelly Bean. Anscheinend wird die chinesische Version noch aktiv weiterentwickelt.

http://forum.xda-developers.com/showthread.php?t=1422479

Cerberus
quelle
2

Zu diesem Thema wird derzeit geforscht. Ein noch nicht veröffentlichter Proof of Concept ist für einige der datenschutzrelevanten APIs genau so implementiert, wie ich es vorgeschlagen habe. Der Datenschutzmanager heißt TISSA und steht für Taming Information-Stealing Smartphone Applications.

Denis Nikolaenko
quelle
2

Es gibt einen Privacy Blocker (kostenpflichtig) und einen Privacy Inspector (kostenlos). Privacy Blocker führt eine statische Analyse von Anwendungen für vertrauliche API-Aufrufe durch und schreibt diese Aufrufe in Stubs um, die gefälschte Daten zurückgeben. Als Ergebnis wird eine neue .apk-Datei mit einer neu geschriebenen Anwendung generiert und installiert. Privacy Inspector ist eine App, die nur die Verwendung vertraulicher API-Aufrufe meldet.

Denis Nikolaenko
quelle
1

Marshmallow (Android 6) hat ein neues Berechtigungsmodell . Anwendungen, die auf Marshmallow abzielen, können jetzt zur Laufzeit auf weniger Berechtigungen beschränkt werden. Diese Anwendungen sollten ordnungsgemäß fehlschlagen und nicht mehr das All-or-nothing-Berechtigungsmodell früherer Android-Versionen. In Marshmallow ist dies eine Funktion des Standardbetriebssystems und erfordert weder Rooting noch zusätzliche Anwendungen.

mattm
quelle
1
Hi mattm! Es wäre gut, wenn Sie hier näher darauf eingehen würden. Das neue Berechtigungsmodell gibt beispielsweise keine Kontrolle über Internetberechtigungen. Wenn möglich, verwenden Sie Screenshots, um besser zu verstehen, wovon Sie sprechen.
Firelord
-1

Ich bin mir ziemlich sicher, dass das von Ihnen gesuchte Tool noch nicht existiert. Aber deine Idee ist großartig. Nur wenige Punkte;

ofc; Die App kann ihr eigenes App-Verzeichnis frei lesen und schreiben

Geben von Fake-Read-Zugriffen: Für jeden möglichen Lesevorgang (und es kann eine Menge App-Leseversuche geben) sollte eine Standardantwort generiert werden. viel Arbeit, aber machbar

jedoch; Es ist viel schwieriger, gefälschten Schreibzugriff zu gewähren. Was passiert, wenn die SD-Karte zum Speichern großer temporärer Dateien verwendet wird? wie Bitmaps. Am Telefon ohne Wurzel; nur platz app kann schreiben ist sd karte; und Verwenden des Inhaltsanbieters (für Dinge wie Kontakte und Kalender). Und App-Desiger geht nicht davon aus, dass das Schreiben von Daten scheitern wird. Die App könnte also abstürzen.

Das Schlimmste, was passieren kann, ist, dass die App abstürzt.

bbaja42
quelle
Warum abstimmen? Im Dezember 2010 gab es diese Tools nicht wirklich.
Denis Nikolaenko