A segurança da plataforma Android

android-securitySegundo LINSTAEDT (2012), “Android é um sistema operacional projetado para ser utilizado em sistemas móveis como tablets e smartphones. Os programas desenvolvidos para esta plataforma são escritos em Java e são executados sobre uma máquina virtual denominada Dalvik”. Originalmente desenvolvido em 2003 por uma empresa que mais tarde seria comprada pelo Google, o lançamento comercial do Android causou uma grande reviravolta no mercado de dispositivos móveis, fazendo frente à plataformas consolidadas como BlackBerry, Symbian, Windows CE e o imponente iOS.

Uma vez que a base do Android é o mesmo kernel do Linux, têm-se muitas características em comum entre ambas plataformas, o que também traz à tona os mesmos desafios de segurança e riscos herdados. Somado à isso, temos as peculiaridades referentes aos inúmeros aplicativos instalados pelos usuários em seus dispositivos, que não passam por um controle tão rigoroso quanto ao do market da Apple. Como resultado, temos um cenário favorável ao surgimento de malwares de todos os tipos, que devem ser levados em conta durante o desenvolvimento de nossos aplicativos e na evolução do próprio sistema operacional.

Vulnerabilidades na plataforma Android

O modelo de segurança da plataforma Android está intrinsecamente relacionado ao seu modelo de execução de aplicações. Cada aplicação iniciada pelo usuário ou pelo sistema operacional roda em uma VM dedicada, criada a partir da VM Dalvik original. Esta VM possui um usuário próprio, que executará e responderá pelas operações da mesma e por padrão, este usuário não tem permissão alguma. Toda e qualquer permissão necessária para que a aplicação rode com sucesso deve ser especificada no arquivo de manifesto (MURPHY, 2009), que só terá validade mediante autorização do usuário durante a instalação da aplicação. Uma vez que o usuário conceda as permissões que a aplicação exige, o usuário da aplicação poderá gozar dos privilégios cabíveis.

Outro aspecto interessante é que não é permitido a uma aplicação fazer chamadas à outras, devendo ser explicitada a intenção de fazê-lo, para que então o sistema operacional faça o que julgar adequado baseado em permissões, filtros de intenções e na própria escolha do usuário. Analisando estes aspectos, então, pode-se concluir que o modelo de segurança e execução de aplicações na plataforma Android é elegante, bem estruturado e eficaz. Entretanto, como nenhum sistema está à prova de falhas, vamos analisar dois aspectos importantes que comprometem a segurança de dispositivos desta plataforma.

Como primeira característica que apontaremos como um fator preocupante à segurança da plataforma está a baixa rigidez quanto à entrada de novos aplicativos na Google Play Store, hoje a maior loja de aplicativos para Android no mundo. Embora essa característica tenha sido um fator determinante para a rápida ascensão da plataforma, que hoje conta com mais de 600 mil aplicativos, atualmente ela representa um total descontrole de qualidade, que permite a entrada de milhares de aplicativos maliciosos no mercado todos os dias. Segundo Oberheide (2012), da empresa Duo Security, mais de 50% dos dispositivos Android estão vulneráveis atualmente a todo tipo de malware e comportamento malicioso de desenvolvedores de aplicativos que expõe diariamente novas aplicações ao mercado. Este alarmante número não é novidade para os desenvolvedores do sistema operacional, que regularmente tem lançado atualizações, entretanto, a alta fragmentação da plataforma faz com que os usuários não tenham acesso às versões mais recentes e, portanto, continuarão sendo vítimas desses criminosos.

Curso React Native

A segunda característica, que está diretamente relacionada à primeira, está na Engenharia Social para obter controle do dispositivo. Segundo Mitnick (2002), “A engenharia social usa a influência e a persuasão para enganar as pessoas e convencê-las de que o engenheiro social é alguém que na verdade não é, ou pela manipulação. Como resultado, o engenheiro social pode aproveitar-se das pessoas para obter as informações com ou sem o uso da tecnologia.”. Através de aplicativos extremamente procurados como scanners de raio-x, aplicativos pornográficos e invasores de redes wireless, os desenvolvedores chamam a atenção dos usuários, que iludidos pelas características e gratuidade da aplicação instalam em seus dispositivos, sem nem mesmo verificar quais permissões a aplicação está solicitando (como realizar chamadas em nome do usuário, por exemplo). Em alguns casos ainda piores, os usuários são conduzidos ao processo de “rooting” do dispositivo, que resumidamente (SCOTT, 2011) “é o processo pelo qual você obtém acesso administrativo ao seu telefone”, fornecendo permissões ilimitadas à aplicação e consequentemente, ao seu desenvolvedor.

Para evitar tais problemas, cabe primeiro aos fabricantes reduzirem a fragmentação da plataforma, disseminando nos dispositivos a versão mais atual do sistema operacional. Da mesma forma, cabe aos administradores das lojas de aplicativos manterem um controle mais rígido perante à submissão de novos aplicativos, semelhante ao que é feito na App Store da Apple. E por último, mas não menos importante, cabe aos usuários prestarem mais atenção nas permissões que estão sendo solicitadas pelos aplicativos que deseja instalar, principalmente aplicativos que exigem que o aparelho esteja operando em modo “rooted”. Alguns comportamentos simples por parte dos usuários poderia diminuir drasticamente a quantidade de dispositivos infectados por malwares de todos os tipos, primeiro, o hábito de não instalar aplicativos de fora dos markets de confiança com a Google Play Store, e segundo, o exercício de prestar atenção aos comentários dos aplicativos antes de instalá-los em seu dispositivo.

