Получение прав root [1] — это процесс, с помощью которого пользователи устройств Android могут получить привилегированный контроль (известный как root-доступ ) над различными подсистемами устройства, обычно смартфонов и планшетов . Поскольку Android основан на модифицированной версии ядра Linux , получение прав root на устройстве Android дает аналогичный доступ к административным ( суперпользовательским ) правам, как в Linux или любой другой Unix-подобной операционной системе , такой как FreeBSD или macOS .
Rooting часто выполняется для преодоления ограничений, которые операторы и производители оборудования накладывают на некоторые устройства. Таким образом, rooting дает возможность (или разрешение) изменять или заменять системные приложения и настройки, запускать специализированные приложения («приложения»), требующие разрешений уровня администратора, или выполнять другие операции, которые в противном случае недоступны обычному пользователю Android . На некоторых устройствах rooting также может облегчить полное удаление и замену операционной системы устройства, как правило, на более новую версию его текущей операционной системы.
Root-доступ иногда сравнивают с джейлбрейком устройств, работающих под управлением операционной системы Apple iOS. Однако это разные концепции: джейлбрейк — это обход нескольких типов запретов Apple для конечного пользователя, включая изменение операционной системы (обеспечиваемое «заблокированным загрузчиком »), установку неофициально одобренных (недоступных в App Store ) приложений с помощью sideloading и предоставление пользователю повышенных привилегий уровня администратора (rooting). Многие поставщики, такие как HTC , Sony , OnePlus , Asus , Xiaomi и Google, явно предоставляют возможность разблокировать устройства и даже полностью заменить операционную систему. [1] [2] [3] [4] Аналогичным образом, возможность sideload-приложений обычно разрешена на устройствах Android без прав root. Таким образом, это в первую очередь третий аспект джейлбрейка iOS (предоставление пользователям административных привилегий), который наиболее напрямую коррелирует с Android rooting .
Получение прав root отличается от разблокировки SIM- карты и разблокировки загрузчика . Первое позволяет снять блокировку SIM-карты на телефоне, а второе позволяет переписать загрузочный раздел телефона (например, для установки или замены операционной системы). [5]
Rooting позволяет всем установленным пользователем приложениям запускать привилегированные команды, которые обычно недоступны для устройств в стандартной конфигурации. Rooting требуется для более сложных и потенциально опасных операций, включая изменение или удаление системных файлов, удаление предустановленных приложений и низкоуровневый доступ к самому оборудованию (перезагрузка, управление индикаторами состояния или повторная калибровка сенсорного ввода). Типичная установка rooting также устанавливает приложение Superuser, которое контролирует приложения, которым предоставлены права root или superuser, запрашивая одобрение у пользователя перед предоставлением указанных разрешений. Вторичная операция, разблокировка проверки загрузчика устройства , требуется для удаления или замены установленной операционной системы.
В отличие от джейлбрейка iOS , для запуска приложений, распространяемых за пределами Google Play Store, что иногда называется загрузкой из сторонних источников, рутирование не требуется . ОС Android поддерживает эту функцию изначально двумя способами: через опцию «Неизвестные источники» в меню «Настройки» и через Android Debug Bridge . Однако некоторые американские операторы , включая AT&T , запретили установку приложений, не находящихся в Play Store, в прошивке , [6] хотя несколько устройств не подпадают под это правило, включая Samsung Infuse 4G ; [7] AT&T сняла ограничение на большинстве устройств к середине 2011 года. [8]
С 2011 года [обновлять]Amazon Kindle Fire по умолчанию использует Amazon Appstore вместо Google Play , хотя, как и большинство других устройств Android, Kindle Fire позволяет загружать приложения из неизвестных источников, [9] а приложение «easy installer» в Amazon Appstore упрощает эту задачу. Другие поставщики устройств Android могут обратиться к другим источникам в будущем. Для доступа к альтернативным приложениям может потребоваться root-доступ, но root-доступ не всегда необходим.
Преимущества рутирования включают возможность полного контроля над внешним видом, ощущениями и поведением устройства. Поскольку суперпользователь имеет доступ к системным файлам устройства, все аспекты операционной системы могут быть настроены, единственным реальным ограничением является уровень знаний в области кодирования. [10] Непосредственно ожидаемые преимущества рутированных устройств включают следующее: [11] [12]
/sys/devices/platform/sec-battery/power_supply/battery/siop_level
системному файлу , где 100 представляет собой наивысшую технически поддерживаемую скорость зарядки. [18] [a]Некоторые недостатки рутирования включают в себя:
Получение root-прав позволяет пользователю получить привилегированный доступ к телефону. Оно не позволяет пользователю устанавливать новую ОС ( пользовательскую прошивку или пользовательское ПЗУ) или образ восстановления, а также не позволяет использовать телефон, привязанный к определенному оператору, на другом операторе. Связанные операции позволяют это.
Разблокировка загрузчика иногда является первым шагом, используемым для рутирования устройства; однако это не то же самое, что рутирование устройства. [24] Большинство устройств поставляются с заблокированным загрузчиком, что не позволяет пользователям устанавливать новый загрузочный образ, который часто прошивается при рутировании устройства или использовании пользовательского ПЗУ. [25] Загрузчик запускается при запуске устройства и отвечает за загрузку операционной системы на телефон. [26] Он, как правило, отвечает за проверку того, что системная информация телефона не была подделана и является подлинной. Тем не менее, люди все еще выполняют эту операцию, поскольку разблокировка загрузчика позволяет пользователям устанавливать пользовательские ПЗУ. [27]
Первый шаг для этого — настроить OEM-разблокировку [28] , а затем следовать инструкциям производителя. [24] Не все устройства можно разблокировать с помощью загрузчика, а некоторые можно разблокировать только с помощью эксплойта, для которого обычно требуется ошибка повышения привилегий , чтобы снять программные блокировки, что включает в себя большинство моделей LG V20 и проданных Verizon устройств Google Pixel . [29] [30]
Процесс разблокировки загрузчика может включать в себя сброс настроек к заводским, удаление всех пользовательских данных, сторонних приложений и конфигурации. [31] [32]
Разблокировка SIM-карты позволяет использовать телефон, привязанный к определенному оператору, на другом операторе. Инструкции различаются в зависимости от устройства и оператора, но это можно сделать, сначала попросив оператора разблокировать телефон или купив код разблокировки онлайн. [33]
Некоторые методы рутирования предполагают использование командной строки и интерфейса разработки, называемого Android Debug Bridge (также известного как ADB), в то время как другие методы могут использовать существующие уязвимости в устройствах. Из-за того, что устройства с похожей моделью часто имеют множество изменений, методы рутирования для одного устройства при использовании для другого варианта могут привести к блокировке устройства.
«Systemless root» — это вариант рутирования, при котором файловая система базового устройства не изменяется. Systemless root использует различные методы для получения root-доступа без изменения системного раздела устройства. Некоторые root-приложения могут включать функцию «скрытия», которая пытается скрыть эффекты и результаты рутирования, часто путем внесения определенных приложений в белый список для root или блокирования доступа к затронутым файлам. [34] Systemless root имеет преимущество в том, что не запускает программную версию SafetyNet , функцию Android, которая работает путем мониторинга изменений в системных файлах и используется такими приложениями, как Google Pay, для обнаружения несанкционированного доступа к устройству, например, путем рутирования. Однако аппаратные версии SafetyNet могут запускаться при systemless rooting, а также в нерутированных устройствах, поставляемых без Google Mobile Services (GMS) . [35] [36] [37] [38] [39]
Различие между «мягким рутированием» через уязвимость безопасности и «жестким рутированием» путем прошивки исполняемого su
двоичного файла варьируется от эксплойта к эксплойту и от производителя к производителю. Мягкое рутирование требует, чтобы устройство было уязвимо для повышения привилегий или замены исполняемых двоичных файлов. Жесткое рутирование поддерживается производителем и, как правило, доступно только для устройств, разрешенных производителем. [40] Если телефон может быть подвергнут мягкому рутированию, он также изначально уязвим для вредоносного ПО. [40]
Процесс рутирования сильно различается в зависимости от производителя и устройства, но иногда включает в себя эксплуатацию одной или нескольких ошибок безопасности в прошивке (т. е. в версии ОС Android, установленной на) устройства. [40] После обнаружения эксплойта можно прошить пользовательский образ восстановления, который пропустит проверку цифровой подписи обновлений прошивки. Затем можно установить модифицированное обновление прошивки, которое обычно включает утилиты, необходимые для запуска приложений с правами root. Например, su
двоичный файл (например, файл с открытым исходным кодом в паре с приложением Superuser [41] или SuperSU [42] ) можно скопировать в местоположение в PATH текущего процесса (например, /system/xbin/
) и предоставить разрешения на выполнение с помощью chmod
команды. Затем стороннее приложение-супервизор, такое как Superuser или SuperSU, может регулировать и регистрировать запросы на повышенные разрешения от других приложений. Для популярных устройств Android существует множество руководств, учебных пособий и автоматических процессов, облегчающих быстрый и простой процесс рутирования.
Процесс рутирования устройства может быть простым или сложным, и он даже может зависеть от счастливой случайности. Например, вскоре после выпуска HTC Dream (HTC G1) было обнаружено, что все, что набиралось с клавиатуры, интерпретировалось как команда в привилегированной (root) оболочке. Хотя Google быстро выпустила патч, чтобы исправить это, был утек подписанный образ старой прошивки, который дал пользователям возможность понизить версию и использовать оригинальный эксплойт для получения root-доступа. Устанавливаемые приложения смогли разблокировать немедленный root-доступ на некоторых смартфонах Samsung начала 2010-х годов. Это также называлось «rooting в один клик». [43]
Исследователь безопасности Грант Эрнандес продемонстрировал эксплойт использования после освобождения в Binder, фреймворке IPC Android, для получения привилегий root . [44] Этот эксплойт, обозначенный как CVE-2019-2215, предположительно продавался NSO Group . [45]
Некоторые производители, включая Xiaomi, OnePlus и Motorola, предоставляют официальную поддержку разблокировки загрузчика, что позволяет получить root-доступ без использования уязвимости. [46] Однако поддержка может быть ограничена только определенными телефонами — например, LG выпустила свой инструмент разблокировки загрузчика только для определенных моделей своих телефонов. [47] Кроме того, производитель может прекратить поддержку разблокировки загрузчика, как это было в случае с LG [48] и Huawei . [49]
Линейки устройств Google Nexus и Pixel могут разблокировать загрузчик, просто подключив устройство к компьютеру в режиме загрузчика и запустив протокол Fastboot с командой fastboot oem unlock
на старых устройствах [50] или fastboot flashing unlock
на новых устройствах. [51] После того, как предупреждение принято, загрузчик разблокируется, поэтому новый образ системы может быть записан непосредственно во флэш-память без необходимости использования эксплойта. Кроме того, телефоны Pixel, продаваемые через определенных операторов, таких как Verizon, запрещают разблокировку загрузчика [52] , в то время как другие, такие как T-Mobile, требуют, чтобы телефон был оплачен и SIM-карта была разблокирована, прежде чем загрузчик можно будет разблокировать. [53]
В прошлом многие производители пытались сделать телефоны без рутирования с более сложной защитой (например, Droid X ), но эксплойты обычно все равно в конечном итоге находятся. Для новых или устаревших телефонов может не быть эксплойта рутирования. [54]
До 2010 года производители планшетов и смартфонов, а также операторы мобильной связи в основном не поддерживали разработку сторонних прошивок. Производители выражали обеспокоенность по поводу неправильного функционирования устройств, работающих под управлением неофициального программного обеспечения [55] , и связанных с этим расходов на поддержку. Более того, прошивки, такие как OmniROM и CyanogenMod, иногда предлагают функции, за которые операторы в противном случае взимали бы дополнительную плату, например, тетеринг . Из-за этого на многих устройствах обычно вводились технические препятствия, такие как заблокированные загрузчики и ограниченный доступ к root-правам. Например, в конце декабря 2011 года Barnes & Noble и Amazon.com, Inc. начали продвигать автоматические обновления прошивки по воздуху , 1.4.1 для планшетов Nook и 6.2.1 для Kindle Fires, которые удалили один метод получения root-доступа к устройствам. Обновление Nook Tablet 1.4.1 также лишило пользователей возможности загружать приложения из других источников, помимо официального магазина приложений Barnes & Noble (без моддинга ). [56] [57]
Однако, поскольку в конце 2009 — начале 2010 года программное обеспечение, разработанное сообществом, стало пользоваться популярностью [58] [59] и после заявления Бюро по авторским правам и Библиотекаря Конгресса (США), разрешающего использование «взломанных» мобильных устройств, [60] [61] производители и операторы смягчили свою позицию в отношении CyanogenMod и других неофициальных дистрибутивов прошивок. Некоторые производители, включая HTC, [62] Samsung , [63] Motorola [64] и Sony , [65] активно оказывают поддержку и поощряют разработку.
В 2011 году необходимость обходить аппаратные ограничения для установки неофициальной прошивки уменьшилась, поскольку все больше устройств поставлялось с разблокированными или разблокируемыми загрузчиками, похожими на серии телефонов Nexus и Pixel. Производитель устройств HTC объявил, что будет поддерживать разработчиков стороннего программного обеспечения, сделав загрузчики всех новых устройств разблокируемыми. [55] Однако операторы, такие как Verizon и совсем недавно AT&T , постоянно блокировали OEM-производителей от выпуска розничных устройств с разблокированными загрузчиками, выбирая вместо этого устройства «developer edition», которые продаются только без субсидий и без контракта. Они на практике похожи на устройства Nexus, но за дополнительную плату и без скидок по контракту. Совсем недавно, с 2019 года, AT&T разрешила устройствам Pixel иметь разблокируемые загрузчики после того, как устройство будет оплачено и SIM-карта разблокирована. [66]
В 2014 году Samsung выпустила функцию безопасности под названием Knox , которая проверяет, были ли изменены системные и загрузочные файлы. Если была прошита пользовательская прошивка, eFuse устанавливается на 0x1, что навсегда аннулирует гарантию и отключает функции с поддержкой Knox, такие как Samsung Pay . [67] Кроме того, некоторые устройства Samsung не имеют возможности прошивать пользовательское программное обеспечение, а именно телефоны и планшеты Samsung, выпущенные в Северной Америке после 2015 года, за исключением устройств без сотового модема, [68] хотя существуют эксплойты, которые могут разблокировать загрузчик на некоторых затронутых устройствах, работающих под управлением старых версий One UI . [69]
Международные договоры оказали влияние на разработку законов, влияющих на рутирование. Договор об авторском праве Всемирной организации интеллектуальной собственности (ВОИС) 1996 года требует от стран-участниц договоров принятия законов против обхода управления цифровыми правами (DRM). Американская реализация — это Закон об авторском праве в цифровую эпоху (DMCA), который включает процесс установления исключений для целей, не нарушающих авторские права, таких как рутирование. Европейская директива об авторском праве 2001 года внедрила договор в Европе, требуя от государств-членов Европейского союза внедрения правовой защиты для технологических мер защиты. Директива об авторском праве включает исключения, позволяющие нарушать эти меры для целей, не нарушающих авторские права, таких как запуск альтернативного программного обеспечения, [70] но государства-члены по-разному относятся к реализации директивы.
В 2010 году Electronic Frontiers Australia заявила, что неясно, является ли рутирование законным в Австралии, и что могут применяться законы против обхода. [71] Эти законы были усилены Законом об авторских правах 2006 года .
В ноябре 2012 года Канада внесла поправки в Закон об авторском праве , включив в него новые положения, запрещающие вмешательство в работу цифровых замков, за исключением случаев, когда речь идет о совместимости программного обеспечения. [72] Получение прав root на устройстве для запуска альтернативного программного обеспечения является формой обхода цифровых замков с целью обеспечения совместимости программного обеспечения.
С 2008 по 2011 год было предпринято несколько попыток внести поправки в Закон об авторском праве (законопроект C-60, законопроект C-61 и законопроект C-32 ), чтобы запретить вмешательство в работу цифровых замков, наряду с первоначальными предложениями по законопроекту C-11, которые были более ограничительными, [73] но эти законопроекты были отклонены. В 2011 году Майкл Гейст , канадский специалист по авторскому праву, назвал джейлбрейк iPhone деятельностью, не связанной с авторским правом, которую могут запретить слишком широкие поправки к Закону об авторском праве. [74]
Фонд свободного программного обеспечения Европы утверждает, что рутирование или прошивка любого устройства являются законными. Согласно Европейской директиве 1999/44/EC, замена оригинальной операционной системы на другую не аннулирует установленную законом гарантию, которая распространяется на аппаратное обеспечение устройства в течение двух лет, если только продавец не сможет доказать, что модификация вызвала дефект. [75]
Закон о правилах авторского права и смежных прав 2003 года делает обход мер защиты DRM законным в целях обеспечения совместимости, но не нарушения авторских прав. Получение root-доступа может быть формой обхода, подпадающей под действие этого закона, но это не было проверено в суде. [70] [76] Законы о конкуренции также могут быть актуальны. [77]
Закон об авторском праве Индии разрешает обходить DRM в целях, не нарушающих авторские права. [78] [79] Индийский парламент внес законопроект, включающий это положение DRM, в 2010 году и принял его в 2012 году как Закон об авторском праве (поправка) 2012 года. [80] Индия не является участником Договора ВОИС об авторском праве, который требует принятия законов против обхода DRM, но, будучи включенной в Специальный отчет 301 США «Список приоритетного наблюдения», оказала давление с целью разработки более строгих законов об авторском праве в соответствии с договором ВОИС. [78] [79]
Закон об авторском праве Новой Зеландии допускает обход технических мер защиты (ТМЗ), если использование осуществляется в законных целях, не нарушающих авторские права. [81] [82] Этот закон был добавлен в Закон об авторском праве 1994 года как часть Закона об авторском праве (новые технологии) 2008 года .
Получение root-доступа может быть законным в Сингапуре, если это делается для обеспечения взаимодействия, а не для обхода авторских прав, но это не было проверено в суде. [83]
Закон о разблокировке потребительского выбора и конкуренции в беспроводной связи гарантирует, что потребители могут разблокировать или позволить другим разблокировать свои телефоны. Согласно Закону об авторском праве в цифровую эпоху (DMCA), рутирование было незаконным в Соединенных Штатах, за исключением исключений. Бюро авторских прав США предоставило исключение из этого закона «по крайней мере до 2015 года». [84]
В 2010 году в ответ на запрос Electronic Frontier Foundation Бюро по авторским правам США прямо признало исключение из DMCA, разрешающее рутирование. [85] [86] В своем постановлении от 26 июля 2010 года Библиотека Конгресса подтвердила, что рутирование освобождено от правил DMCA в отношении обхода цифровых блокировок. Исключения DMCA должны пересматриваться и возобновляться каждые три года, в противном случае они истекают.
28 октября 2012 года Бюро по авторским правам США обновило свою политику освобождения. Рутинг смартфонов по-прежнему является законным, «когда обход осуществляется с единственной целью обеспечения взаимодействия [законно полученного программного обеспечения] приложений с компьютерными программами на телефонной трубке». Однако Бюро по авторским правам США отказалось распространить это освобождение на планшеты, утверждая, что термин «планшеты» является широким и плохо определенным, и освобождение этого класса устройств может иметь непреднамеренные побочные эффекты. [87] [88] [89] Бюро по авторским правам также возобновило освобождение 2010 года для неофициальной разблокировки телефонов для использования их на неодобренных операторах, но ограничило это освобождение телефонами, приобретенными до 26 января 2013 года. [88]
Тим Ву , профессор юридического факультета Колумбийского университета , утверждал в 2007 году, что джейлбрейк «законен, этичен и просто забавен». [90] Ву сослался на явное исключение, выпущенное Библиотекой Конгресса в 2006 году для персональной разблокировки, в котором отмечается, что блокировки «используются операторами беспроводной связи для ограничения возможности абонентов переключаться на других операторов, что является деловым решением, которое не имеет ничего общего с интересами, защищенными авторским правом», и, таким образом, не подразумевает DMCA. [91] Ву не утверждал, что это исключение распространяется на тех, кто помогает другим разблокировать устройство или «трафик» в программном обеспечении для этого. [90] В 2010 и 2012 годах Бюро по авторским правам США одобрило исключения из DMCA, которые позволяют пользователям легально рутировать свои устройства. [92] Все еще возможно использовать технические контрмеры для предотвращения рутирования или предотвращения работы рутированных телефонов. [93] Также неясно, является ли законной торговля инструментами, используемыми для облегчения получения прав root. [93]
/sys/class/power_supply/battery/siop_level
— это сокращенная символическая ссылка на этот системный файл.