SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
PHP Sob Ataque:
  Técnicas de Programação
         Defensiva
                        Rafael Jaques
              FISL 12 – Porto Alegre – 01/07/11


“Mas, a todos quantos o receberam, deu-lhes o poder de serem feitos
      filhos de Deus, aos que crêem no seu nome” (João 1.12)
Antes de começar, vou falar
    sobre o Tchelinux...
Data dos eventos em 2011

        Bagé             28/05

  Bento Gonçalves        13/08

     Rio Grande          27/08

    Caxias do Sul        24/09

    Porto Alegre        A definir

Santana do Livramento   A definir

      Alegrete          A definir

       Pelotas          A definir
Essa palestra é uma continuação
  da realizada no ano passado...




http://www.slideshare.net/rafajaques
Então vamos lá!
Objetivo

●
    Ao final dessa palestra, é possível que você
    saiba alguma dessas coisas:
    ●
        Técnicas para evitar o caos
    ●
        Técnicas para proteger o seu valoroso usuário
    ●
        Uma base sobre engenharia social
    ●
        Os riscos que estamos correndo na web
    ●
        O porquê de o caos se instalar tão facilmente


        PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
Pauta

I. Conceito
II. Comofas/
III. Engenharia social
IV. Inteligência coletiva x Aplicação
V. Protegendo o usuário
VI. Onde pedir ajuda
VII. Considerações finais
VIII. Dúvidas, críticas, sugestões...
     PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
CAPÍTULO I

 Conceito
O que é Programação Defensiva,
manolo?
    Conjunto de técnicas de projeto e programação
objetivando a estabilidade e a segurança de um software
         independentemente do imprevisível.

O objetivo é reduzir ou eliminar a influência exercida pelas
          Leis de Murphy sobre a sua aplicação.

  Essas técnicas começaram a ser desenvolvidas quando
   sistemas de software passaram a possibilitar efeitos
                     catastróficos.
                             Adaptado da Wikipedia (http://pt.wikipedia.org/wiki/Programa
                                                            %C3%A7%C3%A3o_defensiva)
     PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
Como saber se estou programando
       defensivamente?
Se uma pessoa (que não você)
consegue entender o código que foi
   criado, já é um bom começo.
Se em algum momento você “supor”
   algo, já é um problema. Nunca
       subestime o usuário.
Lembre-se que o seu
            código é inseguro.


●
    Por natureza, seu código será inseguro
●
    Ao publicá-lo, lembre-se que ele será inseguro
●
    Ao melhorá-lo, lembre-se que ele é inseguro
●
    Depois que testá-lo e certificar-se de que ele é
    seguro, ainda assim será inseguro
CAPÍTULO II

 Comofas/
Código mais simples
     é melhor!
Código complexo é o
  berço dos bugs!
Evite colocar arquivos na raiz.
Um erro de cálculo e seus dados
      estarão expostos!
Refatore e reutilize. Um código
escrito do zero é muito arriscado!
Revise e audite seu código.
Mas nomeie outra pessoa pra isso!
Trabalho em equipe ajuda a reduzir
    problemas no código final.
Estude sobre Canonicalization.
Omita as tags de fechamento.
Esteja preparado para o pior.
Tenha um plano de contingência
 para o caso de um apocalipse.
Backup!
●
                Evite usar para proteger
              informações vitais do sistema

              ●
               Prefira o Google Webmaster
              Tools para desindexar algo




robots.txt – muito cuidado ao usar!
Cuidado com o Havij !
Fatores que potencializam a
 criação de código inseguro
●
    Clientes chatos
●
    Falta de vontade
●
    Término do estoque de café
●
    Aproximação do final de tarde
●
    Véspera de feriado / fim de semana
●
    Área comercial vendendo produtos imaginários
●
    Falta de tempo / Prazos Jack Bauer

                                    Fonte: Desciclopédia
CAPÍTULO III

 Engenharia Social e a
Arte de Invadir Pessoas
Não adianta proteger pelo lado de
 fora se o ataque vem de dentro.
Seres humanos tendem a ser
bonzinhos com o semelhante.
Engenheiros sociais se aproveitam
  da ingenuidade das pessoas.
