Rooting (Android) - Rooting (Android)

Captura de tela do aplicativo "Root Verifier" em um Samsung Galaxy S10e com acesso root

Rooting é o processo de permitir que os usuários do sistema operacional móvel Android obtenham controle privilegiado (conhecido como acesso root ) sobre vários subsistemas Android. Como o Android é baseado em uma versão modificada do kernel do Linux , fazer o root de um dispositivo Android dá acesso a permissões administrativas ( superusuário ) semelhantes às do Linux ou de qualquer outro sistema operacional semelhante ao Unix , como FreeBSD ou macOS .

O root geralmente é executado com o objetivo de superar as limitações que as operadoras e os fabricantes de hardware colocam em alguns dispositivos. Assim, o enraizamento dá a capacidade (ou permissão) de alterar ou substituir aplicativos e configurações do sistema, executar aplicativos especializados ("aplicativos") que requerem permissões de nível de administrador ou realizar outras operações que são de outra forma inacessíveis para um usuário Android normal. Em alguns dispositivos, o enraizamento também pode facilitar a remoção e substituição completa do sistema operacional do dispositivo, geralmente com uma versão mais recente de seu sistema operacional atual.

O acesso root às vezes é comparado a dispositivos com jailbreak que executam o sistema operacional Apple iOS . No entanto, esses são conceitos diferentes: Jailbreaking é o desvio de vários tipos de proibições da Apple para o usuário final, incluindo a modificação do sistema operacional (imposta por um " bootloader bloqueado "), instalação não aprovada oficialmente (não disponível na App Store ) aplicativos via sideload e concedendo ao usuário privilégios de nível de administração elevados (root). Muitos fornecedores, como HTC , Sony , LG , Asus , Xiaomi e Google fornecem explicitamente a capacidade de desbloquear dispositivos e até substituir o sistema operacional por completo. Da mesma forma, a capacidade de fazer o sideload de aplicativos é normalmente permitida em dispositivos Android sem permissões de root. Portanto, é principalmente o terceiro aspecto do jailbreaking do iOS (dar aos usuários privilégios administrativos) que se correlaciona mais diretamente com o root do Android.

O enraizamento é diferente do desbloqueio do SIM e do desbloqueio do bootloader . O primeiro permite remover o bloqueio do SIM em um telefone, enquanto o último permite reescrever a partição de inicialização do telefone (por exemplo, para instalar ou substituir o sistema operacional).

Visão geral

O enraizamento permite que todos os aplicativos instalados pelo usuário executem comandos privilegiados normalmente indisponíveis para os dispositivos na configuração de estoque. O enraizamento é necessário para operações mais avançadas e potencialmente perigosas, incluindo modificação ou exclusão de arquivos do sistema, remoção de aplicativos pré-instalados e acesso de baixo nível ao próprio hardware (reinicialização, controle de luzes de status ou recalibragem de entradas de toque). instala o aplicativo Superusuário, que supervisiona os aplicativos aos quais são concedidos direitos de root ou superusuário, solicitando a aprovação do usuário antes de conceder essas permissões. Uma operação secundária, desbloqueando a verificação do carregador de inicialização do dispositivo , é necessária para remover ou substituir o sistema operacional instalado.

Em contraste com o jailbreak do iOS , o root não é necessário para executar aplicativos distribuídos fora da Google Play Store, às vezes chamados de sideload . O sistema operacional Android oferece suporte nativo a esse recurso de duas maneiras: por meio da opção "Fontes desconhecidas" no menu Configurações e por meio do Android Debug Bridge . No entanto, algumas operadoras norte - americanas , incluindo a AT&T , impediram a instalação de aplicativos que não estavam na Play Store no firmware , embora vários dispositivos não estejam sujeitos a esta regra, incluindo o Samsung Infuse 4G ; A AT&T suspendeu a restrição à maioria dos dispositivos em meados de 2011.

A partir de 2011, o Amazon Kindle Fire é padronizado para a Amazon Appstore em vez do Google Play , embora, como a maioria dos outros dispositivos Android, o Kindle Fire permite o sideload de aplicativos de fontes desconhecidas, e o aplicativo de "instalação fácil" na Amazon Appstore torna isso fácil. Outros fornecedores de dispositivos Android podem procurar outras fontes no futuro. O acesso a aplicativos alternativos pode exigir o enraizamento, mas o enraizamento nem sempre é necessário.

Fazer o root em um telefone Android permite que o proprietário adicione, edite ou exclua arquivos do sistema, o que, por sua vez, permite que ele execute vários ajustes e use aplicativos que requerem acesso de root.

