SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
OWASP Mobile
Top 10
[Principais Riscos no Desenvolvimento
Seguro de Aplicações Móveis]
@pontocom
carlos.serrao@iscte.pt
carlos.j.serrao@iscte.pt
http://www.linkedin.com/in/carlosserrao
Aplicação
Client-Side Client-Side
Hardware

Plataforma
Rede
Server-Side
Servidor
Datacenter
Cloud
Ameaças e Vulnerabilidades
Mobile Security Project
Começou no 3Q de 2010
Porquê?
Riscos de Segurança diferentes e únicos
Objectivo?
Envolver a segurança no ciclo de
desenvolvimento de aplicações mobile
Threat Model
Dev. Guide
Training
Controls
Risks
Secure Libraries
Methodologies
Tools
Cheat Sheets
M1 - Weak Server-Side Controls
M3 - Insufficient Transport Layer
Security
M5 - Poor Authorization and
Authentication
M7 - Client Side Injection
M9 - Improper Session Handling
M2 - Insecure Data Storage
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary Protections
Riscos do Top 10
Independente da plataforma
Focada em áreas de risco do em vez de vulnerabilidades individuais
Definida usando a Metodologia de Risco da OWASP
Contribuido pela comunidade
M3 - Insufficient Transport Layer
Security
M5 - Poor Authorization and
Authentication
M7 - Client Side Injection
M9 - Improper Session Handling
M2 - Insecure Data Storage
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary Protections
M1 - Weak Server-Side Controls
M1 - Weak Server-Side Controls
Aplica-se aos serviços de backend
Não é específica para a plataforma mobile, mas
é essencial
Não é possível confiar cegamente no cliente
Avaliar com cuidado os controlos de segurança
implementados no backend
Impacto:
Perda de
confidencialidade dos
dados
Integridade dos dados
M1 - Weak Server-Side Controls
OWASP Top 10 OWASP Cloud Top 10
Prevenção:
Perceber os riscos adicionais que as aplicações móveis introduzem nas
arquitecturas existentes
Usar o know-how existente na proteção destas plataformas
OWASP Web Top 10, Cloud Top 10, Web Services Top 10
Recorrer a “cheat sheets”, guias de desenvolvimento, ESAPI
M1 - Weak Server-Side Controls
M1 - Weak Server-Side Controls
M3 - Insufficient Transport Layer
Security
M5 - Poor Authorization and
Authentication
M7 - Client Side Injection
M9 - Improper Session Handling
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary Protections
M2 - Insecure Data Storage
Dados sensíveis que não são protegidos
Aplica-se a dados armazenados localmente e dados
sincronizados com a cloud
Resultam de:
Não cifrar os dados
Efectuar cache de dados quando não se pretende usar a mesma
para armazenamento a longo prazo
Permissões fracas ou globais
Não usar as melhores práticas aplicadas às comunidades
M2 - Insecure Data Storage
Impacto:
Confidencialidade e perda
de dados
Credenciais
comprometidas
Violações de privacidade
Não-compliance
Prevenção:
Armazenar APENAS aquilo que é absolutamente necessário
Nunca usar áreas de armazenamento públicas (SD Card)
Usar contentores seguros de informação e usar as APIs de segurança e
cifra oferecidas pela plataforma
Não conceder permissões de leitura e de escrita demasiado permissivas
(acesso para todos)
M2 - Insecure Data Storage
M1 - Weak Server-Side Controls
M5 - Poor Authorization and
Authentication
M7 - Client Side Injection
M9 - Improper Session Handling
M2 - Insecure Data Storage
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary Protections
M3 - Insufficient Transport Layer Security
Falta de encriptação dos dados transmitidos
Dados em trânsito recorrendo a mecanismos
de encriptação fracos
Usando criptografia forte mas que ignora
avisos de segurança
Ignorar erros de validação de certificados
Usar transmissão em claro após detectar falhas
Impacto:
MITM
Alteração de dados em
transito
Perda de
confidencialidade de
dados
M3 - Insufficient Transport Layer Security
Prevenção:
Assegurar que todos os dados sensíveis que deixam o dispositivos estão
encriptados
Incluem-se todos os dados enviados através da rede do provedor de
serviço, WiFi e até NFC
Quando ocorrem exceções de segurança é uma boa prática NÃO AS
IGNORAR
M3 - Insufficient Transport Layer Security
M1 - Weak Server-Side Controls
M3 - Insufficient Transport Layer
Security
M5 - Poor Authorization and
Authentication
M7 - Client Side Injection
M9 - Improper Session Handling
M2 - Insecure Data Storage
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary Protections
Resulta da não desactivação de algumas funcionalidades da plataforma e
algumas falhas de programação
Dados sensíveis que vão parar a sítios menos próprios:
Caches Web
Log de keystrokes
Screenshots (i.e. iOS background apps)
Logs (sistema, crash)
Directorias temporárias
Perceber o que fazem librarias de terceiros nas aplicações com os dados
dos utilizadores, antes de as usar (rede de anúncios, analytics, etc.)
Impacto:
Retenção de dados de
forma infinita
Violações de
privacidade
M4 - Unintended Data Leakage
Nunca guardar informação sensível em logs
Remover dados sensíveis de “screenshots”, desactivar logs de teclados, e
utilizar directivas anti-cache para conteúdo web
Efectuar debug das aplicações antes de as lançar no mercado para
perceber quais os ficheiros criados, escritos ou modificados ao longo da
sua operação
Rever com cuidados todas as bibliotecas de terceiros usadas na aplicação
Testar a aplicação em múltiplas plataformas (o mais possível)
M4 - Unintended Data Leakage
M1 - Weak Server-Side Controls
M3 - Insufficient Transport Layer
Security
M7 - Client Side Injection
M9 - Improper Session Handling
M2 - Insecure Data Storage
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary Protections
M5 - Poor Authorization and Authentication
EM parte relacionada com a parte móvel, outra relacionada
com a arquitectura
Algumas “apps” dependem em exclusivo de valores
imutáveis e potencialmente comprometidos (IMEI, IMSI,
UUID)
Alguns identificadores de hardware persistem mesmo depois
de serem feitas limpezas ao dispositivo ou “factory resets”
É possível adicionar alguma informação contextual mas não
é à prova e falhas
Impacto:
Escalar privilégios
Acesso não-autorizado
M5 - Poor Authorization and Authentication
Prevenção:
A informação contextual pode ser usada para resolver esta situação, mas
deve ser usada em conjunto com factores de múltipla autenticação
Nunca usar o ID do dispositivo ou ID de subscritor como único autenticador
M5 - Poor Authorization and Authentication
M1 - Weak Server-Side Controls
M3 - Insufficient Transport Layer
Security
M5 - Poor Authorization and
Authentication
M7 - Client Side Injection
M9 - Improper Session Handling
M2 - Insecure Data Storage
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary Protections
M6 - Broken Cryptography
Duas principais categorias
Más implementações usando bibliotecas
criptográficas fortes
Cifras desenvolvidas “à medida”, mas facilmente
quebráveis
Encoding, Ofuscação e Serialização !=
Encriptação
Impacto:
Perda da
confidencialidade dos
dados
Escalara privilégios
Ultrapassar a lógica de
negócio
M6 - Broken Cryptography
Armazenar a chave com os dados cifrados - não serve para nada
Preferir SEMPRE usar bibliotecas criptográficas testadas, do que
escrever a sua própria biblioteca
Tirar partido daquilo que a plataforma já oferece!
M6 - Broken Cryptography
M1 - Weak Server-Side Controls
M3 - Insufficient Transport Layer
Security
M5 - Poor Authorization and
Authentication
M9 - Improper Session Handling
M2 - Insecure Data Storage
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary Protections
M7 - Client Side Injection
Aplicações que usam bibliotecas de browsers
Web apps puras
Apps Web/Nativas híbridas
Ataques típicos:
XSS e HTML Injection
SQL Injection
Novos ataques:
Abusar do “phone dialer” + SMS
Abusar de pagamentos “in-app”
Impacto:
Compromisso do
dispositivo
Escalar privilégios
M7 - Client Side Injection
Prevenção:
“Sanitizar" e tratar dados “untrusted” antes de os mostrar ou executar
Usar “prepared statements” para chamadas a base de dados - não resolve
todos os problemas mas limita alguns
Minimizar as capacidades nativas que estão relacionadas com a parte da
funcionalidade Web
M7 - Client Side Injection
M1 - Weak Server-Side Controls
M3 - Insufficient Transport Layer
Security
M5 - Poor Authorization and
Authentication
M7 - Client Side Injection
M9 - Improper Session Handling
M2 - Insecure Data Storage
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M10 - Lack of Binary Protections
M8 - Security Decisions Via Untrusted Inputs
Podem ser usados para efectuar o “bypass” de
permissões e modelos de segurança
Dependem da plataforma
iOS - Abusar dos URL Schemes
Android - Abusar dos Intents
Vários vectores de ataque:
Aplicações maliciosas
Client-side Injection
Impacto:
Consumir recursos
pagos
Extração de dados
Escalar privilégios
M8 - Security Decisions Via Untrusted Inputs
Prevenção:
Verificar as permissões de quem invoca e os input dos mesmos
Pedir mais permissões ao utilizador antes de permitir as chamadas
Quando as verificações de permissão não puderem ser realizadas,
assegurar que têm que ser executados passos adicionais para realizar
ações que possam ser sensíveis
M8 - Security Decisions Via Untrusted Inputs
M1 - Weak Server-Side Controls
M3 - Insufficient Transport Layer
Security
M5 - Poor Authorization and
Authentication
M7 - Client Side Injection
M2 - Insecure Data Storage
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary ProtectionsM9 - Improper Session Handling
As sessões nas aplicações móveis são geralmente muito
mais longas
Porquê? Conveniência e por usabilidade
Aplicações mantém as sessões através de:
HTTP cookies
OAuth tokens
Serviços de autenticação SSO
Péssima ideia = usar um identificador do dispositivo como um
token de sessão
Impacto:
Escalar privilégios
Acesso não-autorizado
Ultrapassar licenciamentos
e pagamentos
M9 - Improper Session Handling
Prevenção:
Não ter medo de fazer os utilizadores autenticarem-se mais
frequentemente
Assegurar que os tokens podem ser revogados rapidamente no caso do
dispositivo ter sido perdido ou roubado
Usar entropia para gerar tokens seguros
M9 - Improper Session Handling
M1 - Weak Server-Side Controls
M3 - Insufficient Transport Layer
Security
M5 - Poor Authorization and
Authentication
M7 - Client Side Injection
M9 - Improper Session Handling
M2 - Insecure Data Storage
M6 - Broken Cryptography
M4 - Unintended Data Leakage
M8 - Security Decisions Via Untrusted
Inputs
M10 - Lack of Binary Protections
Um adversário vai procurar efectuar “reverse engineering” do código
da aplicação móvel, para a modificar e realizar alguma
funcionalidade obscura.
Pode alguém desencriptar o código desta app (iOS)
Pode alguém efectuar reverse engineering da app (dex2jar, p.e.)
Pode alguém visualizar o fluxo ou pseudo-código da aplicação
Pode alguém modificar a layer de apresentação e tratar de injectar
código Javascript na pp
Pode alguém modificar o binário da aplicação usando um editor e
mesmo assim efectuar bypass do do controlo de segurança
Impacto:
Confidencialidade e
privacidade
Roubo de propriedade
intelectual
Comportamento malicioso
da aplicação.
M10 - Lack of Binary Protections
Prevenção:
Deteção de jailbreak, controlos de checksum, deteção de debuggers, etc.
Ter a certeza que vamos o binário não foi modificado e que as proteções
da plataforma garantem a integridade do mesmo.
M10 - Lack of Binary Protections
www.owasp.org
OWASP Mobile
Top 10
[Principais Riscos no Desenvolvimento
Seguro de Aplicações Móveis]

