Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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.

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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?

Slide 10

Slide 10 text

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!

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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”

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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 !

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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 !

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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” !

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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…?

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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