Escolar Documentos
Profissional Documentos
Cultura Documentos
Version v1.4.2
OWASP Mobile Application Security Verification Standard
Índice
Prefácio 5
Sobre o Padrão 8
Direitos de Uso e Licença . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Agradecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Patrocinadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Avaliação e Certificação 17
Posição da OWASP sobre Certificações e Marcas de Confiança do MASVS . . . . 17
Orientação para Certificação de Aplicativos Móveis . . . . . . . . . . . . . . . 17
Outros Usos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3
OWASP Mobile Application Security Verification Standard v1.4.2
Apêndice A: Glossário 44
Apêndice B: Referências 47
Controle de Alterações 48
V1.3 - 13 May 2021 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
V1.2 - 7 de Março de 2020 - Versão Internacional . . . . . . . . . . . . . . . . 48
V1.2-RC - 5 de Outubro de 2019 - Pré-versão (apenas Inglês) . . . . . . . . . . 48
V1.1.4 - 4 de Julho de 2019 - Edição Summit . . . . . . . . . . . . . . . . . . . 49
V1.1.3 - 9 de Janeiro de 2019 - Correções Menores . . . . . . . . . . . . . . . 49
V1.1.2 - 3 de Janeiro de 2019 - Patrocínio e Internacionalização . . . . . . . . . 50
V1.1.0 - 14 de Julho de 2018 . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
V1.0 - 12 de Janeiro de 2018 . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4
OWASP Mobile Application Security Verification Standard v1.4.2
Prefácio
Toda nova tecnologia introduz novos riscos de segurança, e manter-se em dia com es-
sas mudanças é um dos principais desafios que a indústria de segurança enfrenta. O
lado defensivo está sempre alguns passos atrás. Por exemplo, a consequência padrão
para muitos foi aplicar velhas formas de fazer as coisas: smartphones são como pe-
quenos computadores e os aplicativos móveis são como programas de computadores
clássicos, então, certamente, os requisitos de segurança são similares? Mas não fun-
ciona desta forma. Os sistemas operacionais dos smartphones são diferentes dos de
computadores de mesa, e os aplicativos móveis são diferentes dos aplicativos web. Por
exemplo, o método clássico de escaneamento de vírus baseado em assinaturas não faz
sentido nos sistemas operacionais para dispositivos móveis modernos: não somente são
incompatíveis com o modelo de distribuição de aplicativos móveis, mas também é tecni-
camente impossível devido às restrições de isolamento de execução de aplicativos. Além
disso, algumas classes de vulnerabilidades, como estouro de buffer e problemas de XSS,
são menos relevantes no contexto padrão de aplicativos móveis do que, por exemplo,
para aplicativos para computadores e para web (com exceções).
Um padrão de segurança para aplicativos móveis deve, portanto, focar em como eles
gerenciam, armazenam e protegem informações sensíveis. Embora os sistemas opera-
cionais móveis modernos, como iOS e Android, ofereçam boas APIs para armazenamento
seguro de dados e comunicação, eles precisam ser implementados e usados correta-
mente para serem efetivos. O armazenamento de dados, a comunicação entre aplica-
tivos, o uso correto de APIs criptográficas e a comunicação segura pela rede são apenas
alguns dos aspectos que requerem uma cuidadosa consideração.
5
OWASP Mobile Application Security Verification Standard v1.4.2
Uma importante questão, que requer o consenso da indústria, é até que ponto se deve ir
para proteger a confidencialidade e a integridade dos dados. Por exemplo, a maioria de
nós concorda que um aplicativo móvel deveria verificar o certificado do servidor em uma
conexão TLS. Mas e o SSL certificate pining? Não implementá-lo não resultaria em uma
vulnerabilidade? Isso deveria ser um requisito se o aplicativo móvel trata dados sensíveis
ou isso seria contraproducente? Deveríamos criptografar os dados armazenados em
banco de dados SQLite, mesmo que o sistema operacional execute o aplicativo de forma
isolada? O que é apropriado para um aplicativo móvel pode não ser realista para outro.
O MASVS é uma tentativa de padronizar esses requisitos usando níveis de verificação
que se ajustam aos diferentes cenários de ameaça.
O objetivo geral do MASVS é oferecer uma linha base para segurança de aplicativos
móveis (MASVS-L1), enquanto também permite a inclusão de medidas profundas de de-
fesa (MASVS-L2) e proteções contra as ameaças no lado do cliente (MASVS-R). O MASVS
visa a atingir o seguinte:
6
OWASP Mobile Application Security Verification Standard v1.4.2
7
OWASP Mobile Application Security Verification Standard v1.4.2
Sobre o Padrão
A melhor forma de entrar em contato com a gente é por meio do canal OWASP para
Dispositivos Móveis: https://owasp.slack.com/messages/project-mobile_omtg/details/.
Copyright © 2021 The OWASP Foundation. Este documento é licenciado sob a licença
Creative Commons Attribution-ShareAlike 4.0 International License. Para qualquer reuso
ou redistribuição, você deve deixar claro os termos de licença deste trabalho.
Agradecimentos
8
OWASP Mobile Application Security Verification Standard v1.4.2
Sven Schleier and Bernhard Alexander Antukh, Mesheryakov Aleksey, Elderov Ali,
Carlos Holguera Mueller, Bachevsky Artem, Jeroen Beckers, Jon-Anthoney de
Sven Boer, Damien Clochard, Ben Cheney, Will Chilcutt,
Schleier, Stephen Corbiaux, Manuel Delgado, Ratchenko
Jeroen Denis, Ryan Dewhurst, @empty_jack, Ben Gardiner,
Willem- Anton Glezman, Josh Grossman, Sjoerd Langkemper,
sen and Vinícius Henrique Marangoni, Martin Marsicano,
Carlos Roberto Martelloni, @PierrickV, Julia Potapenko,
Holguera Andrew Orobator, Mehrad Rafii, Javier Ruiz, Abhinav
Sejpal, Stefaan Seys, Yogesh Sharma, Prabhant
Singh, Nikhil Soni, Anant Shrivastava, Francesco
Stillavato, Abdessamad Temmar, Pauchard Thomas,
Lukasz Wierzbicki
Chinês Peter Chi, and Lex Chien, Henry Hu, Leo Wang
(Tradicional)
Hindi Mukesh Sharma, Ritesh Kumar, Atul Kunwar, Parag Dave, Devendra
Kumar Sinha, Vikrant Shah
Português Ana Filipa Mota, Fernando Nogueira, Filipa Gomes, Luis Fontes, Sónia
Dias
9
OWASP Mobile Application Security Verification Standard v1.4.2
Patrocinadores
Ainda que tanto o MASVS quanto o MSTG tenham sido criados e mantidos pela comu-
nidade de forma voluntária, às vezes é necessária uma pequena ajuda externa. Nós, por-
tanto, agradecemos nossos patrocinadores por proverem fundos para poder contratar
editores técnicos. Ressalta-se que esses patrocínios não influenciam no conteúdo do
MASVS ou MSTG de maneira alguma. Os pacotes de patrocínio estão descritos em OWASP
Project Wiki.
God Mode
OWASP MSTG
Honorable Benefactor
OWASP MSTG
OWASP MSTG
Good Samaritan
OWASP MSTG
10
OWASP Mobile Application Security Verification Standard v1.4.2
Também gostaríamos de agradecer o Capítulo OWASP da Bay Area por seu patrocínio.
Por fim, gostaríamos de agradecer a todos que compraram o livro no Leanpub e nos
patrocinaram dessa maneira.
11
OWASP Mobile Application Security Verification Standard v1.4.2
• Utilize como uma métrica - Para fornecer um padrão de segurança que possa facilitar
o comparativo entre aplicativos móveis atuais por desenvolvedores e proprietários
de aplicativos.
• Utilize como orientação - Para fornecer orientação durante todas as fases do desen-
volvimento e teste de aplicativos para dispositivos móveis.
• Utilize no processo de aquisição - Para fornecer uma linha de base para a verificação
de segurança dos aplicativos móveis.
Cumprir os requisitos do MASVS-L1 resulta em uma aplicação segura que segue as mel-
hores práticas de segurança recomendadas e não sofre com vulnerabilidades mais co-
muns. O MASVS-L2 adiciona mais controles de defesa em profundidade como SSL Pin-
ning, resultando em um aplicativo resistente a ataques mais complexos, assumindo que
os controles de segurança do sistema operacional móvel estejam intactos e que o usuário
não seja visto como um atacante em potencial. O cumprimento de todos ou de um sub-
conjunto dos requisitos de proteção de software no MASVS-R ajuda a mitigar ameaças
específicas no lado do cliente quando o usuário final é malicioso e/ou o sistema opera-
cional móvel esteja comprometido.
12
OWASP Mobile Application Security Verification Standard v1.4.2
Estrutura do Documento
13
OWASP Mobile Application Security Verification Standard v1.4.2
Uso Recomendado
O nível de aderência dos aplicativos pode ser verificado no MASVS L1 ou L2 com base na
avaliação prévia de risco e no nível total de segurança necessário. L1 é aplicável a to-
dos os aplicativos móveis, enquanto L2 é geralmente recomendado para aplicativos que
lidam com dados e/ou funcionalidades mais sensíveis. O MASVS-R (ou partes dele) pode
ser aplicado para verificar a resiliência contra ameaças específicas como repackaging ou
extração de dados confidenciais, além de uma verificação de segurança adequada.
• MASVS-L1
• MASVS-L1+R
• MASVS-L2
• MASVS-L2+R
14
OWASP Mobile Application Security Verification Standard v1.4.2
Exemplos
MASVS-L1
MASVS-L2
MASVS L1+R
• Indústria de Jogos: Jogos com uma necessidade essencial para evitar modificações
e trapaças, como jogos online competitivos. Trapacear é uma questão importante
nos jogos online, já que uma grande quantidade de usuários trapaceiros leva a uma
base de jogadores descontentes e pode, em última instância, fazer com que um
jogo perca usuários e acabe perdendo popularidade. O MASVS-R fornece controles
15
OWASP Mobile Application Security Verification Standard v1.4.2
MASVS L2+R
• Todos os aplicativos móveis que por design precisam armazenar dados confidenciais
no dispositivo móvel e, ao mesmo tempo, devem suportar uma ampla gama de dis-
positivos e versões do sistema operacional. Nesse caso, os controles de resiliência
podem ser usados como uma medida de defesa em profundidade para aumentar o
esforço dos atacantes com o objetivo de extrair os dados confidenciais.
• Aplicativos que possuem compras no neles devem usar os controles do lado do servi-
dor e do MASVS-L2 para proteger o conteúdo pago. No entanto, pode haver casos
em que não há possibilidade de usar proteção do lado do servidor. Nesses casos,
os controles MASVS-R devem ser aplicados adicionalmente, a fim de aumentar a
dificuldade de realizar engenharia reversa e/ou adulteração.
16
OWASP Mobile Application Security Verification Standard v1.4.2
Avaliação e Certificação
A OWASP, como uma organização neutra e sem fins lucrativos, não certifica nenhum
fornecedor, testador ou software.
Todas essas afirmações de garantia, marcas de confiança ou certificações não são oficial-
mente examinadas, registradas ou certificadas pela OWASP. Portanto, uma organização
que dependa de tal visão precisa ser cautelosa com a confiança depositada em qualquer
órgão terceirizado ou certificado de confiança (M)ASVS.
Isso não deve dificultar as organizações de oferecer tais serviços de garantia, desde que
não reivindiquem a certificação Oficial OWASP.
É importante notar que o MASVS abrange apenas a segurança do aplicativo móvel (lado
do cliente) e a comunicação de rede entre o aplicativo e seus terminais remotos, bem
como alguns requisitos básicos e genéricos relacionados à autenticação do usuário e
gerenciamento de sessões. Ele não contém requisitos específicos para os serviços remo-
tos (por exemplo, serviços web) associados ao aplicativo, além de um conjunto limitado
de requisitos genéricos relativos à autorização, autenticação, verificação de controle e
gerenciamento de sessões. No entanto, o MASVS V1 especifica que os serviços remotos
devem estar seguros usando o modelo global de ameaças e devem ser analisados em
relação à utilização dos padrões apropriados como o OWASP ASVS.
17
OWASP Mobile Application Security Verification Standard v1.4.2
O OWASP MSTG é um manual para testar a segurança dos aplicativos móveis. Descreve
os processos técnicos para verificar os requisitos listados no MASVS. O MSTG inclui uma
lista de casos de teste, cada um dos quais mapeia para um requisito no MASVS. Embora
os requisitos do MASVS sejam de alto nível e genéricos, o MSTG fornece recomendações
e procedimentos de teste em profundidade por sistema operacional móvel.
Outros Usos
18
OWASP Mobile Application Security Verification Standard v1.4.2
Uma boa metodologia de teste de segurança de aplicativos móveis deve cobrir todos
os requisitos listados no MASVS. O Guia de Teste de Segurança Móvel OWASP (MSTG)
descreve os casos de teste de caixa preta e caixa branca para cada requisito de verifi-
cação.
O MASVS foi projetado para ser altamente testável, com a única exceção dos requisitos
de arquitetura. Os testes automatizados unitários, integração e aceitação com base nos
requisitos do MASVS podem ser integrados ao ciclo de vida de desenvolvimento contínuo.
Isso não só aumenta a consciência de segurança do desenvolvedor, mas também mel-
hora a qualidade geral dos aplicativos resultantes e reduz a quantidade de descobertas
durante os testes de segurança na fase prévia ao release.
O MASVS também pode ser usado para definir características de aplicativos móveis se-
guros. Muitos cursos de “desenvolvimento seguro” são simplesmente cursos de ethical
hacking com poucas dicas de codificação segura. Isso não ajuda os desenvolvedores.
Em vez disso, cursos de desenvolvimento seguro podem usar o MASVS, com um forte
foco nos controles proativos documentados no MASVS, em vez de, por exemplo, os 10
principais problemas de segurança de desenvolvimento.
19
OWASP Mobile Application Security Verification Standard v1.4.2
Objetivo do Controle
# MSTG-ID Descrição L1 L2
20
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição L1 L2
Referências
21
OWASP Mobile Application Security Verification Standard v1.4.2
odeling
• OWASP Secure SDLC Cheat Sheet - https://www.owasp.org/index.php/Secure_SDL
C_Cheat_Sheet
• Microsoft SDL - https://www.microsoft.com/en-us/sdl/
• NIST SP 800-57 - https://csrc.nist.gov/publications/detail/sp/800-57-part-1/rev-
5/final
• security.txt - https://securitytxt.org/
22
OWASP Mobile Application Security Verification Standard v1.4.2
Objetivo do Controle
Note que, como o MASVS é centrado no aplicativo, ele não cobre políticas a nível de dis-
positivo, como aquelas aplicadas por soluções MDM. Nós encorajamos a utilização dessas
políticas em contexto corporativo para melhorar ainda mais a segurança dos dados.
A ampla maioria dos problemas de vazamento de dados podem ser prevenidos seguindo
regras simples. A maior parte dos controles listados neste capítulo são mandatórios para
todos os níveis de verificação.
23
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição L1 L2
24
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição L1 L2
Referências
25
OWASP Mobile Application Security Verification Standard v1.4.2
26
OWASP Mobile Application Security Verification Standard v1.4.2
Objetivo do Controle
# MSTG-ID Descrição L1 L2
27
OWASP Mobile Application Security Verification Standard v1.4.2
Referências
28
OWASP Mobile Application Security Verification Standard v1.4.2
Objetivo do Controle
Na maioria dos casos, o login de usuários a um serviço remoto é parte integrante da ar-
quitetura global das aplicações móveis. Embora a maior parte da lógica aconteça no ter-
minal, o MASVS define alguns requisitos básicos sobre a forma como as contas e sessões
dos usuários devem ser gerenciadas.
# MSTG-ID Descrição L1 L2
29
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição L1 L2
Referências
30
OWASP Mobile Application Security Verification Standard v1.4.2
31
OWASP Mobile Application Security Verification Standard v1.4.2
Objetivo do Controle
# MSTG-ID Descrição L1 L2
32
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição L1 L2
Referências
33
OWASP Mobile Application Security Verification Standard v1.4.2
Objetivo de Controle
Os controles deste grupo garantem que o aplicativo use APIs da plataforma e compo-
nentes padrão de forma segura. Além disso, os controles cobrem a comunicação entre
aplicativos (IPC).
# MSTG-ID Descrição L1 L2
34
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição L1 L2
References
O Guia de Teste de Segurança Móvel da OWASP fornece instruções detalhadas para veri-
ficar os requisitos listados nesta seção (em inglês).
35
OWASP Mobile Application Security Verification Standard v1.4.2
36
OWASP Mobile Application Security Verification Standard v1.4.2
Objetivo do Controle
O objetivo deste controle é garantir que práticas básicas de codificação segura são
seguidas no desenvolvimento do aplicativo móvel e que as funcionalidades de segurança
“gratuitas” do compilador estão habilitadas.
# MSTG-ID Descrição L1 L2
37
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição L1 L2
Referências
38
OWASP Mobile Application Security Verification Standard v1.4.2
39
OWASP Mobile Application Security Verification Standard v1.4.2
Objetivo do Controle
Esta seção cobre as medidas de proteção recomendadas para aplicativos móveis que pro-
cessam, ou dão acesso para, dados ou funcionalidades sensíveis. A falta de qualquer um
desses controles não causa uma vulnerabilidade. Em vez disso, eles destinam-se a au-
mentar a resiliência do aplicativo móvel contra engenharia reversa e ataques específicos
do lado do cliente.
Os controles desta seção devem ser aplicados conforme necessário, com base em uma
avaliação dos riscos causados por manipulação não autorizada do aplicativo móvel e/ou
engenharia reversa do código. Sugerimos que sejam consultados os documentos “Tech-
nical Risks of Reverse Engineering and Unauthorized Code Modification” e “Reverse Engi-
neering and Code Modification Prevention” do OWASP (veja referência abaixo) para uma
lista dos riscos de negócio, assim como as ameaças técnicas associadas.
Para que qualquer controle da lista abaixo ser efetivo, o aplicativo móvel deve cumprir
pelo menos todas as MASVS-L1 (ou seja, devem existir controles sólidos de segurança),
assim como todos os requisitos de número inferior no V8. Por exemplo, os controles de
ofuscação listados em “impedir a compreensão” devem ser combinados com “impedir a
análise dinâmica e a manipulação” e “vinculação ao dispositivo”.
**Perceba que as proteções de software nunca devem ser usadas como substitutas dos
controles de segurança. Os controles listados no MASVR-R buscam adicionar controles
específicos contra ameaças aos aplicativos móveis que também atendem aos requisitos
de segurança do MASVS.
1. Um modelo de ameaça deve ser definido para descrever de forma clara as ameaças
que devem ser defendidas no lado do cliente. Além disso, deve ser especificado o
grau de proteção que o esquema deve fornecer. Por exemplo, um objetivo poderia
ser obrigar os autores do malware que querem se utilizar do aplicativo móvel a
terem que se esforçar bastante para realizar a engenharia reversa.
2. O modelo de ameaça deve ser crível e relevante. Por exemplo, esconder a chave
criptográfica em uma implementação caixa branca pode ser redundante se um ata-
cante puder simplesmente utilizar a aplicação móvel como um todo.
3. A efetividade da proteção deve sempre ser verificada por um especialista com ex-
periência em testar tipos particulares de prevenção de manipulação e ofuscação
usados (veja também os capítulos “reverse engineering” e “assessing software pro-
tections” no Guia de Teste de Segurança de Dispositivos Móveis).
40
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição R
Vinculação ao Dispositivo
41
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição R
Impedir a Compreensão
# MSTG-ID Descrição R
Impedir o Eavesdropping
42
OWASP Mobile Application Security Verification Standard v1.4.2
# MSTG-ID Descrição R
Referências
43
OWASP Mobile Application Security Verification Standard v1.4.2
Apêndice A: Glossário
44
OWASP Mobile Application Security Verification Standard v1.4.2
45
OWASP Mobile Application Security Verification Standard v1.4.2
46
OWASP Mobile Application Security Verification Standard v1.4.2
Apêndice B: Referências
De forma similar, os sites a seguir devem ser úteis aos usuários e seguidores desse
padrão:
47
OWASP Mobile Application Security Verification Standard v1.4.2
Controle de Alterações
We are proud to announce the introduction of a new document build pipeline, which is
a major milestone for our project. The build pipeline is based on Pandocker and Github
Actions. This significantly reduces the time spent on creating new releases and will also
be the foundation for the OWASP MSTG and will be made available for the OWASP ASVS
project.
Changes
• 4 more translations are available, which are Hindi, Farsi, Portuguese and Brazilian
Portuguese
• Added requirement MSTG-PLATFORM-11
Special Thanks
48
OWASP Mobile Application Security Verification Standard v1.4.2
49
OWASP Mobile Application Security Verification Standard v1.4.2
50