SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 1 / 35
Unbreakable PHP www.galvao.eti.br
Quem?!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 2 / 35
www.galvao.eti.brUnbreakable PHP
Er Galvão Abbott trabalha há mais de 18 anos
desenvolvendo sistemas e aplicações com interface web, sendo
13 anos com PHP e 5 anos com Zend Framework. Trabalhou
com diversas empresas de grande porte, tanto nacionais como
internacionais.
Palestra em eventos, dá cursos em diversas instituições e
é Presidente da ABRAPHP – Associação Brasileira de
Profissionais PHP e Diretor da PHP Conference Brasil, o principal
evento de PHP da América Latina.
É o fundador e líder do GU PHPBR, Grupo de Usuários
de abrangência nacional, que hoje conta com mais de 1.200
usuários cadastrados.
Site: http://www.galvao.eti.br/
Twitter: @galvao
Slides e Documentos: http://slideshare.net/ergalvao
https://speakerdeck.com/galvao
Fork me @ http://github.com/galvao
Objetivo
Esta palestra tem por objetivo demonstrar técnicas de programação PHP que minimizam
os principais riscos de segurança a uma aplicação web, além de analisar as principais causas
da alarmante frequência com que falhas de segurança são exploradas na web.
Serão apresentados os seguintes tópicos:
→ Cenário atual
→ Falhas de segurança
→ Injeção
→ Autenticação e Criptografia
→ Causas para a situação atual
→ De quem é a culpa?
→ Soluções
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 3 / 35
www.galvao.eti.brUnbreakable PHP
Cenário atual...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 4 / 35
www.galvao.eti.brUnbreakable PHP
Cenário atual...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 5 / 35
www.galvao.eti.brUnbreakable PHP
Cenário atual...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 6 / 35
www.galvao.eti.brUnbreakable PHP
Cenário atual...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 7 / 35
www.galvao.eti.brUnbreakable PHP
Cenário atual...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 8 / 35
www.galvao.eti.brUnbreakable PHP
Cenário atual...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 9 / 35
www.galvao.eti.brUnbreakable PHP
Cenário atual...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 10 / 35
www.galvao.eti.brUnbreakable PHP
Falhas de Segurança
Dos 10 Riscos mais comuns
a Aplicações Web...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 11 / 35
www.galvao.eti.brUnbreakable PHP
8 são relacionados a código-fonte*
Ah, então é culpa do programador!
Será...?
(*) Fonte: OWASP Top 10 2013
Os 3 primeiros problemas...
Injeção (SQL, Client-side, etc...)
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 12 / 35
www.galvao.eti.brUnbreakable PHP
(*) Fonte: OWASP Top 10 2013
Autenticação e Gerenciamento de
Sessão Falhos
XSS
Com uma solução em comum...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 13 / 35
www.galvao.eti.brUnbreakable PHP
Isso é sabido desde antes de 2000
Filtrar e Validar
Pra deixar bem claro...
há mais de 13 anos
Filtragem e Validação FTW!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 14 / 35
www.galvao.eti.brUnbreakable PHP
(de uma palestra minha, há mais de 4 anos)
Filtragem e Validação NATIVAS FTW!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 15 / 35
www.galvao.eti.brUnbreakable PHP
(Nativas desde o PHP 5.2, lançado há praticamente 7 anos)
Quem tem medo de Injeção de SQL?! PDO FTW!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 16 / 35
www.galvao.eti.brUnbreakable PHP
(Nativa desde o PHP 5.1, lançado há praticamente 8 anos)
Criptografia FTW!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 17 / 35
www.galvao.eti.brUnbreakable PHP
Quem disse que Mcrypt é difícil?!
1. Escolha uma cifra
2. Defina uma chave
3. Defina um vetor de inicialização
4. Defina um modo
5. Divirta-se!
É, divirta-se!
Mcrypt FTW!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 18 / 35
www.galvao.eti.brUnbreakable PHP
(disponível há muito tempo**)
O(s) problema(s) com segurança?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 19 / 35
www.galvao.eti.brUnbreakable PHP
Torna o sistema Lento
Demanda muito Tempo
É muito Complicado
É um assunto muito Misterioso
É um assunto pra Depois
O(s) problema(s) com segurança?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 20 / 35
www.galvao.eti.brUnbreakable PHP
Torna o sistema Lento
Demanda muito Tempo
É muito Complicado
É um assunto muito Misterioso
É um assunto pra Depois
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 21 / 35
Unbreakable PHP www.galvao.eti.br
Misterioso?!?!?! OWASP FTW!
www.owasp.org
É um assunto muito Misterioso
Top 10
Zed Attack Proxy
ASVS
Cheat Sheets
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 22 / 35
Unbreakable PHP www.galvao.eti.br
Pra quando?!
Security First,
É um assunto pra Depois
Security Always!
O(s) problema(s) com segurança?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 23 / 35
www.galvao.eti.brUnbreakable PHP
A Diretoria...
só quer Sucesso
O(s) problema(s) com segurança?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 24 / 35
www.galvao.eti.brUnbreakable PHP
A Diretoria...
só quer Sucesso
O Gerente de Projetos...
só quer Prazo
O(s) problema(s) com segurança?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 25 / 35
www.galvao.eti.brUnbreakable PHP
A Diretoria...
só quer Sucesso
O Comercial...
só quer Vender
O Gerente de Projetos...
só quer Prazo
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 26 / 35
www.galvao.eti.brUnbreakable PHP
A Infra...
não quer se Incomodar
O(s) problema(s) com segurança?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 27 / 35
www.galvao.eti.brUnbreakable PHP
O Programador...
só quer programar!
A Infra...
não quer se Incomodar
O(s) problema(s) com segurança?
Culpa de quem, mesmo?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 28 / 35
www.galvao.eti.brUnbreakable PHP
A culpa é da Diretoria?
A culpa é do GP?
A culpa é do Comercial?
A culpa é da Infra?
A culpa é do Programador?
Culpa de quem, mesmo?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 29 / 35
www.galvao.eti.brUnbreakable PHP
A culpa é da Diretoria?
A culpa é do GP?
A culpa é do Comercial?
A culpa é da Infra?
A culpa é do Programador?
SIM!
Culpa de quem, mesmo?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 30 / 35
www.galvao.eti.brUnbreakable PHP
A culpa é da Diretoria?
A culpa é do GP?
A culpa é do Comercial?
A culpa é da Infra?
A culpa é do Programador?
SIM!SIM!
SIM!
Culpa de quem, mesmo?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 31 / 35
www.galvao.eti.brUnbreakable PHP
A culpa é da Diretoria?
A culpa é do GP?
A culpa é do Comercial?
A culpa é da Infra?
A culpa é do Programador?
SIM!
SIM!
SIM!
Culpa de quem, mesmo?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 32 / 35
www.galvao.eti.brUnbreakable PHP
A culpa é da Diretoria?
A culpa é do GP?
A culpa é do Comercial?
A culpa é da Infra?
A culpa é do Programador?
SIM!
SIM!
SIM!
SIM!
Culpa de quem, mesmo?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 33 / 35
www.galvao.eti.brUnbreakable PHP
A culpa é da Diretoria?
A culpa é do GP?
A culpa é do Comercial?
A culpa é da Infra?
A culpa é do Programador?
SIM!
SIM!
SIM!
SIM!
SIM!
E se não estiver convencido(a) ainda, tem outra...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 34 / 35
www.galvao.eti.brUnbreakable PHP
INGENUIDADE
Obrigado! (… e “desculpa qualquer coisa!”)
? Dúvidas?
↓ Críticas?
↑ Elogios?!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 35 / 35
www.galvao.eti.brUnbreakable PHP

