SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
OWASP Mobile
Top 10
[Principais Riscos no Desenvolvimento
Seguro de Aplicações Móveis]
Instituto Politécnico de Viana do Castelo
Escola Superior de Tecnologia e Gestão
Open Days do Curso de Engenharia Informática
5.Maio.2016
@pontocom
carlos.serrao@iscte.pt
carlos.j.serrao@gmail.com
http://www.linkedin.com/in/carlosserrao
Dispositivos Móveis
Computação tradicional e na rede vs. dispositivos móveis
(smartphones, tablets, etc.)
Aceites de forma extensiva pelos consumidores (“consumerização”):
individuais e organizações
Grande quantidade de dados sensíveis (tanto pessoais como
empresariais)
Ameaças de segurança e de privacidade
Evolução do Malware em Dispositivos Móveis
Cabir
First worm affecting
Symbian Series 60
phones. Spreads
from phone to phone
by using Bluetooth
OBEX push protocol.
Ikee and Duh
Worms affecting
jailbroken iPhones
using Cydia app
distribution system
due to a hardcoded
password in sshd.
FakePlayer
First malware for
Android makes
money by sending
SMS messages to
premium line
numbers in Russia.
DroidDream
First large attack to
Google Play market.
Over 50 apps
containing a root
exploit published to
Android Market.
Zitmo
Popular Windows
bot and banking
malware Zeus
improved with its
Android component
designed to steal
banking mTANs.
Masterkey
A vulnerability in
Android discovered
exploiting certificate
validation in Android
which allows
malware to disguise
as a legitimate app.
DownAPK
Windows based
malware uses
Android debugging
bridge to install
fake banking app
to Android devices
connected to the
infected PC.
2004 2009 2010 2011 2012 2013 2014
1000 new Android
malware samples
discovered every day
2000 new Android
malware samples
discovered every day
10 years of malware for mobile devices
Fonte: Vanja Svajcer, “Sophos Mobile Security
Threat Report”, Sophos Labs, 2014
Aplicação
Client-Side Client-Side
Hardware

