Соображения безопасности при рутировании Android

Я знаю, что этот вопрос задавался много раз, но я не видел четкого ответа на него от экспертов по безопасности, или он был задан несколько лет назад, и что-то могло измениться.

Мой вопрос двойной:

  1. прежде всего, как в настоящее время работает процесс рутирования телефона Android (пожалуйста, подробно, если есть различные альтернативы)? Полагается ли это на дыру в безопасности или это своего рода атака (например, физический доступ к устройству), которая не является частью периметра безопасности Android? В первом случае, почему это не исправлено, так как есть открытые награды для системы Android? Обратите внимание, что я говорю только о самой системе Android (например, Nexus Phone) с последними исправлениями.

  2. Второй связанный вопрос: какова будет угроза безопасности при рутировании телефона Android? Если я не ошибаюсь, их можно сгруппировать как минимум по двум вопросам: сам процесс укоренения и последствия.

    а. Что касается процесса рутирования, существует ли какая-либо процедура с открытым исходным кодом (или, по крайней мере, тщательно проверенная) для рутирования телефона Nexus, которая может гарантировать, что в процессе не будет установлено вредоносное ПО? (см. также первый вопрос)

    б. Насколько я понимаю, наличие рутированного Android ничем не отличается от наличия ОС Linux с учетной записью root. Существуют ли какие-либо (бесплатные, с открытым исходным кодом?) приложения, которые могут отслеживать (какие команды были запущены и т. д.) и предотвращать доступ приложений к учетной записи root без моего согласия? (так что это ОС Linux, где любая учетная запись, требующая привилегий root, должна пройти через «sudo» и попросить пользователя ввести свой пароль).

Добро пожаловать в Android энтузиастов! Формат вопросов и ответов на этом сайте работает лучше всего, если вы поместите каждый вопрос в отдельный вопрос . В следующий раз, пожалуйста, придерживайтесь одного вопроса в сообщении и создавайте несколько сообщений (в данном случае два). Так вы получите лучшие ответы. (Разделение на этот раз может быть немного несправедливо по отношению к SarpSTA, который уже разместил ответ, но я боюсь, что немногие люди сделают это, хотя они могли бы сделать это с одной из двух частей)

Ответы (1)

Прежде всего, как в настоящее время работает процесс рутирования телефона Android?

Используя эксплойт в системе Android, бинарный файл с именем suдобавляется в /system/xbinраздел. Когда приложение хочет выполнить команду с привилегиями суперпользователя, оно выполняет команду со знаком suв начале. Это отправляет вызов двоичному файлу. Двоичный файл считывает текстовый документ, сгенерированный приложением с графическим интерфейсом. Если в этом текстовом файле нет конкретной информации о приложении, которое запрашивает root-доступ, то бинарник проверяет другой текстовый файл (опять же, сгенерированный графическим интерфейсом), который показывает, как оно должно действовать по умолчанию в таком случае. Обычно в таком случае приложение с графическим интерфейсом сообщит вам о приложении, запрашивающем root-доступ, и спросит, хотите ли вы его предоставить. В зависимости от вашего решения приложение с графическим интерфейсом сообщит двоичному файлу, следует ли ему предоставлять корневой доступ этому приложению.

Весь процесс примерно таков. Однако способов рутирования так много, что я не могу описать их все здесь. Потому что они в основном различаются у разных производителей.

Какова будет угроза безопасности при рутировании телефона Android? Если я не ошибаюсь, их можно сгруппировать как минимум по двум вопросам: сам процесс укоренения и последствия.

Ну, мы можем сделать это, если вы хотите.

Для самого процесса укоренения :

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

Для последствий

Телефон с root-доступом почти такой же, только с большей настройкой для человека, который знает, что делает. Но время от времени некоторые парни портят свои IMEI, удаляют приложение «Телефон», а иногда и полностью блокируют свой телефон, испортив что-то в файлах /system. Кроме того, предоставление root-доступа приложению с плохими намерениями может (и, вероятно, не будет) хорошо закончиться.

а. Что касается процесса рутирования, существует ли какая-либо процедура с открытым исходным кодом (или, по крайней мере, тщательно проверенная) для рутирования телефона Nexus, которая могла бы гарантировать, что в процессе не установлено вредоносное ПО?

Что ж, я мало что знаю о Nexus, но я не думаю, что процесс рутирования может привести к появлению вредоносных программ в вашем телефоне. Большинство suсоздателей бинарных файлов уже делятся своими кодами на gitHub. А популярные (например, Chainfire от XDA) — заслуживающие доверия разработчики, пользующиеся доверием сообщества.

б. Насколько я понимаю, наличие рутированного Android ничем не отличается от наличия ОС Linux с учетной записью root. Существуют ли какие-либо (бесплатные, с открытым исходным кодом?) приложения, которые могут отслеживать (какие команды были запущены и т. д.) и предотвращать доступ приложений к учетной записи root без моего согласия? (так что это ОС Linux, где любая учетная запись, требующая привилегий root, должна пройти через «sudo» и попросить пользователя ввести свой пароль).

Знайте: приложения могут использовать эксплойты самостоятельно и получать доступ даже на нерутированном телефоне . Однако приложения с графическим интерфейсом, такие как SuperSU или Superuser, поставляются со своим собственным suдвоичным файлом, который действует только в соответствии с указаниями приложения с графическим интерфейсом. Поэтому, если вы им не позволите, у них не будет root-доступа.

Спасибо за этот подробный ответ. Я хотел бы отметить, что меня интересует только голая система Android, такая как Nexus Phone, без специфики производителя. Не могли бы вы подробнее рассказать о части «с использованием эксплойта в системе Android»? Я немного озадачен тем, почему в последних версиях могут быть открыты известные уязвимости, поскольку, как упоминалось в моем вопросе, если вы найдете уязвимости в системе Android, будут задействованы деньги.
@thomasUJ Система Android в целом состоит из разных слоев. Таким образом, не может быть «голой системы» без частей, зависящих от производителя, таких как ядро. Есть причина, по которой ПЗУ, восстановление, методы рутирования и т. д. зависят от конкретного устройства.
Кроме того, Android является ОС с открытым исходным кодом. Поэтому гораздо больше шансов, что его подвиги будут раскрыты.
Линия Nexus практически не содержит модификаций производителя или оператора беспроводной связи для Android (википедия), вот что я имел в виду. Я не уверен, как вы относитесь к тому, что открытый исходный код раскрывает больше эксплойтов, обычно все наоборот. В любом случае, я действительно не чувствую, что вы ответили на мой вопрос об известных уязвимостях в современной системе Android (я сомневаюсь, что они есть, по крайней мере, общедоступны, отсюда и программы вознаграждений); но спасибо за другую информацию, теперь я лучше понимаю это
@thomasUJ Здесь сложно объяснить детали. Эта вики-страница означает что-то, связанное с AOSP. Просто знайте, что ваша концепция голой ОС Android неверна. И для части с открытым исходным кодом: это все равно, что смотреть на чертежи здания. Вор всегда может использовать его, чтобы обнаружить вход. Конечно, это помогает охотникам за головами обнаруживать и исправлять их, но это не меняет того факта, что повышает вероятность того, что его уязвимые места будут раскрыты.