Anatomia dos ataques em aplicativos para mobile banking

Nenhum comentário

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.

Artigos relacionados
Uma iniciativa de dinamarqueses de Copenhague quer revolucionar o conceito de múltiplos monitores e eliminar a necessidade de fios para conectar dois ou mais di...
Leia Mais [+]
Cibercriminosos brasileiros estão adicionando uma assinatura digital obtida ilegalmente para tornar cavalos de troia bancários menos suspeito e o golpe, mais ef...
Leia Mais [+]
  Qual foi a última vez que você trocou a bateria do seu nobreak? Se você está espantado com a pergunta, é sinal de que nunca se preocupou com isso. No entan...
Leia Mais [+]