Mais conteúdo relacionado

Mais procurados

A OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebA OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebCarlos Serrao
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebEduardo Lanna
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Os 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerceOs 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerceE-Commerce Brasil
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012Marcio Cunha
 
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
WEBINAR BE AWARE - Gerenciando os ativos de TI
WEBINAR BE AWARE -  Gerenciando os ativos de TIWEBINAR BE AWARE -  Gerenciando os ativos de TI
WEBINAR BE AWARE - Gerenciando os ativos de TISymantec Brasil
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBAlcyon Ferreira de Souza Junior, MSc
 
Resposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEMResposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEMSpark Security
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
BE AWARE WEBINAR - Se a senha é fraca, como posso melhorar a autenticação da ...
BE AWARE WEBINAR - Se a senha é fraca, como posso melhorar a autenticação da ...BE AWARE WEBINAR - Se a senha é fraca, como posso melhorar a autenticação da ...
BE AWARE WEBINAR - Se a senha é fraca, como posso melhorar a autenticação da ...Symantec Brasil
 
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da InformaçãoTestes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da InformaçãoClavis Segurança da Informação
 
10 minutos de Eleven Paths por Leandro Bennaton
10 minutos de Eleven Paths por Leandro Bennaton10 minutos de Eleven Paths por Leandro Bennaton
10 minutos de Eleven Paths por Leandro BennatonLeandro Bennaton
 
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401Clavis Segurança da Informação
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...Clavis Segurança da Informação
 

