SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
Segurança no Android
Whoami
Euler Neto
@netonightmare
Entusiasta NTI GDG Aracaju
Segurança (UFS São Cristóvão)
Smartphone
= +
Ataque a smartphones
● Quem?
● Como?
● Por que?
Ataque a smartphones
● Por que?
○ Roubar dinheiro e informações pessoais
○ Fama
○ Fazer sniff nas conexões
○ Usar seu dispostivo (botnet, spamming)
○ Para o lulz
Ataque a smartphones
● Como?
○ Via sistema
■ Malware
■ Vulnerabilidade
○ Via redes
■ Wi-fi
■ Man in the Middle
Ataque a smartphones
● Quem?
○ Veremos a seguir...
Ataque a smartphones
Fonte: http://pplware.sapo.pt/smartphones-tablets/android/99-dos-ataques-sao-direccionados-para-android/
Ataque a smartphones
Ataque a smartphones
Fonte: http://www.hardware.com.br/noticias/2015-01/google-nao-ira-mais-lancar-atualizacoes-de-seguranca-para-as-versoes-anteriores-ao-android-kit-kat.
html
Ataque a smartphones
Fonte: https://tecnoblog.net/12108/chefe-de-seguranca-do-android-diz-que-ataques-a-dispositivos-moveis-vao-aumentar/
Arquitetura do Android
Tradicional Android
#USER_ID
#USER_ID_1 #USER_ID_2 #USER_ID_3
Arquitetura do Android
● Modelo de segurança do Linux
○ O coração do Android é o Linux (KERNEL!)
○ Cada usuário possui um User ID (UID)
○ Cada grupo possui um Group ID (GID)
○ Três grupos de permissão: owner, group e world
○ As permissões podem ser Read, Write ou eXecutable
Arquitetura do Android
● Modelo de segurança do Linux
Fonte: http://linuxcommand.org/lts0070.php
Arquitetura do Android
● Modelo de segurança do Android
○ Cada APK tem seu próprio UID
○ Assinatura digital: parte criptografada do software
que prova a identidade do desenvolvedor
■ Certificado digital
■ Chave privada
○ Certificate Authority (CA)
Arquitetura do Android
● Tipos de assinatura digital
○ Debug Mode: gerado automaticamente no momento
da compilaçao
○ Release Mode: assinar com seu próprio certificado
Arquitetura do Android
● Processo de assinatura
Fonte: https://www.udacity.com/wiki/ud853/course_resources/creating-a-signed-apk
Arquitetura do Android
● Processo de assinatura
Fonte: https://www.udacity.com/wiki/ud853/course_resources/creating-a-signed-apk
Arquitetura do Android
● Processo de assinatura
Fonte: https://www.udacity.com/wiki/ud853/course_resources/creating-a-signed-apk
Arquitetura do Android
● Processo de assinatura
Fonte: https://www.udacity.com/wiki/ud853/course_resources/creating-a-signed-apk
Arquitetura do Android
● Processo de assinatura
Arquitetura do Android
● Isolamento
Fonte: [2]
Arquitetura do Android
● Isolamento
Fonte: [2]
Arquitetura do Android
● Isolamento
○ Activities
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.testapps.test1">
...
<activity android:name=".Activity1"
android:permission="com.example.testapps.test1.permission.START_ACTIVITY1">
<intent-filter>
...
</intent-filter>
</activity>
...
</manifest>
Arquitetura do Android
● Isolamento
○ Services
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.testapps.test1">
...
<service android:name=".MailListenerService"
android:permission=
"com.example.testapps.test1.permission.BIND_TO_MAIL_LISTENER"
android:enabled="true"
android:exported="true">
<intent-filter></intent-filter>
</service>
...
</manifest>
Arquitetura do Android
● Isolamento
○ Content Providers
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.testapps.test1">
...
<provider android.name="com.example.testapps.test1.MailProvider"
android.authorities="com.example.testapps.test1.mailprovider"
android.readPermission="com.example.testapps.test1.permission.DB_READ"
android.writePermission="com.example.testapps.test1.permission.DB_WRITE">
</provider>
...
</manifest>
Arquitetura do Android
● Isolamento
○ Apps podem se comunicar com outros via:
■ Intents
■ Services
■ Content Providers
○ Mas também podemos usar permissões
Arquitetura do Android
● Permissões
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.app.myapp" >
<uses-permission android:name="android.permission.(nome da permissão)" />
...
</manifest>
Arquitetura do Android
● Permissões
○ Mais usadas:
Normal Valor padrão. Permissões de baixo risco que não requer aprovação do
usuário
Dangerous Permissões de alto risco que autorizam o aplicativo a acessar dados
privados do aplicativo, podendo causar impacto no sistema. Requer
aprovação do usuário
Arquitetura do Android
● Custom Permissions
○ Criar sua própria permissão para acessar outros
apps de modo restrito
Arquitetura do Android
● Custom Permissions
○ Exemplo:
Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
Arquitetura do Android
● Custom Permissions
○ Exemplo:
Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
Arquitetura do Android
● Custom Permissions
○ Exemplo:
No AndroidManifest.xml:
Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
Arquitetura do Android
● Custom Permissions
○ Exemplo:
Vamos tentar de novo?
Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
Arquitetura do Android
● Custom Permissions
○ Exemplo:
Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
Arquitetura do Android
● Ataques através de permissões
Fonte: http://www.zdnet.com/article/android-users-give-malware-apps-permission-to-rob-them-express-shock-at-the-results/
Arquitetura do Android
● Armazenamento de dados
○ Por padrão, arquivos só podem ser acessados pelo
app que os gerou
○ Caminho padrão: /data/data/app_package_name
○ Cartões SD não possuem sistema de permissão
Linux (qualquer app pode acessar)
Arquitetura do Android
● Armazenamento de dados
Fonte: https://www.hackread.com/whatsapp-security-flaw-app-read-chats/
Arquitetura do Android
● Resumo dos fundamentos de segurança
○ Credibilidade
■ Podemos confiar no autor do app?
○ Isolamento e permissões
■ Podemos controlar os limites do app?
○ Criptografia
■ Os arquivos de seu app estão seguros?
Comunicação segura
● SSL/TLS
Fonte: https://ssl.trustwave.com/support/support-how-ssl-works.php
Comunicação segura
● Man in the middle
○ Se colocar entre o cliente e o servidor
○ Interceptar tráfego
○ Dois tipos: passivo e ativo
Comunicação segura
● MITM Passivo
○ HTTP
○ Não há alteração dos dados
Comunicação segura
● MITM Ativo
○ HTTPS
○ Alteração dos dados
Comunicação segura
● MITM Ativo
○ Cuidado com redes Wi-fi desconhecidas!
○ Cuidado com mensagens de certificados
desconhecidos!
○ Verifique se a conexão é HTTPS!
Comunicação segura
● Ou pior: SSL vulnerável
Fonte: https://www.fireeye.com/blog/threat-research/2014/08/ssl-vulnerabilities-who-listens-when-android-applications-talk.html
Comunicação segura
● Ou pior ainda: ausência de criptografia
Fonte: http://thehackernews.com/2014/04/whatsapp-flaw-leaves-user-location.html
Referências
[1] Jeff Six; Application Security for the Android Platform, Processes,
Permissions, and Other Safeguards; O’Reilly Media, 2011, 114 páginas
[2] Marakana, Inc. ; Deep Dive Into Android Security: http://pt.slideshare.
net/marakana/deep-dive-into-android-security-10123665?related=1
[3] Android developers: http://developer.android.com
[4] Mike Part; Mobile Application Security: Who, How and Why; Trustwave,
2012: https://www.owasp.org/images/c/cf/ASDC12-
Mobile_Application_Security_Who_how_and_why.pdf
[5] Anatomy of Android: http://anatomyofandroid.com/
Segurança no Android

