O melhor pedaço da Maçã.

Artigo de leitor: um pouco de história e esclarecimentos sobre jailbreak

iPhone com jailbreak (corrente)

por Tomás Pinho, estudante de Engenharia Informática do IST de Lisboa (Portugal)

Publicidade

O que é o jailbreak?

Trata-se do processo pelo qual se conseguem remover as limitações impostas pela Apple em dispositivos móveis que rodam o sistema operacional iOS. A remoção dessas limitações permite ter acesso administrativo (root) ao sistema, oferecendo controle total sobre ele.

iPhone com jailbreak (corrente)

Isso permite, por exemplo, a instalação e execução de aplicativos não autorizados pela firma de Cupertino — através de meios que não a App Store —, a modificação de apps existentes através do uso de extensões, a possibilidade de se aplicarem estilos diferentes à interface gráfica do sistema e a criação e utilização de tons de toque não provenientes da loja da Maçã.

História do jailbreak

O primeiro iPhone foi lançado a 29 de junho de 2007 e, com ele, a Apple mergulhou no mercado da telefonia celular. No entanto, esse dispositivo, lançado com o iPhone OS iOS 1.0, contava apenas com softwares desenvolvidos pela própria Apple, uma vez que não existia a App Store e a Maçã ainda não permitia que outras empresas desenvolvessem para ele.

Publicidade

Uma semana(!) mais tarde, em 6 de julho de 2007, um grupo de hackers dos canais #iphone-talk e #iphone-mac da rede irc.osx86.hu, que vieram depois a integrar o conhecido iPhone Dev-Team, conseguiu com sucesso, através de engenharia reversa do software utilizado com o celular, o iTunes, criar um aplicativo chamado de iPhoneInterface que permitia ver e alterar o conteúdo do sistema de arquivos do iPhone e executar serviços. Assim começava a luta de gato e rato com a Apple, como a conhecemos até hoje.

GeohotEm 21 de agosto de 2007, um iPhone foi libertado das restrições de operadora impostas pela Apple. Este feito foi conseguido pelo famoso hacker George Hotz, conhecido por Geohot. No entanto, esse unlock foi conseguido através de hardware, tendo sido feito com sucesso através de software pelo mesmo hacker apenas em 8 de fevereiro do ano seguinte. Esta última é a forma como todos o desbloqueiam.

Sucessivas versões do sistema operacional foram sendo lançadas, assim como outras vulnerabilidades encontradas pelos hackers, de forma a manter possível o desbloqueio desses dispotivos. Algumas vulnerabilidades utilizadas pelo site JailbreakMe.com que permitiam jailbreak remoto (sem utilização de computador) eram bastante interessantes, pois foram descobertas no Safari do iOS e consistiam em problemas na renderização de arquivos TIFF e PDF.

Publicidade

Havia também uma grande e grave possibilidade de utilização maliciosa dessas vulnerabilidades, apontada por alguns analistas de segurança. Tais vulnerabilidades foram resolvidas pelos hackers, através de modificações, antes até de a Apple lançar correções oficiais.

Legalidade do jailbreak

A necessidade de jailbreak do iOS é vista por muitos como a demonstração de um dos direitos básicos, o da liberdade de expressão. Com a criação da App Store, a Apple passou a permitir aplicativos de terceiros nos seus dispositivos, mas mediante aprovação, seguindo um conjunto de regras que fácil e inevitavelmente causam controvérsia. Conteúdos com pornografia, objetivos políticos e religiosos, e que pudessem atentar contra os utilizadores mais sensíveis eram rejeitados após submissão, ou retirados da loja, caso tivessem sido anteriormente aprovados.

Publicidade

Muitos dos jailbreakers e hackers envolvidos na criação das ferramentas usadas temiam que a empresa de Cupertino começasse uma onda de processos legais devido à luta constantemente travada pelos dois lados. O interesse da Apple em que essas ferramentas deixassem de surtir efeito é claro: prolongar negócios exclusivos com as operadoras que geram muito lucro a ambas as empresas, e impedir a eventual pirataria que poderia surgir do desbloqueio total dos dispositivos, sempre com o argumento da proteção do seu valor intelectual representado pelo software produzido pela empresa, uma vez que os hackers têm de efetuar engenharia reversa sobre o sistema para encontrar formas de o modificarem.

Em julho de 2010, o Gabinete de Direitos de Autor da Biblioteca do Congresso dos Estados Unidos aprovou uma isenção, proposta pela Electronic Frontier Foundation, à Lei dos Direitos Autorais do Milênio Digital (DMCA) para permitir o desbloqueio de qualquer celular, seja ao nível do código por ele utilizado como da operadora de telefonia celular usada. No entanto, essa insenção tem validade de apenas três anos, estando já a EFF a realizar campanhas de sensibilização para que a isenção continue em vigor.

A legalidade de qualquer processo de desbloqueio de produtos electrônicos de consumo é duvidosa na maior parte dos países, devido à falta de legislação sobre o assunto — dependendo, assim, qualquer eventual processo legal da forma como está implementado o sistema judicial do país em questão. No Brasil e em Portugal, um processo desta natureza é altamente improvável dada a vasta utilização de jailbreak em ambos os países.

Anatomia do jailbreak

Para que cada jailbreak ocorra com sucesso, é necessário encontrar três vulnerabilidades no sistema operacional: primeiro é necessário fazer com que o sistema execute código não-assinado, normalmente efetuado através da utilização de bugs encontrados nos aplicativos presentes no sistema. No entanto, cada app roda no sistema num sistema de “caixa de areia” (sandbox) com privilégios reduzidos e sem acesso direto aos componentes do sistema.

Root do iPhone

Daí, é necessário efetuar um ataque de esclada de privilégios: encontra-se uma vulnerabilidade no sistema que permita executar código com direitos administrativos. Após este passo, é necessário modificar-se o kernel do sistema para permitir a execução de outras aplicações. Mas, para modificar ou atualizar o kernel, é preciso ser o kernel, encontrando-se outra vulnerabilidade para a execução de código a esse nível.

Após esse passo, há a possibilidade de obter um jailbreak untethered. O kernel, quando é carregado inicialmente para a memória do dispositivo, não se encontra modificado e é, portanto, necessário modificá-lo cada vez que o dispositivo inicia. Para tal usa-se outra vulnerabilidade, esta opcional e muitas vezes não explorada ou encontrada, que explora permanentemente as rotinas de carregamente de serviços ou binários para memória.

·   ·   ·

Espero ter conseguido esclarecer alguns dos aspectos relativos ao jailbreak! 😉

Ver comentários do post

Compartilhe este artigo
URL compartilhável
Post Ant.

Carat analisa os apps instalados no seu iGadget e lhe informa quais deles consomem mais bateria

Próx. Post

↪ Troca de bateria do MacBook Pro com tela Retina custará 54% a mais nos Estados Unidos

Posts Relacionados