Vantagens

As vantagens do enraizamento incluem a possibilidade de controle total sobre a aparência, sensação e comportamento do dispositivo. Como um superusuário tem acesso aos arquivos de sistema do dispositivo, todos os aspectos do sistema operacional podem ser personalizados, com a única limitação real sendo o nível de conhecimento de codificação. As vantagens imediatamente esperadas de dispositivos com acesso root incluem o seguinte:

  • Suporte para temas, permitindo que tudo seja alterado visualmente, desde a cor do ícone da bateria até a animação de inicialização que aparece enquanto o dispositivo está inicializando e muito mais.
  • Controle total do kernel, que, por exemplo, permite overclocking e underclocking da CPU e GPU.
  • Controle total de aplicativos, incluindo a capacidade de fazer backup completo , restaurar ou editar aplicativos em lote, ou remover bloatware que vem pré-instalado em alguns telefones.
  • Processos de nível de sistema automatizados personalizados por meio do uso de aplicativos de terceiros.
  • Capacidade de instalar software (como Xposed, Magisk, SuperSU , BusyBox , etc.) que permite níveis adicionais de controle em um dispositivo com acesso root ou gerenciamento de acesso de root.
  • Capacidade de contornar restrições de fornecedores ou do Google, como armazenamento com escopo , que comprometeu o acesso ao sistema de arquivos e a compatibilidade com aplicativos móveis de terceiros estabelecidos, como gerenciadores de arquivos .
  • Habilidades estendidas de gerenciamento de tarefas
    • Capacidade de encerrar tarefas do sistema com comportamento inadequado e / ou sem resposta, como scanner de mídia e servidor de câmera manualmente.
  • Capacidade de fazer downgrade de aplicativos diretamente, sem desinstalação, o que envolve a exclusão de seus dados de usuário. Um downgrade pode ser desejável após uma atualização violar a compatibilidade e / ou remover uma funcionalidade útil.
  • Capacidade de controlar a corrente de carga da bateria , onde um estrangulamento tecnicamente desnecessário imposto pelo sistema operacional enquanto a tela está ligada pode ser removido. Por outro lado, uma redução de corrente pode ser desejada para estender a vida útil da bateria. As APIs podem variar de acordo com o fornecedor. Por exemplo, em dispositivos Samsung Galaxy , isso é feito aplicando um valor ao /sys/devices/platform/sec-battery/power_supply/battery/siop_level arquivo do sistema , onde 100 representa a maior taxa de cobrança suportada tecnicamente.
  • Capacidade de limitar a capacidade de carga para reduzir o desgaste da bateria .

Conceitos relacionados

O enraizamento permite que o usuário obtenha acesso privilegiado a um telefone. Não permite que o usuário instale um novo sistema operacional ( firmware customizado ou ROM customizada) ou imagem de recuperação, e não permite que um telefone bloqueado para uma determinada operadora seja usado em outra. As operações relacionadas permitem isso.

Desbloquear bootloader

O desbloqueio do bootloader às vezes é a primeira etapa usada para fazer o root do dispositivo; entretanto, não é o mesmo que fazer o root do dispositivo. A maioria dos dispositivos vem com um bootloader bloqueado, o que evita que os usuários instalem um novo bootloader. O bootloader é executado na inicialização do dispositivo e é responsável por carregar o sistema operacional no telefone. É geralmente responsável por verificar se as informações do sistema telefônico não foram adulteradas e são genuínas. No entanto, as pessoas ainda realizam essa operação, pois o desbloqueio do bootloader permite que os usuários instalem ROMs personalizados.

A primeira etapa para fazer isso é geralmente configurar o desbloqueio OEM e, em seguida, seguir as instruções específicas do fabricante. Nem todos os dispositivos podem ser desbloqueados pelo bootloader.

O processo de desbloqueio do bootloader pode envolver uma redefinição de fábrica, apagando todos os dados do usuário, aplicativos de terceiros e configuração.

Desbloquear SIM

O desbloqueio do SIM permite que um telefone bloqueado para uma determinada operadora seja usado em uma operadora diferente. As instruções variam de acordo com o dispositivo e a operadora, mas isso pode ser feito solicitando primeiro à operadora o desbloqueio do telefone ou adquirindo um código de desbloqueio online.

Métodos