Weitere ähnliche Inhalte

Andere mochten auch

Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...Thiago Dieb
 
Examinando redes com Nmap
Examinando redes com NmapExaminando redes com Nmap
Examinando redes com NmapDaniel Marques
 
Construindo uma arquitetura com REST, HTML 5 e JSF 2
Construindo uma arquitetura com REST, HTML 5 e JSF 2Construindo uma arquitetura com REST, HTML 5 e JSF 2
Construindo uma arquitetura com REST, HTML 5 e JSF 2Raphael Adrien
 
Técnicas de Invasão - INFOESTE 2015
Técnicas de Invasão - INFOESTE 2015Técnicas de Invasão - INFOESTE 2015
Técnicas de Invasão - INFOESTE 2015C H
 
Livro Aberto Aprendendo a Programar na Linguagem C
Livro Aberto Aprendendo a Programar na Linguagem CLivro Aberto Aprendendo a Programar na Linguagem C
Livro Aberto Aprendendo a Programar na Linguagem CMarcos Quinho
 
1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo1008 ProgramaçãO C Completo
1008 ProgramaçãO C CompletoFxx
 
Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1ponto hacker
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - CompletoMarcos Quinho
 
Redes e Servidores Linux - Guia Prático - Carlos E. Morimoto
Redes e Servidores Linux - Guia Prático - Carlos E. MorimotoRedes e Servidores Linux - Guia Prático - Carlos E. Morimoto
Redes e Servidores Linux - Guia Prático - Carlos E. MorimotoHeber Gutenberg
 
Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1Alax Ricard
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.comRaul Batalha
 