Treine seu usuário! Assim ele não
    compartilha informações.
CAPÍTULO IV

Inteligência Coletiva,
 Semi-celebridades e
   Ameaças Reais
É mais ou menos o que eu falei
 no ano passado sobre o fato
 de dizer que a sua aplicação
       é 100% segura...
Ataque de Negação de Serviço!
Desafio aceito: derrubar um site
durante o Fórum de Segurança Web!
Cases de Ataque ao Usuário
Phishing!
Scam!
CAPÍTULO V

Protegendo o Precioso
 Anel do Seu Usuário
Monitore o IP e o Referer
    do seu usuário.


              IP
  $_SERVER['REMOTE_ADDR']

          Referer
  $_SERVER['HTTP_REFERER']
Alerte-o sobre os tais
  Phishing e Scam!
Utilize timeouts
HTTPS na veia!
Mantenha seu usuário seguro e
mostre que tudo é para o seu bem!
CAPÍTULO VI

OMG! TODOS SÃO INIMIGOS?
 ONDE VOU ME PROTEGER?
Nem todos são inimigos...
Conheça alguns amiguinhos que vão
       ajudar no caminho.
Tá... Respira um pouco...
CAPÍTULO VII

Considerações finais
PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
Obrigado

                           Rafael Jaques

                            phpit.com.br

                           rafa@php.net

                            @rafajaques
  PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
Fontes Consultadas
●   http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_defe
●   http://www.slideshare.net/gscheibel/programao-defensiva
●   http://jmmwrite.wordpress.com/tag/programacao-defensiva/
●   http://www.ibm.com/developerworks/br/library/os-php-5goodh
●   http://www.wellho.net/mouth/1694_Defensive-coding-techniq
●   http://en.wikipedia.org/wiki/Defensive_programming
●   http://www.phpclasses.org/blog/post/65-8-defensive-programm
●   http://www.phpclasses.org/blog/post/66-More-defensive-prog
●   http://www.slideshare.net/ergalvao/php-e-segurana-uma-unio-
●   http://www.slideshare.net/ergalvao/implementando-segurana-
       PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
Imagens Utilizadas
●
    http://www.franklinparishlibrary.org/MPj04276860000%5B1%5D.jpg
●
    http://3.bp.blogspot.com/-NaQ_9mCf3iY/TZJ0TmC7T3I/AAAAAAAAPBk/4Lw2Nm5OMwE/s1600/justice_league.jpg
●
    http://i.zdnet.com/blogs/SysCallApache.jpg
●
    http://www.cubefx.com/smart/4smarts.jpg
●
    http://i82.photobucket.com/albums/j279/shagg187/2783768632_beeb811d33_b.jpg
●
    http://www.ghsadvisors.com/defense.jpg
●
    http://usarmy.vo.llnwd.net/e2/-images/2008/01/17/12167/army.mil-2008-01-17-100832.jpg
●
    http://0.tqn.com/d/architecture/1/0/b/p/Building7.jpg
●
    http://lp1.pinkbike.org/p4pb6276309/p4pb6276309.jpg
●
    http://www.softsia.com/screenshots/Matrix-Mania_w42z.jpg
●
    http://www.flash-screen.com/free-wallpaper/uploads/201103/imgs/1300345654_1500x1147_atomic-bomb-blast-picture.jpg
●
    http://i239.photobucket.com/albums/ff58/fefferVT/P1000189.jpg
●
    http://vidadesuporte.com.br/wp-content/uploads/2011/06/Suporte_223.jpg
●
    http://api.ning.com/files/TNumCAL*-NlKkCiEYKnhdWLjtJUGLoc5s2gJ9fSLSVKWaLqjm56vsJK5Hof76WuEYlSYa1NxH4OLDA6zW232qpuZ*tkDHa-
    Z/IMG_1557.JPG
●
    http://www.keepeanesinformed.com/j0408985%5B1%5D.jpg
●
    http://blog.garagepunknyc.com/wp-content/uploads/2011/05/the-four-horsemen-of-the-apocalypse2.jpg
●
    http://uhaweb.hartford.edu/CASS/Marvin.jpg
