Mente Hacker

Anatomia dos ataques em aplicativos para mobile banking

Publicada em 28/07/2014 9:54

Em algum momento você parou para pensar se o aplicativo que está instalado no seu smartphone está espionando tudo que você faz? Será que existem vírus para iPhone (iOS) e Android? Quantas pessoas que você conhece instalaram antivírus em seus smartphones? Existem ataques direcionados para os aplicativos de mobile banking? Suas fotos pessoais que estão armazenadas no seu smartphone estão seguras?

Vivemos uma nova realidade. Hoje temos disponíveis dezenas de aplicativos bancários para dispositivos móveis. O acesso ao saldo, extrato, pagamento de contas, transferência de valores, investimentos etc, está ao alcance de todos com um smartphone em mãos, incluindo estelionatários e/ou Crackers (indivíduos que invadem sistemas e quebram a segurança de forma ilegal ou sem ética). Quanto mais utilizarmos o mobile banking, mais estelionatários tentarão aplicar seus golpes. Ou seja, quanto maior a escala das transações financeiras móveis, novas ameaças surgirão e maior serão os número de vítimas de crime cibernético. Por exemplo, um dos maiores banco no Brasil registra aproximadamente 8 milhões de transações móveis por dia. Será que esse número de transações chama a atenção dos estelionatários?

Vamos conhecer algumas ameaças e vulnerabilidades encontradas nos aplicativos para mobile banking:

Qual sistema operacional para dispositivos móveis é o mais seguro? iOS ou Android?

Sempre que falo sobre teste de invasão em aplicativos móveis algumas pessoas acreditam que a vulnerabilidade está no sistema operacional da Apple (iOS) ou no Android da Google. É necessário explicar que as técnicas de invasão serão direcionadas para o aplicativo instalado no iOS ou no Android. Não vou mapear ou explorar vulnerabilidades no sistema operacional instalado no smartphone. Porém, sempre surge essa pergunta e um estudo recente da Symantec traz algumas informações interessantes:

# 38% dos usuários de dispositivos móveis foram vítimas de crime cibernético nos últimos 12 meses;

# 97% dos códigos maliciosos identificados foram desenvolvidos para atacar dispositivos com o sistema operacional Android;

# 82% das vulnerabilidades foram localizadas no iOS da Apple;

# 28% dos códigos maliciosos foram programados para espionar as informações armazenadas no dispositivo móvel;

# 17% dos códigos maliciosos roubam dados no dispositivo móvel.

A conclusão que podemos chegar é que o iOS da Apple possui mais vulnerabilidades em comparação ao Android. Porém, quase que a maioria total dos códigos maliciosos são desenvolvidos para atacar o Android da Google.

Pontos de ataques

# Dados sensíveis armazenados no dispositivo móvel;

# Falta de criptografia ou criptografia fraca durante a transmissão dos dados, tais como: agência, conta corrente e senha do banco;

# Falhas no processo de validação do secure socket layer (SSL);

# Acesso privilegiado de forma indevida ao aplicativo móvel para roubar dados armazenados em memória ou fazer engenharia reversa.

Quais são os ataques direcionados aos mobile banking?

No Brasil, o acesso a conta corrente através do mobile banking possui duas camadas de segurança importantes: uma é a senha eletrônica e a outra é o Token. Sendo assim, temos alguns ataques direcionados a autenticação:

1 – SSL Proxy
Um dos ataques preferidos pelos estelionatários para espionagem de informações confidenciais. Consiste em interceptar toda a comunicação entre o cliente e o banco, incluindo a utilização de um certificado digital falso, criando uma “conexão segura” entre o cliente do banco e o atacante. Dessa forma, o atacante consegue capturar a agência, conta corrente, senha eletrônica, senha do cartão de débito e o token.