Andere mochten auch (20)

Workshop Riosoft Auditoria Teste de Invasão(pentest)
Workshop Riosoft Auditoria Teste de Invasão(pentest)Workshop Riosoft Auditoria Teste de Invasão(pentest)
Workshop Riosoft Auditoria Teste de Invasão(pentest)
 
Pentest em Aplicações Móveis
Pentest em Aplicações MóveisPentest em Aplicações Móveis
Pentest em Aplicações Móveis
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
 
Pentest cool
Pentest coolPentest cool
Pentest cool
 
Examinando redes com Nmap
Examinando redes com NmapExaminando redes com Nmap
Examinando redes com Nmap
 
Construindo uma arquitetura com REST, HTML 5 e JSF 2
Construindo uma arquitetura com REST, HTML 5 e JSF 2Construindo uma arquitetura com REST, HTML 5 e JSF 2
Construindo uma arquitetura com REST, HTML 5 e JSF 2
 
Pentest web
Pentest webPentest web
Pentest web
 
Linguagem C - Funções
Linguagem C - FunçõesLinguagem C - Funções
Linguagem C - Funções
 
Flisol 2016
Flisol 2016Flisol 2016
Flisol 2016
 
teste de invasão
teste de invasãoteste de invasão
teste de invasão
 
Técnicas de Invasão - INFOESTE 2015
Técnicas de Invasão - INFOESTE 2015Técnicas de Invasão - INFOESTE 2015
Técnicas de Invasão - INFOESTE 2015
 
Programação em C
Programação em CProgramação em C
Programação em C
 
Livro Aberto Aprendendo a Programar na Linguagem C
Livro Aberto Aprendendo a Programar na Linguagem CLivro Aberto Aprendendo a Programar na Linguagem C
Livro Aberto Aprendendo a Programar na Linguagem C
 
1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo
 
Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - Completo
 
Redes e Servidores Linux - Guia Prático - Carlos E. Morimoto
Redes e Servidores Linux - Guia Prático - Carlos E. MorimotoRedes e Servidores Linux - Guia Prático - Carlos E. Morimoto
Redes e Servidores Linux - Guia Prático - Carlos E. Morimoto
 
Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
 

Ähnlich wie Segurança no Android

Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurançaInternet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurançaW. Gabriel de Oliveira
 