Mais procurados (20)

A OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebA OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a Web
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Os 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerceOs 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerce
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
WEBINAR BE AWARE - Gerenciando os ativos de TI
WEBINAR BE AWARE -  Gerenciando os ativos de TIWEBINAR BE AWARE -  Gerenciando os ativos de TI
WEBINAR BE AWARE - Gerenciando os ativos de TI
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
 
Treinamento ajax 05
Treinamento ajax   05Treinamento ajax   05
Treinamento ajax 05
 
Resposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEMResposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEM
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
BE AWARE WEBINAR - Se a senha é fraca, como posso melhorar a autenticação da ...
BE AWARE WEBINAR - Se a senha é fraca, como posso melhorar a autenticação da ...BE AWARE WEBINAR - Se a senha é fraca, como posso melhorar a autenticação da ...
BE AWARE WEBINAR - Se a senha é fraca, como posso melhorar a autenticação da ...
 
Palestra GlobalSign
Palestra GlobalSignPalestra GlobalSign
Palestra GlobalSign
 
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da InformaçãoTestes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
 
10 minutos de Eleven Paths por Leandro Bennaton
10 minutos de Eleven Paths por Leandro Bennaton10 minutos de Eleven Paths por Leandro Bennaton
10 minutos de Eleven Paths por Leandro Bennaton
 
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
 

Destaque

Puerto Rico Facts for Kids
Puerto Rico Facts for KidsPuerto Rico Facts for Kids
Puerto Rico Facts for Kidsovalvocation072
 
The New York Historical Society Gets A $65 Milion Facelift - New York Arts
The New York Historical Society Gets A $65 Milion Facelift - New York ArtsThe New York Historical Society Gets A $65 Milion Facelift - New York Arts
The New York Historical Society Gets A $65 Milion Facelift - New York Artsovalvocation072
 
Wood Group PSN LI Project 2
Wood Group PSN LI Project 2Wood Group PSN LI Project 2
Wood Group PSN LI Project 2Josefina King
 
Giorgos Κolliopoulos - To Have What You Cannot Have - The Luxury Brands Confe...
Giorgos Κolliopoulos - To Have What You Cannot Have - The Luxury Brands Confe...Giorgos Κolliopoulos - To Have What You Cannot Have - The Luxury Brands Confe...
Giorgos Κolliopoulos - To Have What You Cannot Have - The Luxury Brands Confe...Speiron
 