2 – SSL Strip e Man-in-the-middle
Este tipo de ataque é executado para roubo de senhas, tokens, nomes de usuário, agencia, conta corrente, palavras-chave e outros dados sensíveis; mesmo quando as informações estão criptografadas ou codificadas. Na prática, são utilizadas algumas ferramentas para sequestrar o tráfego de informações entre o mobile banking instalado no smartphone/tablet e o banco, monitorando sempre as solicitações via HTTPS;  depois eliminamos o SSL deixando o cliente do banco em uma conexão não segura. Dessa forma, o número da agência, conta corrente e senha eletrônica são capturadas pelo atacante através de uma transmissão não segura das credenciais do banco.

3 – Certificados digitais falsos
Outro tipo de ataque baseado em Man-in-the-middle onde o atacante emite um certificado digital falso tendo como objetivo interceptar o tráfego em uma conexão HTTPS supostamente segura.

4 – Engenharia reversa e análise de código
A engenharia reversa consiste em ter acesso ao código-fonte de um aplicativo móvel. Através de uma combinação de ferramentas e técnicas é possível identificar senhas pessoais armazenadas no aplicativo ou dispositivo móvel, permissões de acesso, certificados utilizados pelo aplicativo móvel e se o código está ofuscado.

Esta técnica também é utilizada para identificar vulnerabilidades, tais como:

# Implementação de ASLR
# Heartbleed
# Stack Overflflow
# Address Reference Counting
# Memory dump values

Conclusão
Os principais desafios dos bancos são a prevenção e a resposta aos incidentes das transações fraudulentas, a mitigação de riscos relacionados ao roubo de identidade e de dados bancários e a gestão da segurança da informação para aplicativos móveis.

A preocupação com a arquitetura, desenho, implementação e configuração dos requisitos de segurança em aplicativos móveis tem aumentado.

Os bancos elaboraram políticas e normas para gestão de conformidade e resposta a incidentes relacionados a segurança e fraude em aplicativos móveis.

As instituições financeiras estão cada vez mais avaliando possíveis vulnerabilidades no mobile banking, bem como a eficiência dos controles de segurança presentes para a proteção de autenticação, tráfego de rede e engenharia reversa.

Detectar vulnerabilidades, identificar vazamento de dados, detectar problemas na criptografia, examinar a segurança no método de autenticação e detectar possíveis falhas no código do mobile banking que podem levar a exploração de vulnerabilidade tornaram-se uma das atividades do dia a dia das equipes de Auditoria, Tecnologia da Informação, Prevenção a Fraudes e Segurança da Informação. Porém, encontramos alguns cenários onde a equipe de desenvolvimento de software não utiliza as boas práticas de desenvolvimento seguro para aplicativos móveis.

Não se esqueça! Os criminosos quase sempre estão alguns passos a frente dos sistemas de segurança.

  • Viviane Marinho

    Não é novidade pra ninguém que o Android tem uma certa vulnerabilidade em sua segurança, mas não gosto do aparelho da Apple e nem do IOs e por isso continuo com o android, mas uso o antivírus da Psafe que um amigo me indicou e estou gostando muito. Sempre avisa de tentativas de ataque e ele logo remove.

  • Michel Suarez

    A BAIDU age com práticas ILEGAIS na internet promovendo a instalação de seus produtos SEM A SUA PERMISSÃO, usando e abusando do recurso da co-instalação, que acontece quando você baixa algum software e um programa da BAIDU vem junto no pacote, permitindo a INVASÃO e configuração de arquivos do sistema, não permitindo sua desinstalação da máquina afetada.
    Faça você mesmo uma busca no Google digitando apenas “REMOÇÃO BAIDU” e comprove que milhões de usuários já foram vítimas dessas práticas ilegais que a BAIDU vem promovendo e suas indignações! JÁ SOFREU DIVERSOS PROCESSOS na China, Japão e EUA. Queremos o fim dessa praga no Brasil. Chega de empresas estrangeiras tentarem realizar práticas ilegais nos nossos computadores! Fora BAIDU!