Weitere ähnliche Inhalte

Ähnlich wie Unbreakeable php

Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2Er Galvão Abbott
 
Otimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPOtimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPEr Galvão Abbott
 
OSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com issoOSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com issoEr Galvão Abbott
 
Aprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosAprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosRichard Barros
 
ZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderosoZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderosoEr Galvão Abbott
 
Palestra / SDD / Crossbrowsing
Palestra / SDD / CrossbrowsingPalestra / SDD / Crossbrowsing
Palestra / SDD / Crossbrowsinghugodiasneto
 
Implementando rotinas de geolocalização
Implementando rotinas de geolocalizaçãoImplementando rotinas de geolocalização
Implementando rotinas de geolocalizaçãoEr Galvão Abbott
 
Palestra Zend Framework PHPSC Conf 2010
Palestra Zend Framework PHPSC Conf 2010Palestra Zend Framework PHPSC Conf 2010
Palestra Zend Framework PHPSC Conf 2010Flávio Lisboa
 
Vive la révolution PHP!
Vive la révolution PHP!Vive la révolution PHP!
Vive la révolution PHP!Luís Cobucci
 
Desenvolvimento rápido de aplicações Web com Python e Django
Desenvolvimento rápido de aplicações Web com Python e DjangoDesenvolvimento rápido de aplicações Web com Python e Django
Desenvolvimento rápido de aplicações Web com Python e DjangoHerberth Amaral
 