Plataforma
Rede
Server-Side
Servidor
Datacenter
Cloud
Ameaças e Vulnerabilidades
of applications tested
access at least one private
information source of
those applications.
86%
of applications
failed to use simple
binary hardening
protections against
modern-day attacks.
71%
of vulnerabilities
resided on the
Web server.
75%
of applications do not
use proper encryption
techniques when
storing data on a
mobile device.
18%
of applications
sent usernames
and passwords
over HTTP, (of the
remaining 85%) 18%
implemented SSL/
HTTPS incorrectly.
97%
Estudo realizado pela HP
Research a mais de 2000
aplicações de mais de 600
empresas.
Fonte: HP, “Mobile Application Security Study -
2013 Report”, 2013
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 M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling M10 - Lack of Binary Protections
versão de 2014
Riscos do MTop 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
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling M10 - Lack of Binary Protections
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
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
OWASP Top 10 OWASP Cloud Top 10
M1 - Weak Server-Side Controls
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling M10 - Lack of Binary Protections
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 de proteção
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)
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling M10 - Lack of Binary Protections
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
M3 - Insufficient Transport Layer Security
Impacto:
MITM
Alteração de dados em transito
Perda de confidencialidade de dados
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 fornecedor de serviço, WiFi e até
NFC
Quando ocorrem excepções de segurança é
uma boa prática NÃO AS IGNORAR
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling 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.)
M4 - Unintended Data Leakage
Impacto:
Retenção de dados de forma infinita
Violações de privacidade
Prevenção:
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 cuidado todas as bibliotecas de terceiros usadas
na aplicação
Testar a aplicação em múltiplas plataformas (o mais
possível)
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling M10 - Lack of Binary Protections
EM parte relacionada com a parte móvel, outra
relacionada com a arquitectura
Algumas “apps” dependem em exclusivo de valores
estáticos 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
M5 - Poor Authorization and Authentication
Impacto:
Escalar privilégios
Acesso não-autorizado
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
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling M10 - Lack of Binary Protections
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
M6 - Broken Cryptography
Impacto:
Perda da confidencialidade dos dados
Escalar privilégios
Ultrapassar a lógica de negócio
Prevenção:
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!
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling M10 - Lack of Binary Protections
Aplicações que usam bibliotecas de browsers (WebView)
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”
M7 - Client Side Injection
Impacto:
Compromisso do dispositivo
Escalar privilégios
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/expostas com a parte
da funcionalidade Web
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling M10 - Lack of Binary Protections
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
M8 - Security Decisions Via Untrusted Inputs
Impacto:
Consumir recursos pagos
Extração de dados
Escalar privilégios
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
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling M10 - Lack of Binary Protections
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
M9 - Improper Session Handling
Impacto:
Escalar privilégios
Acesso não-autorizado
Ultrapassar licenciamentos e pagamentos
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
M1 - Weak Server-Side Controls M2 - Insecure Data Storage
M3 - Insufficient Transport Layer
Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling 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 App
Pode alguém modificar o binário da aplicação usando um editor
e mesmo assim efectuar bypass de controlos de segurança
M10 - Lack of Binary Protections
Impacto:
Confidencialidade e privacidade
Roubo de propriedade intelectual
Comportamento malicioso da aplicação.
Prevenção:
Deteção de jailbreak, controlos de
checksum, deteção de debuggers, etc.
Ter a certeza que o binário não foi
modificado e que as proteções da
plataforma garantem a integridade do
mesmo.
M1 - Weak Server-Side Controls
M2 - Insecure Data Storage
M3 - Insufficient Transport
Layer Security
M4 - Unintended Data Leakage
M5 - Poor Authorization and
Authentication
M6 - Broken Cryptography
M7 - Client Side Injection
M8 - Security Decisions Via
Untrusted Inputs
M9 - Improper Session Handling
M10 - Lack of Binary Protections
versão de 2014
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
versão de 2016
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Esta categoria cobre a má utilização de uma funcionalidade
da plataforma ou a falha na utilização dos controlos de
segurança da própria plataforma.
Inclui aspectos como Intents de Android, permissões da
plataforma, má utilização do TouchID, KeyChain, ou outro
controlo de segurança da plataforma.
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Nova categoria que é uma combinação dos anteriores
M2+M4 do OWASP Top 10 de 2014.
Cobre armazenamento inseguro e perdas não-intencionais
de informação.
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Cobre aspectos relacionados com handshaking pobre,
versões incorrectas de SSL, negociações fracas,
comunicação em claro de activos sensíveis, etc.
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Categoria que abrange os problemas de autenticação do
utilizador e de gestão incorrecta das sessões:
• Falha na autenticação do utilizador quando deve ser
requerido
• Falha na manutenção da identidade do utilizador quando é
requerido
• Falhas na gestão de sessões.
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Aplica-se quando o código aplica criptografia a informação
sensível na aplicação.
Cobre os aspectos em que a criptografia é usada, mas de
forma incorrecta.
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Categoria que captura quaisquer falhas ao nível da
autorização (decisões de autorização no cliente, navegação
forçada, etc.)
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Categoria que engloba todos os problemas de
implementação da aplicação-cliente.
Engloba coisas como buffer-overflows, vulnerabilidades de
formatação de strings, e outros erros ao novel do código, que
implique a re-escrita de algum código no dispositivo móvel.
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Esta categoria cobre aspectos como modificação de binários,
modificação de recursos locais, modificação de memória
dinâmica, entre outros.
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Esta categoria inclui a análise do binário final da aplicação
para tentar determinar o seu código fonte, bibliotecas,
algoritmos e outros activos.
Pode ser usado para explorar outras vulnerabilidades na
aplicação, revelar informação sobre servidores no backend,
constantes e cifras criptográficas, e propriedade intelectual.
M1 - Improper Platform Usage
M2 - Insecure Data Storage
M3 - Insecure Communication
M4 - Insecure Authentication
M5 - Insufficient Cryptography
M6 - Insecure Authorisation
M7 - Client Code Quality
M8 - Code Tampering
M9 - Reverse Engineering
M10 - Extraneous Functionality
Muitas vezes os programadores incluem algumas
funcionalidades “backdoor” durante o desenvolvimento da
aplicação que não são suposto passar para o ambiente de
produção (passwords embutidas no código, desactivação de
funcionalidades de autenticação, entre outras).
Análise a mais de 400,000 aplicações
na Google Play Store (NowSecure).
information	as	we	have	below.
We	examined	the	results	of	security	testing	400,000	mobile	apps	and	recorded	the	
following	prevalence	of	high	risk	security	issues	in	those	apps.
We	identified	at	least	one	high	risk	issue	in	almost	one	in	four	mobile	apps.	Out	of	all	the	
mobile	apps	we	tested,	13.3	percent	had	file	system	issues.	The	prevalence	of	sensitive	data	
leak	and	network	issues	in	all	mobile	apps	were	lower	than	other	issues	at	10.7	percent	and	
OVERVIEW OF APP SECURITY WEAKNESSES
high risk issue in almost
one in four mobile apps
The	chart	below	illustrates	the	quantity	of	issues	found	by	type	for	the	most	popular	apps	
on	the	Google	Play	store.	We’ve	defined	popular	apps	as	those	with	more	than	1	million	
downloads.	In	total,	we	found	16,036	high	risk	issues	among	these	popular	applications.
This	chart	illustrates	that	mobile	apps	continue	to	leak	usernames,	passwords,	and	email	
addresses.	This	is	particularly	concerning	because	many	users	reuse	the	same	username	
and	password	for	different	applications.	The	compromise	of	a	user’s	credentials	for	one	app
could	easily	lead	to	the	compromise	of	another	app	or	web	account.
Fonte: NowSecure, “2016 NowSecure Mobile Security Report”,
2016
GOOD
www.owasp.org
OWASP Mobile
Top 10
[Principais Riscos no Desenvolvimento
Seguro de Aplicações Móveis]
Instituto Politécnico de Viana do Castelo
Escola Superior de Tecnologia e Gestão
Open Days do Curso de Engenharia Informática
5.Maio.2016

