Skip to content

Padrão de Verificação de Segurança de Aplicações Móveis

O Padrão de Verificação de Segurança de Aplicações Móveis (MASVS) é um padrão abrangente de segurança desenvolvido pelo Open Worldwide Application Security Project (OWASP). Este framework fornece um conjunto claro e conciso de diretrizes e melhores práticas para avaliar e aprimorar a segurança de aplicações móveis. O MASVS foi projetado para ser usado como métrica, orientação e linha de base para verificação de segurança de aplicativos móveis, servindo como um recurso valioso para desenvolvedores, proprietários de aplicações e profissionais de segurança.

O objetivo do MASVS é estabelecer um alto nível de confiança na segurança de aplicativos móveis, fornecendo um conjunto de controles que abordam os problemas de segurança mais comuns em aplicações móveis. Esses controles foram desenvolvidos com foco em fornecer orientação durante todas as fases de desenvolvimento e teste de aplicativos móveis, e para serem usados como linha de base para verificação de segurança de aplicativos móveis durante aquisições.

Ao aderir aos controles delineados no OWASP MASVS, as organizações podem garantir que seus aplicativos móveis sejam construídos com segurança em mente, reduzindo o risco de violações de segurança e protegendo dados sensíveis do usuário. Seja usado como métrica, orientação ou linha de base, o OWASP MASVS é uma ferramenta inestimável para aprimorar a segurança de aplicações móveis.

O OWASP MASVS é um documento vivo e é atualizado regularmente para refletir o cenário de ameaças em constante mudança e novos vetores de ataque. Como tal, é importante manter-se atualizado com a versão mais recente do padrão e adaptar as medidas de segurança de acordo.

Modelo de Segurança de Aplicações Móveis

O padrão é dividido em vários grupos que representam as áreas mais críticas da superfície de ataque móvel. Esses grupos de controle, rotulados como MASVS-XXXXX, fornecem orientação e padrões para as seguintes áreas:

  • MASVS-STORAGE: Armazenamento seguro de dados sensíveis em um dispositivo (dados em repouso).
  • MASVS-CRYPTO: Funcionalidade criptográfica usada para proteger dados sensíveis.
  • MASVS-AUTH: Mecanismos de autenticação e autorização usados pelo aplicativo móvel.
  • MASVS-NETWORK: Comunicação segura em rede entre o aplicativo móvel e endpoints remotos (dados em trânsito).
  • MASVS-PLATFORM: Interação segura com a plataforma móvel subjacente e outros aplicativos instalados.
  • MASVS-CODE: Melhores práticas de segurança para processamento de dados e manutenção do aplicativo atualizado.
  • MASVS-RESILIENCE: Resiliência a tentativas de engenharia reversa e adulteração.
  • MASVS-PRIVACY: Controles de privacidade para proteger a privacidade do usuário.

Cada um desses grupos de controle contém controles individuais rotulados como MASVS-XXXXX-Y, que fornecem orientações específicas sobre as medidas de segurança particulares que precisam ser implementadas para atender ao padrão.

Perfis de Teste MAS

O projeto MAS tradicionalmente fornecia três níveis de verificação (L1, L2 e R), que foram revisitados durante a refatoração do MASVS em 2023, e foram reformulados como "Perfis de Teste MAS" e transferidos para o OWASP MASTG. Esses perfis agora estão alinhados com o padrão NIST OSCAL (Open Security Controls Assessment Language), que é um catálogo abrangente de controles de segurança que pode ser usado para proteger sistemas de informação.

Ao se alinhar com o OSCAL, o MASVS fornece uma abordagem mais flexível e abrangente para testes de segurança. O OSCAL fornece um formato padrão para informações de controle de segurança, o que permite o compartilhamento e reutilização mais fácil de controles de segurança em diferentes sistemas e organizações. Isso permite um uso mais eficiente de recursos e uma abordagem mais direcionada para testes de segurança de aplicativos móveis.

No entanto, é importante observar que a implementação total ou parcial desses perfis deve ser uma decisão baseada em risco tomada em consulta com os proprietários do negócio. Os perfis devem ser adaptados aos riscos e requisitos de segurança específicos do aplicativo móvel sendo desenvolvido, e quaisquer desvios dos controles recomendados devem ser cuidadosamente justificados e documentados.

Premissas

Ao usar o MASVS, é importante ter em mente as seguintes premissas:

  • O MASVS não é um substituto para o seguimento de melhores práticas de desenvolvimento seguro, como codificação segura ou SDLC seguro. Essas práticas devem ser seguidas holisticamente em seu processo de desenvolvimento e o MASVS as complementa especificamente para aplicativos móveis.
  • O MASVS assume que você seguiu os padrões relevantes de sua indústria e país para todos os elementos do ecossistema do seu aplicativo, como servidores backend, IoT e outros dispositivos companheiros.
  • O MASVS foi projetado para avaliar a segurança de aplicativos móveis que podem ser analisados estaticamente obtendo o pacote do aplicativo, dinamicamente executando-o em um dispositivo potencialmente comprometido, e também considera quaisquer ataques baseados em rede, como MITM.

Embora o OWASP MASVS seja uma ferramenta inestimável para aprimorar a segurança de aplicações móveis, ele não pode garantir segurança absoluta. Deve ser usado como linha de base para requisitos de segurança, mas medidas adicionais de segurança também devem ser implementadas conforme apropriado para abordar riscos e ameaças específicos ao aplicativo móvel.

Arquitetura de Segurança, Design e Modelagem de Ameaças para Aplicativos Móveis

O OWASP MASVS assume que as melhores práticas para arquitetura segura, design e modelagem de ameaças foram seguidas como fundamento.

A segurança deve ser uma prioridade máxima em todas as etapas do desenvolvimento de aplicativos móveis, desde a fase inicial de planejamento e design até a implantação e manutenção contínua. Os desenvolvedores precisam seguir as melhores práticas de desenvolvimento seguro e garantir que as medidas de segurança sejam priorizadas para proteger dados sensíveis, cumprir políticas e regulamentos, e identificar e abordar problemas de segurança que podem ser alvo de atacantes.

Embora o MASVS e MASTG se concentrem em controles e casos de teste técnicos para avaliações de segurança de aplicativos, aspectos não técnicos, como seguir as melhores práticas estabelecidas pelo OWASP Software Assurance Maturity Model (SAMM) ou NIST.SP.800-218 Secure Software Development Framework (SSDF) para arquitetura segura, design e modelagem de ameaças, ainda são importantes. O MASVS também pode ser usado como referência e entrada para um modelo de ameaças para aumentar a conscientização sobre possíveis ataques.

Para garantir que essas práticas sejam seguidas, os desenvolvedores podem fornecer documentação ou evidências de adesão a esses padrões, como documentos de design, modelos de ameaças e diagramas de arquitetura de segurança. Além disso, entrevistas podem ser conduzidas para coletar informações sobre a adesão a essas práticas e fornecer uma compreensão do nível de conformidade com esses padrões.

Ecossistema Seguro de Aplicativos

O OWASP MASVS assume que outros padrões de segurança relevantes também são aproveitados para garantir que todos os sistemas envolvidos na operação do aplicativo atendam aos seus requisitos aplicáveis.

Aplicativos móveis frequentemente interagem com múltiplos sistemas, incluindo servidores backend, APIs de terceiros, dispositivos Bluetooth, carros, dispositivos IoT e mais. Cada um desses sistemas pode introduzir seus próprios riscos de segurança que devem ser considerados como parte do design de segurança e modelagem de ameaças do aplicativo móvel. Por exemplo, ao interagir com um servidor backend, o OWASP Application Security Verification Standard (ASVS) deve ser usado para garantir que o servidor seja seguro e atenda aos padrões de segurança necessários. No caso de dispositivos Bluetooth, o aplicativo deve ser projetado para prevenir acesso não autorizado, enquanto para carros, o aplicativo deve ser projetado para proteger os dados do usuário e garantir que não haja problemas de segurança com a operação do carro.

Conhecimento e Expertise em Segurança

O OWASP MASVS assume um certo nível de conhecimento e expertise em segurança entre desenvolvedores e profissionais de segurança que usam o padrão. É importante ter uma boa compreensão dos conceitos de segurança de aplicativos móveis, bem como das ferramentas e técnicas relevantes usadas para testes e avaliação de segurança de aplicativos móveis. Para apoiar isso, o projeto OWASP MAS também fornece o OWASP Mobile Application Security Testing Guide (MASTG), que fornece orientação detalhada sobre testes e avaliação de segurança de aplicativos móveis.

O desenvolvimento de aplicativos móveis é um campo em rápida evolução, com novas tecnologias, linguagens de programação e frameworks constantemente emergindo. É essencial que desenvolvedores e profissionais de segurança se mantenham atualizados com esses desenvolvimentos, bem como tenham uma base sólida em princípios fundamentais de segurança.

O OWASP SAMM fornece um domínio dedicado de "Educação e Orientação" que visa garantir que todas as partes interessadas envolvidas no ciclo de vida de desenvolvimento de software estejam cientes dos riscos de segurança de software e equipadas com o conhecimento e habilidades para mitigar esses riscos. Isso inclui desenvolvedores, testers, arquitetos, gerentes de projeto, executivos e outro pessoal envolvido no desenvolvimento e implantação de software.

Aplicabilidade do MASVS

Ao aderir ao MASVS, empresas e desenvolvedores podem garantir que seus aplicativos móveis sejam seguros e atendam aos requisitos de segurança padrão do setor, independentemente da abordagem de desenvolvimento utilizada. Este é o caso de aplicativos baixáveis, como o projeto tradicionalmente se concentrava, mas os recursos e diretrizes do MAS também são aplicáveis a outras áreas do negócio, como aplicativos pré-instalados e SDKs.

Aplicativos Nativos

Aplicativos nativos são escritos em linguagens específicas da plataforma, como Java/Kotlin para Android ou Objective-C/Swift para iOS.

Aplicativos Cross-Platform e Híbridos

Aplicativos baseados em frameworks cross-platform (Flutter, React Native, Xamarin, Ionic, etc.) e híbridos (Cordova, PhoneGap, Framework7, Onsen UI, etc.) podem ser suscetíveis a vulnerabilidades específicas da plataforma que não existem em aplicativos nativos. Por exemplo, alguns frameworks JavaScript podem introduzir novos problemas de segurança que não existem em outras linguagens de programação. É portanto essencial seguir as melhores práticas de segurança dos frameworks utilizados.

O MASVS é agnóstico ao tipo de aplicação móvel sendo desenvolvida. Isso significa que as diretrizes e melhores práticas delineadas no MASVS podem ser aplicadas a todos os tipos de aplicativos móveis, incluindo aplicativos cross-platform e híbridos.

Preloads

Preloads são aplicativos que são instalados no dispositivo do usuário no momento da fabricação e podem ter privilégios elevados que deixam os usuários vulneráveis a práticas comerciais exploratórias. Dado o grande número de preloads no dispositivo de um usuário médio, é importante medir seu risco de forma quantificável.

Existem centenas de preloads que podem vir em um dispositivo, e como resultado, a automação é crítica. Um subconjunto de critérios do MAS que seja amigável à automação pode ser uma boa base.

SDKs

SDKs desempenham um papel vital na cadeia de valor de aplicativos móveis, fornecendo código que os desenvolvedores precisam para construir de forma mais rápida, inteligente e lucrativa. Os desenvolvedores dependem muito deles, com o aplicativo móvel médio usando 30 SDKs, e 90% do código proveniente de terceiros. Embora esse uso generalizado entregue benefícios significativos aos desenvolvedores, também propaga questões de segurança.

SDKs oferecem uma variedade de funcionalidades e devem ser considerados como um projeto individual. Você deve avaliar como o MASVS se aplica aos SDKs utilizados para garantir a maior cobertura possível de testes de segurança.