SlideShare uma empresa Scribd logo
Desenvolvimento 
Seguro 
Augusto Marinho 
augustomarinho@conteudoatual.com.br
Motivação
Quais os 
problemas?
Owasp top ten mobile 
risks 
Uma proposta...
Armazenamento inseguro dos dados 
/mnt/sdcard SQLITE_INSEGURO.db
Client Side Injection 
android:exported="true"
Exposição de dados por terceiros
Exposição de dados por terceiros 
... uma opção
Proteção ineficiente no transporte dos dados 
Vamos então ao socket SSL ....
Fornecimento de informações sensíveis
Dados sensíveis capturados por inputs inseguros
Controles de autorização e autenticação fracos 
/data/system/accounts.db
Problema 
Isso não resolve!!!!! 
md5(sha1(password)) 
md5(md5(salt) + md5(password)) 
sha1(sha1(password)) 
Criptografia Fraca
Controles frágeis do lado servidor
Captura de Sessão
Para finalizar 
Para desenvolver um aplicativo seguro, não basta utilizar as 
melhores tecnologias; não basta ser excelente tecnicamente se você 
não estiver conectado ao negócio e entender quais os impactos 
negativos para imagem do seu produto, caso uma vulnerabilidade 
seja explorada com sucesso.
Obrigado! 
Augusto Marinho 
augustomarinho@conteudoatual.com.br

Mais conteúdo relacionado

PDF
Defensive Programming - by Alcyon Junior
PPTX
Como se tornar um especialista em Desenvolvimento Seguro de Software
PPTX
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
PPTX
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
PPTX
Desenvolvimento seguro - WorkSec 2019
PPTX
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
PPTX
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
PPTX
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Defensive Programming - by Alcyon Junior
Como se tornar um especialista em Desenvolvimento Seguro de Software
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Desenvolvimento seguro - WorkSec 2019
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB

Mais procurados (20)

PPTX
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
PPTX
Explorando 5 falhas graves de segurança que todos programadores cometem
PDF
Segurança em aplicações web: pequenas ideias, grandes resultados
PPT
Treinamento ajax 05
PDF
Segurança em Aplicações Web
PDF
Apresentação dissertação
PPTX
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
PPT
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
PDF
Segurança e Auditoria de Sistemas - Aula 03
PDF
Ameaças e vulnerabilidades - Material Comercial Unbroken
ODP
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
ODP
PPT
Ameacas e Vulnerabilidades em Apps Web-2013
PDF
Segurança e Auditoria de Sistemas - Aula 01 - Conceitos básicos
PDF
THE WebSec
PDF
Slides do Treinamento - OWASP TOP 10 (Em português)
DOCX
Politica de seguranca
PDF
Café com Seguro: Riscos Cibernéticos - Guilheme Procopio
PDF
CHEFE, O PENTEST FINALIZOU! … E AGORA?
PPS
Segurança J2EE
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Explorando 5 falhas graves de segurança que todos programadores cometem
Segurança em aplicações web: pequenas ideias, grandes resultados
Treinamento ajax 05
Segurança em Aplicações Web
Apresentação dissertação
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
Segurança e Auditoria de Sistemas - Aula 03
Ameaças e vulnerabilidades - Material Comercial Unbroken
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Ameacas e Vulnerabilidades em Apps Web-2013
Segurança e Auditoria de Sistemas - Aula 01 - Conceitos básicos
THE WebSec
Slides do Treinamento - OWASP TOP 10 (Em português)
Politica de seguranca
Café com Seguro: Riscos Cibernéticos - Guilheme Procopio
CHEFE, O PENTEST FINALIZOU! … E AGORA?
Segurança J2EE
Anúncio

Semelhante a Desenvolvimento Seguro Android GDG RIO (20)

PPT
MobileConf2013 - Desenvolvimento Mobile Seguro
PDF
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
PDF
(1) Por que Seguranca de Aplicacoes Web?
PDF
(1) Por que Seguranca de Aplicacoes Web?
ODP
Segurança da Informação
PDF
OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...
PDF
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
PDF
Site blindado - Como tornar loja virtual mais segura e vender mais
PDF
Site blindado como tornar loja virtual mais segura e vender mais
PPTX
1º webminar sobre ransonware para gestores públicos
PPTX
1º webminar sobre ransonware para gestores públicos
PPT
Análise de vulnerabilidades em ativos de ti
PPTX
Java security
PDF
[Farol UX Santander] Segurança vs UX: Qual relação do usuário com a segur...
PDF
Cléber Soares: Resposta a Incidentes e investigação com Software Livre - Inte...
PPT
Desenvolvimento Seguro- 2011
PDF
Kaspersky executive briefing presentation
PPT
Segurança em um Planeta Inteligente
PDF
OWASP Mobile Top 10
PDF
Desafios Futuros e Oportunidades
MobileConf2013 - Desenvolvimento Mobile Seguro
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
(1) Por que Seguranca de Aplicacoes Web?
(1) Por que Seguranca de Aplicacoes Web?
Segurança da Informação
OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
Site blindado - Como tornar loja virtual mais segura e vender mais
Site blindado como tornar loja virtual mais segura e vender mais
1º webminar sobre ransonware para gestores públicos
1º webminar sobre ransonware para gestores públicos
Análise de vulnerabilidades em ativos de ti
Java security
[Farol UX Santander] Segurança vs UX: Qual relação do usuário com a segur...
Cléber Soares: Resposta a Incidentes e investigação com Software Livre - Inte...
Desenvolvimento Seguro- 2011
Kaspersky executive briefing presentation
Segurança em um Planeta Inteligente
OWASP Mobile Top 10
Desafios Futuros e Oportunidades
Anúncio