5 Dicas para economizar no desenvolvimento do seu aplicativo
5 Dicas para economizar no desenvolvimento do seu aplicativo5 Dicas para economizar no desenvolvimento do seu aplicativo
5 Dicas para economizar no desenvolvimento do seu aplicativoKleber Carvalho
 
15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrerMichele Silva
 
Php Test Fest PHPMS, Maio 2008
Php Test Fest PHPMS, Maio 2008Php Test Fest PHPMS, Maio 2008
Php Test Fest PHPMS, Maio 2008zehzinho
 
ReSTFul Api's com FRAPI
ReSTFul Api's com FRAPIReSTFul Api's com FRAPI
ReSTFul Api's com FRAPIAlex Piaz
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPelliando dias
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-phpBrenno Abreu
 
PHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaPHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaMarcelo Fleury
 

Ähnlich wie Unbreakeable php (20)

Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2
 
Otimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPOtimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHP
 
PHP: Evolução
PHP: EvoluçãoPHP: Evolução
PHP: Evolução
 
OSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com issoOSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com isso
 
Aprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosAprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard Barros
 
ZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderosoZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderoso
 
Top 10 OWASP com PHP
Top 10 OWASP com PHPTop 10 OWASP com PHP
Top 10 OWASP com PHP
 
Palestra / SDD / Crossbrowsing
Palestra / SDD / CrossbrowsingPalestra / SDD / Crossbrowsing
Palestra / SDD / Crossbrowsing
 
Implementando rotinas de geolocalização
Implementando rotinas de geolocalizaçãoImplementando rotinas de geolocalização
Implementando rotinas de geolocalização
 
Palestra Zend Framework PHPSC Conf 2010
Palestra Zend Framework PHPSC Conf 2010Palestra Zend Framework PHPSC Conf 2010
Palestra Zend Framework PHPSC Conf 2010
 
Vive la révolution PHP!
Vive la révolution PHP!Vive la révolution PHP!
Vive la révolution PHP!
 
Desenvolvimento rápido de aplicações Web com Python e Django
Desenvolvimento rápido de aplicações Web com Python e DjangoDesenvolvimento rápido de aplicações Web com Python e Django
Desenvolvimento rápido de aplicações Web com Python e Django
 
5 Dicas para economizar no desenvolvimento do seu aplicativo
5 Dicas para economizar no desenvolvimento do seu aplicativo5 Dicas para economizar no desenvolvimento do seu aplicativo
5 Dicas para economizar no desenvolvimento do seu aplicativo
 
15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer
 
Php Test Fest PHPMS, Maio 2008
Php Test Fest PHPMS, Maio 2008Php Test Fest PHPMS, Maio 2008
Php Test Fest PHPMS, Maio 2008
 
ReSTFul Api's com FRAPI
ReSTFul Api's com FRAPIReSTFul Api's com FRAPI
ReSTFul Api's com FRAPI
 
Divida tecnica
Divida tecnicaDivida tecnica
Divida tecnica
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHP
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-php
 
PHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaPHP Symfony, Vale A Pena
PHP Symfony, Vale A Pena
 

Mehr von Er Galvão Abbott

ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014Er Galvão Abbott
 
Implementing security routines with zf2
Implementing security routines with zf2Implementing security routines with zf2
Implementing security routines with zf2Er Galvão Abbott
 
OWASP: O que, Por que e Como
OWASP: O que, Por que e ComoOWASP: O que, Por que e Como
OWASP: O que, Por que e ComoEr Galvão Abbott
 
Além da autenticação: Permissões de acesso com Zend Framework
Além da autenticação: Permissões de acesso com Zend FrameworkAlém da autenticação: Permissões de acesso com Zend Framework
Além da autenticação: Permissões de acesso com Zend FrameworkEr Galvão Abbott
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebProposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebEr Galvão Abbott
 
Preto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de CinzaPreto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de CinzaEr Galvão Abbott
 
Implementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHPImplementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHPEr Galvão Abbott
 
Prevenindo XSS: Execute apenas o SEU código
Prevenindo XSS: Execute apenas o SEU códigoPrevenindo XSS: Execute apenas o SEU código
Prevenindo XSS: Execute apenas o SEU códigoEr Galvão Abbott
 

Mehr von Er Galvão Abbott (11)

PHP e Open Source
PHP e Open SourcePHP e Open Source
PHP e Open Source
 
ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014
 