Pedro Minatel-segurança em iot
Pedro Minatel-segurança em iotPedro Minatel-segurança em iot
Pedro Minatel-segurança em iotAllef Anderson
 
Integridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareIntegridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareMarcus Botacin
 
Conscientização sobre SI
Conscientização sobre SIConscientização sobre SI
Conscientização sobre SIFelipe Perin
 
Palestra: Tendências e Desafios da Segurança na Internet
Palestra: Tendências e Desafios da Segurança na InternetPalestra: Tendências e Desafios da Segurança na Internet
Palestra: Tendências e Desafios da Segurança na InternetAndre Henrique
 
Palestra: Fundamentos do Desenvolvimento Seguro de Softwares
Palestra: Fundamentos do Desenvolvimento Seguro de SoftwaresPalestra: Fundamentos do Desenvolvimento Seguro de Softwares
Palestra: Fundamentos do Desenvolvimento Seguro de SoftwaresAndre Henrique
 
Andróide - Exercício de Inglês
Andróide - Exercício de InglêsAndróide - Exercício de Inglês
Andróide - Exercício de InglêsThamires Sâmela
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesmauriciomoda
 
Segurança android
Segurança androidSegurança android
Segurança androidJOAQUIM NETO
 
Be Aware Symantec Webinar - Wednesday, September 16, 2015
Be Aware Symantec Webinar  - Wednesday, September 16, 2015Be Aware Symantec Webinar  - Wednesday, September 16, 2015
Be Aware Symantec Webinar - Wednesday, September 16, 2015Symantec Brasil
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...tdc-globalcode
 
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...Universidade Tiradentes
 
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
 
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...Symantec Brasil
 
Be Aware Webinar - Criptografia, uma forma simples de proteger seus dados pes...
Be Aware Webinar - Criptografia, uma forma simples de proteger seus dados pes...Be Aware Webinar - Criptografia, uma forma simples de proteger seus dados pes...
Be Aware Webinar - Criptografia, uma forma simples de proteger seus dados pes...Symantec Brasil
 
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012guisester
 
Sistema de segurança_web
Sistema de segurança_webSistema de segurança_web
Sistema de segurança_webFavsro Fot
 

Ähnlich wie Segurança no Android (20)

Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurançaInternet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
 
Trabalho android
Trabalho androidTrabalho android
Trabalho android
 
Pedro Minatel-segurança em iot
Pedro Minatel-segurança em iotPedro Minatel-segurança em iot
Pedro Minatel-segurança em iot
 
Integridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareIntegridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomware
 
Conscientização sobre SI
Conscientização sobre SIConscientização sobre SI
Conscientização sobre SI
 
Palestra: Tendências e Desafios da Segurança na Internet
Palestra: Tendências e Desafios da Segurança na InternetPalestra: Tendências e Desafios da Segurança na Internet
Palestra: Tendências e Desafios da Segurança na Internet
 
PenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI EngitecPenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI Engitec
 
Palestra: Fundamentos do Desenvolvimento Seguro de Softwares
Palestra: Fundamentos do Desenvolvimento Seguro de SoftwaresPalestra: Fundamentos do Desenvolvimento Seguro de Softwares
Palestra: Fundamentos do Desenvolvimento Seguro de Softwares
 
Andróide - Exercício de Inglês
Andróide - Exercício de InglêsAndróide - Exercício de Inglês
Andróide - Exercício de Inglês
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redes
 
Segurança android
Segurança androidSegurança android
Segurança android
 
Be Aware Symantec Webinar - Wednesday, September 16, 2015
Be Aware Symantec Webinar  - Wednesday, September 16, 2015Be Aware Symantec Webinar  - Wednesday, September 16, 2015
Be Aware Symantec Webinar - Wednesday, September 16, 2015
 
Pentest com Kali Linux - LatinoWare 2015
Pentest com Kali Linux  - LatinoWare 2015Pentest com Kali Linux  - LatinoWare 2015
Pentest com Kali Linux - LatinoWare 2015
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
 
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
 
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
 
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
 
Be Aware Webinar - Criptografia, uma forma simples de proteger seus dados pes...
Be Aware Webinar - Criptografia, uma forma simples de proteger seus dados pes...Be Aware Webinar - Criptografia, uma forma simples de proteger seus dados pes...
Be Aware Webinar - Criptografia, uma forma simples de proteger seus dados pes...
 
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
 
Sistema de segurança_web
Sistema de segurança_webSistema de segurança_web
Sistema de segurança_web
 

Mehr von Euler Neto

Investigando transacciones sospechosas de bitcoins con OSINT
Investigando transacciones sospechosas de bitcoins con OSINTInvestigando transacciones sospechosas de bitcoins con OSINT
Investigando transacciones sospechosas de bitcoins con OSINTEuler Neto
 
Forense em Computação na Nuvem
Forense em Computação na NuvemForense em Computação na Nuvem
Forense em Computação na NuvemEuler Neto
 
Adding Secure Development to your system integrations
Adding Secure Development to your system integrationsAdding Secure Development to your system integrations
Adding Secure Development to your system integrationsEuler Neto
 
Explicando segurança e privacidade com Wireshark (2017)
Explicando segurança e privacidade com Wireshark (2017)Explicando segurança e privacidade com Wireshark (2017)
Explicando segurança e privacidade com Wireshark (2017)Euler Neto
 
Open Source - A maior arma contra a vigilância
Open Source - A maior arma contra a vigilânciaOpen Source - A maior arma contra a vigilância
Open Source - A maior arma contra a vigilânciaEuler Neto
 
Explicando segurança e privacidade utilizando Wireshark
Explicando segurança e privacidade utilizando WiresharkExplicando segurança e privacidade utilizando Wireshark
Explicando segurança e privacidade utilizando WiresharkEuler Neto
 
Segurança e Forense em Redes de Computadores
Segurança e Forense em Redes de ComputadoresSegurança e Forense em Redes de Computadores
Segurança e Forense em Redes de ComputadoresEuler Neto
 

Mehr von Euler Neto (7)

Investigando transacciones sospechosas de bitcoins con OSINT
Investigando transacciones sospechosas de bitcoins con OSINTInvestigando transacciones sospechosas de bitcoins con OSINT
Investigando transacciones sospechosas de bitcoins con OSINT
 
Forense em Computação na Nuvem
Forense em Computação na NuvemForense em Computação na Nuvem
Forense em Computação na Nuvem
 
Adding Secure Development to your system integrations
Adding Secure Development to your system integrationsAdding Secure Development to your system integrations
Adding Secure Development to your system integrations
 
Explicando segurança e privacidade com Wireshark (2017)
Explicando segurança e privacidade com Wireshark (2017)Explicando segurança e privacidade com Wireshark (2017)
Explicando segurança e privacidade com Wireshark (2017)
 
Open Source - A maior arma contra a vigilância
Open Source - A maior arma contra a vigilânciaOpen Source - A maior arma contra a vigilância
Open Source - A maior arma contra a vigilância
 
Explicando segurança e privacidade utilizando Wireshark
Explicando segurança e privacidade utilizando WiresharkExplicando segurança e privacidade utilizando Wireshark
Explicando segurança e privacidade utilizando Wireshark
 
Segurança e Forense em Redes de Computadores
Segurança e Forense em Redes de ComputadoresSegurança e Forense em Redes de Computadores
Segurança e Forense em Redes de Computadores
 

Kürzlich hochgeladen

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 