●
    http://s47.radikal.ru/i118/1103/59/4e5b69cc8253.jpg
●
    http://paulsonmanagementgroup.com/media/pmg/hansel%20and%20gretel[rz].jpg
●
    http://crazy-frankenstein.com/free-wallpapers-files/tropical-wallpapers-files/tropical-wallpapers-beautiful-coast-palm.jpg
●
    http://crazy-frankenstein.com/free-wallpapers-files/tropical-wallpapers-files/tropical-wallpapers-beautiful-see-and-island.jpg
●
    http://www.deshow.net/d/file/travel/2009-06/us-landscape-579-2.jpg
●
    http://xemanhdep.com/gallery/beautiful-landscape/beautiful-landscape17.jpg
●
    http://images2.wikia.nocookie.net/__cb20100821003145/nonsensopedia/images/6/61/%C5%81%C4%85ka.jpg
               PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
Imagens Utilizadas
●
    http://3.bp.blogspot.com/_V6QzDsYDdYE/TK6EMYCLE5I/AAAAAAAAO_E/9B5YAhyAU4E/s1600/vader.jpg
●
    http://www.vecernji.ba/data/slika/39/191271.jpg
●
    http://aharonideas.files.wordpress.com/2009/05/team-work.jpg
●
    http://img.vivaolinux.com.br/imagens/artigos/comunidade/backup-plan.jpg
●
    http://www.portalnerd.com.br/wp-content/uploads/2010/03/godzilla-grande.jpg
●
    http://games.holyfile.com/upload/screenshot175-5.jpg
●
    http://4.bp.blogspot.com/-sbtYCenbSyU/Td3J9YXptGI/AAAAAAAAAAg/C29k4W4u8ZQ/s640/cute+babies+hugging-+photoforu.blogspot.com.jpg
●
    http://images.inmagine.com/img/inspirestock/ispi003/isp0803261.jpg
●
    http://kimartialartsusa.com/Susan%27s%20best%20kick%20pic%205-9-09.JPG
●
    http://96.9.22.103/wp-content/uploads/2011/02/iStock_000006411427Medium.jpg
●
    http://www.bbc.co.uk/kent/content/images/2008/05/11/queue_470x355.jpg
●
    http://groundmart.net/wp-content/uploads/2010/07/ased.jpg
●
    http://blogs.shave.com/azor/bigstockphoto_man_shouting_through_megaphone_2233138.jpg
●
    http://contigo.abril.com.br/blog/passione-novela/files/2010/06/passione-berilo-5501.jpg
●
    http://www.psdgraphics.com/file/https.jpg
●
    http://hope.lightgivesheat.org/uploads/blog/.thumbs/thumbs_up_large_a41147.jpg
●
    http://ianimal.ru/wp-content/uploads/2011/01/skzh-1301.jpg
●
    http://store.picbg.net/pubpic/A7/30/673a359a020ca730.jpg
●
    http://farm3.static.flickr.com/2787/4195840875_d73a99a9c5.jpg
●
    http://phpsec.org/images/phpsc-logo.gif
●
    http://www.pegadasnaareia.com/wp-content/uploads/2010/01/pope-sunday.jpg
●
    http://cdn2.knowyourmeme.com/i/000/100/756/original/Challenge%20Accepted.png
●
    http://www.turkcebilgi.com/uploads/media/resim/largada_stock125_foto_claudio_reis.jpg
●
    http://ibloggr.com/wp-content/uploads/2011/04/questions-answer-sites-like-yahoo-answer.jpg

               PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre

Contenu connexe

Tendances

Ethical hacking: Conceitos básicos de Testes de penetração
Ethical hacking: Conceitos básicos de Testes de penetraçãoEthical hacking: Conceitos básicos de Testes de penetração
Ethical hacking: Conceitos básicos de Testes de penetraçãoCleórbete Santos
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasRafael Jaques
 
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...As Zone
 
PHP Desenvolvimento Seguro
PHP Desenvolvimento SeguroPHP Desenvolvimento Seguro
PHP Desenvolvimento SeguroFlávio Lisboa
 
