Pentest Mobile Android e seus objetivos
Os aplicativos móveis geralmente processam dados confidenciais, que são o principal alvo de muitos cibercriminosos. Ao trabalhar com esses dados, os desenvolvedores devem fazer o possível para garantir sua proteção. Uma maneira de melhorar a segurança de um aplicativo móvel é realizar um pentest mobile.
Para encontrar falhas no código do aplicativo, os desenvolvedores precisam de pelo menos habilidades básicas em engenharia reversa e testes de aplicativos mobile Android. A Infosec Security utiliza diferentes métodos para testar o aplicativo mobile.
A Infosec Security utiliza o guia de testes da OWASP como metodologia de avaliação, juntamente com táticas, técnicas e procedimentos do mundo real para garantir a qualidade do pentest mobile android. A Infosec Security utiliza ferramentas licenciadas para a realização de alguns testes, o que possibilita uma cobertura ampla do aplicativo mobile android que está sendo testado.
Fortaleça a segurança do seu aplicativo com engenharia reversa
O Android é um sistema operacional (SO) bastante amigável ao desenvolvedor. Ao contrário de outros sistemas operacionais móveis, o Android é uma plataforma de código aberto na qual você pode ativar as opções do desenvolvedor e fazer o sideload de aplicativos sem se preocupar muito. Além disso, o Android permite que os desenvolvedores explorem seu código-fonte no Android Open Source Project e modifiquem a funcionalidade do sistema operacional como quiserem.
No entanto, trabalhar com aplicativos Android também significa que você precisará lidar com bytecode Java e código nativo Java. Alguns desenvolvedores podem ver isso como uma desvantagem. Os desenvolvedores Android usam a Java Native Interface para melhorar o desempenho do aplicativo, oferecer suporte a código legado e, é claro, confundir aqueles que tentam olhar dentro de seus aplicativos.
Um conjunto de ferramentas básicas para a engenharia reversa do Android
Antes de começar a resolver os desafios do OWASP CrackMe para desenvolvedores Android, você precisa se certificar de que tem duas coisas:
- Conhecimento de ambientes Android. Você precisa ter alguma experiência em trabalhar com ambientes Java e Linux, bem como com kernels Android.
- O conjunto certo de ferramentas. Trabalhar com bytecode e código nativo em execução em uma máquina virtual Java (JVM) requer ferramentas específicas.
Os testes realizados pela Infosec Security garante uma cobertura completa do OWASP Mobile Android Top 10
- M1 – Improper Platform Usage
- M2 – Insecure Data Storage
- M3 – Insecure Communication
- M4 – Insecure Authentication
- M5 – Insufficient Cryptography
- M6 – Insecure Authorization
- M7 – Client Code Quality
- M8 – Code Tampering
- M9 – Reverse Engineering
- M10 – Extraneous Functionality
Pentest Mobile Android Black Box
Pentest realizado com abordagem automatizada e manual, onde os resultados são validados para reduzir a presença de falso positivo.
Pentest White Box
Testes com abordagem manual e automatizada do código-fonte do aplicativo mobile, para determinar a origem dos problemas que podem resultar em exploração.
Pentest Gray Box
Testes que utilizam abordagem automatizada e manual de forma autenticado para obter acesso ao funcionamento interno do aplicativo mobile e com isso, encontrar vulnerabilidades que somente um usuário autenticado teria acesso.
Pentest Híbrido Mobile (White / Gray)
Resultados do Pentest White Box sendo alimentados em um Pentest Gray Box para reduzir o tempo de mapeamento do aplicativo mobile e fornecer uma lista de problemas a serem priorizados.
Pentest em API Mobile
O acesso aos serviços da API é baseado na criação de cenários de ataque nos endpoints fornecidos. Isso inclui testes autenticados e não autenticados de forma automatizada e manual.
O que o Pentest Mobile em aplicativo android não é
Rodar o Nessus ou Qualys contra os endpoints da API utilizados pelo aplicativo mobile não é pentest. O pentest vai muito mais além do que um simples escanner de vulnerabilidade.
O teste de invasão em aplicativos Android é um estágio complexo, mas importante, do desenvolvimento de aplicativos móveis. Os desenvolvedores precisam ter certeza de que os dados confidenciais com os quais seus aplicativos funcionam permanecerão seguros, não importa o quê.
Para encontrar falhas e vulnerabilidades ocultas, os desenvolvedores precisam ser capazes de examinar seus aplicativos por dentro.