Mais conteúdo relacionado

Mais procurados

Android Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamAndroid Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamMohammed Adam
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application SecurityDirk Nicol
 
Detection and prevention of keylogger spyware attacks
Detection and prevention of keylogger spyware attacksDetection and prevention of keylogger spyware attacks
Detection and prevention of keylogger spyware attacksIAEME Publication
 
Cybersecurity Attack Vectors: How to Protect Your Organization
Cybersecurity Attack Vectors: How to Protect Your OrganizationCybersecurity Attack Vectors: How to Protect Your Organization
Cybersecurity Attack Vectors: How to Protect Your OrganizationTriCorps Technologies
 
Btpsec Sample Penetration Test Report
Btpsec Sample Penetration Test ReportBtpsec Sample Penetration Test Report
Btpsec Sample Penetration Test Reportbtpsec
 
Two factor authentication presentation mcit
Two factor authentication presentation mcitTwo factor authentication presentation mcit
Two factor authentication presentation mcitmmubashirkhan
 
Cybersecurity - Mobile Application Security
Cybersecurity - Mobile Application SecurityCybersecurity - Mobile Application Security
Cybersecurity - Mobile Application SecurityEryk Budi Pratama
 
OWASP Secure Coding
OWASP Secure CodingOWASP Secure Coding
OWASP Secure Codingbilcorry
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application SecurityIshan Girdhar
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopPaul Ionescu
 
Cybersecurity Awareness Session by Adam
Cybersecurity Awareness Session by AdamCybersecurity Awareness Session by Adam
Cybersecurity Awareness Session by AdamMohammed Adam
 
Keyloggers
KeyloggersKeyloggers
Keyloggerskdore
 
