Você está na página 1de 0

OWASP TOP Ten Mobile

Alessandro de Oliveira Faria (A.K.A. CABELO)


Apresentação
Alessandro de Oliveira Faria (CABELO)
cabelo@opensuse.org

Tecnologia desde os 10 anos


Board Member OWASP SP
Responsável pacotes Linux OWASP-ZAP
Engenheiro Linux AWS/openSuSE
Committer OpenCV e Intel
CTIO OITI Technologies
Docente FIA
Inventor Certiface (Biometria Facial)
Embaixador openSUSE Linux América Latina
Global Intel Innovator
Innovators openSUSE Leader
Professor de Inovação FIA/USP
Membro Mozillians
Membro Notavel I2AI
Membro Viva O Linux
Mais de 100 palestras

Mais: http://sobre.assuntonerd.com.br
Agradecimentos
18 anos no mercado mobile.

FirefoxOS
Julho 2012
HTC Dream
Setembro 2008

Linux Magazine 43
Ubuntu Touch
Julho 2008
Outubro 2013

iPaq
Dezembro 2006

KaiOS
Fevereiro 2019
Mobile Top 10 2016

Minimalismo Mobile:

KaiOS = Antigo FirefoxOS


AppGaia = HTML5

Android : 70,68%
iOS: 28,79%
KaiOS: 0,12%
Balanço 2017: análise de riscos e ameaças mobile.

5 Milhões de aplicativos
2018 : análise de riscos e ameaças mobile.


Detecções malware 2018 em relação 2017

27,48% menor - Android

15% menor – iOS

https://www.welivesecurity.com/br/2018/08/06/ameacas-moveis-brasil-continua-entre-os-
paises-com-maior-numero-de-deteccoes-no-android/
2019 : análise de riscos e ameaças mobile.
https://www.welivesecurity.com/

Android iOS

No que diz respeito às vulnerabilidades no Android, foram publicadas 86 falhas de segurança, o que
representa 14% do total de vulnerabilidades reportadas para esta plataforma em 2018

Para o iOS, 156 vulnerabilidades foram publicadas, representando um aumento de 25% no número de falhas
encontradas para este sistema operacional em comparação com 2018 e quase o dobro das encontradas no
Android durante este ano.
Maior visibilidade, mais exposto...
Desafios: compatibilidade x segurança 2020

Desafios: compatibilidade x segurança 2019


Desafios: compatibilidade x segurança
OWASP Top Ten Mobile é um projeto de segurança para aplicações
móveis. Destinado aos desenvolvedores mobile e equipes de
segurança, tem como finalidade elencar as dez principais ameaças
inerente a plataforma móvel. O objetivo é passar uma visão sucinta
sobre os principais riscos para minimizar os impactos ou a exploração
de vulnerabilidades.
Mobile Top 10 2016
https://medium.com/swlh/owasp-mobile-top-10-explained-with-real-world-
examples-685c2f09e48c
Mobile Top 10 2016

M1: Improper Platform Usage

Uso incorreto da plataforma, seja com relação aos recursos ou nos controles de segurança. Seguir
as boas práticas do armazenamento de chaves criptográficas das respectivas versões dos sistemas
operacionais, Intents do Android, TouchID da Apple e outros.

As práticas seguras de codificação ( printscreen ) e decisões sempre no


backend, consulte os projetos OWASP Web Top Ten e Cloud Top Ten.
Mobile Top 10 2016

M2: Insecure Data Storage

Armazenamento de dados de forma insegura, resulta em vazamento de dados


sensíveis dos usuários (localização, device ID, informações pessoais, tokens , IMEI,
Telefone e etc). A base SQLlite são suscetíveis à injeções SQL e o cartão SD pode
ser acessado facilmente por qualquer processo do sistema.

Armazene dados somente se necessário e,


neste caso, implementar boas praticas de segurança.
Mobile Top 10 2016

M3 – Insecure Communication
Tem foco questão de utilização de versões vulnerareis de TLS ( auto-assinado, validação de
dominio e validaçào de organização), transmissão de dados sensíveis em texto plano e também a não
verificação do certificado digital.

Tornar obrigatório a verificação de certificados, seguir as práticas seguras de


codificação e decisões sempre no backend ( consulte os projetos OWASP Web Top
Ten e Cloud Top Ten ).
Mobile Top 10 2016

M4 – Insecure Authentication

Autenticação insegura do usuário e gerenciamento de sessão, uso indevido do touchID, biometria,


armazenar token no SDCARD e outros.

Algumas medidas como não usar somente device ID para autenticar, forçar o
usuário a criar uma senha forte e não armazená-la no dispositivo são algumas
recomendações da OWASP
Mobile Top 10 2016

M5 – Insufficient Cryptography
Tem como principal objetivo alertar sobre a utilização de técnicas de criptografia de forma inadequada
e/ou insuficiente. Exemplo utilização de chaves simétricas e adição de chaves no aplicativos.

Utilizar chaves assimétricas, não utilizar persistências de chaves e utilizar


algoritmos fortes que suportem pentest por 10 anos.
Mobile Top 10 2016

M7 – Client Code Quality

Problemas diretamente voltada nos erros de implementação do código cliente, com


buffer overflows, vulnerabilidade de formatação de string

Consultar boas técnicas da linguagem em uso e utilizar software de testes.


Mobile Top 10 2016

M8 – Code Tampering
Modificação de Binário alteração de recursos locais e modificação de memória dinâmica.

Detectar root / iOS Jailbreak Detection e Certificados OTA


Mobile Top 10 2016

M9– Reverse Engineering


Real possibilidade de engenharia reversa, obter acesso ao código fonte, assim permitindo explorar mais
facilmente as vulnerabilidades.

Utilizador bons ofuscadores, os melhores geralmente são caros...


Mobile Top 10 2016

M10 – Extraneous Functionality


Funcionalidades extras que foram utilizadas para propósitos de teste e acidentalmente encontra-se
na versão de produção

Binário no modo debug, informações no LOGCAT, senha para acesso


privilegiado, e recursos criados especificamente para testes devem serem removidos.
Extraindo o binario do Celular
$ adb shell pm list packages

$ adb shell pm path com.example.app

$ adb pull [path do arquivo.apk]


$ ls
base.apk

$ apktool d -r -s base.apk
I: Using Apktool 2.3.4 on base.apk
I: Copying raw resources...
I: Copying raw classes.dex file...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

$ dex2jar base/classes.dex
dex2jar base/classes.dex -> ./classes-dex2jar.jar

$ jd-gui ./classes-dex2jar.jar
$ apktool b -f -d base

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -


keystore ../keystore2018 my_application.apk key0

$ jarsigner -verify -verbose -certs my_application.apk

$ zipalign -v 4 my_application.apk my_application-aligned.apk


Funciona?
Movimento Código Seguro

“Na OWASP, estamos tentando tornar o mundo um lugar onde


software inseguro é uma anomalia, não uma regra”

Eoin Keary, OWASP Global Board


é melhor que competir… Pois, colaborar atrai amigos, competir atrai inimigos!
Para mais informações, acesse:
https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10
Alessandro de Oliveira Faria
São Paulo Chapter board member
cabelo@opensuse.org
https://assuntonerd.com.br

Você também pode gostar