Autor: Prof. Eziclei | Publicado: 2011-11-09T17:08:00-02:00


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.