Плюсы и минусы рутирования с помощью приложений («Soft Root») по сравнению с другими методами («Hard Root»)

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

Насколько я понимаю,

Плюс Баллы

  1. Легкость укоренения

  2. Не нужен ноутбук или компьютер

Минусы

  1. Основано на эксплойтах, поэтому может не работать, если эксплойты запрещены обновлениями ОС.

  2. Сложности с удалением рута (как я вижу на некоторых форумах для моего устройства Huawei Honor 6)

Вопросы:

  • Какие плюсы и минусы кроме вышеперечисленного?
  • Если у устройства есть оба варианта — рутирование через приложение и рутирование методами разработчиков, какой из них выбрать?

Примечание. Я не ищу предложений или рекомендаций по приложениям.

Мое личное мнение всегда заключалось в том, чтобы держаться подальше от рутирования на основе приложений, пока доступно работающее пользовательское восстановление, которое можно прошить из загрузчика. Само существование корневых приложений в один клик и их успешная реализация для устройства подразумевает, что устройство имеет серьезную уязвимость (которая может быть использована приложением, если это необходимо), которая не была исправлена ​​его пользователем или его разработчик (ОЕМ). Тем не менее, мой первый рут был выполнен с помощью приложения root в 1 клик (Framaroot). :)

Ответы (3)

Спасибо AndrewT, который разместил ссылку в чате , имея эту исследовательскую работу в качестве ссылки в одном из ответов . Этот ответ полностью основан на этом документе (май 2015 г.) и подчеркивает общие аспекты, понятные пользователю (в нем много материалов, связанных с безопасностью , для тех, кто заинтересован)


  • Какие плюсы и минусы кроме вышеперечисленного?

  • Если у устройства есть оба варианта — рутирование через приложение и рутирование методами разработчиков, какой из них выбрать?

Ответ: Все дело в уязвимости вредоносных программ. Использование Root-эксплойтов представляет собой ОГРОМНУЮ угрозу безопасности, которая перевешивает любые другие преимущества.

Что такое Soft Root и Hard 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 разные версии для каждого эксплойта:

  1. Оригинальный эксплойт получен напрямую с серверов провайдеров, с включенной упаковкой и обнаружением несанкционированного доступа.

  2. Распакованный эксплойт, который предоставит антивирусным продуктам всю актуальную логику эксплойта.

  3. Перепакованный эксплойт с отключенным обнаружением несанкционированного доступа.

Двоичные файлы эксплойтов, разработанные крупными корневыми провайдерами, на удивление «чисты» , поскольку все основные антивирусные программы с трудом обнаруживают их, как показано в таблице ниже.

введите описание изображения здесь

Заключение

Простой. Держитесь подальше от методов Soft Root, если вы не в состоянии справиться с последствиями

Я чувствую, что вы упускаете из виду суть эксплойтов. Если в вашем телефоне есть уязвимость, которую может использовать «мягкий корень», вредоносное ПО может использовать эту уязвимость независимо от того, используете вы ее или нет. Укоренение телефона путем использования уязвимости не делает его более уязвимым.
@DanHulme: согласен, что это не увеличивает уязвимость. Я задал вопрос изначально, чтобы понять, почему и что (мягкий/жесткий рут) лучше - на то есть и ответ (несмотря на наличие уязвимости). Однако, если вы считаете, что ответ можно улучшить, включив в него ваше мнение, не стесняйтесь делать это.
Я просто не думаю, что то, что вы говорите об опасности этих уязвимостей, имеет какое-то отношение к вопросу о том, какой метод выбрать.
Выбирая soft root , похоже, что кто-то провоцирует использование уязвимостей, но да, я думаю, что понимаю, о чем вы говорите.
Это как следующий вопрос и ответ. «У меня есть входная дверь с ключом и задняя дверь, которую я никогда не запираю. Через какую мне войти в дом?» «Вы не должны использовать незапертую заднюю дверь, потому что грабитель может попасть туда». Дверь открыта независимо от того, используете вы ее или нет.
Хорошая аналогия. Кв. Чем больше человек пытается понять безопасность, тем больше понимает, насколько менее защищенным

