Спасибо AndrewT, который разместил ссылку в чате , имея этот исследовательский документ в качестве ссылки в одном из ответов . Этот ответ полностью основан на этой статье (май 2015 г.) и освещает общие для пользователя аспекты (в нем много материалов, связанных с безопасностью, для заинтересованных лиц)
Какие плюсы и минусы помимо вышеописанного?
Если у устройства есть обе опции - рутинг на основе приложения и рут-методы разработчиками, какой вариант выбрать?
Ответ: все дело в уязвимости вредоносного ПО. Использование Root-эксплойтов - ОГРОМНАЯ угроза безопасности, которая перевешивает любые другие преимущества.
Что такое Soft Root и Hard Root?
Soft Root: Root получают напрямую, запустив часть программного обеспечения (т. Е. Эксплойты root) - либо путем непосредственной установки на устройство, либо с adb
помощью оболочки через соединение с ПК.
Hard Root: Root получается путем внешней перепрограммирования su binary через пакет обновления или ROM
Угроза вредоносных программ - в целом
Несмотря на то, что многие из них являются законными, многие удобные корневые методы работают одним нажатием, используя уязвимости в системе Android. Если вредоносный код не контролируется должным образом, автор вредоносного ПО может использовать его для получения несанкционированной привилегии root.
Как описано в проекте Android Malware Genome , в 36,7% (из 1260) образцов вредоносного ПО был внедрен хотя бы один корневой эксплойт.
Эти хорошо спроектированные эксплойты недостаточно защищены, крайне опасно попадать в чужие руки.
Кто основные корневые провайдеры и в целом, как это работает?
Какие бывают типы корневых объектов?
Статья посвящена 78 исследованным подвигам. В общем, порядок воздействия (от высшего к низшему ):
Эксплуатация ядра: благодаря своему привилегированному положению ориентация на ядро Linux является естественной для достижения полного контроля над устройством Android - например, TowelRoot
Эксплойты библиотек: эксплойты, нацеленные на библиотеки, используемые системными процессами Android, или внешние библиотеки, используемые для поддержки различных приложений, например эксплойт ZergRush, libsysutils, используемые демоном Volume Manager.
Прикладная и прикладная инфраструктура Корневые эксплойты прикладного уровня: эксплойты, нацеленные на системные приложения или службы, в основном включают уязвимую логику, представленную setuid
утилитами, системными приложениями или службами. Примером является уязвимая setuid
утилита, которая присутствует только на устройствах XoomFE с уязвимостью внедрения команд.
Специфичное для ядра ядро или драйверы: поставщики либо настраивают ядро (например, настраиваемая ветвь ядра Linux Qualcomm), либо предоставляют драйверы специфичных для поставщика устройств для различных периферийных устройств (например, камеры, звука). Такой код работает внутри пространства ядра, компрометация которого также может привести к полному контролю над устройством.
Числа , подвиги как на рисунке ниже
Насколько сложно возложить руки на Эксплойт (Source или Binary)?
Очень просто.Легко доступный из поиска Google, благодаря чему авторы вредоносных программ могут использовать такие эксплойты. Поиск в Google 73 эксплойтов приводит к тому, что 68 из них доступны - 46 с исходным кодом и 22 с двоичными файлами
Как работают эти подвиги?
Основные требования для работы эксплойтов (упорядочены от самых трудных к наименее ) (у тега вредоносного ПО много таких случаев)
Требование взаимодействия с пользователем: (6 из 78 изученных)
- Попросить пользователя загрузить приложение и вручную прервать установку
- Попросить пользователя загрузиться в рекавери хотя бы один раз.
- Попросить пользователя вручную перевести устройство в режим «экономии заряда».
- Попросить пользователя открыть приложение для конкретного поставщика и нажать кнопку
Требуется adb
оболочка через соединение с ПК: (17 из 78 изученных). Для некоторых эксплойтов adb
требуется соединение с оболочкой по следующим наиболее распространенным причинам:
Эксплойт может успешно изменить параметр, в local.prop
котором рут- adb
доступ включен только для оболочки.
Эксплойт должен записывать в файл, принадлежащий групповой оболочке и доступный для записи группой (не для записи в мире)
Эксплойт нацелен на процесс демона adb, который требует запуска процесса атаки с пользователем оболочки. Например, эксплойт Rage Against the Cage нацелен на уязвимость отсутствующей проверки демона adb на возвращаемое значениеsetuid()
Перезагрузка: (6 из 78 изученных) Как правило, многие эксплойты root требуют как минимум одной перезагрузки. Например, атака по символической ссылке позволит злоумышленнику удалить файл, принадлежащий системе со слабым разрешением, чтобы установить ссылку в том же месте на защищенный файл. После перезагрузки соответствующие сценарии инициализации будут пытаться изменить разрешение исходного файла на доступное для записи, что в действительности изменяет разрешение связанного файла.
Нет или разрешение: (44 из 78 изученных) У эксплойтов в этой категории нет жестких требований, однако для некоторых из них могут потребоваться определенные разрешения Android, например, READ LOGS
чтобы владелец процесса был помещен в определенную группу пользователей.
Могут ли эти эксплойты быть обнаружены Антивирусом?
Поскольку эксплойты root очень чувствительны и могут использоваться различными вредоносными программами Android, ожидается, что антивирусное программное обеспечение на платформе Android сможет идентифицировать большинство из них, в том числе внедренные корневыми провайдерами. В целом, результат показывает, что современные продукты безопасности на платформе Android все еще не могут эффективно противостоять эксплойтам root
4 репрезентативных антивирусных продукта Android были использованы для тестирования крупнейшего провайдера (имя не указано ), имеющего 167 эксплойтов. Поскольку первоначально загруженные эксплойты из базы данных провайдеров упаковали фактический код эксплойта и использовали механизм обнаружения несанкционированного доступа, изучите 3 разные версии для каждого эксплойта:
Оригинальный эксплойт, полученный напрямую с серверов провайдера, с включенной упаковкой и обнаружением взлома.
Распакованный эксплойт, который предоставит антивирусным продуктам всю действующую логику эксплойта.
Перепакованный эксплойт с отключенным обнаружением взлома.
Двоичные файлы эксплойтов, разработанные крупными корневыми провайдерами, на удивление «чисты», так как все основные антивирусные программы испытывают трудности с их обнаружением, как показано в таблице ниже.
Вывод
Просто. Держитесь подальше от методов Soft Root, если вы не способны справиться с последствиями