Существуют ли какие-либо инструменты для песочницы вредоносного приложения даже больше, чем предоставленные разрешения для Android?

59

Предположим, я хочу запустить какую-то программу, которая запрашивает слишком много разрешений. Например, запись с микрофона или чтение IMEI моего телефона. Тем не менее, нет практического объяснения, почему запись с микрофона или номера IMEI необходима для этого конкретного приложения, за исключением интеллектуального анализа данных.

Я хочу попробовать это приложение, но ограничить его разрешения. Например, если он читает IMEI, он должен получить случайный IMEI (но каждый раз один и тот же). Если он пытается прочитать микрофон, он должен замолчать.

Некоторые другие интересные разрешения:

  1. Доступ для чтения / записи телефонной книги - возвращает ноль контактов, притворяется, что запись в порядке, но на самом деле ничего не делает.
  2. Отправлять SMS - делать вид, что SMS отправлено, но ничего не делать.
  3. Получить список видимых сетей Wi-Fi - вернуть ноль сетей.

Очевидно, что инструмент должен требовать рутированный телефон. Есть ли такие инструменты?

Денис Николаенко
источник
1
Я задавал этот вопрос на stackexchange, но был направлен сюда, поскольку у этого сайта более широкая аудитория android.
Денис Николаенко
9
Я никогда не видел ничего подобного, но не понимаю, почему это невозможно. Это хорошая идея.
Мэтт
1
Не могли бы вы использовать эмулятор в SDK для разработчиков, чтобы добиться многого из этого?
Эль
5
В основном да. Использование эмулятора в качестве песочницы возможно. Но что, если я хочу запустить приложение на физическом телефоне, но сохранить конфиденциальность?
Денис Николаенко
Я знаю, что этот вопрос старый, но можете ли вы уточнить, в каком контексте вы хотите протестировать какое-либо вредоносное приложение на своем личном физическом устройстве и ответить на поддельные личные данные? Мне кажется, что нынешнее решение CyanogenMod (отклонить вызовы, не выдавать поддельные данные) кажется достаточно.
Стефан Гурихон

Ответы:

13

XPrivacyLua - это модуль для Xposed Framework, который делает именно то, что вам нужно. Это бесплатно и с открытым исходным кодом. Работает на рутованных устройствах. Это наследник XPrivacy.

Установите Xposed отсюда: https://forum.xda-developers.com/showthread.php?t=3034811

Затем вы можете загрузить модуль XPrivacyLua из репозитория Xposed через приложение Xposed Manager или вручную отсюда:

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

Источник:

https://github.com/M66B/XPrivacyLua


Если вы используете Android 5 или ниже, вы можете использовать устаревший модуль XPrivacy.

Xaqron
источник
Очень хороший инструмент. Именно к чему я стремился.
Денис Николаенко
19

Компания Whisper Systems выпустила собственное ПЗУ, которое обладает именно этой функцией: http://www.whispersys.com/permissions.html . Как упоминает DarthNoodles, это должно быть сделано на уровне системы, а не на уровне приложения, как это реализовано в WhisperCore. Текущая версия не может заблокировать все разрешения, доступные на Android, но они работают над поддержкой большего количества из них.

Гэри Пек
источник
1
Исходный код доступен только после покупки ...
Денис Николаенко
Ссылка мертва. Они поменяли имена на OpenWhisper Systems и запустили Сигнал? или это другая группа?
Ещё один случайный пользователь
@YetAnotherRandomUser да, это более или менее та же группа: signal.org/blog/welcome . Whisper Systems приобрела Twitter. Чуть позже Moxie, один из основателей Whisper Systems, покинул Twitter и превратил некоторые из старых приложений Whisper Systems в проект с открытым исходным кодом, который стал Signal.
Гэри Пек,
16

CyanogenMod 7.1 имеет именно эту функцию , но без ложных данных, только сбой, если приложение обращается к API. Предложение о подделке IMEI было отклонено. Подделка других данных, таких как контакты, в настоящее время обсуждается.

Денис Николаенко
источник
1
Стив Кондик объясняет, почему он был отклонен в этом посте: plus.google.com/+SteveKondik/posts/iLrvqH8tbce Extract: «Я отклонил эти патчи, поскольку они создают неблагоприятную среду для приложений, и я не хочу, чтобы CM пошел . (...) разработчики, которые не хотят, чтобы их приложения работали в непредсказуемых средах. (...) Я думаю, что эти исправления - всего лишь театр безопасности и на самом деле не решают проблему. Почему вы хотите запускать вредоносные приложения? так или иначе?"
Стефан Гурихон
9

Не абсолютное решение вашей проблемы, но на рынке Android есть приложение, которое удовлетворит ваши потребности. Это также обязательно требует лучшего знания о разрешениях, а также о рутованном устройстве.