Alguns métodos de enraizamento envolvem o uso de um prompt de comando e uma interface de desenvolvimento chamada Android Debug Bridge (também conhecido como ADB), enquanto outros métodos podem usar vulnerabilidades existentes nos dispositivos. Devido aos dispositivos modelados de forma semelhante, muitas vezes terem uma infinidade de alterações, os métodos de enraizamento para um dispositivo quando usados ​​para uma variante diferente podem resultar em bloqueio do dispositivo.

"Raiz sem sistema" é uma variante do enraizamento em que o sistema de arquivos do dispositivo subjacente não é modificado. O root sem sistema usa várias técnicas para obter acesso root sem modificar a partição do sistema de um dispositivo. Alguns aplicativos root podem incluir uma função de "ocultar", que tenta mascarar os efeitos e resultados do root, geralmente colocando certos aplicativos na lista de permissões para o root ou bloqueando o acesso aos arquivos afetados. O root sem sistema tem a vantagem de não acionar a versão baseada em software do SafetyNet, um recurso do Android que funciona monitorando alterações nos arquivos do sistema e é usado por aplicativos como o Google Pay para detectar se um dispositivo foi adulterado, como por meio de root. No entanto, as versões SafetyNet suportadas por hardware podem ser acionadas por enraizamento sem sistema, bem como em dispositivos não enraizados enviados sem o Google Mobile Services (GMS).

A distinção entre "enraizamento suave" por meio de uma vulnerabilidade de segurança e "enraizamento rígido" por meio do flash de um executável su binário varia de exploração para exploração e de fabricante para fabricante. O rooting suave requer que um dispositivo seja vulnerável ao aumento de privilégios ou à substituição de binários executáveis. O hard-rooting é suportado pelo fabricante e, geralmente, apenas exposto para dispositivos que o fabricante permite. Se um telefone pode ter o root suave, ele também é inerentemente vulnerável a malware.

Rooting through exploits

O processo de enraizamento varia amplamente por dispositivo, mas geralmente inclui a exploração de um ou mais bugs de segurança no firmware (ou seja, na versão do sistema operacional Android instalado) do dispositivo. Assim que um exploit é descoberto, uma imagem de recuperação personalizada que irá ignorar a verificação da assinatura digital das atualizações de firmware pode ser ativada. Em seguida, uma atualização de firmware modificada que normalmente inclui os utilitários necessários para executar aplicativos como root pode ser instalada. Por exemplo, o subinário (como um de código aberto emparelhado com o aplicativo Superusuário ou SuperSU) pode ser copiado para um local no PATH do processo atual (por exemplo, /system/xbin/) e receber permissões de executável com o chmodcomando. Um aplicativo supervisor de terceiros, como Superusuário ou SuperSU, pode então regular e registrar solicitações de permissão elevada de outros aplicativos. Muitos guias, tutoriais e processos automáticos existem para dispositivos Android populares, facilitando um processo de enraizamento rápido e fácil.

O processo de fazer o root de um dispositivo pode ser simples ou complexo e pode até depender do acaso. Por exemplo, logo após o lançamento do HTC Dream (HTC G1), foi descoberto que qualquer coisa digitada usando o teclado estava sendo interpretada como um comando em um shell privilegiado (root). Embora o Google tenha lançado rapidamente um patch para corrigir isso, uma imagem assinada do firmware antigo vazou, o que deu aos usuários a capacidade de fazer o downgrade e usar o exploit original para obter acesso root.

Rooting através do fabricante

Alguns fabricantes, incluindo LG, HTC e Motorola, fornecem suporte oficial para desbloquear o bootloader, permitindo o enraizamento sem explorar uma vulnerabilidade. No entanto, o suporte pode ser limitado apenas a determinados telefones - por exemplo, a LG lançou sua ferramenta de desbloqueio de bootloader apenas para alguns modelos de seus telefones.

A linha de dispositivos Google Nexus pode ter seu bootloader desbloqueado simplesmente conectando o dispositivo a um computador enquanto no modo bootloader e executando o protocolo Fastboot com o comando fastboot OEM unlock. Depois que um aviso é aceito, o bootloader é desbloqueado, de modo que uma nova imagem do sistema pode ser gravada diretamente no flash sem a necessidade de um exploit.

Dificuldades

No passado, muitos fabricantes tentaram fazer telefones não enraizáveis ​​com proteções mais elaboradas (como o Droid X ), mas geralmente ainda são encontrados exploits. Pode não haver exploit root disponível para telefones novos ou desatualizados.

Reação da indústria

