Приемник Android Broadcast для рутирующего устройства
Я использую RootTools
библиотека и RootTools.isRootAvailable()
функция, чтобы знать, если устройство рутировано или нет. Я использую его, когда телефон загружается в вещательный приемник. Если устройство рутировано, я удаляю все свои защищенные данные.
Не так давно я видел видео, где пользователь получает root-права на свой телефон после установки 3-х приложений и некоторых манипуляций с ними. Интересно, что у него есть права SU и он видит все данные без перезагрузки телефона. Мой вопрос, как мы можем защитить данные наших приложений в телефоне, может быть, у Android есть широковещательный приемник с корневым доступом, может быть, я должен прослушать некоторые другие коллекции приемников или мы должны создать службу, которая будет проверять корневой доступ через некоторое время?
1 ответ
Нет такой вещи, как событие (широковещательная или иная), которое говорит вам: "Устройство уже укоренилось". Даже если бы он существовал, его было бы легко победить: просто принудительно остановите приложение перед рутированием. Кстати, это также помешает вашему заявлению получить
BOOT_COMPLETED
событие.Нет определенной защиты от рутированных устройств. Вы не можете доверять скомпрометированной системе, чтобы сказать вам, что она была скомпрометирована.
Лучшее решение, которое я могу придумать, - это
- Зашифруйте ваши любимые данные, чтобы они были бесполезны без секретного ключа.
- Каждый раз, когда они вам нужны, попытайтесь понять, безопасна ли система, прежде чем расшифровывать их в памяти.
это оставляет проблему скрытия секретного ключа (если вы не хотите спрашивать пользователя)