Implementing security routines with zf2
Implementing security routines with zf2Implementing security routines with zf2
Implementing security routines with zf2
 
OWASP: O que, Por que e Como
OWASP: O que, Por que e ComoOWASP: O que, Por que e Como
OWASP: O que, Por que e Como
 
Além da autenticação: Permissões de acesso com Zend Framework
Além da autenticação: Permissões de acesso com Zend FrameworkAlém da autenticação: Permissões de acesso com Zend Framework
Além da autenticação: Permissões de acesso com Zend Framework
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebProposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
 
PHPBR TestFest
PHPBR TestFestPHPBR TestFest
PHPBR TestFest
 
Preto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de CinzaPreto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de Cinza
 
Aplicacoes Web Com AJAX
Aplicacoes Web Com AJAXAplicacoes Web Com AJAX
Aplicacoes Web Com AJAX
 
Implementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHPImplementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHP
 
Prevenindo XSS: Execute apenas o SEU código
Prevenindo XSS: Execute apenas o SEU códigoPrevenindo XSS: Execute apenas o SEU código
Prevenindo XSS: Execute apenas o SEU código
 

Unbreakeable php

  • 1. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 1 / 35 Unbreakable PHP www.galvao.eti.br
  • 2. Quem?! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 2 / 35 www.galvao.eti.brUnbreakable PHP Er Galvão Abbott trabalha há mais de 18 anos desenvolvendo sistemas e aplicações com interface web, sendo 13 anos com PHP e 5 anos com Zend Framework. Trabalhou com diversas empresas de grande porte, tanto nacionais como internacionais. Palestra em eventos, dá cursos em diversas instituições e é Presidente da ABRAPHP – Associação Brasileira de Profissionais PHP e Diretor da PHP Conference Brasil, o principal evento de PHP da América Latina. É o fundador e líder do GU PHPBR, Grupo de Usuários de abrangência nacional, que hoje conta com mais de 1.200 usuários cadastrados. Site: http://www.galvao.eti.br/ Twitter: @galvao Slides e Documentos: http://slideshare.net/ergalvao https://speakerdeck.com/galvao Fork me @ http://github.com/galvao
  • 3. Objetivo Esta palestra tem por objetivo demonstrar técnicas de programação PHP que minimizam os principais riscos de segurança a uma aplicação web, além de analisar as principais causas da alarmante frequência com que falhas de segurança são exploradas na web. Serão apresentados os seguintes tópicos: → Cenário atual → Falhas de segurança → Injeção → Autenticação e Criptografia → Causas para a situação atual → De quem é a culpa? → Soluções CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 3 / 35 www.galvao.eti.brUnbreakable PHP
  • 4. Cenário atual... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 4 / 35 www.galvao.eti.brUnbreakable PHP
  • 5. Cenário atual... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 5 / 35 www.galvao.eti.brUnbreakable PHP
  • 6. Cenário atual... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 6 / 35 www.galvao.eti.brUnbreakable PHP
  • 7. Cenário atual... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 7 / 35 www.galvao.eti.brUnbreakable PHP
  • 8. Cenário atual... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 8 / 35 www.galvao.eti.brUnbreakable PHP
  • 9. Cenário atual... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 9 / 35 www.galvao.eti.brUnbreakable PHP
  • 10. Cenário atual... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 10 / 35 www.galvao.eti.brUnbreakable PHP
  • 11. Falhas de Segurança Dos 10 Riscos mais comuns a Aplicações Web... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 11 / 35 www.galvao.eti.brUnbreakable PHP 8 são relacionados a código-fonte* Ah, então é culpa do programador! Será...? (*) Fonte: OWASP Top 10 2013
  • 12. Os 3 primeiros problemas... Injeção (SQL, Client-side, etc...) CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 12 / 35 www.galvao.eti.brUnbreakable PHP (*) Fonte: OWASP Top 10 2013 Autenticação e Gerenciamento de Sessão Falhos XSS
  • 13. Com uma solução em comum... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 13 / 35 www.galvao.eti.brUnbreakable PHP Isso é sabido desde antes de 2000 Filtrar e Validar Pra deixar bem claro... há mais de 13 anos
  • 14. Filtragem e Validação FTW! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 14 / 35 www.galvao.eti.brUnbreakable PHP (de uma palestra minha, há mais de 4 anos)
  • 15. Filtragem e Validação NATIVAS FTW! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 15 / 35 www.galvao.eti.brUnbreakable PHP (Nativas desde o PHP 5.2, lançado há praticamente 7 anos)
  • 16. Quem tem medo de Injeção de SQL?! PDO FTW! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 16 / 35 www.galvao.eti.brUnbreakable PHP (Nativa desde o PHP 5.1, lançado há praticamente 8 anos)
  • 17. Criptografia FTW! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 17 / 35 www.galvao.eti.brUnbreakable PHP Quem disse que Mcrypt é difícil?! 1. Escolha uma cifra 2. Defina uma chave 3. Defina um vetor de inicialização 4. Defina um modo 5. Divirta-se! É, divirta-se!
  • 18. Mcrypt FTW! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 18 / 35 www.galvao.eti.brUnbreakable PHP (disponível há muito tempo**)
  • 19. O(s) problema(s) com segurança? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 19 / 35 www.galvao.eti.brUnbreakable PHP Torna o sistema Lento Demanda muito Tempo É muito Complicado É um assunto muito Misterioso É um assunto pra Depois
  • 20. O(s) problema(s) com segurança? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 20 / 35 www.galvao.eti.brUnbreakable PHP Torna o sistema Lento Demanda muito Tempo É muito Complicado É um assunto muito Misterioso É um assunto pra Depois
  • 21. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 21 / 35 Unbreakable PHP www.galvao.eti.br Misterioso?!?!?! OWASP FTW! www.owasp.org É um assunto muito Misterioso Top 10 Zed Attack Proxy ASVS Cheat Sheets
  • 22. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 22 / 35 Unbreakable PHP www.galvao.eti.br Pra quando?! Security First, É um assunto pra Depois Security Always!
  • 23. O(s) problema(s) com segurança? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 23 / 35 www.galvao.eti.brUnbreakable PHP A Diretoria... só quer Sucesso
  • 24. O(s) problema(s) com segurança? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 24 / 35 www.galvao.eti.brUnbreakable PHP A Diretoria... só quer Sucesso O Gerente de Projetos... só quer Prazo
  • 25. O(s) problema(s) com segurança? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 25 / 35 www.galvao.eti.brUnbreakable PHP A Diretoria... só quer Sucesso O Comercial... só quer Vender O Gerente de Projetos... só quer Prazo
  • 26. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 26 / 35 www.galvao.eti.brUnbreakable PHP A Infra... não quer se Incomodar O(s) problema(s) com segurança?
  • 27. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 27 / 35 www.galvao.eti.brUnbreakable PHP O Programador... só quer programar! A Infra... não quer se Incomodar O(s) problema(s) com segurança?
  • 28. Culpa de quem, mesmo? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 28 / 35 www.galvao.eti.brUnbreakable PHP A culpa é da Diretoria? A culpa é do GP? A culpa é do Comercial? A culpa é da Infra? A culpa é do Programador?
  • 29. Culpa de quem, mesmo? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 29 / 35 www.galvao.eti.brUnbreakable PHP A culpa é da Diretoria? A culpa é do GP? A culpa é do Comercial? A culpa é da Infra? A culpa é do Programador? SIM!
  • 30. Culpa de quem, mesmo? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 30 / 35 www.galvao.eti.brUnbreakable PHP A culpa é da Diretoria? A culpa é do GP? A culpa é do Comercial? A culpa é da Infra? A culpa é do Programador? SIM!SIM! SIM!
  • 31. Culpa de quem, mesmo? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 31 / 35 www.galvao.eti.brUnbreakable PHP A culpa é da Diretoria? A culpa é do GP? A culpa é do Comercial? A culpa é da Infra? A culpa é do Programador? SIM! SIM! SIM!
  • 32. Culpa de quem, mesmo? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 32 / 35 www.galvao.eti.brUnbreakable PHP A culpa é da Diretoria? A culpa é do GP? A culpa é do Comercial? A culpa é da Infra? A culpa é do Programador? SIM! SIM! SIM! SIM!
  • 33. Culpa de quem, mesmo? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 33 / 35 www.galvao.eti.brUnbreakable PHP A culpa é da Diretoria? A culpa é do GP? A culpa é do Comercial? A culpa é da Infra? A culpa é do Programador? SIM! SIM! SIM! SIM! SIM!
  • 34. E se não estiver convencido(a) ainda, tem outra... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 34 / 35 www.galvao.eti.brUnbreakable PHP INGENUIDADE
  • 35. Obrigado! (… e “desculpa qualquer coisa!”) ? Dúvidas? ↓ Críticas? ↑ Elogios?! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 10/4/13 - 35 / 35 www.galvao.eti.brUnbreakable PHP