Android security
Android securityAndroid security
Android securityMobile Rtpl
 
Ransomware
Ransomware Ransomware
Ransomware Armor
 
Brute force-attack presentation
Brute force-attack presentationBrute force-attack presentation
Brute force-attack presentationMahmoud Ibra
 
Owasp mobile top 10
Owasp mobile top 10Owasp mobile top 10
Owasp mobile top 10Pawel Rzepa
 
Wi-Fi security – WEP, WPA and WPA2
Wi-Fi security – WEP, WPA and WPA2Wi-Fi security – WEP, WPA and WPA2
Wi-Fi security – WEP, WPA and WPA2Fábio Afonso
 

Mais procurados (20)

Android Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamAndroid Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed Adam
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application Security
 
Brute Force Attack
Brute Force AttackBrute Force Attack
Brute Force Attack
 
Detection and prevention of keylogger spyware attacks
Detection and prevention of keylogger spyware attacksDetection and prevention of keylogger spyware attacks
Detection and prevention of keylogger spyware attacks
 
Mobile security
Mobile securityMobile security
Mobile security
 
Cybersecurity Attack Vectors: How to Protect Your Organization
Cybersecurity Attack Vectors: How to Protect Your OrganizationCybersecurity Attack Vectors: How to Protect Your Organization
Cybersecurity Attack Vectors: How to Protect Your Organization
 
Btpsec Sample Penetration Test Report
Btpsec Sample Penetration Test ReportBtpsec Sample Penetration Test Report
Btpsec Sample Penetration Test Report
 
Two factor authentication presentation mcit
Two factor authentication presentation mcitTwo factor authentication presentation mcit
Two factor authentication presentation mcit
 
Cybersecurity - Mobile Application Security
Cybersecurity - Mobile Application SecurityCybersecurity - Mobile Application Security
Cybersecurity - Mobile Application Security
 
OWASP Secure Coding
OWASP Secure CodingOWASP Secure Coding
OWASP Secure Coding
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application Security
 
Wireshark Basic Presentation
Wireshark Basic PresentationWireshark Basic Presentation
Wireshark Basic Presentation
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa Workshop
 
Cybersecurity Awareness Session by Adam
Cybersecurity Awareness Session by AdamCybersecurity Awareness Session by Adam
Cybersecurity Awareness Session by Adam
 
Keyloggers
KeyloggersKeyloggers
Keyloggers
 
Android security
Android securityAndroid security
Android security
 
Ransomware
Ransomware Ransomware
Ransomware
 
Brute force-attack presentation
Brute force-attack presentationBrute force-attack presentation
Brute force-attack presentation
 
Owasp mobile top 10
Owasp mobile top 10Owasp mobile top 10
Owasp mobile top 10
 
Wi-Fi security – WEP, WPA and WPA2
Wi-Fi security – WEP, WPA and WPA2Wi-Fi security – WEP, WPA and WPA2
Wi-Fi security – WEP, WPA and WPA2
 

Destaque

Apresentação do OWASP Portugal
Apresentação do OWASP PortugalApresentação do OWASP Portugal
Apresentação do OWASP PortugalCarlos Serrao
 
OWASP e o desenvolvimento seguro de aplicações para a Web
OWASP e o desenvolvimento seguro de aplicações para a WebOWASP e o desenvolvimento seguro de aplicações para a Web
OWASP e o desenvolvimento seguro de aplicações para a WebCarlos Serrao
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãCarlos Serrao
 
IDCC 2706 administrateurs judiciaires, avenant sur les salaires
IDCC 2706 administrateurs judiciaires, avenant sur les salairesIDCC 2706 administrateurs judiciaires, avenant sur les salaires
IDCC 2706 administrateurs judiciaires, avenant sur les salairesSociété Tripalio
 
Insee stabilité des coûts de production dans la construction
Insee stabilité des coûts de production dans la constructionInsee stabilité des coûts de production dans la construction
Insee stabilité des coûts de production dans la constructionSociété Tripalio
 
