• Segurança para Aplicativos Android

    Em um post feito no blog Connect, um especialista em segurança da Symantec relatou um novo trojan para a plataforma Android. Esse trojan envia secretamente as coordenadas GPS do aparelho enquanto está mascarado como um jogo livre de nome Tap Snake. A ação é ativada em background com a execução do jogo pelo usuário, e essas coordenadas capturadas podem ser coletadas e apresentadas no Google Maps via aplicativo GPS Spy Android, que é vendido por € 5,00 (produzido pela Maxicon). De acordo com a Symantec, uma vez ativado o processo do Tap Snake, não pode ser morto facilmente, e continua a ser executado em background no aparelho do usuário.

    Entretanto, o Tap Snake e o GPS Spy precisam estar em link pela inserção de dados específicos. Mais especificamente, o jogo pede constantemente pela autorização de efetuar a ligação com o GPS, e quando o usuário aceita, não tem mais volta. Mesmo tendo o potencial de lançar ataques de rastreamento, o sistema parece ter sido desenvolvido para mostrar a vulnerabilidade da plataforma com o uso de aplicativos de terceiros, já que é preciso que o usuário "inicie" todo o processo de "auto-sabotagem". Veja o caso desse trojan; muitas pessoas que tivessem o Tap Snake instalado e estivessem executando o aplicativo, teriam despertado suspeitas de um programa que fica constantemente pedindo autorização para acessar o GPS do aparelho. Para que um jogo desse tipo precisaria de acesso ao GPS? Talvez para a cobra poder se localizar e não dar de "cara" com a "parece" no jogo? :-D

    A plataforma Android é sólida, "segura" e poderosa. E é aí que mora o perigo. O Android acaba tendo o potencial de causar muitos "danos" para seus usuários, já que a camada de aplicativos possui acesso irrestrito ao sistema operacional, que possui acesso irrestrito ao hardware (GPS, 3G, Wi-Fi, etc). Um desenvolvedor habilidoso pode ser capaz de criar aplicativos que possam efetuar um verdadeiro processamento em background tendo acesso ao hardware4 do aparelho e aos diversos "serviços" do usuário, notoriamente cliente de uma operadora de telefonia móvel.

    Normalmente as aplicações efetuam requisições para o próprio usuário do aparelho, pedindo autorização para uso dos recursos disponíveis. Mas é teoricamente possível criar vários aplicativos que trabalhem em conjunto, e que utilizem o hardware e os serviços de telefonia do usuário sem a sua permissão. E como a cada dia que passa, esses dispositivos estão cada vez mais parecidos com os PCs (tanto em processamento quanto em software), é questão de tempo até que todos os tipos de ataques "migrem" para a telefonia móvel, e causem um verdadeiro Caos em nossa sociedade. Se o futuro é a "computação móvel", o potencial de "estrago" será desanimador se não houver estruturas de controle adequadas.

    E não estamos falando de bloqueios, ou mesmo de código fechado, como solução. Acredito que o problema seria muito maior se o sistema Android não disponibilizasse os fontes e entregasse para o usuário (e também ao desenvolvedor) apenas os binários. O que devemos lutar é por um sistema aberto e seguro, com a obrigatoriedade de padronização no desenvolvimento de aplicativos para essa plataforma. Os aplicativos, para serem seguros, devem respeitar uma construção que facilite a depuração de possíveis problemas que os mesmos possam gerar, e a análise deve se focar também na identificação de acesso ao hardware dos aparelhos. Pode parecer difícil, mas não é impossível, e seria uma importante abordagem de segurança para o desenvolvimento de aplicativos para plataformas abertas.


    Links de Interesse:

    - Android game secretly transmits GPS coordinates