Até 2010, os fabricantes de tablets e smartphones, bem como as operadoras de celular, não apoiavam principalmente o desenvolvimento de firmware de terceiros. Os fabricantes expressaram preocupação com o funcionamento impróprio de dispositivos que executam software não oficial e os custos de suporte relacionados. Além disso, firmware como OmniROM e CyanogenMod às vezes oferece recursos pelos quais as operadoras cobrariam um prêmio, como tethering . Devido a isso, obstáculos técnicos, como bootloaders bloqueados e acesso restrito às permissões de root, têm sido comumente introduzidos em muitos dispositivos. Por exemplo, no final de dezembro de 2011, a Barnes & Noble e a Amazon.com, Inc. começaram a empurrar atualizações de firmware automáticas, over-the-air , 1.4.1 para Tablets Nook e 6.2.1 para Kindle Fires, que removeram um método para ganhar acesso root aos dispositivos. A atualização do Nook Tablet 1.4.1 também removeu a capacidade dos usuários de fazer o sideload de aplicativos de outras fontes além da loja de aplicativos oficial da Barnes & Noble (sem modding ).

No entanto, como o software desenvolvido pela comunidade começou a se tornar popular no final de 2009 ao início de 2010, e após uma declaração do Copyright Office and Librarian of Congress (EUA) permitindo o uso de dispositivos móveis "desbloqueados", fabricantes e operadoras abrandaram seus posição em relação ao CyanogenMod e outras distribuições de firmware não oficiais. Alguns fabricantes, incluindo HTC, Samsung , Motorola e Sony Mobile Communications , fornecem ativamente suporte e encorajam o desenvolvimento.

Em 2011, a necessidade de contornar as restrições de hardware para instalar firmware não oficial diminuiu à medida que um número crescente de dispositivos enviados com bootloaders desbloqueados ou desbloqueáveis, semelhante à série de telefones Nexus. O fabricante de dispositivos HTC anunciou que oferecerá suporte a desenvolvedores de software de reposição, tornando os bootloaders de todos os novos dispositivos desbloqueáveis. No entanto, operadoras, como a Verizon Wireless e mais recentemente a AT&T, têm bloqueado continuamente os OEMs de lançar dispositivos de varejo com bootloaders desbloqueados, optando por dispositivos de "edição para desenvolvedores" que são vendidos apenas não subsidiados e fora do contrato. Na prática, eles são semelhantes aos dispositivos Nexus, mas são premium e sem descontos contratuais.

Em 2014, a Samsung lançou um serviço de segurança chamado Knox , que é uma ferramenta que impede toda modificação de arquivos de sistema e inicialização, e qualquer tentativa de definir um fusível eletrônico para 0x1, invalidando permanentemente a garantia.

Legalidade

Tratados internacionais influenciaram o desenvolvimento de leis que afetam o enraizamento. O Tratado de Direitos Autorais da Organização Mundial de Propriedade Intelectual (WIPO) de 1996 exige que as nações signatárias dos tratados promulgem leis contra a evasão do gerenciamento de direitos digitais (DRM). A implementação americana é o Digital Millennium Copyright Act (DMCA), que inclui um processo para estabelecer isenções para fins que não violem direitos autorais, como o root. A Diretiva Européia de Direitos Autorais de 2001 implementou o tratado na Europa, exigindo que os estados membros da União Européia implementassem proteções legais para medidas de proteção tecnológica. A Diretiva de Direitos Autorais inclui exceções para permitir a violação dessas medidas para fins que não violem direitos autorais, como a execução de software alternativo, mas os estados membros variam quanto à implementação da diretiva.

Austrália

Em 2010, a Electronic Frontiers Australia disse que não está claro se o root é legal na Austrália e que podem ser aplicadas leis anti-evasão. Essas leis foram reforçadas pela Lei de Alteração de Direitos Autorais de 2006 .

Canadá

Em novembro de 2012, o Canadá alterou sua Lei de Direitos Autorais com novas disposições que proíbem a adulteração de fechaduras digitais, com exceções, incluindo a interoperabilidade de software. Fazer o root de um dispositivo para executar software alternativo é uma forma de contornar bloqueios digitais para fins de interoperabilidade de software.

Houve vários esforços de 2008 a 2011 para alterar o Copyright Act (Bill C-60, Bill C-61 e Bill C-32 ) para proibir a adulteração de fechaduras digitais, juntamente com propostas iniciais para C-11 que eram mais restritivas , mas essas contas foram postas de lado. Em 2011, Michael Geist , um estudioso canadense de direitos autorais, citou o desbloqueio do iPhone como uma atividade não relacionada a direitos autorais que emendas excessivamente amplas da Lei de Direitos Autorais poderiam proibir.