DOES LEARNING ABOUT THE BRAIN HELP BETTER MANAGE UNCERTAINTY?
DOES LEARNING ABOUT THE BRAIN HELP BETTER MANAGE UNCERTAINTY?DOES LEARNING ABOUT THE BRAIN HELP BETTER MANAGE UNCERTAINTY?
DOES LEARNING ABOUT THE BRAIN HELP BETTER MANAGE UNCERTAINTY?François Bogacz
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPFabiano Pereira
 
C10 equilibrium
C10 equilibriumC10 equilibrium
C10 equilibriumrjfurlan
 
Tranches de Racingmen
Tranches de RacingmenTranches de Racingmen
Tranches de RacingmenMarc De Jongy
 
SmartHeart Branding Agency + KB23 + PSN / Real Estate Consulting & Development
SmartHeart Branding Agency + KB23 + PSN / Real Estate Consulting & DevelopmentSmartHeart Branding Agency + KB23 + PSN / Real Estate Consulting & Development
SmartHeart Branding Agency + KB23 + PSN / Real Estate Consulting & DevelopmentСтанислав Окрух
 
elektrik (kerja kursus)-conclusion
elektrik (kerja kursus)-conclusionelektrik (kerja kursus)-conclusion
elektrik (kerja kursus)-conclusionsakura rena
 
Worker role
Worker roleWorker role
Worker rolevicmorji
 

Destaque (14)

Apresentação do OWASP Portugal
Apresentação do OWASP PortugalApresentação do OWASP Portugal
Apresentação do OWASP Portugal
 
OWASP e o desenvolvimento seguro de aplicações para a Web
OWASP e o desenvolvimento seguro de aplicações para a WebOWASP e o desenvolvimento seguro de aplicações para a Web
OWASP e o desenvolvimento seguro de aplicações para a Web
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, Covilhã
 
Protocolos
ProtocolosProtocolos
Protocolos
 
IDCC 2706 administrateurs judiciaires, avenant sur les salaires
IDCC 2706 administrateurs judiciaires, avenant sur les salairesIDCC 2706 administrateurs judiciaires, avenant sur les salaires
IDCC 2706 administrateurs judiciaires, avenant sur les salaires
 
Insee stabilité des coûts de production dans la construction
Insee stabilité des coûts de production dans la constructionInsee stabilité des coûts de production dans la construction
Insee stabilité des coûts de production dans la construction
 
DOES LEARNING ABOUT THE BRAIN HELP BETTER MANAGE UNCERTAINTY?
DOES LEARNING ABOUT THE BRAIN HELP BETTER MANAGE UNCERTAINTY?DOES LEARNING ABOUT THE BRAIN HELP BETTER MANAGE UNCERTAINTY?
DOES LEARNING ABOUT THE BRAIN HELP BETTER MANAGE UNCERTAINTY?
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
C10 equilibrium
C10 equilibriumC10 equilibrium
C10 equilibrium
 
La lengua
La lengua La lengua
La lengua
 
Tranches de Racingmen
Tranches de RacingmenTranches de Racingmen
Tranches de Racingmen
 
SmartHeart Branding Agency + KB23 + PSN / Real Estate Consulting & Development
SmartHeart Branding Agency + KB23 + PSN / Real Estate Consulting & DevelopmentSmartHeart Branding Agency + KB23 + PSN / Real Estate Consulting & Development
SmartHeart Branding Agency + KB23 + PSN / Real Estate Consulting & Development
 
elektrik (kerja kursus)-conclusion
elektrik (kerja kursus)-conclusionelektrik (kerja kursus)-conclusion
elektrik (kerja kursus)-conclusion
 
Worker role
Worker roleWorker role
Worker role
 

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
 
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
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012Marcio Cunha
 
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
 
Segurança em um Planeta Inteligente
Segurança em um Planeta InteligenteSegurança em um Planeta Inteligente
Segurança em um Planeta InteligenteAlexandre Freire
 