GITANJALI_Oracle_apps_4+yrs
GITANJALI_Oracle_apps_4+yrsGITANJALI_Oracle_apps_4+yrs
GITANJALI_Oracle_apps_4+yrsgitanjali singh
 
4P square 11 key facts Marketing & Sales - Interim & Consulting
4P square 11 key facts Marketing & Sales - Interim & Consulting4P square 11 key facts Marketing & Sales - Interim & Consulting
4P square 11 key facts Marketing & Sales - Interim & Consulting4P square
 
シネマレコメンドVol2 up用
シネマレコメンドVol2 up用シネマレコメンドVol2 up用
シネマレコメンドVol2 up用yuusuke kashiwagi
 

Destaque (14)

Puerto Rico Facts for Kids
Puerto Rico Facts for KidsPuerto Rico Facts for Kids
Puerto Rico Facts for Kids
 
Sun moon star
Sun moon starSun moon star
Sun moon star
 
formas-graficas-de-aprendizaje
 formas-graficas-de-aprendizaje formas-graficas-de-aprendizaje
formas-graficas-de-aprendizaje
 
The New York Historical Society Gets A $65 Milion Facelift - New York Arts
The New York Historical Society Gets A $65 Milion Facelift - New York ArtsThe New York Historical Society Gets A $65 Milion Facelift - New York Arts
The New York Historical Society Gets A $65 Milion Facelift - New York Arts
 
Aha share.com
Aha share.comAha share.com
Aha share.com
 
Wood Group PSN LI Project 2
Wood Group PSN LI Project 2Wood Group PSN LI Project 2
Wood Group PSN LI Project 2
 
Giorgos Κolliopoulos - To Have What You Cannot Have - The Luxury Brands Confe...
Giorgos Κolliopoulos - To Have What You Cannot Have - The Luxury Brands Confe...Giorgos Κolliopoulos - To Have What You Cannot Have - The Luxury Brands Confe...
Giorgos Κolliopoulos - To Have What You Cannot Have - The Luxury Brands Confe...
 
Revised venkat CV
Revised venkat CVRevised venkat CV
Revised venkat CV
 
GITANJALI_Oracle_apps_4+yrs
GITANJALI_Oracle_apps_4+yrsGITANJALI_Oracle_apps_4+yrs
GITANJALI_Oracle_apps_4+yrs
 
4P square 11 key facts Marketing & Sales - Interim & Consulting
4P square 11 key facts Marketing & Sales - Interim & Consulting4P square 11 key facts Marketing & Sales - Interim & Consulting
4P square 11 key facts Marketing & Sales - Interim & Consulting
 
Manual upel
Manual upelManual upel
Manual upel
 
シネマレコメンドVol2 up用
シネマレコメンドVol2 up用シネマレコメンドVol2 up用
シネマレコメンドVol2 up用
 
Problemas
ProblemasProblemas
Problemas
 
Sminex Brand Communication Guidelines / SmartHeart
Sminex Brand Communication Guidelines / SmartHeartSminex Brand Communication Guidelines / SmartHeart
Sminex Brand Communication Guidelines / SmartHeart
 

Semelhante a OWASP Mobile Top 10

Segurança em aplicativos móveis de comunicação - Cnasi 2016
Segurança em aplicativos móveis de comunicação - Cnasi 2016Segurança em aplicativos móveis de comunicação - Cnasi 2016
Segurança em aplicativos móveis de comunicação - Cnasi 2016Tiago Tavares
 
Be Aware Webinar - Protegendo PDV de ameaças Externas e Garantindo Conformidade
Be Aware Webinar - Protegendo PDV de ameaças Externas e Garantindo ConformidadeBe Aware Webinar - Protegendo PDV de ameaças Externas e Garantindo Conformidade
Be Aware Webinar - Protegendo PDV de ameaças Externas e Garantindo ConformidadeSymantec Brasil
 
Segurança em Sistemas Baseados em Redes de Computadores
Segurança em Sistemas Baseados em Redes de ComputadoresSegurança em Sistemas Baseados em Redes de Computadores
Segurança em Sistemas Baseados em Redes de ComputadoresBruno Dos Anjos Silveira
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de softwareJuliano Padilha
 
MobileConf2013 - Desenvolvimento Mobile Seguro
MobileConf2013 - Desenvolvimento Mobile SeguroMobileConf2013 - Desenvolvimento Mobile Seguro
MobileConf2013 - Desenvolvimento Mobile SeguroAugusto Marinho
 
Suite de Soluções Site Blindado
Suite de Soluções Site BlindadoSuite de Soluções Site Blindado
Suite de Soluções Site BlindadoSite Blindado S.A.
 
Segurança em desenvolvimento de software
Segurança em desenvolvimento de softwareSegurança em desenvolvimento de software
Segurança em desenvolvimento de softwareJeronimo Zucco
 
Sistema de segurança_web
Sistema de segurança_webSistema de segurança_web
Sistema de segurança_webFavsro Fot
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Clavis Segurança da Informação
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...EMERSON EDUARDO RODRIGUES
 
Aspectos Técnicos e Regulatórios sobre Internet: Aula 5: Segurança Cibernética
Aspectos Técnicos e Regulatórios sobre Internet: Aula 5: Segurança CibernéticaAspectos Técnicos e Regulatórios sobre Internet: Aula 5: Segurança Cibernética
Aspectos Técnicos e Regulatórios sobre Internet: Aula 5: Segurança Cibernéticacaugustovitor1
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemAlcyon Ferreira de Souza Junior, MSc
 

