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