Root-доступ расширяет полномочия процессов и увеличивает последствия ошибки или компрометации привилегированного компонента. Однако UID 0 не отключает всю защиту Android: SELinux может ограничивать и root-процессы. Важно оценивать реальную конфигурацию, состояние загрузочной цепочки и доверие к приложениям, которым доступны повышенные права.
Как root-доступ влияет на безопасность Android?
Как повышенные полномочия меняют риск для данных и системы Android и почему root не означает автоматическое отключение SELinux и всех аппаратных защит.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Android изолирует приложения с помощью отдельных идентификаторов пользователей и других механизмов ядра. Это ограничивает доступ одного приложения к ресурсам другого. Базовая модель описана в документации Application Sandbox.
Root-доступ дает процессам повышенные полномочия по сравнению с обычным приложением. Если такими полномочиями обладает ненадежный компонент, возможные последствия его компрометации становятся серьезнее: изменение системных настроек, вмешательство в работу других компонентов или доступ к данным в пределах фактически доступных прав. Наличие root не означает, что любое установленное приложение автоматически получает эти полномочия.
Также неверно утверждать, что UID 0 отменяет все ограничения. Android использует SELinux для обязательного контроля доступа, в том числе к процессам с root-привилегиями. Это прямо указано в документации SELinux. Итоговые возможности зависят от политики, доступных capabilities и состояния самой системы.
Отдельно оценивают доверие к загрузке и системным компонентам. Verified Boot проверяет целостность и происхождение частей загрузочной цепочки. Root-доступ, изменение прошивки и состояние загрузчика — связанные в некоторых сценариях, но не тождественные понятия.
С защитной точки зрения важно минимизировать число привилегированных компонентов, поддерживать обновления и не считать модифицированное устройство равнозначным штатной доверенной конфигурации без проверки. Серверные сервисы также не должны полагаться только на клиентские ограничения. Аппаратно защищенные ключи и другие механизмы нужно оценивать отдельно: root сам по себе не доказывает, что любая такая защита преодолена.