Estudo comparativo com a plataforma iOS

A plataforma iOS é o oposto da plataforma Android no que tange o conceito de “plataforma aberta”. Extremamente proprietária, com políticas rígidas aos seus desenvolvedores e limitado número de dispositivos diferentes usando seu sistema operacional, está em uma posição de liderança no mercado mundial de smartphones e tablets, muito disso graças à sua imensa plataforma de aplicativos mantida por uma rede fiel de desenvolvedores.

Considerando os aspectos de segurança de ambas plataformas, nenhuma deixa à desejar com suas obrigações. Inclusive a plataforma iOS passou no ano passado (REED, 2011) a plataforma BlackBerry no segmento corporativo, sendo que neste segmento o fator determinante para a decisão de compra geralmente é a segurança dos dispositivos. Da mesma forma que na plataforma Android, os aplicativos iOS rodam em modo sandbox, com recursos limitados e sem permissões para manipular dados que não sejam os seus e sem comunicação direta com os demais aplicativos do dispositivo. Entretanto, faz-se necessário mencionar um recurso obrigatório da plataforma que aumenta a segurança de um usuário nos aplicativos da plataforma: todo aplicativo, para que possa ser instalado em um dispositivo iOS deve estar assinado pela Apple ou por um certificado emitido pela mesma. Na plataforma Android, entretanto, é possível distribuir e instalar aplicativos livremente, sem qualquer controle por parte do Google.

E por fim, fazendo referência aos milhares de aplicativos maliciosos para a plataforma Android, a App Store da Apple, única loja autorizada pela empresa a distribuir apicativos, possui rígidas políticas de submissão que incluem desde taxas anuais aos desenvolvedores cadastrados, exigência de inúmeros documentos que devem ser enviados por fax para comprovação da idoneidade do desenvolvedor, até testes automatizados e manuais nos aplicativos submetidos, durante um processo que pode levar semanas, desde à submissão de um aplicativo até a sua publicação na loja online. Ainda que muitos critiquem tal comportamento, esta estratégia contribui bastante para manter a confiança que os usuários possuem na marca e afastar o máximo possível de desenvolvedores maliciosos.

Conclusões

A segurança é uma das maiores preocupações que vêm à tona com o uso de dispositivos móveis, quer estejam ou não conectados à Internet. O crescimento acelerado do número de usuários de smartphones, principalmente em ambiente corporativo, tem atraído a atenção de desenvolvedores maliciosos que de uma forma ou de outra, desejam ter acesso aos dados e recursos destes dispositivos. Devido à vulnerabilidades nas plataformas, estes criminosos podem obter desde acesso à agenda dos dispositivos até privar o dono de usar o mesmo.

Pôde-se constatar, através dos estudos do modelo de segurança da plataforma Android que sua arquitetura prima pela segurança dos aplicativos isolando-os uns dos outros, cabendo ao sistema operacional administrar suas relações, mensagens e permissões, de acordo com as necessidades e vontades do usuário. Também pode-se assumir que muitos dos problemas de segurança são oriundos da má utilização da plataforma, seja por parte de desenvolvedores com segundas intenções ou por usuários destreinados que instalam aplicativos de idoneidade duvidosa.

Finalmente, traçou-se um paralelo com o principal rival da plataforma: o sistema operacional iOS, que muito tem em comum com sua contraparte open-source. Ambos possuem arquitetura similar no que tange o isolamento de aplicativos, este último obtendo uma vantagem frente ao seu concorrente gratuito devido à alta rigidez da Apple durante o processo de submissão dos aplicativos aos consumidores finais.

Referências

LINDSTAEDT, E.; Introdução à Plataforma Android, 2012. Disponível em: <http://www.moodle.unisinos.br/file.php/4781/INTRODUCAO_A_PLATAFORMA_ANDROID/SEMANA_1/Ernesto_texto_sem1.pdf>. Acesso em: 13 outubro 2012.

MURPHY, M.; Beginning Android. Apress: New York, 2009, 386p.

OBERHEIDE, J.; Over 50% of Android Devices are Vulnerable, 2012. Disponível em: <https://blog.duosecurity.com/2012/09/early-results-from-x-ray-over-50-of-android-devices-are-vulnerable/>. Acesso em: 13 outubro 2012.

MITNICK, K.; The Art of Deception. John Wiley & Sons, 2002, 304p.

SCOTT, D.; Rooting for dummies: A beginner’s guide to rooting your Android device, 2011. Disponível em: <http://www.androidauthority.com/rooting-for-dummies-a-beginners-guide-to-root-your-android-phone-or-tablet-10915/>. Acesso em: 13 outubro 2012

REED, B.; iPhone ultrapassa BlackBerry no mercado corporativo mundial, 2011. Disponível em: <http://idgnow.uol.com.br/ti-corporativa/2011/11/17/iphone-ultrapassa-blackberry-no-mercado-corporativo-mundial/>. Acesso em: 13 outubro 2012.

* OBS: curtiu o post? Então dá uma olhada no meu livro de Android clicando no banner abaixo pra aprender a criar outros tantos apps incríveis!

Criando apps para empresas com Android