INsegurança no desenvolvimento mobile

INsegurança no desenvolvimento mobile

Nos dias de hoje é muito comum encontrar programadores que desenvolvem para o ambiente web e que estão preocupados com a segurança da aplicação, independentemente da linguagem que estão desenvolvendo. Mas e quando o desenvolvimento é de uma aplicação mobile, será que os desenvolvedores possuem a mesma preocupação?

Não é possível, a não ser que seja através de uma falha na aplicação, visualizar o código fonte de uma aplicação que está sendo executa em um servidor web, independente da linguagem de programação que foi utilizada, mas quando olhamos para o desenvolvimento mobile a história é um pouco diferente.

Quando o desenvolvimento é mobile, os programadores criam como se fosse um arquivo “zip” e enviam para os repositórios de aplicativos, como o App Store para aplicativos iOS e o Google Play para aplicativos Android. Uma vez que os aplicativos estão nesses repositórios, os usuários, devem baixá-los para os seus celulares para poderem utilizá-los. Esse procedimento não acontece no desenvolvimento web, onde para poder utilizar uma aplicação basta acessá-la através do navegador.

A partir do momento que o aplicativo está no celular do usuário, é possível efetuar uma engenharia reversa e com isso visualizar, na grande maioria das vezes, o código fonte da aplicação e é nesse ponto que o problema acontece, pois toda a lógica da aplicação, constantes, funções, conexões e etc., podem ser visualizadas, ou seja, muitos programadores não sabem, esquecem, não possuem tempo ou não sei por qual outra questão, não se preocupam com o desenvolvimento mobile.

Efetuando a engenharia reversa de um aplicativo, foi possível obter o endereço de conexão, juntamente com o usuário e senha, do banco de dados da aplicação, ou seja, a total falta de segurança no desenvolvimento do aplicativo coloca em risco toda a segurança da informação dos usuários que o utilizam. Abaixo a imagem do método do aplicativo para Android que faz a conexão com o banco de dados:

insegurança no desenvolvimento mobile

Na imagem acima, além do código do aplicativo não estar criptografado, o programador fixou no código o endereço com usuário e senha de acesso ao banco de dados, ou seja, qualquer pessoa consegue se conectar ao banco de dados e visualizar todos os dados desse aplicativo.

Com a possibilidade de efetuar a engenharia reversa de aplicativos mobile, existe alguma solução para a segurança da informação? Existe e são várias, mas irei comentar apenas algumas: a primeira seria criptografar o código fonte antes de enviar o aplicativo para os repositórios; e a segunda, na parte de desenvolvimento, nunca devemos colocar usuário e senha de acesso à banco de dados, webservice ou seja qual serviço for, uma alternativa é enviar os dados para a aplicação web e essa aplicação web se conecta à base de dados e fornece uma reposta.

About the Author

Deixe uma resposta