Kürzlich hochgeladen (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Segurança no Android

  • 2. Whoami Euler Neto @netonightmare Entusiasta NTI GDG Aracaju Segurança (UFS São Cristóvão)
  • 4. Ataque a smartphones ● Quem? ● Como? ● Por que?
  • 5. Ataque a smartphones ● Por que? ○ Roubar dinheiro e informações pessoais ○ Fama ○ Fazer sniff nas conexões ○ Usar seu dispostivo (botnet, spamming) ○ Para o lulz
  • 6. Ataque a smartphones ● Como? ○ Via sistema ■ Malware ■ Vulnerabilidade ○ Via redes ■ Wi-fi ■ Man in the Middle
  • 7. Ataque a smartphones ● Quem? ○ Veremos a seguir...
  • 8. Ataque a smartphones Fonte: http://pplware.sapo.pt/smartphones-tablets/android/99-dos-ataques-sao-direccionados-para-android/
  • 10. Ataque a smartphones Fonte: http://www.hardware.com.br/noticias/2015-01/google-nao-ira-mais-lancar-atualizacoes-de-seguranca-para-as-versoes-anteriores-ao-android-kit-kat. html
  • 11. Ataque a smartphones Fonte: https://tecnoblog.net/12108/chefe-de-seguranca-do-android-diz-que-ataques-a-dispositivos-moveis-vao-aumentar/
  • 12. Arquitetura do Android Tradicional Android #USER_ID #USER_ID_1 #USER_ID_2 #USER_ID_3
  • 13. Arquitetura do Android ● Modelo de segurança do Linux ○ O coração do Android é o Linux (KERNEL!) ○ Cada usuário possui um User ID (UID) ○ Cada grupo possui um Group ID (GID) ○ Três grupos de permissão: owner, group e world ○ As permissões podem ser Read, Write ou eXecutable
  • 14. Arquitetura do Android ● Modelo de segurança do Linux Fonte: http://linuxcommand.org/lts0070.php
  • 15. Arquitetura do Android ● Modelo de segurança do Android ○ Cada APK tem seu próprio UID ○ Assinatura digital: parte criptografada do software que prova a identidade do desenvolvedor ■ Certificado digital ■ Chave privada ○ Certificate Authority (CA)
  • 16. Arquitetura do Android ● Tipos de assinatura digital ○ Debug Mode: gerado automaticamente no momento da compilaçao ○ Release Mode: assinar com seu próprio certificado
  • 17. Arquitetura do Android ● Processo de assinatura Fonte: https://www.udacity.com/wiki/ud853/course_resources/creating-a-signed-apk
  • 18. Arquitetura do Android ● Processo de assinatura Fonte: https://www.udacity.com/wiki/ud853/course_resources/creating-a-signed-apk
  • 19. Arquitetura do Android ● Processo de assinatura Fonte: https://www.udacity.com/wiki/ud853/course_resources/creating-a-signed-apk
  • 20. Arquitetura do Android ● Processo de assinatura Fonte: https://www.udacity.com/wiki/ud853/course_resources/creating-a-signed-apk
  • 21. Arquitetura do Android ● Processo de assinatura
  • 22. Arquitetura do Android ● Isolamento Fonte: [2]
  • 23. Arquitetura do Android ● Isolamento Fonte: [2]
  • 24. Arquitetura do Android ● Isolamento ○ Activities <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.testapps.test1"> ... <activity android:name=".Activity1" android:permission="com.example.testapps.test1.permission.START_ACTIVITY1"> <intent-filter> ... </intent-filter> </activity> ... </manifest>
  • 25. Arquitetura do Android ● Isolamento ○ Services <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.testapps.test1"> ... <service android:name=".MailListenerService" android:permission= "com.example.testapps.test1.permission.BIND_TO_MAIL_LISTENER" android:enabled="true" android:exported="true"> <intent-filter></intent-filter> </service> ... </manifest>
  • 26. Arquitetura do Android ● Isolamento ○ Content Providers <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.testapps.test1"> ... <provider android.name="com.example.testapps.test1.MailProvider" android.authorities="com.example.testapps.test1.mailprovider" android.readPermission="com.example.testapps.test1.permission.DB_READ" android.writePermission="com.example.testapps.test1.permission.DB_WRITE"> </provider> ... </manifest>
  • 27. Arquitetura do Android ● Isolamento ○ Apps podem se comunicar com outros via: ■ Intents ■ Services ■ Content Providers ○ Mas também podemos usar permissões
  • 28. Arquitetura do Android ● Permissões <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.app.myapp" > <uses-permission android:name="android.permission.(nome da permissão)" /> ... </manifest>
  • 29. Arquitetura do Android ● Permissões ○ Mais usadas: Normal Valor padrão. Permissões de baixo risco que não requer aprovação do usuário Dangerous Permissões de alto risco que autorizam o aplicativo a acessar dados privados do aplicativo, podendo causar impacto no sistema. Requer aprovação do usuário
  • 30. Arquitetura do Android ● Custom Permissions ○ Criar sua própria permissão para acessar outros apps de modo restrito
  • 31. Arquitetura do Android ● Custom Permissions ○ Exemplo: Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
  • 32. Arquitetura do Android ● Custom Permissions ○ Exemplo: Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
  • 33. Arquitetura do Android ● Custom Permissions ○ Exemplo: No AndroidManifest.xml: Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
  • 34. Arquitetura do Android ● Custom Permissions ○ Exemplo: Vamos tentar de novo? Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
  • 35. Arquitetura do Android ● Custom Permissions ○ Exemplo: Fonte: Programming Mobile Applications for Android Handheld Systems (Coursera)
  • 36. Arquitetura do Android ● Ataques através de permissões Fonte: http://www.zdnet.com/article/android-users-give-malware-apps-permission-to-rob-them-express-shock-at-the-results/
  • 37. Arquitetura do Android ● Armazenamento de dados ○ Por padrão, arquivos só podem ser acessados pelo app que os gerou ○ Caminho padrão: /data/data/app_package_name ○ Cartões SD não possuem sistema de permissão Linux (qualquer app pode acessar)
  • 38. Arquitetura do Android ● Armazenamento de dados Fonte: https://www.hackread.com/whatsapp-security-flaw-app-read-chats/
  • 39. Arquitetura do Android ● Resumo dos fundamentos de segurança ○ Credibilidade ■ Podemos confiar no autor do app? ○ Isolamento e permissões ■ Podemos controlar os limites do app? ○ Criptografia ■ Os arquivos de seu app estão seguros?
  • 40. Comunicação segura ● SSL/TLS Fonte: https://ssl.trustwave.com/support/support-how-ssl-works.php
  • 41. Comunicação segura ● Man in the middle ○ Se colocar entre o cliente e o servidor ○ Interceptar tráfego ○ Dois tipos: passivo e ativo
  • 42. Comunicação segura ● MITM Passivo ○ HTTP ○ Não há alteração dos dados
  • 43. Comunicação segura ● MITM Ativo ○ HTTPS ○ Alteração dos dados
  • 44. Comunicação segura ● MITM Ativo ○ Cuidado com redes Wi-fi desconhecidas! ○ Cuidado com mensagens de certificados desconhecidos! ○ Verifique se a conexão é HTTPS!
  • 45. Comunicação segura ● Ou pior: SSL vulnerável Fonte: https://www.fireeye.com/blog/threat-research/2014/08/ssl-vulnerabilities-who-listens-when-android-applications-talk.html
  • 46. Comunicação segura ● Ou pior ainda: ausência de criptografia Fonte: http://thehackernews.com/2014/04/whatsapp-flaw-leaves-user-location.html
  • 47. Referências [1] Jeff Six; Application Security for the Android Platform, Processes, Permissions, and Other Safeguards; O’Reilly Media, 2011, 114 páginas [2] Marakana, Inc. ; Deep Dive Into Android Security: http://pt.slideshare. net/marakana/deep-dive-into-android-security-10123665?related=1 [3] Android developers: http://developer.android.com [4] Mike Part; Mobile Application Security: Who, How and Why; Trustwave, 2012: https://www.owasp.org/images/c/cf/ASDC12- Mobile_Application_Security_Who_how_and_why.pdf [5] Anatomy of Android: http://anatomyofandroid.com/