Приемник Android Broadcast для рутирующего устройства

Я использую RootTools библиотека и RootTools.isRootAvailable() функция, чтобы знать, если устройство рутировано или нет. Я использую его, когда телефон загружается в вещательный приемник. Если устройство рутировано, я удаляю все свои защищенные данные.
Не так давно я видел видео, где пользователь получает root-права на свой телефон после установки 3-х приложений и некоторых манипуляций с ними. Интересно, что у него есть права SU и он видит все данные без перезагрузки телефона. Мой вопрос, как мы можем защитить данные наших приложений в телефоне, может быть, у Android есть широковещательный приемник с корневым доступом, может быть, я должен прослушать некоторые другие коллекции приемников или мы должны создать службу, которая будет проверять корневой доступ через некоторое время?

1 ответ

Решение
  • Нет такой вещи, как событие (широковещательная или иная), которое говорит вам: "Устройство уже укоренилось". Даже если бы он существовал, его было бы легко победить: просто принудительно остановите приложение перед рутированием. Кстати, это также помешает вашему заявлению получить BOOT_COMPLETED событие.

  • Нет определенной защиты от рутированных устройств. Вы не можете доверять скомпрометированной системе, чтобы сказать вам, что она была скомпрометирована.

Лучшее решение, которое я могу придумать, - это

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

это оставляет проблему скрытия секретного ключа (если вы не хотите спрашивать пользователя)

Другие вопросы по тегам