Seguranca em redes moveis exemplo fazion
Seguranca em redes moveis exemplo fazionSeguranca em redes moveis exemplo fazion
Seguranca em redes moveis exemplo fazionmaxwellrod
 
Panorama de Segurança na Internet das Coisas
Panorama de Segurança na Internet das CoisasPanorama de Segurança na Internet das Coisas
Panorama de Segurança na Internet das CoisasSpark Security
 
White Paper - TI Safe Secure Remote Access
White Paper - TI Safe Secure Remote AccessWhite Paper - TI Safe Secure Remote Access
White Paper - TI Safe Secure Remote AccessTI Safe
 
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
 
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
 
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
 
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
 
Desafios Futuros e Oportunidades
Desafios Futuros e OportunidadesDesafios Futuros e Oportunidades
Desafios Futuros e OportunidadesMarcio Cunha
 
Conscientização sobre SI
Conscientização sobre SIConscientização sobre SI
Conscientização sobre SIFelipe Perin
 

Semelhante a OWASP Mobile Top 10 (20)

OWASP Mobile Top 10
OWASP Mobile Top 10OWASP Mobile Top 10
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 2016
 
Café com Seguro: Riscos Cibernéticos - Guilheme Procopio
Café com Seguro: Riscos Cibernéticos - Guilheme Procopio  Café com Seguro: Riscos Cibernéticos - Guilheme Procopio
Café com Seguro: Riscos Cibernéticos - Guilheme Procopio
 
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
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 
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 ...
 
Segurança em um Planeta Inteligente
Segurança em um Planeta InteligenteSegurança em um Planeta Inteligente
Segurança em um Planeta Inteligente
 
Segurança na Nuvem
Segurança na NuvemSegurança na Nuvem
Segurança na Nuvem
 
Seguranca em redes moveis exemplo fazion
Seguranca em redes moveis exemplo fazionSeguranca em redes moveis exemplo fazion
Seguranca em redes moveis exemplo fazion
 
Panorama de Segurança na Internet das Coisas
Panorama de Segurança na Internet das CoisasPanorama de Segurança na Internet das Coisas
Panorama de Segurança na Internet das Coisas
 
Sc aula 03 12-03-13
Sc aula 03   12-03-13Sc aula 03   12-03-13
Sc aula 03 12-03-13
 
White Paper - TI Safe Secure Remote Access
White Paper - TI Safe Secure Remote AccessWhite Paper - TI Safe Secure Remote Access
White Paper - TI Safe Secure Remote Access
 
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
 
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
 
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
 
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
 
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
 
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
 
Desafios Futuros e Oportunidades
Desafios Futuros e OportunidadesDesafios Futuros e Oportunidades
Desafios Futuros e Oportunidades
 
Conscientização sobre SI
Conscientização sobre SIConscientização sobre SI
Conscientização sobre SI
 

Mais de Carlos Serrao

Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"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
 
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
 
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
 

Mais de Carlos Serrao (20)

Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
 
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]
 
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
 
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
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 