Есть несколько преимуществ официального процесса рутирования.

  1. Он официально поддерживается на многих телефонах. Это означает, что вы можете использовать процесс, задокументированный производителем, и инструменты из официального источника или надежной третьей стороны (CWM или TWRP), вместо того, чтобы запускать инструмент, который вы получили с какого-то хитроумного веб-сайта.

  2. Поскольку он официально поддерживается, в большинстве случаев обновление системы не изменит процесс, поэтому вам не нужно искать «последний» метод рутирования. Напротив, обновления программного обеспечения, как правило, исправляют уязвимости, поэтому методы эксплойта часто перестают работать после обновления.

  3. Из-за вышесказанного после «мягкого рута» у вас может возникнуть соблазн не устанавливать обновление системы, потому что это обновление устраняет уязвимость и останавливает работу вашего метода рутирования. При официальном процессе нет причин оставаться на старой, уязвимой версии.

Помимо удобства метода в один клик (упомянутого в вопросе), есть и другие преимущества, связанные с этим.

  1. Разблокировка загрузчика на «жесткий рут» стирает телефон, так что приходится заново настраивать и восстанавливать данные из резервной копии. Обычно «мягкий рут» через уязвимость не требует очистки телефона, и это может быть намного удобнее.

  2. Поскольку рутирование изменяет системный раздел, обычно после этого вы не можете выполнить OTA-обновление: программа обновления распознает, что система изменена, и отключается. Но некоторые методы «мягкого рута» на некоторых телефонах позволяют избежать этой проблемы, поэтому вы можете выполнить обновление OTA без необходимости откручивать или прошивать новый образ системы. Это также немного проще. В любом случае, вам все равно придется снова рутировать после обновления.

  3. Поскольку вам не нужно разблокировать загрузчик, нет соблазна оставить его разблокированным. Преимущество в плане безопасности заключается в том, что люди не могут прошить новые ПЗУ на ваш телефон (например, если он украден и они хотят обойти блокировку экрана или защиту от сброса настроек).

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

Если ваш телефон может быть рутирован приложением или эксплойтом для рутирования, то он уязвим для вредоносных программ. Это одинаково верно независимо от того, используете ли вы root или какой метод используете. Если вы не используете эксплойт (вместо этого выполнив «жесткий рут» или просто не рутируя), это не защитит вас от вредоносного ПО и не уменьшит вашу уязвимость.

По запросу ОП некоторые подробности из чата :

Хороший вопрос, но трудно ответить: есть еще несколько вещей, которые следует учитывать.

  1. это не просто «на основе приложения по сравнению с USB» - и даже ваша «трудность с удалением root» не обязательно является ошибкой «на основе приложения» в целом, а скорее ошибкой конкретного приложения, вызывающего эту трудность.
  2. С точки зрения безопасности: если есть приложение, которое может рутировать мое устройство — кто сказал, что другое приложение не сделает это без моего согласия? Мы все знаем, что существуют вредоносные программы, которые делают именно это (чтобы интегрироваться в качестве системного приложения, чтобы защититься от сброса настроек).
  3. Однако, если такого приложения нет (и в надежде, что это не может быть сделано приложением на этом устройстве / ПЗУ), для такого вредоносного ПО гораздо сложнее. Если тогда есть простой способ через USB, я чувствую себя немного безопаснее :) Маловероятно, что какое-то другое приложение сможет подключить USB-кабель, загрузить что-то на мой компьютер и запустить эту комбинацию, чтобы причинить вред.

Таким образом, приведенное выше может считаться «противоположным приложением», но если такое приложение уже существует для рассматриваемого устройства, мы мало что можем с этим поделать. Даже если мы говорим «наоборот безопаснее», это не защитит нас от #2. Конечно, мы можем проверить это перед покупкой устройства, но кто сказал, что такое приложение не появляется на следующий день?