Image for post
Image for post
Martín Steven Bedoya Rodríguez | Consultor de Cibersegurança da everis Colômbia, Jhon Hegel Gutiérrez Gutiérrez | Líder de Cibersegurança da everis Colômbia

Panorama da cibersegurança em aplicativos móveis voltados aos serviços bancários

Resumo

Introdução

A implementação da tecnologia 4G melhorou substancialmente as velocidades de upload e download de dados nos dispositivos móveis e, por sua vez, os preços dos planos oferecidos pelas operadoras de internet móvel diminuíram e a quantidade de dados oferecidos aumentou. Por outro lado, os governos dos países em desenvolvimento encontraram no investimento em infraestrutura tecnológica e de telecomunicações um caminho para reduzir a desigualdade social (Fernández, 2011).

Assim, o apogeu das metodologias de desenvolvimento de software ágeis promove ciclos de entrega de artefatos em prazos curtos, agilizando o processo de software tanto para as grandes desenvolvedoras de software quanto para os empreendedores que buscam sustento nos aplicativos móveis. Além disso, as tecnologias emergentes híbridas de desenvolvimento aceleram o processo de codificação e abrem um leque de oportunidades aos desenvolvedores que não precisam aprender as linguagens nativas para criar aplicativos. Existem centenas de milhares de aplicativos desenvolvidos sobre frameworks híbridos, como Angular, Native Script, jquery Mobile, Cordova, Ionic e Xamarin, e esse percentual cresce gradualmente, ao passo que a complexidade da interação com o hardware e os tempos de renderização diminuem.

Hoje, uma pessoa com um telefone celular com acesso à internet tem em seu dispositivo, em média, mais de 20 aplicativos que automatizam seus processos de informação, comunicação, entretenimento, compras, relações interpessoais e finanças. O setor financeiro se beneficiou imensamente da tecnologia móvel, oferecendo soluções tecnológicas a seus clientes, literalmente a um “toque”.

O setor financeiro é um dos maiores interessados na exploração comercial dessas tecnologias, em razão da redução de custos com pessoal e à melhoria da experiência de seus clientes. Estima-se que o uso de aplicativos bancários aumenta em torno de 50% ao ano. Na Colômbia, um dos maiores bancos afirma que “68,8% dos usuários do banco utilizam os canais digitais como meio para acessar seus produtos e serviços financeiros” (Jáuregui, 2017).

No entanto, a tecnologia tem seu preço, o que significa que o aumento dos canais virtuais para transações financeiras propõe uma nova ferramenta para a fraude contra os bancos e seus clientes. Muitas empresas desenvolvedoras de antivírus para celular destacam o aumento de malware criados para esses dispositivos; 18% dos celulares Android com aplicativos bancários instalados têm algum tipo de malware (Hispasec, 2018).

É necessário, portanto, que os desenvolvedores de aplicativos financeiros incluam a segurança em todo o ciclo de desenvolvimento e que os bancos liderem campanhas de conscientização para seus clientes sobre esse tipo de fraude.

Guia de Verificação de Segurança

O Mobile Application Security Verification Standard (MASVS) é um guia de verificação de segurança desenvolvido pela OWASP que inclui 75 controles que deverão ser avaliados no cliente móvel, no canal de comunicação e em seu back-end. Atualmente, o MASVS está na versão 1.1 e contém 3 níveis de verificação (Segurança padrão, Defesa em profundidade e Resiliência contra engenharia reversa).

Image for post
Image for post
Figura 1. Níveis de verificação MASVS

O primeiro nível oferece uma base sólida sobre a qual deveria estar desenvolvido todo o aplicativo, inclui controles básicos como a existência de uma política de segurança mínima no dispositivo móvel até a implementação de um canal seguro de comunicação.

O segundo nível oferece controles para avaliar a segurança dos dados sensíveis do aplicativo, controles específicos de armazenamento seguro, comunicação segura, gerenciamento de sessões, autenticação biométrica, gerenciamento de erros, entre outros.

Por fim, o último nível — talvez o mais complexo dentro da etapa de codificação — é a resiliência contra engenharia reversa (OWASP, 2018). Inclui controles em nível de código ocultado, virtualização do aplicativo, instalação em equipamentos com permissões de superusuário e manipulação do cliente.

Dependendo do tipo de aplicativo e dos serviços oferecidos por ele, recomenda-se avaliar os diferentes níveis. Para um aplicativo bancário, por exemplo, deveriam ser avaliados os níveis 2 e 3 (L2+R).

Execução da Auditoria

Para a auditoria, foram utilizadas ferramentas comerciais e livres que incluem proxys de interceptação, descompiladores, analisadores estáticos e analisadores dinâmicos.

A metodologia MASVS não oferece uma métrica de avaliação do risco, por isso foi utilizado um critério interno para quantificar o valor de cada vulnerabilidade. Os fatores utilizados foram:

· Agentes de ameaça: estima a probabilidade de êxito de um ataque baseado no nível de habilidade requerido, o motivo, a oportunidade e a dimensão.

· Vulnerabilidade: é quantificada com base na facilidade de descobertas, exploração, conhecimento da vulnerabilidade e sua detecção.

· Impacto: é medido de acordo com o impacto direto sobre os pilares fundamentais da segurança da informação, confidencialidade, integridade, disponibilidade.

Finalmente, a qualificação permite ver um mapa de maturidade do aplicativo baseado nos critérios OWASP e MASVS: gerenciamento de identidade, validação de acesso, autenticação, gerenciamento de sessões, autorização, gerenciamento de erros, recompilação de informações, cliente, lógica de negócio, configuração e criptografia.

Resultados

Image for post
Image for post
Figura 2. Mapa de maturidade Banco 1

O Banco 1 oferece o nível de maturidade mais alto dos 4 aplicativos auditados. Apresenta pontos fracos em seu canal de comunicação e na divulgação de informações para o cliente. Isso corresponde a evidenciar linhas de código com comentários, depois de um ataque de engenharia reversa.

Image for post
Image for post
Figura 3. Mapa de maturidade Banco 4

Por outro lado, o Banco 4 foi catalogado como sendo o mais inseguro, com pontos fracos em nível de manipulação do cliente, recompilação de informações e autenticação.

Esses mapas se baseiam na qualificação obtida pelo aplicativo em cada categoria. Nesse caso, a manipulação do cliente é teoricamente mais fácil em aplicativos híbridos, por utilizarem uma linguagem interpretada como JavaScript.

Todos os aplicativos oferecem controles mínimos de resiliência contra engenharia reversa; dois deles foram desenvolvidos nativamente e dois são híbridos, que não implementam nenhum controle de verificação da integridade do cliente móvel, sendo possível modificar parte de sua lógica, inserir fragmentos de código JavaScript malicioso e manipular seus arquivos estáticos (imagens, logos, ícones).

Image for post
Image for post
Figura 4. Média de maturidade por categoria

Como pode ser observado na Figura 4, a divulgação de informações (49%) e a manipulação do cliente (52%) são as vulnerabilidades predominantes dentro dos clientes móveis, ambas produto da engenharia reversa realizada nos instaladores.

Image for post
Image for post
Figura 5. Manipulação de aplicativo móvel

Por outro lado, a implementação de controles para o gerenciamento de identidade, gerenciamento de sessões e gerenciamento de erros é satisfatória.

Uma das evidências mais importantes é o controle biométrico, dado que os aplicativos que o implementam estão baseados no sistema operacional do celular como principal mecanismo de segurança, o que quer dizer que é possível acessar a conta do aplicativo bancário com diferentes rastros digitais.

Conclusões

Outro problema é a dificuldade para implementar controles anti-reversão, já que o ocultamento do código fonte diminui o desempenho dos aplicativos nativos. Do mesmo modo para os aplicativos híbridos, a injeção do código JavaScript é uma vulnerabilidade intrínseca e, portanto, o controle deve ser implementado tanto em nível de cliente quanto em nível de servidor.

É fundamental que o setor financeiro lidere campanhas de conscientização sobre segurança da informação para seus usuários e para o público em geral. O usuário deve ser orientado a não fazer download e instalar aplicativos que não estejam disponíveis nas lojas oficiais do Android e iOS, já que podem ter sido manipulados ou conter algum tipo de malware.

Sabe-se que os aplicativos híbridos são mais baratos e que têm vulnerabilidades intrínsecas. Contudo, as instituições financeiras, dentro de suas políticas de segurança da informação, devem exigir que seus desenvolvedores de software implementem diretrizes de desenvolvimento seguro que abranjam todo o processo do software.

Por fim, considera-se que os aplicativos móveis disponíveis no setor financeiro da Colômbia oferecem um nível de segurança aceitável. As vulnerabilidades encontradas não afetam o negócio, nem as transações, mas afetam os usuários com uma consciência de segurança da informação nula.

Referências

Hispasec. (18 de 05 de 2018).hispasec.com. Obtenido de unaaldia.hispasec.com: https://unaaldia.hispasec.com/2018/05/el-18-de-los-moviles-android-con.html

Jáuregui, D. (03 de 2017). larepublica.co. Obtenido de El uso de apps móviles bancarias crece más de 50% al año: https://www.larepublica.co/finanzas/el-uso-de-apps-moviles-bancarias-crece-mas-de-50-al-ano-2489011

OWASP. (27 de Febrero de 2018). OWASP. Obtenido de MASVS: https://github.com/OWASP/owasp-masvs/blob/master/Document-es/0x15-V8-Resiliency_Against_Reverse_Engineering_Requirements.md

Written by

Exponential intelligence for exponential companies

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store