TDC 2011 - Arquitetura de desfesa contra injeção de SQL
TDC 2011 - Arquitetura de desfesa contra injeção de SQLTDC 2011 - Arquitetura de desfesa contra injeção de SQL
TDC 2011 - Arquitetura de desfesa contra injeção de SQLLuis Asensio
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraKleber Silva
 
O submundo dos hackers: ataques e defesas
O submundo dos hackers: ataques e defesasO submundo dos hackers: ataques e defesas
O submundo dos hackers: ataques e defesasCleórbete Santos
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQuality Press
 
Introdução ao teste de intrusão em redes
Introdução ao teste de intrusão em redesIntrodução ao teste de intrusão em redes
Introdução ao teste de intrusão em redesAlisson Fuckner
 
7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
 7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber 7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
7 Segredos sobre o PenTest e Software Livre que Todos deveriam SaberAlcyon Ferreira de Souza Junior, MSc
 
Segurança (in portuguese)
Segurança (in portuguese)Segurança (in portuguese)
Segurança (in portuguese)Bruno Pedro
 

Tendances (19)

Ethical hacking: Conceitos básicos de Testes de penetração
Ethical hacking: Conceitos básicos de Testes de penetraçãoEthical hacking: Conceitos básicos de Testes de penetração
Ethical hacking: Conceitos básicos de Testes de penetração
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de Balas
 
Pentest Auto-Ensinado
Pentest Auto-EnsinadoPentest Auto-Ensinado
Pentest Auto-Ensinado
 
teste de invasão
teste de invasãoteste de invasão
teste de invasão
 
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
 
Google Hacking e SQL Injection: Tudo junto e misturado!
Google Hacking e SQL Injection: Tudo junto e misturado!Google Hacking e SQL Injection: Tudo junto e misturado!
Google Hacking e SQL Injection: Tudo junto e misturado!
 
PHP Desenvolvimento Seguro
PHP Desenvolvimento SeguroPHP Desenvolvimento Seguro
PHP Desenvolvimento Seguro
 
TDC 2011 - Arquitetura de desfesa contra injeção de SQL
TDC 2011 - Arquitetura de desfesa contra injeção de SQLTDC 2011 - Arquitetura de desfesa contra injeção de SQL
TDC 2011 - Arquitetura de desfesa contra injeção de SQL
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e Segura
 
O submundo dos hackers: ataques e defesas
O submundo dos hackers: ataques e defesasO submundo dos hackers: ataques e defesas
O submundo dos hackers: ataques e defesas
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHP
 
Introdução ao teste de intrusão em redes
Introdução ao teste de intrusão em redesIntrodução ao teste de intrusão em redes
Introdução ao teste de intrusão em redes
 
Invasão e Segurança
Invasão e SegurançaInvasão e Segurança
Invasão e Segurança
 
Ethical Hacking - Campus Party Brasília 2017
Ethical Hacking - Campus Party Brasília 2017Ethical Hacking - Campus Party Brasília 2017
Ethical Hacking - Campus Party Brasília 2017
 
7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
 7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber 7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
 
Aula 9 - Backdoor
Aula 9 - BackdoorAula 9 - Backdoor
Aula 9 - Backdoor
 
Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!
 
Segurança (in portuguese)
Segurança (in portuguese)Segurança (in portuguese)
Segurança (in portuguese)
 

Similaire à PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques

Integridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareIntegridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareMarcus Botacin
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...Thiago Dieb
 
Fórum E-Commerce Brasil | Fraudes e Ataques Adversariais em Sistemas baseados...
Fórum E-Commerce Brasil | Fraudes e Ataques Adversariais em Sistemas baseados...Fórum E-Commerce Brasil | Fraudes e Ataques Adversariais em Sistemas baseados...
Fórum E-Commerce Brasil | Fraudes e Ataques Adversariais em Sistemas baseados...E-Commerce Brasil
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010Marcelo Fleury
 
Take It To The Next Level
Take It To The Next LevelTake It To The Next Level
Take It To The Next LevelGabriel Laet
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador PragmaticoLeonardo Fernandes
 
Backtrack: Solucão open source para pen test
Backtrack: Solucão open source para pen testBacktrack: Solucão open source para pen test
Backtrack: Solucão open source para pen testPaulo Renato Lopes Seixas
 