Desenvolvimento Seguro Android GDG RIO

Notas do Editor

  • #2: Fazer uma breve descrição profissional: Nome, profissão, onde trabalha, quanto tempo. - Objetivo da palestra é apresentar uma abordagem sobre desenvolvimento mobile seguro sob a visão da OWASP
  • #3: O celular evoluiu. No início o pouco que se tinha de software era embarcado, o ambiente era extremamente controlado. O protagonista não era o software e sim estreitar a comunicação. Hoje o celular evoluiu para os smartphones, temos sistemas operacionais para mobile viabilizando o desenvolvimento de produtos para agregar valor ao equipamento. O celular não é mais um mero meio de comunicação telefônica.
  • #4: Falar da miscelânea de sistemas operacionais e fabricantes Falar do quanto este cenário torno um desafio desenvolver um produto que deve operar em mais de uma plataforma mobile
  • #5: - A Owasp éuma organização internacional de profissionais de TI que conduzem uma série de trabalhos com o objetivos de disseminar melhores práticas para criar soluções de TI mais seguras. - A Owasp tem trabalhos voltados para segurança nas mais diversas áreas de TI, como: desenvolvimento (Top Tem Mobile, Web, Cloud, testes de software), infraestrutura (apache, mod_proxy) etc.
  • #6: O top ten mobile risks é um documento que elenca os dez principais pontos de controle a serem aplicados durante o desenvolvimento de um software mobile seguro. O intuito do documento é ser agnóstico e não estar voltado especificamente para nenhuma plataforma mobile específica. Por isso, adaptações nas formas de controlar determinados pontos podem, e muitas vezes são, diferentes em plataformas mobile diferentes. O ponto principal do documento e entender os pontos de controle e identificar como é possível aplicá-los na plataforma mobile em que está sendo desenvolvida uma solução
  • #7: Falar da fragilidade dos discos externos. É uma área comum de acesso para todos os aplicativos. Para armazenar dados no SDCard tem que ter uma justificativa bastante forte (compensadora) para retirar a proteção nativa da sandbox do oferecida pelo sistema operacional. Em alguns casos, a repercução negativa de uma dado não tão sensível exposto pode ser o suficiente para destruir a confiabilidade do produto. (Importante!) Uma opção http://sqlcipher.net/design/
  • #8: Falar do comportamento da opção android:exported. O mesmo comportamento para para Service- O seu produto pode ser utilizado por terceiros sem seu consentimento e/ou ciência. Falar rapidamento do package play proposta: Cuidado com o comportamento default do Android:exported
  • #9: -Log.i() não é retirado quando um aplicativo é submetido ao Google Play. Basta alguém estar conectado com um dispositivo ao LogCat e os dados poderão ser exibidos.
  • #10: Explicar como era o comportamento nas versões anteriores a 17 do ADT (Março/2012) Como pode ser evitado o vazamento de informações sensíveis Proposta: Falar da utlização da configuração ApplicationInfo.
  • #11: Todo mundo sabe que se deve usar Https Falar apresentar o problema de validação de hostname. Falar da fonte Google (Android Developer)
  • #12: Flexibilizar a remoção do aplicativo para o Sdcard pode não ser uma boa idéia. A propriedade intelectual estará exposta Ferramentas como o Dex2Jar podem decompilar o código java compilado para o Dalvik Falar da facilidade para o ofensor. Apenas inserindo uma dificuldade já é o bastante para desencorajar o meliante. Com a aplicação exposta no Sdcard, não é necessário o SO estar fragilidade para executar este cenário Como alternativa falar do ProGuard (não é apenas para android)
  • #13: A caixa de SMS´s do celular não é um ponto seguro para enviar ou receber informações sensíveis (sms de texto ou binário) Basta ter uma outra aplicação com a permissão de leitura da caixa de mensagens aceita pelo usuário para ter a confidencialidade do seu dado comprometida Push Notificatio também não resolve, por ser uma troca de mensagens por Http Proposta: O e-mail nestes casos ainda é a melhor opção!
  • #14: O Account Manager não implementa nenhum mecanismo de segurança! Os dados são armazenados em uma base Sqlite na sandbox, porém em texto plano. Se deseja proteção você mesmo deverá prover Proposta: Falar da opção apresentada no Google I/O 2011 (Yaniv inbar) Falar da utilização de Criptografia com Salt utilizado no exemplo
  • #15: http://stackoverflow.com/questions/6776050/how-long-to-brute-force-a-salted-sha-512-hash-salt-provided Explicar rapidamente o que é Compilação de mensagem e por que o código acima não resolve Explicar rapidamente o que é Brute Force e Ataque de Dicionário Explicar a importância do Salt e como deve ser este Salt (identificador único por usuário. Não deve ser fraco). Dar o exemplo de msisdn sendo o Salt (com a entrada no 9 dígito) O Salt você deve ter absoluto controle da formação, depender de terceitos pode acarretar problemas como o do nono dígito.
  • #16: Não adianta ter um controle de autenticação forte se o controle de autorização é fraco. Não deve ser permitido um usuário ter acesso aos dados de outros, como por query string por exemplo. Proposta:
  • #17: Não é aconselhado utilizar como identificadores de sessão dados do dispositivo, como MSISDN, IMEI, ICCID. É fácil simular um número válido e tentar capturar a sessão de algum usuário ativo. Explicar que problemas inerentes a aplicações Web como Cross-site Scripting entre outros também podem afetar aplicações mobile. Proposta: