Czy są jakieś narzędzia do piaskownicowania złośliwego oprogramowania jeszcze bardziej niż przyznane uprawnienia na Androida?

59

Załóżmy, że chcę uruchomić program, który żąda zbyt wielu uprawnień. Na przykład nagrywaj z mikrofonu lub czytaj IMEI mojego telefonu. Jednak nie ma praktycznego wyjaśnienia, dlaczego nagrywanie z numeru mikrofonu lub numeru IMEI jest potrzebne dla tej konkretnej aplikacji, z wyjątkiem eksploracji danych.

Chcę wypróbować tę aplikację, ale ogranicz jej uprawnienia. Na przykład, jeśli czyta IMEI, powinien otrzymać losowy IMEI (ale za każdym razem taki sam). Jeśli spróbuje odczytać mikrofon, powinno się uciszyć.

Kilka innych interesujących uprawnień:

  1. Dostęp do odczytu / zapisu książki telefonicznej - zwraca zero kontaktów, udawaj, że zapis jest w porządku, ale w rzeczywistości nic nie rób.
  2. Wyślij SMS - udawaj, że SMS jest wysyłany, ale nic nie rób.
  3. Uzyskaj listę widocznych sieci Wi-Fi - zwróć zero sieci.

Oczywiście narzędzie powinno wymagać zrootowanego telefonu. Czy są jakieś takie narzędzia?

Denis Nikolaenko
źródło
1
Zadawałem to pytanie na stackexchange, ale zostało skierowane tutaj, ponieważ ta strona ma szerszą publiczność na Androidzie.
Denis Nikolaenko,
9
Nigdy czegoś takiego nie widziałem, ale nie rozumiem, dlaczego nie można tego zrobić. To dobry pomysł.
Matt
1
Czy możesz użyć emulatora w pakiecie SDK dla programistów, aby wiele z tego zrobić?
ale
5
Zasadniczo tak. Możliwe jest użycie emulatora jako piaskownicy. Ale co, jeśli chcę uruchomić aplikację na telefonie fizycznym, ale zachować prywatność?
Denis Nikolaenko,
Wiem, że to pytanie jest stare, ale czy możesz wyjaśnić, w jakim kontekście chcesz przetestować złośliwą aplikację na swoim osobistym urządzeniu fizycznym i odpowiedzieć na fałszywe dane osobowe? Wydaje mi się, że obecne rozwiązanie w trybie cyjanogenodycznym (odrzucanie połączeń, nie wytwarzanie fałszywych danych) wydaje się wystarczające.
Stéphane Gourichon

Odpowiedzi:

13

XPrivacyLua to moduł środowiska Xposed, który robi dokładnie to, czego potrzebujesz. Jest darmowy i open source. Działa na zrootowanych urządzeniach. Jest następcą XPrivacy.

Zainstaluj Xposed stąd: https://forum.xda-developers.com/showthread.php?t=3034811

Następnie możesz pobrać moduł XPrivacyLua z repozytorium Xposed poprzez aplikację Xposed Manager lub ręcznie tutaj:

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

Źródło:

https://github.com/M66B/XPrivacyLua


Jeśli używasz Androida 5 lub starszego, możesz użyć starszego modułu XPrivacy.

Xaqron
źródło
Bardzo dobre narzędzie. Właśnie tego pragnąłem.
Denis Nikolaenko
19

Whisper Systems wyszedł z niestandardową pamięcią ROM, która ma dokładnie tę funkcję: http://www.whispersys.com/permissions.html . Jak wspomina DarthNoodles, należy to zrobić na poziomie systemowym, a nie na poziomie aplikacji, tak jak to jest zaimplementowane w WhisperCore. Obecna wersja nie jest w stanie zablokować wszystkich uprawnień dostępnych na Androidzie, ale pracują nad obsługą większej ich liczby.

Gary Peck
źródło
1
Kod źródłowy jest dostępny tylko po zakupie ...
Denis Nikolaenko
Link nie działa. Czy zmienili nazwy na OpenWhisper Systems i uruchomili Signal? czy to inna grupa?
YetAnotherRandomUser
@YetAnotherRandomUser tak, to mniej więcej ta sama grupa: signal.org/blog/welcome . Whisper Systems został przejęty przez Twittera. Nieco później Moxie, jeden z założycieli Whisper Systems, opuściła Twittera i wyrzuciła niektóre stare aplikacje Whisper Systems do projektu open source, który stał się Signal.
Gary Peck,
16

CyanogenMod 7.1 ma dokładnie tę funkcję , ale bez sfałszowania danych, zawodzi tylko, jeśli aplikacja uzyskuje dostęp do interfejsu API. Propozycja sfałszowania IMEI została odrzucona. Fałszywe inne dane, takie jak kontakty, są obecnie przedmiotem dyskusji.

Denis Nikolaenko
źródło
1
Steve Kondik wyjaśnia, dlaczego został odrzucony w tym poście: plus.google.com/+SteveKondik/posts/iLrvqH8tbce Wyciąg: „Odrzuciłem te poprawki, ponieważ tworzą wrogie środowisko dla aplikacji, i nie w tym kierunku chcę, aby CM poszedł . (...) programiści, którzy nie chcą, aby ich aplikacje działały w nieprzewidywalnych środowiskach. (...) Myślę, że te łatki to po prostu więcej teatru bezpieczeństwa i tak naprawdę nie rozwiązują problemu. Dlaczego chcesz uruchamiać złośliwe aplikacje tak czy siak?"
Stéphane Gourichon
9