Simplesmente Python: Por que você não deve deixar de aprender essa linguagem
Simplesmente Python: Por que você não deve deixar de aprender essa linguagemSimplesmente Python: Por que você não deve deixar de aprender essa linguagem
Simplesmente Python: Por que você não deve deixar de aprender essa linguagemEric Hideki
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorLeandro Ferreira
 
Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Michael Douglas
 
Sinfonier, Campus Party Recife 2014
Sinfonier, Campus Party Recife 2014Sinfonier, Campus Party Recife 2014
Sinfonier, Campus Party Recife 2014Leandro Bennaton
 
Programação defensiva
Programação defensivaProgramação defensiva
Programação defensivaKayo Rayner
 
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...Thiago Dieb
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoFlávio Lisboa
 
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um poucoPalestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um poucoAs Zone
 
Facsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um poucoFacsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um poucoThiago Dieb
 
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...Alcyon Ferreira de Souza Junior, MSc
 

Similaire à PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques (20)

Integridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareIntegridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomware
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
 
Fórum E-Commerce Brasil | Fraudes e Ataques Adversariais em Sistemas baseados...
Fórum E-Commerce Brasil | Fraudes e Ataques Adversariais em Sistemas baseados...Fórum E-Commerce Brasil | Fraudes e Ataques Adversariais em Sistemas baseados...
Fórum E-Commerce Brasil | Fraudes e Ataques Adversariais em Sistemas baseados...
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010
 
Take It To The Next Level
Take It To The Next LevelTake It To The Next Level
Take It To The Next Level
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador Pragmatico
 
Backtrack: Solucão open source para pen test
Backtrack: Solucão open source para pen testBacktrack: Solucão open source para pen test
Backtrack: Solucão open source para pen test
 
Simplesmente Python: Por que você não deve deixar de aprender essa linguagem
Simplesmente Python: Por que você não deve deixar de aprender essa linguagemSimplesmente Python: Por que você não deve deixar de aprender essa linguagem
Simplesmente Python: Por que você não deve deixar de aprender essa linguagem
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhor
 
Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Sinfonier, Campus Party Recife 2014
Sinfonier, Campus Party Recife 2014Sinfonier, Campus Party Recife 2014
Sinfonier, Campus Party Recife 2014
 
Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016
 
Programação defensiva
Programação defensivaProgramação defensiva
Programação defensiva
 
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundo
 
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um poucoPalestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
 
Facsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um poucoFacsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um pouco
 
Começando errado com php
Começando errado com phpComeçando errado com php
Começando errado com php
 
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
 

Plus de Rafael Jaques

