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
- 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.
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
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
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
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!
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
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
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
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
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*)
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
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
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 ...
- 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
- 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 !
- 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 !
- 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
- 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” !
- 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
- 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. !
- 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…?
- 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