OWASP Mobile Top 10
É a framework pela qual, normalmente, tanto pentesters como gestores de vulnerabilidades se guiam para testar falhas que possam eventualmente existir em aplicações mobile. São enumeradas, de seguida, as diversas categorias que compõem esta framework
M1: Uso inapropriado da Plataforma
Consiste no uso inapropriado de uma funcionalidade ou falha em usar os controlos de segurança da aplicação, incluindo uma série de elementos, como permissões da plataforma, a keychain, etc.
M2: Armazenamento inseguro de dados
O ator pode ter adquirido um dispositivo e liga-o a um computador com software gratuito, e a partir desse mesmo software pode aceder a informações de terceiras entidades que contenham informação pessoal identificável (PII) ou quaisquer outros assets sensíveis.
M3: Comunicação insegura
Aquando do design de uma aplicação, normalmente são transferidos dados entre o cliente e um servidor. Quando a solução transmite os mesmos, essa transmissão será entre a rede do provedor e a internet. Desta forma, os atacantes irão tentar intercetar dados sensíveis nessa mesma comunicação. Onde poderão estar ou que meios poderão usar? Alguém que partilhe a mesma rede (rede local), provedor ou dispositivos de rede (torres de sinal, proxies, etc) ou malware no dispositivo
M4: Autenticação Insegura
É uma nova categoria, e com foco no design das aplicações. Não existem aplicações 100% seguras, e é necessário sempre mais configurações de padrões de design seguros, threat modelling e aplicação constante de princípios básicos de segurança
M5: Criptografia Insuficiente
O atacante pode ter acesso a dados que não foram encriptados de forma apropriada ou pode existir algum malware a agir em nome desse mesmo ataacante
M6: Autorização Insegura
O atacante aproveita-se de um esquema ou processo de autorização vulnerável; isto é, autentica-se na aplicação como alguém legítimo, e passada essa fase tipicamente força a aplicação a ir a um endpoint vulnerável a uma funcionalidade administrativa, ou seja, que só o administrador supostamente consiga aceder.
M7: Qualidade de código do lado do cliente
O atacante aproveita-se de vulnerabilidades no código da aplicação, por exemplo, submete algo específico para testar a sanitização ou processamento do input do atacante. Como resultado, podemos assistir a buffer overflows, execução de código arbitrário e leaks de memória.
M8: Modificação do código
O atacante pode tentar modificar o código através de formulários maliciosos das apps que estejam hospedadas em terceiras entidades; pode também fazer ou tentar fazer esta alteração do código via ataques de phishing
M9: Engenharia Reversa
O atacante faz download da aplicação e faz a análise do código a partir do seu ambiente local, usando diversas ferramentas. O objetivo é chegar à raíz da aplicação, código fonte, livrarias, algoritmos, recursos da aplicação. A partir daí, uso de diversas ferramentas de engenharia reversa como o IDA, strings, etc.
M10: Funcionalidade adicional
O atacante pode tentar explorar funcionalidades que não estejam aparentemente visíveis na aplicação, e usar, portanto, funcionalidades escondidas para explorar os sistemas em backend
Owasp TOP 10: project: https://owasp.org/www-project-mobile-top-10/