Semelhante a OWASP Mobile Top 10 (20)

Segurança em aplicativos móveis de comunicação - Cnasi 2016
Segurança em aplicativos móveis de comunicação - Cnasi 2016Segurança em aplicativos móveis de comunicação - Cnasi 2016
Segurança em aplicativos móveis de comunicação - Cnasi 2016
 
Sc aula 03 12-03-13
Sc aula 03   12-03-13Sc aula 03   12-03-13
Sc aula 03 12-03-13
 
Java security
Java securityJava security
Java security
 
Be Aware Webinar - Protegendo PDV de ameaças Externas e Garantindo Conformidade
Be Aware Webinar - Protegendo PDV de ameaças Externas e Garantindo ConformidadeBe Aware Webinar - Protegendo PDV de ameaças Externas e Garantindo Conformidade
Be Aware Webinar - Protegendo PDV de ameaças Externas e Garantindo Conformidade
 
Saia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurançaSaia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurança
 
Segurança na Nuvem
Segurança na NuvemSegurança na Nuvem
Segurança na Nuvem
 
Segurança em Sistemas Baseados em Redes de Computadores
Segurança em Sistemas Baseados em Redes de ComputadoresSegurança em Sistemas Baseados em Redes de Computadores
Segurança em Sistemas Baseados em Redes de Computadores
 
Antar ferreira
Antar ferreiraAntar ferreira
Antar ferreira
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
 
MobileConf2013 - Desenvolvimento Mobile Seguro
MobileConf2013 - Desenvolvimento Mobile SeguroMobileConf2013 - Desenvolvimento Mobile Seguro
MobileConf2013 - Desenvolvimento Mobile Seguro
 
Auditoria em Mainframe. (Eugênio Fernandes)
Auditoria em Mainframe. (Eugênio Fernandes)Auditoria em Mainframe. (Eugênio Fernandes)
Auditoria em Mainframe. (Eugênio Fernandes)
 
Suite de Soluções Site Blindado
Suite de Soluções Site BlindadoSuite de Soluções Site Blindado
Suite de Soluções Site Blindado
 
Segurança em desenvolvimento de software
Segurança em desenvolvimento de softwareSegurança em desenvolvimento de software
Segurança em desenvolvimento de software
 
Sistema de segurança_web
Sistema de segurança_webSistema de segurança_web
Sistema de segurança_web
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
 
Aspectos Técnicos e Regulatórios sobre Internet: Aula 5: Segurança Cibernética
Aspectos Técnicos e Regulatórios sobre Internet: Aula 5: Segurança CibernéticaAspectos Técnicos e Regulatórios sobre Internet: Aula 5: Segurança Cibernética
Aspectos Técnicos e Regulatórios sobre Internet: Aula 5: Segurança Cibernética
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
 
2011 - TI - Novos Desafios de Segurança
2011 - TI - Novos Desafios de Segurança2011 - TI - Novos Desafios de Segurança
2011 - TI - Novos Desafios de Segurança
 
Segurança de código
Segurança de códigoSegurança de código
Segurança de código
 

Mais de Carlos Serrao

Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]Carlos Serrao
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisCarlos Serrao
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisCarlos Serrao
 
Principios básicos de segurança on-line
Principios básicos de segurança on-linePrincipios básicos de segurança on-line
Principios básicos de segurança on-lineCarlos Serrao
 
To DRM or not to DRM?
To DRM or not to DRM?To DRM or not to DRM?
To DRM or not to DRM?Carlos Serrao
 
OWASP presentation on FISTA2011
OWASP presentation on FISTA2011OWASP presentation on FISTA2011
OWASP presentation on FISTA2011Carlos Serrao
 
Análise de Vulnerabilidades em Aplicações na Web Nacional
Análise de Vulnerabilidades em Aplicações na Web NacionalAnálise de Vulnerabilidades em Aplicações na Web Nacional
Análise de Vulnerabilidades em Aplicações na Web NacionalCarlos Serrao
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisCarlos Serrao
 
OWASP, PT.OWASP, IBWAS'10 & Cia.
OWASP, PT.OWASP, IBWAS'10 & Cia.OWASP, PT.OWASP, IBWAS'10 & Cia.
OWASP, PT.OWASP, IBWAS'10 & Cia.Carlos Serrao
 
Owasp@iscte iul ferramentas-analise_vulnerabilidades
Owasp@iscte iul ferramentas-analise_vulnerabilidadesOwasp@iscte iul ferramentas-analise_vulnerabilidades
Owasp@iscte iul ferramentas-analise_vulnerabilidadesCarlos Serrao
 
OWASP@ ISCTE-IUL, Segurança em PHP
OWASP@ ISCTE-IUL, Segurança em PHPOWASP@ ISCTE-IUL, Segurança em PHP
OWASP@ ISCTE-IUL, Segurança em PHPCarlos Serrao
 
OWASP @ ISCTE-IUL, OWASP Top 10 2010
OWASP @ ISCTE-IUL, OWASP Top 10 2010OWASP @ ISCTE-IUL, OWASP Top 10 2010
OWASP @ ISCTE-IUL, OWASP Top 10 2010Carlos Serrao
 
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)Carlos Serrao
 