Permissions Denied - это приложение, которое позволяет вам эффективно контролировать права доступа к приложениям, установленным на вашем телефоне, через маркет или другой источник. Также помните, что отказ приложения в разрешении, которое оно запрашивает, может привести к принудительному закрытию приложения. (следовательно, требует от вас более глубоких знаний о том, как его использовать)

Примечание. Это приложение требует root-доступа. Это приложение не будет работать на всех устройствах.

Абхируп Манна
источник
1
CyanogenMod все еще лучше в этой области, приложение в настоящее время нестабильно.
Денис Николаенко
5

Это не приложение для песочницы, но, возможно, оно вам тоже интересно, если вы еще об этом не слышали.

Некоторые ученые начали проект Taintdroid . Мониторинг конфиденциальности в реальном времени для Android

NES
источник
4

MockDroid - еще одна академическая прошивка с возможностями подделки данных.

Денис Николаенко
источник
4

Есть отличный инструмент PDroid . Это и приложение, и набор исправлений ПЗУ, которые позволяют перехватывать и подделывать запросы на разрешение. Вот патчи для PDroid Jellybean ROM

Денис Николаенко
источник
3

Это логичное решение потенциальной проблемы и моего долгого раздражения.

Однако вы должны помнить, что любые решения, доступные для приложения безопасности, также будут доступны для приложения с вредоносным ПО. Если приложение безопасности может блокировать сетевой доступ, тогда приложение вредоносного ПО также может блокировать его, например, останавливая приложение безопасности от обновления файлов данных.

Это должно быть сделано на системном уровне, а не как другое приложение.

Смотрите мой пост здесь для моих мыслей.

DarthNoodles
источник
4
Такие инструменты потребуют корневого доступа к телефону, если вы предоставите его, должны иметь абсолютное доверие к инструменту, например, «Отказано в доступе». Если вы предоставляете root-доступ к случайному приложению с маркета, вы просто застрелились в ногу :)
Денис Николаенко
3

LBE Privacy Guard представляется очень многообещающим решением с интерактивными функциями, позволяющими блокировать или разрешать работу приложений на лету.

Денис Николаенко
источник
3

Переведенная версия китайской версии LBE доступна для разработчиков XDA, и она очень хорошо работает на Jelly Bean. Судя по всему, китайская версия все еще активно развивается.

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

Цербер
источник
2

На данный момент ведутся исследования по этому вопросу. Еще не выпущенное доказательство концепции реализовано для некоторых чувствительных к конфиденциальности API точно так, как я предлагал. Диспетчер конфиденциальности называется TISSA , сокращенно от «Укрощение информации».

Денис Николаенко
источник
2

Имеются приложения блокирования конфиденциальности (платные) и инспектора конфиденциальности (бесплатные). Privacy Blocker проводит статический анализ приложений для чувствительных вызовов API и переписывает эти вызовы в тупиковые, которые возвращают ложные данные. В результате создается и устанавливается новый .apk с переписанным приложением. Privacy Inspector - это приложение, которое сообщает только об использовании конфиденциальных вызовов API.

Денис Николаенко
источник
1

Зефир (Android 6) имеет новую модель разрешений . Приложения, ориентированные на Marshmallow, теперь могут быть ограничены меньшим количеством разрешений во время выполнения, и эти приложения должны работать изящно, а не модель разрешений «все или ничего» предыдущих версий Android. В Marshmallow это особенность стандартной ОС и не требует рута или дополнительных приложений.

mattm
источник
1
Привет Мэттм! Было бы хорошо, если бы вы углубились в это. Например, новая модель разрешений не дает никакого контроля над интернет-разрешениями. Если возможно, используйте скриншоты, чтобы лучше понять, о чем вы говорите.
Повелитель огня
-1

Я совершенно уверен, что инструмент, который вы ищете, еще не существует. Но твоя идея великолепна. Хотя немного

OFC; приложение может свободно читать и писать свой собственный каталог приложений

предоставление ложного доступа для чтения: для каждого возможного чтения (и приложение может попытаться прочитать) должен генерироваться ответ по умолчанию; много работы, но выполнимо

тем не мение; предоставить поддельный доступ к записи намного сложнее; что если он использует SD-карту для хранения больших временных файлов; как растровые изображения. На неподключенном телефоне; только место приложение может написать это SD-карта; и использование поставщика контента (для таких вещей, как контакты и календарь). И приложение desiger не ожидает сбоя при записи данных; так что приложение может зависнуть.

Хорошо, что самое худшее, что может случиться, это сбой приложения.

bbaja42
источник
Зачем голосовать? В декабре 2010 года этих инструментов на самом деле не было.
Денис Николаенко