segunda-feira, 20 de maio de 2013

Os sistemas operacionais modernos, herança de sistemas Unix da década de 1970, tem níveis de permissões para acessos controlados, que impedem que pessoas não autorizadas de acessar documentos de outros usuários, ou mesmo acesso de documentos entre usuários. Isso também impede que qualquer um modifique ou apague os arquivos que constituem o sistema operacional (os arquivos do sistema).

O Android é um sistema operacional Linux. Ao menos, sua base é Linux. Por cima do Linux no Android, temos a Dalvik, uma espécie de “motor” semelhante em funcionamento ao que temos com o Java nos desktops. Esse motor, a Dalvik, se encarrega de desenhar a interface do sistema e dos programas, além de executar o código, repassando ao sistema Linux as instruções necessárias para a comunicação com o hardware do dispositivo.

Mas a Dalvik deve respeitar as permissões do sistema Linux, que também inclui seu próprio sistema de permissões. Isso torna o sistema Android bastante seguro do ponto de vista técnico. Os casos de malwares para Android nada mais são do que executáveis escritos para fazer coisas que o sistema permite por padrão, mas que são usadas para fins ilegais. É muito simples se livrar da grande maioria de malwares para Android, bastando desinstalar o aplicativo contaminado.

Simplesmente o malware não faz nada além do que o Android permite. Dado o uso de malwares por criminosos, o Google, mantenedora do sistema Android, atualiza seu sistema adaptando permissões para áreas sensíveis para evitar esses golpes. Ou seja, a vulnerabilidade só existe porque na construção do sistema Android, não havia sido pensado na possibilidade de desenvolvedores agirem de má fé.

Usuários do Windows XP e versões seguintes já possuem experiência e entendimento sobre permissões tanto de arquivos como para acessos no sistema. É a diferença entre usuários simples ou limitados, e usuários administradores. Enquanto o usuário simples ou limitado não consegue instalar programas -dado que fazer uma instalação requer copiar arquivos do programa para diretórios importantes do sistema operacional-, justamente por não possuírem credenciais suficientes.

O usuário administrador possui tais credenciais, conseguindo executar tarefas de instalação, acessar e modificar arquivos do sistema operacional. Com sistemas *Nix, ou seja, Unix e Linux, o processo se dá da mesma forma. Há o usuário comum ou limitado, onde só consegue navegar no seu próprio diretório pessoal e tem a liberdade total de agir somente lá. E há o usuário com poderes administrativos, que permite instalar programas, modificar arquivos do sistema e arquivos de configurações.

O nome desse usuário com total poderes no sistema Linux chama-se root. É daí que vem o termo “rootar” ou “rootear” para Android, designando o processo de conseguir credenciais de usuário com poderes administrativos, ou seja, podendo fazer o que quiser no sistema.

As vantagens e desvantagens de conseguir root no sistema

Um leque de novas possibilidades


A grande dúvida para os usuários que ouvem falar no tal “root do Android” é entender porque conseguir isso é importante. Sabe-se que há muitos aplicativos na Google Play, que requerem o root no sistema tanto para funcionarem, como para funções extras. O fato desses aplicativos precisarem de root não tem a ver com capricho do desenvolvedor, ou para “limitar” os usuários que podem ou não usar o aplicativo.

Como dito acima, a Dalvik responsável por construir a interface de aplicativos e permitir acessos a certas funções físicas do aparelho também respeita as permissões Linux, e por questões óbvias de segurança. Basicamente, a Dalvik gerencia o que um aplicativo pode ou não fazer, dado as limitações impostas para o funcionamento do sistema.

Em suma, o aplicativo não “conversa” com o Linux, mas sim com a Dalvik que repassa o necessário ao Linux para ativar alguma função de algum hardware do aparelho. Mas os aplicativos que necessitam de root no aparelho possuem funções extendidas que não podem ser satisfeitas pela máquina Dalvik, de modo que é necessário fazer as requisições diretamente ao Linux.