União Européia

A Free Software Foundation Europe argumenta que é legal fazer root ou fazer flash em qualquer dispositivo. De acordo com a Diretiva Europeia 1999/44 / EC, substituir o sistema operacional original por outro não anula a garantia legal que cobre o hardware do dispositivo por dois anos, a menos que o vendedor possa provar que a modificação causou o defeito.

Reino Unido

A lei Copyright and Related Rights Regulations 2003 torna legais as medidas de proteção de DRM para fins de interoperabilidade, mas não a violação de direitos autorais. O enraizamento pode ser uma forma de contornar abrangida por essa lei, mas isso não foi testado em tribunal. As leis de concorrência também podem ser relevantes.

Índia

A lei de direitos autorais da Índia permite contornar o DRM para fins que não violem direitos autorais. O Parlamento indiano apresentou um projeto de lei incluindo esta disposição de DRM em 2010 e aprovou-o em 2012 como Copyright (Emenda) Bill 2012. A Índia não é signatária do Tratado de Direitos Autorais da WIPO que exige leis contra a evasão de DRM, mas está listado no Relatório Especial 301 dos EUA . A "Priority Watch List" pressionou para desenvolver leis de direitos autorais mais rígidas, de acordo com o tratado da WIPO.

Nova Zelândia

A lei de direitos autorais da Nova Zelândia permite contornar a medida de proteção tecnológica (TPM), desde que o uso seja para fins legais e que não violem direitos autorais. Esta lei foi adicionada à Lei de Direitos Autorais de 1994 como parte da Lei de Alteração de Direitos Autorais (Novas Tecnologias) de 2008 .

Cingapura

O enraizamento pode ser legal em Cingapura se feito para fornecer interoperabilidade e não contornar direitos autorais, mas isso não foi testado em tribunal.

Estados Unidos

O Unlocking Consumer Choice and Wireless Competition Act garante que os consumidores podem desbloquear ou permitir que outros desbloqueiem seus telefones. De acordo com o Digital Millennium Copyright Act (DMCA), o enraizamento era ilegal nos Estados Unidos, exceto por isenção. O Copyright Office dos EUA concedeu uma isenção a esta lei "pelo menos até 2015".

Em 2010, em resposta a uma solicitação da Electronic Frontier Foundation , o US Copyright Office reconheceu explicitamente uma isenção ao DMCA para permitir o root. Em sua decisão, a Biblioteca do Congresso afirmou em 26 de julho de 2010 que o root está isento das regras do DMCA com relação a contornar bloqueios digitais. As isenções de DMCA devem ser revisadas e renovadas a cada três anos, ou então expiram.

Em 28 de outubro de 2012, o US Copyright Office atualizou suas políticas de isenção. O enraizamento de smartphones continua a ser legal "quando a fraude é realizada com o único propósito de permitir a interoperabilidade de aplicativos [de software legalmente obtidos] com programas de computador no aparelho telefônico". No entanto, o escritório de Copyright dos Estados Unidos se recusou a estender essa isenção aos tablets, argumentando que o termo "tablets" é amplo e mal definido, e uma isenção a essa classe de dispositivos poderia ter efeitos colaterais indesejados. O Copyright Office também renovou a isenção de 2010 para desbloquear não oficialmente telefones para usá-los em operadoras não aprovadas, mas restringiu essa isenção para telefones adquiridos antes de 26 de janeiro de 2013.

Tim Wu , professor da Columbia Law School , argumentou em 2007 que o jailbreak é "legal, ético e simplesmente divertido". Wu citou uma isenção explícita emitida pela Biblioteca do Congresso em 2006 para desbloqueio pessoal, que observa que os bloqueios "são usados ​​por operadoras sem fio para limitar a capacidade dos assinantes de mudar para outras operadoras, uma decisão de negócios que não tem nada a ver com o interesses protegidos por direitos autorais "e, portanto, não envolvem o DMCA. Wu não afirmou que essa isenção se aplica a quem ajuda outras pessoas a desbloquear um dispositivo ou "trafegar" um software para fazê-lo. Em 2010 e 2012, o US Copyright Office aprovou isenções ao DMCA que permitem aos usuários fazer root em seus dispositivos legalmente. Ainda é possível empregar contramedidas técnicas para evitar o root ou impedir o funcionamento de telefones com root. Também não está claro se é legal traficar nas ferramentas usadas para facilitar o enraizamento.

Veja também

Notas

Referências