quarta-feira, 9 de novembro de 2011

Falha no código de assinatura no iOS leva a execução de código malicioso sem que a Apple detecte.
Depois da falha de segurança do iOS 5 que permitia o desbloqueio do iPad 2 com Smart Cover, foi recentemente encontrada uma falha grave de segurança, que permite que aplicações possam ter acesso a contactos, fotos, ringtones, entre outras coisas, sem que o sistema de controlo da Apple consiga detectar.


O especialista certificado em segurança pela NSA, Charlie Miller, descobriu uma falha no código de assinatura dos dispositivos iDevices, que permite aos programadores de forma sorrateira, enviar um malware para o App Store sem que a Apple detecte. A falha de segurança é relativamente critica, uma vez que permite que o malware possa roubar fotografias, contactos, fazer o telemóvel vibrar ou mesmo fazer tocar, etc, é o que o programador quiser.
O especialista criou um malware de teste, para provar a vulnerabilidade.
O simples programa que Miller criou, apenas lista as cotações da bolsa, mas também comunica com o servidor que tem em casa, em St. Louis, podendo executar qualquer comando que queira.
Aqui está o vídeo onde Miller demonstra a vulnerabilidade:
Apesar de que, a aplicação que Charlie Miller criou, já foi removida da App Store, por denuncia de utilizadores. A Apple já foi contactada, mas até agora, a Apple nada relatou sobre o assunto.
Charlie Miller começou a suspeitar de uma possível falha no código de assinatura dos iDevices depois do lançamento do iOS 4.3. Para aumentar a velocidade do browser, Miller notou que a Apple permitia a execução de código Javascript a partir da web para ser corrido a um nível alto de integridade na memória do dispositivo. Ele percebeu que ao aumentar a velocidade do browser, forçou a criar excepções de execução de código não autorizado numa parte da memória do dispositivo (A Apple tem restrições de segurança para evitar que sites não autorizados possam executar código usando aquela excepção).
Depois desta falha do iOS, o especialista descobriu a falha que permitiu expandir essa excepção de forma a executar código de qualquer aplicação que ele quisesse.
“Apple runs all these checks to make sure only the browser can use the exception”, afirma Miller. “But in this one weird little corner case, it’s possible. And then you don’t have to worry about code-signing any more at all”.
Charles Miller não vai divulgar qual é realmente o bug até à próxima semana, de forma a dar tempo à Apple para corrigir a falha.
Este exploit, de certa forma, é parecido a um outro exploit criado por John Oberheide para o Android. Usando um programa chamado de rootstrap, ele mostrou como uma inocente aplicação Android pode descarregar e correr código malicioso depois de o mesmo estar no telemóvel. (John Oberheide usou uma falsa aplicação Twilight-themed para demonstrar o potencial do ataque). Mas ao contrário do iOS, no Google existem menos critérios de avaliação na aprovação de apps, o que faz com que essa abordagem tenha levado mais malwares a assombrarem a market do Android. Esta falha encontrada no iOS 4+ leva o iOS ao nível de segurança existente no Android. [via]
Curiosamente (ou não), após esta divulgação Charlie Miller terá sido surpreendido com um contacto da Apple a expulsá-lo do iOS Developer Program, alegando que houve violação dos pontos 3.2 e 6.1 do respectivo regulamento. A sua surpresa no Twitter é reveladora.

Nenhum comentário:

Postar um comentário