OWASP Mobile Top 10

  • 1. OWASP Mobile Top 10 [Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis] Instituto Politécnico de Viana do Castelo Escola Superior de Tecnologia e Gestão Open Days do Curso de Engenharia Informática 5.Maio.2016
  • 3. Dispositivos Móveis Computação tradicional e na rede vs. dispositivos móveis (smartphones, tablets, etc.) Aceites de forma extensiva pelos consumidores (“consumerização”): individuais e organizações Grande quantidade de dados sensíveis (tanto pessoais como empresariais) Ameaças de segurança e de privacidade
  • 4.
  • 5. Evolução do Malware em Dispositivos Móveis Cabir First worm affecting Symbian Series 60 phones. Spreads from phone to phone by using Bluetooth OBEX push protocol. Ikee and Duh Worms affecting jailbroken iPhones using Cydia app distribution system due to a hardcoded password in sshd. FakePlayer First malware for Android makes money by sending SMS messages to premium line numbers in Russia. DroidDream First large attack to Google Play market. Over 50 apps containing a root exploit published to Android Market. Zitmo Popular Windows bot and banking malware Zeus improved with its Android component designed to steal banking mTANs. Masterkey A vulnerability in Android discovered exploiting certificate validation in Android which allows malware to disguise as a legitimate app. DownAPK Windows based malware uses Android debugging bridge to install fake banking app to Android devices connected to the infected PC. 2004 2009 2010 2011 2012 2013 2014 1000 new Android malware samples discovered every day 2000 new Android malware samples discovered every day 10 years of malware for mobile devices Fonte: Vanja Svajcer, “Sophos Mobile Security Threat Report”, Sophos Labs, 2014
  • 7. of applications tested access at least one private information source of those applications. 86% of applications failed to use simple binary hardening protections against modern-day attacks. 71% of vulnerabilities resided on the Web server. 75% of applications do not use proper encryption techniques when storing data on a mobile device. 18% of applications sent usernames and passwords over HTTP, (of the remaining 85%) 18% implemented SSL/ HTTPS incorrectly. 97% Estudo realizado pela HP Research a mais de 2000 aplicações de mais de 600 empresas. Fonte: HP, “Mobile Application Security Study - 2013 Report”, 2013
  • 8.
  • 9. 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
  • 10. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections versão de 2014
  • 11. Riscos do MTop 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
  • 12. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections
  • 13. 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 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
  • 14. OWASP Top 10 OWASP Cloud Top 10 M1 - Weak Server-Side Controls
  • 15. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections
  • 16. 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 de proteção 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)
  • 17. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections
  • 18. 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 M3 - Insufficient Transport Layer Security Impacto: MITM Alteração de dados em transito Perda de confidencialidade de dados 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 fornecedor de serviço, WiFi e até NFC Quando ocorrem excepções de segurança é uma boa prática NÃO AS IGNORAR
  • 19. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling 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.) M4 - Unintended Data Leakage Impacto: Retenção de dados de forma infinita Violações de privacidade Prevenção: 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 cuidado todas as bibliotecas de terceiros usadas na aplicação Testar a aplicação em múltiplas plataformas (o mais possível)
  • 21. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections
  • 22. EM parte relacionada com a parte móvel, outra relacionada com a arquitectura Algumas “apps” dependem em exclusivo de valores estáticos 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 M5 - Poor Authorization and Authentication Impacto: Escalar privilégios Acesso não-autorizado 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
  • 23. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections
  • 24. 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 M6 - Broken Cryptography Impacto: Perda da confidencialidade dos dados Escalar privilégios Ultrapassar a lógica de negócio Prevenção: 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!
  • 25. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections
  • 26. Aplicações que usam bibliotecas de browsers (WebView) 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” M7 - Client Side Injection Impacto: Compromisso do dispositivo Escalar privilégios 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/expostas com a parte da funcionalidade Web
  • 27. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections
  • 28. 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 M8 - Security Decisions Via Untrusted Inputs Impacto: Consumir recursos pagos Extração de dados Escalar privilégios 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
  • 29. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections
  • 30. 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 M9 - Improper Session Handling Impacto: Escalar privilégios Acesso não-autorizado Ultrapassar licenciamentos e pagamentos 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
  • 31. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections
  • 32. 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 App Pode alguém modificar o binário da aplicação usando um editor e mesmo assim efectuar bypass de controlos de segurança M10 - Lack of Binary Protections Impacto: Confidencialidade e privacidade Roubo de propriedade intelectual Comportamento malicioso da aplicação. Prevenção: Deteção de jailbreak, controlos de checksum, deteção de debuggers, etc. Ter a certeza que o binário não foi modificado e que as proteções da plataforma garantem a integridade do mesmo.
  • 33. M1 - Weak Server-Side Controls M2 - Insecure Data Storage M3 - Insufficient Transport Layer Security M4 - Unintended Data Leakage M5 - Poor Authorization and Authentication M6 - Broken Cryptography M7 - Client Side Injection M8 - Security Decisions Via Untrusted Inputs M9 - Improper Session Handling M10 - Lack of Binary Protections versão de 2014 M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality versão de 2016
  • 34. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Esta categoria cobre a má utilização de uma funcionalidade da plataforma ou a falha na utilização dos controlos de segurança da própria plataforma. Inclui aspectos como Intents de Android, permissões da plataforma, má utilização do TouchID, KeyChain, ou outro controlo de segurança da plataforma.
  • 35. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Nova categoria que é uma combinação dos anteriores M2+M4 do OWASP Top 10 de 2014. Cobre armazenamento inseguro e perdas não-intencionais de informação.
  • 36. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Cobre aspectos relacionados com handshaking pobre, versões incorrectas de SSL, negociações fracas, comunicação em claro de activos sensíveis, etc.
  • 37. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Categoria que abrange os problemas de autenticação do utilizador e de gestão incorrecta das sessões: • Falha na autenticação do utilizador quando deve ser requerido • Falha na manutenção da identidade do utilizador quando é requerido • Falhas na gestão de sessões.
  • 38. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Aplica-se quando o código aplica criptografia a informação sensível na aplicação. Cobre os aspectos em que a criptografia é usada, mas de forma incorrecta.
  • 39. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Categoria que captura quaisquer falhas ao nível da autorização (decisões de autorização no cliente, navegação forçada, etc.)
  • 40. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Categoria que engloba todos os problemas de implementação da aplicação-cliente. Engloba coisas como buffer-overflows, vulnerabilidades de formatação de strings, e outros erros ao novel do código, que implique a re-escrita de algum código no dispositivo móvel.
  • 41. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Esta categoria cobre aspectos como modificação de binários, modificação de recursos locais, modificação de memória dinâmica, entre outros.
  • 42. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Esta categoria inclui a análise do binário final da aplicação para tentar determinar o seu código fonte, bibliotecas, algoritmos e outros activos. Pode ser usado para explorar outras vulnerabilidades na aplicação, revelar informação sobre servidores no backend, constantes e cifras criptográficas, e propriedade intelectual.
  • 43. M1 - Improper Platform Usage M2 - Insecure Data Storage M3 - Insecure Communication M4 - Insecure Authentication M5 - Insufficient Cryptography M6 - Insecure Authorisation M7 - Client Code Quality M8 - Code Tampering M9 - Reverse Engineering M10 - Extraneous Functionality Muitas vezes os programadores incluem algumas funcionalidades “backdoor” durante o desenvolvimento da aplicação que não são suposto passar para o ambiente de produção (passwords embutidas no código, desactivação de funcionalidades de autenticação, entre outras).
  • 44. Análise a mais de 400,000 aplicações na Google Play Store (NowSecure). information as we have below. We examined the results of security testing 400,000 mobile apps and recorded the following prevalence of high risk security issues in those apps. We identified at least one high risk issue in almost one in four mobile apps. Out of all the mobile apps we tested, 13.3 percent had file system issues. The prevalence of sensitive data leak and network issues in all mobile apps were lower than other issues at 10.7 percent and OVERVIEW OF APP SECURITY WEAKNESSES high risk issue in almost one in four mobile apps The chart below illustrates the quantity of issues found by type for the most popular apps on the Google Play store. We’ve defined popular apps as those with more than 1 million downloads. In total, we found 16,036 high risk issues among these popular applications. This chart illustrates that mobile apps continue to leak usernames, passwords, and email addresses. This is particularly concerning because many users reuse the same username and password for different applications. The compromise of a user’s credentials for one app could easily lead to the compromise of another app or web account. Fonte: NowSecure, “2016 NowSecure Mobile Security Report”, 2016
  • 45. GOOD
  • 47. OWASP Mobile Top 10 [Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis] Instituto Politécnico de Viana do Castelo Escola Superior de Tecnologia e Gestão Open Days do Curso de Engenharia Informática 5.Maio.2016