A Arxan encomendou em 2019 a pesquisa “In Plain Sight: The Vulnerability Epidemic in Financial Mobile Apps” para examinar as vulnerabilidades dos aplicativos móveis de 30 instituições de pequeno, médio e grande porte de oito setores de serviços financeiros nos Estados Unidos e na Europa. Os aplicativos móveis dessas instituições foram descompilados por ferramentas disponíveis no mercado, que conseguiram reverter os aplicativos de volta ao código-fonte original, para avaliar suas vulnerabilidades.
Levou em média apenas 8,5 minutos para os especialistas invadirem cada app e descobrir 180 vulnerabilidades críticas.
A quantidade e a gravidade das vulnerabilidades descobertas nesses aplicativos móveis identificam claramente um problema sistêmico: uma ampla ausência de controles de segurança de aplicativos e codificação segura, como tecnologias que implementam os recursos de proteção, detecção e resposta dos aplicativos.
Como proteger os aplicativos
A blindagem de aplicativos é um processo no qual o código-fonte de um aplicativo é ofuscado, impedindo que pessoas não autorizadas o analisem (descompilando) para encontrar vulnerabilidades ou possam compacta-lo novamente para distribuir com malware.
A blindagem também deve fornecer outras formas de segurança aprimoradas, como a integração de aplicativos, a detecção de recompactação e de adulterações, a criptografia de dados em repouso e a proteção de chaves por meio da criptografia white-box, que protege a criptografia do código.
A detecção de ameaças no nível do aplicativo identifica e alerta, exatamente como e quando os aplicativos são atacados no nível do código. Além disso, a resposta a ameaças pode acionar ações imediatas, como encerrar um aplicativo, mandar um usuário para o sandbox, revisar a lógica de negócios e reparar o código.
Quando um aplicativo pode ser descompilado, ele permite que pessoas não autorizadas acessem informações confidenciais dentro do código-fonte, como chaves de API, segredos de API, certificados privados e URLs com os quais o aplicativo se comunica (o que permite que um estranho controle as APIs dos servidores de back-end), possa recopilá-lo para inserir malware para redistribuição posterior e compreender como ele detecta violações, para contornar essas verificações e desabilitar os alertas e o sandbox.
Todas essas ameaças decorrentes da possibilidade de descompilar o aplicativo podem levar a uma série de ameaças contra as instituições financeiras ou seus clientes, incluindo invasões de conta, fraude de identidade sintética, fraude de solicitação de crédito, roubo de identidade e ataques com o uso indevido de credenciais válidas.
Outros ataques maliciosos podem seguir o mesmo caminho, como o abuso de campanhas de descontos em sites de varejo e lavagem de dinheiro por meio de serviços bancários on-line.
Há muitas evidências de que os hackers estão buscando ativamente aproveitar essas vulnerabilidades, como a recente descoberta de um malware para dispositivos móveis, que usou os recursos de acessibilidade do Android para copiar impressões digitais para retirar dinheiro da conta do PayPal de um indivíduo. O malware foi postado em uma loja de aplicativos de terceiros, disfarçada como um aplicativo de melhoria do desempenho de bateria. Esse trojan de serviços bancários para dispositivos móveis foi projetado para transferir US$ 1.000 da conta do PayPal de um indivíduo em três segundos, apesar da camada adicional de segurança do PayPal, que usa a autenticação multifator.
Apesar da crescente ameaça de agentes mal-intencionados que visam empresas de serviços financeiros, organizações do setor ainda não conseguem criar um código seguro e aplicar tecnologia de segurança de aplicativos adequada, como blindagem com ofuscação de código, criptografia e recursos de análise de ameaças aos seus aplicativos móveis.
A quantidade de dados sensíveis em torno dos servidores das instituições financeiras acessados por esses aplicativos por meio de APIs é alarmante. Essas informações devem ser ofuscadas com uma solução de segurança de aplicativos, que inclua criptografia white-box para proteger as chaves de API. As instituições financeiras ainda usam codificação insegura para desenvolver aplicativos móveis e codificar chaves privadas e segredos de API.
Outro fator de risco: os aplicativos móveis das instituições financeiras raramente usam sandbox para armazenar dados confidenciais em espaço de memória protegida e criptografada. Em vez disso, eles armazenam dados em memória externa ou no próprio dispositivo.
Poucas instituições financeiras já implementaram mecanismos de controle para detectar se o seu aplicativo está sendo submetido a engenharia reversa, o que pode ser corrigido com a aplicação de uma solução de segurança de aplicativo com identificação de ameaça em tempo real para deter ameaças e gerar alertas quando ocorrem.
Reduzindo os riscos
Para reduzir os riscos de identificação e exploração dessas vulnerabilidades, as instituições financeiras devem adotar uma abordagem abrangente no que se refere à segurança dos seus aplicativos e garantir que seus desenvolvedores recebam treinamento adequado de programação segura e implementem a segurança em todas as etapas de desenvolvimento de software ao escrever o código.
A proteção de aplicativos é um processo no qual o código-fonte de um aplicativo é enriquecido com controles de segurança e ofuscação adicionais, impedindo que os hackers os analisem e descompilem. Isso aumenta significativamente o nível de esforço necessário para explorar vulnerabilidades no aplicativo móvel ou recompactar para redistribuir com malware interno.
Além disso, a detecção de ameaças no nível do aplicativo deve ser implementada para identificar e alertar as equipes de TI sobre exatamente como e quando os aplicativos são atacados no terminal. Isso abre uma nova avenida de respostas para o Playbook do Centro de Operações de Segurança (SOC) de uma organização, permitindo ações imediatas, como desligar o aplicativo ou proteger o usuário em um sandbox, essencialmente isolando-o dos recursos e ativos críticos do sistema, revisando a lógica de negócios e reparando o código.
A proteção de aplicativos e os outros tipos de soluções de segurança de aplicativos mencionados acima devem ser incorporados diretamente nas metodologias DevOps e DevSecOps, para que a segurança do aplicativo seja implantada e atualizada juntamente com o Ciclo de Vida de Desenvolvimento de Software (SDLC) normal.
A blindagem do aplicativo deverá estar feita após a codificação, para não interromper os processos rápidos de desenvolvimento e implantação de aplicativos, exigindo nova reciclagem dos desenvolvedores. Essa combinação de práticas recomendadas aumenta a capacidade de uma organização de fornecer aplicativos e serviços seguros e confiáveis em alta velocidade.
Conclusão
Não é segredo que o setor financeiro é um alvo lucrativo, porque o pagamento direto é em dinheiro vivo. A pesquisa está mostrando que praticamente nenhum dos aplicativos financeiros possui medidas holísticas de segurança para detectar se um aplicativo está com engenharia reversa, muito menos se defender ativamente contra qualquer atividade maliciosa originada pela violação no nível do código.
Esperamos que as instituições financeiras sejam líderes em segurança, mas, infelizmente, a falta de proteção de aplicativos é uma tendência perturbadora do setor, diante de uma mudança significativa com a dependência da mobilidade. As organizações precisam revisar sua estratégia móvel e a modelagem de ameaças relacionadas e perceber o quanto é grande a superfície de ataque.
Comments are closed.
Recent Comments