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

OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

Embed Size (px)

Citation preview

Page 1: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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

Page 2: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

@pontocom

[email protected]@gmail.com

http://www.linkedin.com/in/carlosserrao

Page 3: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

Dispositivos MóveisComputaçã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

Page 4: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis
Page 5: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

FakePlayerFirst malware for Android makes money by sending SMS messages to premium line numbers in Russia.

DroidDreamFirst large attack to Google Play market. Over 50 apps containing a root exploit published to Android Market.

ZitmoPopular Windows bot and banking malware Zeus improved with its Android component designed to steal banking mTANs.

MasterkeyA vulnerability in Android discovered exploiting certificate validation in Android which allows malware to disguise as a legitimate app.

DownAPKWindows 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 20141000 new Androidmalware samples

discovered every day

2000 new Androidmalware samples

discovered every day

10 years of malware for mobile devices

Fonte: Vanja Svajcer, “Sophos Mobile Security Threat Report”, Sophos Labs, 2014

Page 6: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

Aplicação

Client-Side Client-Side

HardwarePlataforma

Rede

Server-Side

Servidor Datacenter

Cloud

Ameaças e Vulnerabilidades

Page 7: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

4

Privacy Issues

With dozens of consumer applications, personal information and enterprise mobile apps on the same device, they appear to act independently; however, without proper security built-in to mobile applications, hidden integration and communication may exist. Should the newest version of the game Mad Mallards have access to text your contact list or sent email? Or actually be able to call a telephone number? What if it wanted to send your contact list to a third party website? We found that a whopping 97% of applications had access to and were able to share this type of data. Worst of all, most of this data is sent off to third party companies over HTTP. In our research, we found banking apps that integrated with social media, chat apps that sent chat logs to be analyzed for future purchasing trends, and many, many applications that track you via geo-location.

OWASP Mobile Top Ten Categories: M4—Unintended Data Leakage & M1—Weak Server Side Controls

Research Findings

HP Research tested more than 2,000 mobile applications from 600+ companies

97% of applications tested could access at least one private information source

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%

Report | Mobile Application Security Study

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

Page 8: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis
Page 9: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

Mobile Security ProjectComeç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

Page 10: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

versão de 2014

Page 11: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

Riscos do MTop 10Independente da plataforma

Focada em áreas de risco do em vez de vulnerabilidades individuais

Definida usando a Metodologia de Risco da OWASP

Contribuido pela comunidade

Page 12: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 13: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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

Page 14: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

OWASP Top 10 OWASP Cloud Top 10

M1 - Weak Server-Side Controls

Page 15: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 16: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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)

Page 17: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 18: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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

Page 19: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 20: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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)

Page 21: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 22: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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

Page 23: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 24: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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!

Page 25: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 26: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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

Page 27: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 28: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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

Page 29: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 30: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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

Page 31: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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

Page 32: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

Page 33: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Mó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 Protectionsversã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 Functionalityversão de 2016

Page 34: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

Page 35: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

Page 36: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

Page 37: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

Page 38: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

Page 39: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.)

Page 40: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

Page 41: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

Page 42: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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.

Page 43: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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).

Page 44: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

Análise a mais de 400,000 aplicações na Google Play Store (NowSecure).

12

Connect with us: [email protected]© 2016 NowSecure. All rights reserved.

Ourautomatedappsecuritytestingsystemalsoallowsustogathermetadataaboutanapp

includingitscategoryandnumberofdownloads,whichallowedustofilterandgroupthe

informationaswehavebelow.

Weexaminedtheresultsofsecuritytesting400,000mobileappsandrecordedthe

followingprevalenceofhighrisksecurityissuesinthoseapps.

Weidentifiedatleastonehighriskissueinalmostoneinfourmobileapps.Outofallthe

mobileappswetested,13.3percenthadfilesystemissues.Theprevalenceofsensitivedata

leakandnetworkissuesinallmobileappswerelowerthanotherissuesat10.7percentand

3.8percentrespectively.

OVERVIEW OF APP SECURITY WEAKNESSES

We identified at least one high risk issue in almost one in four mobile apps

13

Connect with us: [email protected]© 2016 NowSecure. All rights reserved.

Thechartbelowillustratesthequantityofissuesfoundbytypeforthemostpopularapps

ontheGooglePlaystore.We’vedefinedpopularappsasthosewithmorethan1million

downloads.Intotal,wefound16,036highriskissuesamongthesepopularapplications.

Thischartillustratesthatmobileappscontinuetoleakusernames,passwords,andemail

addresses.Thisisparticularlyconcerningbecausemanyusersreusethesameusername

andpasswordfordifferentapplications.Thecompromiseofauser’scredentialsforoneapp

couldeasilyleadtothecompromiseofanotherapporwebaccount.

16,036high risk issues were found in the most popular apps

Fonte: NowSecure, “2016 NowSecure Mobile Security Report”, 2016

Page 45: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

GOOD

Page 46: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

www.owasp.org

Page 47: OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicações Móveis

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