Normalmente são comandos simples, como a criação de um arquivo em um diretório do sistema, ou modificação de uma configuração padrão do kernel Linux. A vantagem como um todo não é só fazer uso desses aplicativos. A vantagem está em usar toda a flexibilidade que é pertinente ao Linux, conseguindo maior controle sobre o seu dispositivo e seu comportamento. Os aplicativos só são facilitadores.

Um exemplo que posso citar é o uso de firewall. Isso mesmo, firewall! É possível ativar o filtro Iptables presente por padrão no kernel Linux para bloquear ou restringir o uso de interfaces para aplicativos. No caso do Android, e diferentemente do que ocorre no desktop, o filtro só faz sentido ao bloquear conexões de saída, quer seja WiFi, 3G ou rede de telefonia sem fio, usado por aplicativos maliciosos para envio de SMS para contas premium sem que você saiba.

Existem inúmeros aplicativos destinados a essa função na loja do Google. No entanto esses aplicativos não fazem a filtragem, eles apenas criam as regras e executam, cabendo ao próprio recurso no kernel Linux fazer a filtragem com a ferramenta que já está embutida no sistema e que usuários de Linux para desktop já conhecem bem.

Com o Android rootado ou rooteado (dos dois jeitos está certo), você pode mudar aspectos de configurações impostas pelo fabricante, como aumentar o clock do processador, atribuir um esquema diferente de gerenciamento de memória, modificar arquivos de configuração internas que alteram o comportamento do Android, fazer cópias de segurança de configurações dos aplicativos e restaurá-las posteriomente são só alguns exemplos.

Mas tudo claro, depende de certos aspectos de configuração do kernel imposto pelo fabricante. Muitos fabricantes compilam o kernel excluíndo essas características por, talvez, acharem desnecessário. A grande vantagem de se ter root, é a possibilidade de instalar ferramentas que permitam mudar o kernel por um “mais completo” que o comumente usado no Android e mais próximo ou praticamente o kernel usado em desktops.

Desvantagem é o descuido!


A desvantagem de se ter o root tem mais a ver com o usuário descuidado que pode apagar ou modificar coisas que não deve e simplesmente estragar o sistema, fazendo-o não funcionar direito ou pior, sequer ligar novamente. Outra possibilidade seriam aplicativos maliciosos instalarem rootkits ou abrir brechas propositais quando instalados e executados pelo usuário desatento, quebrando por fim qualquer segurança do sistema.

Afinal, o aplicativo está com plenos poderes, podendo fazer tudo que fora programado dentro do sistema. Por esse motivo, o Android sai de “fábrica” totalmente bloqueado, sem acesso root. Inclusive alguns fabricantes incluem cláusulas que invalidam a garantia do aparelho em caso de aplicação do processo root.

Você tem o poder de dar e tirar


Mas nem tudo é inseguro. Cada aplicativo que requisita acesso root no sistema, é avisado por um aplicativo que faz o gerenciamento da autorização, perguntando se você deseja ou não executar determinado aplicativo com poderes administrativos. Assim, nada acontece sem o consentimento do usuário que está a par e atento aos aplicativos que executa.

O aplicativo SuperSU, por exemplo, possui um contador regressivo de 10 segundos. Se após o término da contagem não houver qualquer escolha por parte do usuário, ele bloqueia o acesso por padrão. Além disso, toda autorização pode ser revogada quando achar necessário, ou caso suspeite de uma atualização do aplicativo que possa trazer algum dano ao sistema. Isso contribui para o sistema mesmo com root, não ficar vulnerável.

Portanto, ao optar por fazer o root, deve-se ficar atento sempre aos aplicativos que você permite acesso de root, se são confiáveis, por que precisam de root (pesquise se o que o aplicativo vai fazer realmente necessita root), e claro, sempre suspeite primeiro e confie depois. Principalmente depois de muita pesquisa.

fonte:http://configso.wordpress.com/2013/05/07/root-o-que-e-e-para-que-serve/?blogsub=confirming#subscribe-blog
Categories: , ,

0 comentários:

Postar um comentário

Subscribe to RSS Feed Follow me on Twitter!