[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...Rafael Jaques
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
 
Segurança na Era Digital: ensinando novos hábitos aos indivíduos digitais - F...
Segurança na Era Digital: ensinando novos hábitos aos indivíduos digitais - F...Segurança na Era Digital: ensinando novos hábitos aos indivíduos digitais - F...
Segurança na Era Digital: ensinando novos hábitos aos indivíduos digitais - F...Rafael Jaques
 
Utilizando a Internet de Maneira Consciente
Utilizando a Internet de Maneira ConscienteUtilizando a Internet de Maneira Consciente
Utilizando a Internet de Maneira ConscienteRafael Jaques
 
Engenharia Social: A Doce Arte de Hackear Mentes
Engenharia Social: A Doce Arte de Hackear MentesEngenharia Social: A Doce Arte de Hackear Mentes
Engenharia Social: A Doce Arte de Hackear MentesRafael Jaques
 
Engenharia Social: Amiguinhos Virtuais, Ameaças Reais
Engenharia Social: Amiguinhos Virtuais, Ameaças ReaisEngenharia Social: Amiguinhos Virtuais, Ameaças Reais
Engenharia Social: Amiguinhos Virtuais, Ameaças ReaisRafael Jaques
 
Explorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open SourceExplorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open SourceRafael Jaques
 

Plus de Rafael Jaques (7)

[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
 
Segurança na Era Digital: ensinando novos hábitos aos indivíduos digitais - F...
Segurança na Era Digital: ensinando novos hábitos aos indivíduos digitais - F...Segurança na Era Digital: ensinando novos hábitos aos indivíduos digitais - F...
Segurança na Era Digital: ensinando novos hábitos aos indivíduos digitais - F...
 
Utilizando a Internet de Maneira Consciente
Utilizando a Internet de Maneira ConscienteUtilizando a Internet de Maneira Consciente
Utilizando a Internet de Maneira Consciente
 
Engenharia Social: A Doce Arte de Hackear Mentes
Engenharia Social: A Doce Arte de Hackear MentesEngenharia Social: A Doce Arte de Hackear Mentes
Engenharia Social: A Doce Arte de Hackear Mentes
 
Engenharia Social: Amiguinhos Virtuais, Ameaças Reais
Engenharia Social: Amiguinhos Virtuais, Ameaças ReaisEngenharia Social: Amiguinhos Virtuais, Ameaças Reais
Engenharia Social: Amiguinhos Virtuais, Ameaças Reais
 
Explorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open SourceExplorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open Source
 

PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques

  • 1. PHP Sob Ataque: Técnicas de Programação Defensiva Rafael Jaques FISL 12 – Porto Alegre – 01/07/11 “Mas, a todos quantos o receberam, deu-lhes o poder de serem feitos filhos de Deus, aos que crêem no seu nome” (João 1.12)
  • 2. Antes de começar, vou falar sobre o Tchelinux...
  • 3. Data dos eventos em 2011 Bagé 28/05 Bento Gonçalves 13/08 Rio Grande 27/08 Caxias do Sul 24/09 Porto Alegre A definir Santana do Livramento A definir Alegrete A definir Pelotas A definir
  • 4. Essa palestra é uma continuação da realizada no ano passado... http://www.slideshare.net/rafajaques
  • 6. Objetivo ● Ao final dessa palestra, é possível que você saiba alguma dessas coisas: ● Técnicas para evitar o caos ● Técnicas para proteger o seu valoroso usuário ● Uma base sobre engenharia social ● Os riscos que estamos correndo na web ● O porquê de o caos se instalar tão facilmente PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
  • 7. Pauta I. Conceito II. Comofas/ III. Engenharia social IV. Inteligência coletiva x Aplicação V. Protegendo o usuário VI. Onde pedir ajuda VII. Considerações finais VIII. Dúvidas, críticas, sugestões... PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
  • 9. O que é Programação Defensiva, manolo? Conjunto de técnicas de projeto e programação objetivando a estabilidade e a segurança de um software independentemente do imprevisível. O objetivo é reduzir ou eliminar a influência exercida pelas Leis de Murphy sobre a sua aplicação. Essas técnicas começaram a ser desenvolvidas quando sistemas de software passaram a possibilitar efeitos catastróficos. Adaptado da Wikipedia (http://pt.wikipedia.org/wiki/Programa %C3%A7%C3%A3o_defensiva) PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
  • 10. Como saber se estou programando defensivamente?
  • 11. Se uma pessoa (que não você) consegue entender o código que foi criado, já é um bom começo.
  • 12. Se em algum momento você “supor” algo, já é um problema. Nunca subestime o usuário.
  • 13.
  • 14. Lembre-se que o seu código é inseguro. ● Por natureza, seu código será inseguro ● Ao publicá-lo, lembre-se que ele será inseguro ● Ao melhorá-lo, lembre-se que ele é inseguro ● Depois que testá-lo e certificar-se de que ele é seguro, ainda assim será inseguro
  • 16. Código mais simples é melhor!
  • 17. Código complexo é o berço dos bugs!
  • 19. Um erro de cálculo e seus dados estarão expostos!
  • 20. Refatore e reutilize. Um código escrito do zero é muito arriscado!
  • 21. Revise e audite seu código. Mas nomeie outra pessoa pra isso!
  • 22. Trabalho em equipe ajuda a reduzir problemas no código final.
  • 24. Omita as tags de fechamento.
  • 26. Tenha um plano de contingência para o caso de um apocalipse.
  • 28. Evite usar para proteger informações vitais do sistema ● Prefira o Google Webmaster Tools para desindexar algo robots.txt – muito cuidado ao usar!
  • 29. Cuidado com o Havij !
  • 30. Fatores que potencializam a criação de código inseguro
  • 31. Clientes chatos ● Falta de vontade ● Término do estoque de café ● Aproximação do final de tarde ● Véspera de feriado / fim de semana ● Área comercial vendendo produtos imaginários ● Falta de tempo / Prazos Jack Bauer Fonte: Desciclopédia
  • 32. CAPÍTULO III Engenharia Social e a Arte de Invadir Pessoas
  • 33. Não adianta proteger pelo lado de fora se o ataque vem de dentro.
  • 34. Seres humanos tendem a ser bonzinhos com o semelhante.
  • 35. Engenheiros sociais se aproveitam da ingenuidade das pessoas.
  • 36. Treine seu usuário! Assim ele não compartilha informações.
  • 37. CAPÍTULO IV Inteligência Coletiva, Semi-celebridades e Ameaças Reais
  • 38. É mais ou menos o que eu falei no ano passado sobre o fato de dizer que a sua aplicação é 100% segura...
  • 39. Ataque de Negação de Serviço!
  • 40.
  • 41. Desafio aceito: derrubar um site durante o Fórum de Segurança Web!
  • 42.
  • 43.
  • 44.
  • 45.
  • 46. Cases de Ataque ao Usuário
  • 48. Scam!
  • 49. CAPÍTULO V Protegendo o Precioso Anel do Seu Usuário
  • 50. Monitore o IP e o Referer do seu usuário. IP $_SERVER['REMOTE_ADDR'] Referer $_SERVER['HTTP_REFERER']
  • 51. Alerte-o sobre os tais Phishing e Scam!
  • 54. Mantenha seu usuário seguro e mostre que tudo é para o seu bem!
  • 55. CAPÍTULO VI OMG! TODOS SÃO INIMIGOS? ONDE VOU ME PROTEGER?
  • 56. Nem todos são inimigos... Conheça alguns amiguinhos que vão ajudar no caminho.
  • 57.
  • 58.
  • 59. Tá... Respira um pouco...
  • 60.
  • 61.
  • 62.
  • 63.
  • 65. PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
  • 66. Obrigado Rafael Jaques phpit.com.br rafa@php.net @rafajaques PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
  • 67. Fontes Consultadas ● http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_defe ● http://www.slideshare.net/gscheibel/programao-defensiva ● http://jmmwrite.wordpress.com/tag/programacao-defensiva/ ● http://www.ibm.com/developerworks/br/library/os-php-5goodh ● http://www.wellho.net/mouth/1694_Defensive-coding-techniq ● http://en.wikipedia.org/wiki/Defensive_programming ● http://www.phpclasses.org/blog/post/65-8-defensive-programm ● http://www.phpclasses.org/blog/post/66-More-defensive-prog ● http://www.slideshare.net/ergalvao/php-e-segurana-uma-unio- ● http://www.slideshare.net/ergalvao/implementando-segurana- PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
  • 68. Imagens Utilizadas ● http://www.franklinparishlibrary.org/MPj04276860000%5B1%5D.jpg ● http://3.bp.blogspot.com/-NaQ_9mCf3iY/TZJ0TmC7T3I/AAAAAAAAPBk/4Lw2Nm5OMwE/s1600/justice_league.jpg ● http://i.zdnet.com/blogs/SysCallApache.jpg ● http://www.cubefx.com/smart/4smarts.jpg ● http://i82.photobucket.com/albums/j279/shagg187/2783768632_beeb811d33_b.jpg ● http://www.ghsadvisors.com/defense.jpg ● http://usarmy.vo.llnwd.net/e2/-images/2008/01/17/12167/army.mil-2008-01-17-100832.jpg ● http://0.tqn.com/d/architecture/1/0/b/p/Building7.jpg ● http://lp1.pinkbike.org/p4pb6276309/p4pb6276309.jpg ● http://www.softsia.com/screenshots/Matrix-Mania_w42z.jpg ● http://www.flash-screen.com/free-wallpaper/uploads/201103/imgs/1300345654_1500x1147_atomic-bomb-blast-picture.jpg ● http://i239.photobucket.com/albums/ff58/fefferVT/P1000189.jpg ● http://vidadesuporte.com.br/wp-content/uploads/2011/06/Suporte_223.jpg ● http://api.ning.com/files/TNumCAL*-NlKkCiEYKnhdWLjtJUGLoc5s2gJ9fSLSVKWaLqjm56vsJK5Hof76WuEYlSYa1NxH4OLDA6zW232qpuZ*tkDHa- Z/IMG_1557.JPG ● http://www.keepeanesinformed.com/j0408985%5B1%5D.jpg ● http://blog.garagepunknyc.com/wp-content/uploads/2011/05/the-four-horsemen-of-the-apocalypse2.jpg ● http://uhaweb.hartford.edu/CASS/Marvin.jpg ● http://s47.radikal.ru/i118/1103/59/4e5b69cc8253.jpg ● http://paulsonmanagementgroup.com/media/pmg/hansel%20and%20gretel[rz].jpg ● http://crazy-frankenstein.com/free-wallpapers-files/tropical-wallpapers-files/tropical-wallpapers-beautiful-coast-palm.jpg ● http://crazy-frankenstein.com/free-wallpapers-files/tropical-wallpapers-files/tropical-wallpapers-beautiful-see-and-island.jpg ● http://www.deshow.net/d/file/travel/2009-06/us-landscape-579-2.jpg ● http://xemanhdep.com/gallery/beautiful-landscape/beautiful-landscape17.jpg ● http://images2.wikia.nocookie.net/__cb20100821003145/nonsensopedia/images/6/61/%C5%81%C4%85ka.jpg PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
  • 69. Imagens Utilizadas ● http://3.bp.blogspot.com/_V6QzDsYDdYE/TK6EMYCLE5I/AAAAAAAAO_E/9B5YAhyAU4E/s1600/vader.jpg ● http://www.vecernji.ba/data/slika/39/191271.jpg ● http://aharonideas.files.wordpress.com/2009/05/team-work.jpg ● http://img.vivaolinux.com.br/imagens/artigos/comunidade/backup-plan.jpg ● http://www.portalnerd.com.br/wp-content/uploads/2010/03/godzilla-grande.jpg ● http://games.holyfile.com/upload/screenshot175-5.jpg ● http://4.bp.blogspot.com/-sbtYCenbSyU/Td3J9YXptGI/AAAAAAAAAAg/C29k4W4u8ZQ/s640/cute+babies+hugging-+photoforu.blogspot.com.jpg ● http://images.inmagine.com/img/inspirestock/ispi003/isp0803261.jpg ● http://kimartialartsusa.com/Susan%27s%20best%20kick%20pic%205-9-09.JPG ● http://96.9.22.103/wp-content/uploads/2011/02/iStock_000006411427Medium.jpg ● http://www.bbc.co.uk/kent/content/images/2008/05/11/queue_470x355.jpg ● http://groundmart.net/wp-content/uploads/2010/07/ased.jpg ● http://blogs.shave.com/azor/bigstockphoto_man_shouting_through_megaphone_2233138.jpg ● http://contigo.abril.com.br/blog/passione-novela/files/2010/06/passione-berilo-5501.jpg ● http://www.psdgraphics.com/file/https.jpg ● http://hope.lightgivesheat.org/uploads/blog/.thumbs/thumbs_up_large_a41147.jpg ● http://ianimal.ru/wp-content/uploads/2011/01/skzh-1301.jpg ● http://store.picbg.net/pubpic/A7/30/673a359a020ca730.jpg ● http://farm3.static.flickr.com/2787/4195840875_d73a99a9c5.jpg ● http://phpsec.org/images/phpsc-logo.gif ● http://www.pegadasnaareia.com/wp-content/uploads/2010/01/pope-sunday.jpg ● http://cdn2.knowyourmeme.com/i/000/100/756/original/Challenge%20Accepted.png ● http://www.turkcebilgi.com/uploads/media/resim/largada_stock125_foto_claudio_reis.jpg ● http://ibloggr.com/wp-content/uploads/2011/04/questions-answer-sites-like-yahoo-answer.jpg PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre