Entendendo a situação

Alguém já sentiu vontade de desdobrar um origami, só pelo prazer de observar as linhas no papel que marcam como foi feito? São poucas as pessoas que sentem a curiosidade e a vontade de entender como algo é criado, mas todos já sentiram isso na infância. Essa curiosidade infantil é algo que podemos ver em alguns hackers, assim como George Hotz, o rapaz que tentou o que parecia impossível: hackear o PlayStation 3. A sede por sabedoria fez com que ele criasse um blog e explicasse tudo o que ele fazia no console durante esse tempo. Mas se engana quem pensa que o nosso White Hat, também conhecido por hackear o iPhone aos 17 anos, fez isso apenas pelo prazer de rodar jogos piratas. Portanto, que fique claro logo de início: a ideia do post é abrir portas para entender e estudar o hardware, mostrando como o console foi hackeado, como fazer o mesmo em casa, e onde chegamos com toda essa história. De forma alguma eu sou favor da ilegalidade, apenas do conhecimento.

O PlayStation 3, diferente do Xbox 360, permite algumas distribuições Linux, como Ubuntu, Fedora, Yellow Dog Linux, Debian, openSUSE e Gentoo. De início, vendo como é simples instalar tais distros, qualquer um pensa que o console contém poucas restrições, mas é aí que muitos se enganam. Mesmo com acesso a seis das sete unidades de processamento especializadas do Processador Cell, que é um PowerPC, o PlayStation 3 apresenta algumas limitações para os sistemas operacionais, como a placa gráfica, o RSX. Além desse detalhe, você não roda sua distro totalmente otimizada pelo processador, e muito menos pode ocupar todo o disco rígido. Claro que isso não muda o fato de que, graças aos sistemas operacionais, você pode gerar seus próprios códigos e utilizá-los, tendo, assim, um grande arsenal de aplicativos. E já que estamos falando em software livre, tudo isso fica sendo de graça.

Hackear é errado?

Hackear não é errado, desde que haja ética. Filosofando rapidamente, ética é a moral generalizada e bem trabalhada, a denominação da forma correta de se viver em sociedade, estabelecida pela mesma. Estudar profundamente certas máquinas garante um conhecimento inigualável e extremamente autodidático, quase um quebra-cabeça de mil e quinhentas peças. Creio eu que todos assistiram algum desenho animado, no qual o vilão abusa de seu conhecimento para pôr em prática a dominação mundial, e é aí que quero chegar. Você pode estudar, programar com direito à otimização pelos processadores, ou, no pior caso, usar sua sabedoria para piratear e ganhar dinheiro ilegalmente.

Ao falar em hackear um console, estamos comprando uma briga imensa com a empresa responsável pelo mesmo, já que, na semana seguinte, a mesma correrá atrás de uma maneira de resolver as falhas de segurança, assim como o Xbox 360, Wii, PSP e, atualmente, o PlayStation 3. Muitas vezes as empresas acabam tendo decisões mais radicais, optando por banir o console, mas isso não quer dizer que elas não vejam seus próprios erros. Lembrando que o Xbox 360 teve duas de suas atualizações completamente abertas por vários hackers, e a Microsoft tenta mantê-lo seguro como pode, mas é tarde. Por mais que tentem encobrir o próprio erro, o hacker já saberá como o console funciona, e isso faz com que seja fácil abrir espaço novamente, não importa quantas atualizações façam. No caso do Wii, o único fator que acabou contribuindo para seu hackeamento foi o seu controle. Os jogos piratas acabaram sendo um bônus, já que a ideia principal era fazer um computador reconhecer o Wii Remote. Isso porque não seria interessante hackear um console parecido com um GameCube, que não oferece desafios.

A Jornada

Como foi dito no começo da matéria, hackear um PlayStation 3 não é uma tarefa fácil, mas George Hotz, também conhecido como GeoHot, colocou alguns detalhes no blog “On the PlayStation 3” sobre como dar o primeiro passo: acabar com o hypervisor. Hypervisor é uma camada de abstração, que fica entre o hardware e o sistema operacional, sendo responsável pela virtualização e controle dos recursos compartilhados pela máquina, tais como: processadores, armazenagem, dispositivos de entrada e saída, memória, entre outros. Resumindo, ele é o monitor da máquina virtual, executado no maior privilégio possível. O hypervisor roda no processador principal (PPE) e em um dos coprocessadores Cell (SPE), daí o motivo do acesso negado para ele durante a execução de alguma distro. A chave para descriptografar o bootloader e o hypervisor estão presentes apenas no hardware; isso pode dizer que cada unidade de processamento possui uma chave específica. Alguns sites, como o Eurogamer, acabaram postando artigos que citavam apenas uma única chave global, o que está errado.

George usou uma abordagem conhecida como “glitching attack”, que consiste em enviar pulsos elétricos, cuidadosamente cronometrados (40 ns), ao hardware, causando dano na tabela de dispersão (HTAB). Como ele disse em seu blog, a técnica foi 5% hardware e 95% software, que é a parte mais complicada. George usou o recurso “OtherOS”, um exploit que dá acesso às funções da memória RAM, adicionando permissões de leitura e escrita, fazendo com que nenhum hypervisor entrasse em seu caminho. Em outras palavras, o sistema foi hackeado. Lembrando que o PlayStation 3 Slim não possui tal vunerabilidade com esse mesmo recurso, o que é uma pena para nós. “3 anos, 2 meses, 11 dias... é um belo sistema de segurança”, foi o que disse George Hotz, no dia 22 de janeiro deste ano, adicionando um pouco de humor ao dizer “Oi, hypervisor, sou GeoHot”. E pros gênios de plantão, o tal destravamento via modchip (esqueçam o Belzar) ainda está em fase de teste/produção, e sim, é o mesmo hack que citei acima, de forma simplificada, tipo yakisoba instantâneo.

Hackear não é desbloquear

Cada jogo tem uma chave criptografada armazenada em uma área do disco, chamado ROM Mark. O firmware da unidade lê essa chave e transmite pro hypervisor, para que ele descriptografe o jogo durante o carregamento. Ou seja, hackear o hypervisor não é o único passo necessário para executar jogos pirateados, já que ele precisaria ser subvertido, para revelar esta chave para cada jogo. Outra forma seria comprometer o driver do firmware do Blu-Ray para descobrir o código de descriptografação, e assim, descobrindo como decifrar cada jogo. Claro que também há o risco do fabricante usar uma proteção anticópias, como o SecuROM, mas seria detalhe.

Espero que tenham gostado do meu resumão. Qualquer dúvida, chilique ou sugestão: [email protected]


Publicação original de 16/03/2010. 4 imagens desta publicação não sobreviveram à migração de 2013.

Compartilhar
Comentários
0 comentários