Nie jest to absolutne rozwiązanie twojego problemu, ale na rynku Androida istnieje aplikacja, która zaspokoi Twoje potrzeby. Koniecznie wymaga także lepszej wiedzy na temat uprawnień, a także zrootowanego urządzenia.

Uprawnienia Odmowa to aplikacja, która pozwala skutecznie kontrolować uprawnienia aplikacji instalowanych w telefonie, za pośrednictwem rynku lub innego źródła. Należy również pamiętać, że odmowa aplikacji, o którą prosi, może spowodować wymuszenie zamknięcia aplikacji. (stąd wymaga posiadania większej wiedzy na temat korzystania z niego)

Uwaga: Ta aplikacja wymaga dostępu do katalogu głównego. Ta aplikacja nie działa na wszystkich urządzeniach.

Abhirup Manna
źródło
1
CyanogenMod jest jeszcze lepszy w tej dziedzinie, aplikacja jest obecnie niestabilna.
Denis Nikolaenko
5

To nie jest aplikacja Sandbox, ale być może jest również dla ciebie interesująca, jeśli jeszcze o niej nie słyszałeś.

Niektórzy naukowcy rozpoczynają projekt Taintdroid . Monitory prywatności w czasie rzeczywistym dla Androida

NES
źródło
4

MockDroid to kolejne oprogramowanie akademickie z możliwością fałszowania danych.

Denis Nikolaenko
źródło
3

To logiczne rozwiązanie potencjalnego problemu i mojego długiego podrażnienia.

Należy jednak pamiętać, że wszelkie rozwiązania dostępne dla aplikacji zabezpieczającej będą również dostępne dla aplikacji szkodliwego oprogramowania. Jeśli aplikacja zabezpieczająca mogłaby blokować dostęp do sieci, wówczas złośliwe oprogramowanie mogłoby również ją zablokować, uniemożliwiając na przykład aktualizowanie plików danych przez aplikację zabezpieczającą.

Należy to zrobić na poziomie systemu, a nie jako inną aplikację.

Zobacz mój post tutaj dla moich przemyśleń.

DarthNoodles
źródło
4
Takie narzędzia wymagałyby dostępu roota do telefonu, jeśli je przyznasz, powinny mieć pełne zaufanie do narzędzia, takie jak „Odmowa uprawnień”. Jeśli przyznasz rootowi dostęp do losowej aplikacji z rynku, po prostu postrzeliłeś się w stopę :)
Denis Nikolaenko,
3

LBE Privacy Guard wydaje się być bardzo obiecującym rozwiązaniem z interaktywnymi funkcjami blokującymi lub umożliwiającymi aktywność aplikacji w locie.

Denis Nikolaenko
źródło
2

Trwają badania na ten temat. Dla niektórych interfejsów API wrażliwych na prywatność wdrożono jeszcze nie wydany dowód koncepcji, dokładnie tak, jak zaproponowałem. Menedżer ds. Prywatności nazywa się TISSA , skrót od oswajania aplikacji na smartfony kradnące informacje.

Denis Nikolaenko
źródło
2

Istnieją aplikacje blokujące prywatność (płatne) i Inspektora prywatności (bezpłatne). Program Privacy Blocker wykonuje statyczną analizę aplikacji dla wrażliwych wywołań API i przepisuje te wywołania na odcinki zwracające fałszywe dane. W rezultacie jest generowany i instalowany nowy plik .apk z przepisaną aplikacją. Inspektor prywatności to aplikacja, która zgłasza tylko użycie poufnych połączeń API.

Denis Nikolaenko
źródło
1

Marshmallow (Android 6) ma nowy model uprawnień . Aplikacje atakujące Marshmallow mogą być teraz ograniczone do mniejszej liczby uprawnień w czasie wykonywania, a aplikacje te powinny się z wdziękiem zawieść, zamiast modelu uprawnień typu „wszystko albo nic” w poprzednich wersjach Androida. W Marshmallow jest to funkcja standardowego systemu operacyjnego i nie wymaga rootowania ani dodatkowych aplikacji.

mattm
źródło
1
Cześć Mattm! Byłoby dobrze, gdybyś zagłębił się tutaj. Na przykład nowy model uprawnień nie daje żadnej kontroli nad uprawnieniami internetowymi. Jeśli to możliwe, użyj zrzutów ekranu, aby lepiej zrozumieć, o czym mówisz.
Firelord
-1

Jestem pewien, że narzędzie, którego szukasz, jeszcze nie istnieje. Ale twój pomysł jest świetny. Ale tylko kilka rzeczy;

ofc; aplikacja może swobodnie czytać i pisać własny katalog aplikacji

dając fałszywy dostęp do odczytu: dla każdego możliwego odczytu (i jest wiele aplikacji, które można spróbować odczytać) powinna zostać wygenerowana domyślna odpowiedź; dużo pracy, ale wykonalne

jednak; udzielenie fałszywego dostępu do zapisu jest o wiele trudniejsze; co jeśli używa karty SD do przechowywania dużych plików tymczasowych; jak bitmapy. Na nieukończonym telefonie; jedyne miejsce, w którym aplikacja może pisać, to karta SD; i korzystanie z dostawcy treści (dla takich rzeczy jak kontakty i kalendarz). A aplikacja nie oczekuje, że zapisywanie danych zakończy się niepowodzeniem; więc aplikacja może ulec awarii.

Dobrze, że najgorsze, co może się zdarzyć, to awaria aplikacji.

bbaja42
źródło
Dlaczego głosować w dół? W grudniu 2010 r. Narzędzia te naprawdę nie istniały.
Denis Nikolaenko