OWASP @ ISCTE-IUL, Criptografia em PHP
OWASP @ ISCTE-IUL, Criptografia em PHPOWASP @ ISCTE-IUL, Criptografia em PHP
OWASP @ ISCTE-IUL, Criptografia em PHPCarlos Serrao
 
OWASP @ ISCTE-IUL, OWASP e OWASP Portugal
OWASP @ ISCTE-IUL, OWASP e OWASP PortugalOWASP @ ISCTE-IUL, OWASP e OWASP Portugal
OWASP @ ISCTE-IUL, OWASP e OWASP PortugalCarlos Serrao
 
aula de PED - Academia ISCTE-IUL 2010
aula de PED - Academia ISCTE-IUL 2010aula de PED - Academia ISCTE-IUL 2010
aula de PED - Academia ISCTE-IUL 2010Carlos Serrao
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãCarlos Serrao
 
cTIC2009 - Segurança em Aplicações Web-based e RIA
cTIC2009 - Segurança em Aplicações Web-based e RIAcTIC2009 - Segurança em Aplicações Web-based e RIA
cTIC2009 - Segurança em Aplicações Web-based e RIACarlos Serrao
 

Mais de Carlos Serrao (20)

Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes Sociais
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes Sociais
 
Principios básicos de segurança on-line
Principios básicos de segurança on-linePrincipios básicos de segurança on-line
Principios básicos de segurança on-line
 
To DRM or not to DRM?
To DRM or not to DRM?To DRM or not to DRM?
To DRM or not to DRM?
 
OWASP presentation on FISTA2011
OWASP presentation on FISTA2011OWASP presentation on FISTA2011
OWASP presentation on FISTA2011
 
Análise de Vulnerabilidades em Aplicações na Web Nacional
Análise de Vulnerabilidades em Aplicações na Web NacionalAnálise de Vulnerabilidades em Aplicações na Web Nacional
Análise de Vulnerabilidades em Aplicações na Web Nacional
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes Sociais
 
OWASP, PT.OWASP, IBWAS'10 & Cia.
OWASP, PT.OWASP, IBWAS'10 & Cia.OWASP, PT.OWASP, IBWAS'10 & Cia.
OWASP, PT.OWASP, IBWAS'10 & Cia.
 
Is the Web at Risk?
Is the Web at Risk?Is the Web at Risk?
Is the Web at Risk?
 
Owasp@iscte iul ferramentas-analise_vulnerabilidades
Owasp@iscte iul ferramentas-analise_vulnerabilidadesOwasp@iscte iul ferramentas-analise_vulnerabilidades
Owasp@iscte iul ferramentas-analise_vulnerabilidades
 
OWASP@ ISCTE-IUL, Segurança em PHP
OWASP@ ISCTE-IUL, Segurança em PHPOWASP@ ISCTE-IUL, Segurança em PHP
OWASP@ ISCTE-IUL, Segurança em PHP
 
OWASP @ ISCTE-IUL, OWASP Top 10 2010
OWASP @ ISCTE-IUL, OWASP Top 10 2010OWASP @ ISCTE-IUL, OWASP Top 10 2010
OWASP @ ISCTE-IUL, OWASP Top 10 2010
 
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
 
OWASP @ ISCTE-IUL, Criptografia em PHP
OWASP @ ISCTE-IUL, Criptografia em PHPOWASP @ ISCTE-IUL, Criptografia em PHP
OWASP @ ISCTE-IUL, Criptografia em PHP
 
OWASP @ ISCTE-IUL, OWASP e OWASP Portugal
OWASP @ ISCTE-IUL, OWASP e OWASP PortugalOWASP @ ISCTE-IUL, OWASP e OWASP Portugal
OWASP @ ISCTE-IUL, OWASP e OWASP Portugal
 
aula de PED - Academia ISCTE-IUL 2010
aula de PED - Academia ISCTE-IUL 2010aula de PED - Academia ISCTE-IUL 2010
aula de PED - Academia ISCTE-IUL 2010
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, Covilhã
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 
cTIC2009 - Segurança em Aplicações Web-based e RIA
cTIC2009 - Segurança em Aplicações Web-based e RIAcTIC2009 - Segurança em Aplicações Web-based e RIA
cTIC2009 - Segurança em Aplicações Web-based e RIA
 

