Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Os 4 Pilares de Segurança de uma Aplicação

Os 4 Pilares de Segurança de uma Aplicação

Nesta palestra detalharei os 4 pilares que formam a base de segurança de qualquer aplicação, independente de linguagem, arquitetura ou plataforma.

Er Galvão Abbott

May 12, 2017
Tweet

More Decks by Er Galvão Abbott

Other Decks in Technology

Transcript

  1. L CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 1 / 40 Os 4 Pilares de Segurança de uma Aplicação www.galvao.eti.br Seguranca OS 4 PILARES
  2. Presidente (2012 – 2017) da ABRAPHP – Associação Brasileira de

    Profissionais PHP Diretor da PHP Conference Brasil Contribui para a linguagem Embaixador Fedora LATAM Atua como Zend Framework Evangelist para o ZTeam, da Zend. Professor Convidado de Pós-Graduação, PR e SC. 22+ anos desenvolvendo sistemas e aplicações com interface web 17+ destes com PHP 9+ com Zend Framework Palestrante em eventos nacionais e internacionais Instrutor de cursos presenciais e a distância Fundador* e membro do GU PHPRS Site: https://www.galvao.eti.br/ http://people.php.net/galvao Twitter: @galvao Facebook: https://www.facebook.com/galvao.eti.br/ Slides: https://speakerdeck.com/galvao Github: http://github.com/galvao Quem?! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 12/12/17 - 2 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação
  3. Objetivo CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 3 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Determinar as 4 práticas que formam a base de segurança de qualquer aplicação, independente de linguagem, arquitetura ou qualquer outra questão tecnológica.
  4. Antes de mais nada... CC Attribution-ShareAlike 3.0 Unported License by

    Er Galvão Abbott - 12/12/17 - 4 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Fatores que não contribuem para segurança
  5. Antes de mais nada... CC Attribution-ShareAlike 3.0 Unported License by

    Er Galvão Abbott - 12/12/17 - 5 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Fatores que não contribuem para segurança Linguagem
  6. Antes de mais nada... CC Attribution-ShareAlike 3.0 Unported License by

    Er Galvão Abbott - 12/12/17 - 6 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Fatores que não contribuem para segurança Linguagem Tipagem
  7. Antes de mais nada... CC Attribution-ShareAlike 3.0 Unported License by

    Er Galvão Abbott - 12/12/17 - 7 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Fatores que não contribuem para segurança Linguagem Tipagem Paradigma
  8. Antes de mais nada... CC Attribution-ShareAlike 3.0 Unported License by

    Er Galvão Abbott - 12/12/17 - 8 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Fatores que não contribuem para segurança Linguagem Tipagem Paradigma Padrão de Projeto
  9. Antes de mais nada... CC Attribution-ShareAlike 3.0 Unported License by

    Er Galvão Abbott - 12/12/17 - 9 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Todo o desenvolvedor deveria dominar Segurança?
  10. Antes de mais nada... CC Attribution-ShareAlike 3.0 Unported License by

    Er Galvão Abbott - 12/12/17 - 10 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Todo o desenvolvedor deveria dominar Segurança? Sim!
  11. Antes de mais nada... CC Attribution-ShareAlike 3.0 Unported License by

    Er Galvão Abbott - 12/12/17 - 11 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Todo o desenvolvedor deveria dominar Segurança? Sim! ...e Não
  12. Os 4 Pilares CC Attribution-ShareAlike 3.0 Unported License by Er

    Galvão Abbott - 12/12/17 - 12 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Filtragem Validação Hashing Criptografia
  13. Os 4 Pilares em relação ao Top 10 OWASP CC

    Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 12/12/17 - 13 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação → Entrada de Dados não validada → Controle de Acesso Quebrado → Autenticação e Gerenciamento de Sessão quebradas → XSS Buffer Overflows → Falhas de Injeção Tratamento de erros inadequado → Armazenamento Inseguro Negação de Serviço Gerenciamento de Configuração Inseguro Top 10 OWASP 2004
  14. Os 4 Pilares em relação ao Top 10 OWASP CC

    Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 12/12/17 - 14 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação → XSS → Injeção → Execução Maliciosa de Arquivo → Referência Direta e Insegura a Objeto → CSRF → Vazamento de Informação e Tratamento de erros inapropriado → Autenticação e Gerenciamento de Sessão quebradas → Armazenamento Criptográfico Inseguro → Comunicações Inseguras → Falha ao restringir acesso a URL Top 10 OWASP 2007
  15. Os 4 Pilares em relação ao Top 10 OWASP CC

    Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 12/12/17 - 15 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação → Injeção → XSS → Autenticação e Gerenciamento de Sessão quebradas → Referência Direta e Insegura a Objeto → CSRF Configuração Equivocada de Segurança → Armazenamento Criptográfico Inseguro → Falha ao restringir acesso a URL Proteção de Camada de Transporte Insuficiente → Encaminhamentos e Redirecionamentos não validados Top 10 OWASP 2010
  16. Os 4 Pilares em relação ao Top 10 OWASP CC

    Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 12/12/17 - 16 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação → Injeção → Autenticação e Gerenciamento de Sessão quebradas → XSS → Referência Direta e Insegura a Objeto Configuração Equivocada de Segurança → Exposição de Dados Sensíveis → Inexistência de Controle de Acesso à Funções → CSRF Utilização de Componentes Sabidamente Vulneráveis → Encaminhamentos e Redirecionamentos não validados Top 10 OWASP 2013 (Atual*)
  17. 0 2004 2007 2010 2013 2 4 6 8 10

    12 Edição OWASP # Vuln. Relacionadas www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 12/12/17 - 17 / 40 Os 4 Pilares em relação ao Top 10 OWASP
  18. Conclusões CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 18 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação De um total de 16 Categorias “únicas”
  19. Conclusões CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 19 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação De um total de 16 Categorias “únicas” 75% (12) são relacionadas aos 4 Pilares
  20. Conclusões CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 20 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação De um total de 16 Categorias “únicas” 75% (12) são relacionadas aos 4 Pilares Estamos informados sobre 50% (6) há 13+ anos
  21. Conclusões CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 21 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação De um total de 16 Categorias “únicas” 75% (12) são relacionadas aos 4 Pilares Estamos informados sobre 50% (6) há 13+ anos Uma das mais prevalentes (Injeção) é conhecida há 10+ anos
  22. Conclusões CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 22 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação De um total de 16 Categorias “únicas” 75% (12) são relacionadas aos 4 Pilares Estamos informados sobre 50% (6) há 13+ anos Uma das mais prevalentes (Injeção) é conhecida há 10+ anos Nossas aplicações deveriam ser 50% mais seguras há 10+anos
  23. Conclusões CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 23 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação De um total de 16 Categorias “únicas” 75% (12) são relacionadas aos 4 Pilares Estamos informados sobre 50% (6) há 13+ anos Uma das mais prevalentes (Injeção) é conhecida há 10+ anos Nossas aplicações deveriam ser 50% mais seguras há 10+anos Se conseguirmos minimizar o dano destas 12
  24. Conclusões CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 24 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação De um total de 16 Categorias “únicas” 75% (12) são relacionadas aos 4 Pilares Estamos informados sobre 50% (6) há 13+ anos Uma das mais prevalentes (Injeção) é conhecida há 10+ anos Nossas aplicações deveriam ser 50% mais seguras há 10+anos Se conseguirmos minimizar o dano destas 12 Nossa aplicação será 75% mais segura
  25. Conclusões CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 25 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação De um total de 16 Categorias “únicas” 75% (12) são relacionadas aos 4 Pilares Estamos informados sobre 50% (6) há 13+ anos Uma das mais prevalentes (Injeção) é conhecida há 10+ anos Nossas aplicações deveriam ser 50% mais seguras há 10+anos Se conseguirmos minimizar o dano destas 12 Nossa aplicação será 75% mais segura O OWASP poderá avançar o trabalho de pesquisa
  26. Conclusões CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 26 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação De um total de 16 Categorias “únicas” 75% (12) são relacionadas aos 4 Pilares Estamos informados sobre 50% (6) há 13+ anos Uma das mais prevalentes (Injeção) é conhecida há 10+ anos Nossas aplicações deveriam ser 50% mais seguras há 10+anos Se conseguirmos minimizar o dano destas 12 Nossa aplicação será 75% mais segura O OWASP poderá avançar o trabalho de pesquisa A empresa poderá avançar o trabalho em features
  27. Tratamento de Dados CC Attribution-ShareAlike 3.0 Unported License by Er

    Galvão Abbott - 12/12/17 - 27 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Tratamento do dado, podendo causar a sua modificação, após assegurar-se de que apenas os caracteres válidos permanecem Decisão se o dado apresentado é válido de acordo com um conjunto específico de regras Filtragem Validação
  28. Tratamento de Dados CC Attribution-ShareAlike 3.0 Unported License by Er

    Galvão Abbott - 12/12/17 - 28 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação
  29. Tratamento de Dados CC Attribution-ShareAlike 3.0 Unported License by Er

    Galvão Abbott - 12/12/17 - 29 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Guarde o dado original! * Esclarecer à fonte o que houve de errado * Registrar tentativas, especialmente as bem-sucedidas! ! ! Validação não é apenas tipo! * Valor * Comprimento * Formato * Contexto ...
  30. Hashing CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 30 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Hashing se refere a integridade e justamente por isso, ironicamente, torna esse tipo de função (com certas adições) perfeita para dados extremamente sigilosos. https://en.wikipedia.org/wiki/Cryptographic_hash_function
  31. Hashing CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 31 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Nunca é demais lembrar... MD5 SHA1 https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html !
  32. Hashing CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 32 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Sigilo Tratamento Verificação Entrada
  33. Hashing CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 33 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Integridade / Sigilo Hashing não serve apenas para senhas, mas para qualquer situação onde não haja necessidade de exposição do dado original !
  34. Criptografia CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 34 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Codificação de um dado, com a possibilidade de decodificação. * Cifra * Modo * Chave * Vetor de Inicialização
  35. Criptografia CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 35 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Criptografia != Hashing ! ! mcrypt Criptografia != base64 (ou qualquer outra) ! Não apenas para casos “clássicos” !
  36. Criptografia CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 36 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Criptografia aumenta o comprimento do dado original em ≃50% ! http://www.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com/ https://en.wikipedia.org/wiki/Email_address#Syntax Dependendo do caso requer atenção
  37. Criptografia CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 37 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Pedro de Alcântara Francisco António João Carlos Xavier de Paula Miguel Rafael Joaquim José Gonzaga Pascoal Cipriano Serafim 128 + ≃50% ≃ 192 caracteres Em outros casos não é problema algum. !
  38. Criptografia CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 38 / 40 www.galvao.eti.br Os 4 Pilares de Segurança de uma Aplicação Deve ser usada em qualquer dado que não deve ser visto por qualquer pessoa ! Outros casos…?
  39. INFORME-SE! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 12/12/17 - 39 / 40 www.galvao.eti.br OWASP: https://www.owasp.org/ MITRE CVE: https://cve.mitre.org/ Pesquise a documentação da sua linguagem! Pesquise sobre cifras! Consulte vulnerabilidades! Mantenha-se informado! Os 4 Pilares de Segurança de uma Aplicação
  40. Muito obrigado! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão

    Abbott - 12/12/17 - 40 / 40 www.galvao.eti.br ? Dúvidas? ↓ Críticas? ↑ Elogios?! Os 4 Pilares de Segurança de uma Aplicação