OWASP Mobile Top 10

  • 1. OWASP Mobile Top 10 [Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis]
  • 4.
  • 5.
  • 6. Mobile Security Project Começou no 3Q de 2010 Porquê? Riscos de Segurança diferentes e únicos Objectivo? Envolver a segurança no ciclo de desenvolvimento de aplicações mobile Threat Model Dev. Guide Training Controls Risks Secure Libraries Methodologies Tools Cheat Sheets
  • 7. M1 - Weak Server-Side Controls M3 - Insufficient Transport Layer Security M5 - Poor Authorization and Authentication M7 - Client Side Injection M9 - Improper Session Handling M2 - Insecure Data Storage M6 - Broken Cryptography M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary Protections
  • 8. Riscos do Top 10 Independente da plataforma Focada em áreas de risco do em vez de vulnerabilidades individuais Definida usando a Metodologia de Risco da OWASP Contribuido pela comunidade
  • 9. M3 - Insufficient Transport Layer Security M5 - Poor Authorization and Authentication M7 - Client Side Injection M9 - Improper Session Handling M2 - Insecure Data Storage M6 - Broken Cryptography M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary Protections M1 - Weak Server-Side Controls
  • 10. M1 - Weak Server-Side Controls Aplica-se aos serviços de backend Não é específica para a plataforma mobile, mas é essencial Não é possível confiar cegamente no cliente Avaliar com cuidado os controlos de segurança implementados no backend Impacto: Perda de confidencialidade dos dados Integridade dos dados
  • 11. M1 - Weak Server-Side Controls OWASP Top 10 OWASP Cloud Top 10
  • 12. Prevenção: Perceber os riscos adicionais que as aplicações móveis introduzem nas arquitecturas existentes Usar o know-how existente na proteção destas plataformas OWASP Web Top 10, Cloud Top 10, Web Services Top 10 Recorrer a “cheat sheets”, guias de desenvolvimento, ESAPI M1 - Weak Server-Side Controls
  • 13. M1 - Weak Server-Side Controls M3 - Insufficient Transport Layer Security M5 - Poor Authorization and Authentication M7 - Client Side Injection M9 - Improper Session Handling M6 - Broken Cryptography M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary Protections M2 - Insecure Data Storage
  • 14. Dados sensíveis que não são protegidos Aplica-se a dados armazenados localmente e dados sincronizados com a cloud Resultam de: Não cifrar os dados Efectuar cache de dados quando não se pretende usar a mesma para armazenamento a longo prazo Permissões fracas ou globais Não usar as melhores práticas aplicadas às comunidades M2 - Insecure Data Storage Impacto: Confidencialidade e perda de dados Credenciais comprometidas Violações de privacidade Não-compliance
  • 15. Prevenção: Armazenar APENAS aquilo que é absolutamente necessário Nunca usar áreas de armazenamento públicas (SD Card) Usar contentores seguros de informação e usar as APIs de segurança e cifra oferecidas pela plataforma Não conceder permissões de leitura e de escrita demasiado permissivas (acesso para todos) M2 - Insecure Data Storage
  • 16. M1 - Weak Server-Side Controls M5 - Poor Authorization and Authentication M7 - Client Side Injection M9 - Improper Session Handling M2 - Insecure Data Storage M6 - Broken Cryptography M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary Protections M3 - Insufficient Transport Layer Security
  • 17. Falta de encriptação dos dados transmitidos Dados em trânsito recorrendo a mecanismos de encriptação fracos Usando criptografia forte mas que ignora avisos de segurança Ignorar erros de validação de certificados Usar transmissão em claro após detectar falhas Impacto: MITM Alteração de dados em transito Perda de confidencialidade de dados M3 - Insufficient Transport Layer Security
  • 18. Prevenção: Assegurar que todos os dados sensíveis que deixam o dispositivos estão encriptados Incluem-se todos os dados enviados através da rede do provedor de serviço, WiFi e até NFC Quando ocorrem exceções de segurança é uma boa prática NÃO AS IGNORAR M3 - Insufficient Transport Layer Security
  • 19. M1 - Weak Server-Side Controls M3 - Insufficient Transport Layer Security M5 - Poor Authorization and Authentication M7 - Client Side Injection M9 - Improper Session Handling M2 - Insecure Data Storage M6 - Broken Cryptography M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary Protections
  • 20. Resulta da não desactivação de algumas funcionalidades da plataforma e algumas falhas de programação Dados sensíveis que vão parar a sítios menos próprios: Caches Web Log de keystrokes Screenshots (i.e. iOS background apps) Logs (sistema, crash) Directorias temporárias Perceber o que fazem librarias de terceiros nas aplicações com os dados dos utilizadores, antes de as usar (rede de anúncios, analytics, etc.) Impacto: Retenção de dados de forma infinita Violações de privacidade M4 - Unintended Data Leakage
  • 21. Nunca guardar informação sensível em logs Remover dados sensíveis de “screenshots”, desactivar logs de teclados, e utilizar directivas anti-cache para conteúdo web Efectuar debug das aplicações antes de as lançar no mercado para perceber quais os ficheiros criados, escritos ou modificados ao longo da sua operação Rever com cuidados todas as bibliotecas de terceiros usadas na aplicação Testar a aplicação em múltiplas plataformas (o mais possível) M4 - Unintended Data Leakage
  • 22. M1 - Weak Server-Side Controls M3 - Insufficient Transport Layer Security M7 - Client Side Injection M9 - Improper Session Handling M2 - Insecure Data Storage M6 - Broken Cryptography M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary Protections M5 - Poor Authorization and Authentication
  • 23. EM parte relacionada com a parte móvel, outra relacionada com a arquitectura Algumas “apps” dependem em exclusivo de valores imutáveis e potencialmente comprometidos (IMEI, IMSI, UUID) Alguns identificadores de hardware persistem mesmo depois de serem feitas limpezas ao dispositivo ou “factory resets” É possível adicionar alguma informação contextual mas não é à prova e falhas Impacto: Escalar privilégios Acesso não-autorizado M5 - Poor Authorization and Authentication
  • 24. Prevenção: A informação contextual pode ser usada para resolver esta situação, mas deve ser usada em conjunto com factores de múltipla autenticação Nunca usar o ID do dispositivo ou ID de subscritor como único autenticador M5 - Poor Authorization and Authentication
  • 25. M1 - Weak Server-Side Controls M3 - Insufficient Transport Layer Security M5 - Poor Authorization and Authentication M7 - Client Side Injection M9 - Improper Session Handling M2 - Insecure Data Storage M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary Protections M6 - Broken Cryptography
  • 26. Duas principais categorias Más implementações usando bibliotecas criptográficas fortes Cifras desenvolvidas “à medida”, mas facilmente quebráveis Encoding, Ofuscação e Serialização != Encriptação Impacto: Perda da confidencialidade dos dados Escalara privilégios Ultrapassar a lógica de negócio M6 - Broken Cryptography
  • 27. Armazenar a chave com os dados cifrados - não serve para nada Preferir SEMPRE usar bibliotecas criptográficas testadas, do que escrever a sua própria biblioteca Tirar partido daquilo que a plataforma já oferece! M6 - Broken Cryptography
  • 28. M1 - Weak Server-Side Controls M3 - Insufficient Transport Layer Security M5 - Poor Authorization and Authentication M9 - Improper Session Handling M2 - Insecure Data Storage M6 - Broken Cryptography M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary Protections M7 - Client Side Injection
  • 29. Aplicações que usam bibliotecas de browsers Web apps puras Apps Web/Nativas híbridas Ataques típicos: XSS e HTML Injection SQL Injection Novos ataques: Abusar do “phone dialer” + SMS Abusar de pagamentos “in-app” Impacto: Compromisso do dispositivo Escalar privilégios M7 - Client Side Injection
  • 30. Prevenção: “Sanitizar" e tratar dados “untrusted” antes de os mostrar ou executar Usar “prepared statements” para chamadas a base de dados - não resolve todos os problemas mas limita alguns Minimizar as capacidades nativas que estão relacionadas com a parte da funcionalidade Web M7 - Client Side Injection
  • 31. M1 - Weak Server-Side Controls M3 - Insufficient Transport Layer Security M5 - Poor Authorization and Authentication M7 - Client Side Injection M9 - Improper Session Handling M2 - Insecure Data Storage M6 - Broken Cryptography M4 - Unintended Data Leakage M10 - Lack of Binary Protections M8 - Security Decisions Via Untrusted Inputs
  • 32. Podem ser usados para efectuar o “bypass” de permissões e modelos de segurança Dependem da plataforma iOS - Abusar dos URL Schemes Android - Abusar dos Intents Vários vectores de ataque: Aplicações maliciosas Client-side Injection Impacto: Consumir recursos pagos Extração de dados Escalar privilégios M8 - Security Decisions Via Untrusted Inputs
  • 33. Prevenção: Verificar as permissões de quem invoca e os input dos mesmos Pedir mais permissões ao utilizador antes de permitir as chamadas Quando as verificações de permissão não puderem ser realizadas, assegurar que têm que ser executados passos adicionais para realizar ações que possam ser sensíveis M8 - Security Decisions Via Untrusted Inputs
  • 34. M1 - Weak Server-Side Controls M3 - Insufficient Transport Layer Security M5 - Poor Authorization and Authentication M7 - Client Side Injection M2 - Insecure Data Storage M6 - Broken Cryptography M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary ProtectionsM9 - Improper Session Handling
  • 35. As sessões nas aplicações móveis são geralmente muito mais longas Porquê? Conveniência e por usabilidade Aplicações mantém as sessões através de: HTTP cookies OAuth tokens Serviços de autenticação SSO Péssima ideia = usar um identificador do dispositivo como um token de sessão Impacto: Escalar privilégios Acesso não-autorizado Ultrapassar licenciamentos e pagamentos M9 - Improper Session Handling
  • 36. Prevenção: Não ter medo de fazer os utilizadores autenticarem-se mais frequentemente Assegurar que os tokens podem ser revogados rapidamente no caso do dispositivo ter sido perdido ou roubado Usar entropia para gerar tokens seguros M9 - Improper Session Handling
  • 37. M1 - Weak Server-Side Controls M3 - Insufficient Transport Layer Security M5 - Poor Authorization and Authentication M7 - Client Side Injection M9 - Improper Session Handling M2 - Insecure Data Storage M6 - Broken Cryptography M4 - Unintended Data Leakage M8 - Security Decisions Via Untrusted Inputs M10 - Lack of Binary Protections
  • 38. Um adversário vai procurar efectuar “reverse engineering” do código da aplicação móvel, para a modificar e realizar alguma funcionalidade obscura. Pode alguém desencriptar o código desta app (iOS) Pode alguém efectuar reverse engineering da app (dex2jar, p.e.) Pode alguém visualizar o fluxo ou pseudo-código da aplicação Pode alguém modificar a layer de apresentação e tratar de injectar código Javascript na pp Pode alguém modificar o binário da aplicação usando um editor e mesmo assim efectuar bypass do do controlo de segurança Impacto: Confidencialidade e privacidade Roubo de propriedade intelectual Comportamento malicioso da aplicação. M10 - Lack of Binary Protections
  • 39. Prevenção: Deteção de jailbreak, controlos de checksum, deteção de debuggers, etc. Ter a certeza que vamos o binário não foi modificado e que as proteções da plataforma garantem a integridade do mesmo. M10 - Lack of Binary Protections
  • 41. OWASP Mobile Top 10 [Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis]