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

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

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

Palestra apresentada por Rafael Jaques no FISL 12 [Porto Alegre] em 01/07/2011.

É comum encontrar desenvolvedores desatentos deixando brechas que, por mais simples que sejam, podem gerar situações desagradáveis. O foco da palestra não é apenas prevenção de ataques contra a aplicação. Também são abordados ataques contra o seu usuário, modalidade que vem crescendo. Esta palestra tenta reunir cuidados que devem ser tomados na hora de desenvolver uma aplicação web.

Rafa Jaques

July 01, 2011
Tweet

More Decks by Rafa Jaques

Other Decks in Technology

Transcript

  1. PHP Sob Ataque: Técnicas de Programação Defensiva Rafael Jaques Rafael

    Jaques FISL 12 – Porto Alegre – 01/07/11 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. 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
  3. PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques

    – FISL 12 Porto Alegre Objetivo 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
  4. PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques

    – FISL 12 Porto Alegre Pauta 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...
  5. PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques

    – FISL 12 Porto Alegre O que é Programação Defensiva, O que é Programação Defensiva, manolo? 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)
  6. Se uma pessoa (que não você) consegue entender o código

    que foi criado, já é um bom começo.
  7. Se em algum momento você “supor” algo, já é um

    problema. Nunca subestime o usuário.
  8. 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
  9. robots.txt – muito cuidado ao usar! • Evite usar para

    proteger informações vitais do sistema • Prefira o Google Webmaster Tools para desindexar algo
  10. • 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
  11. É mais ou menos o que eu falei no ano

    passado sobre o fato de dizer que a sua aplicação é 100% segura...
  12. Monitore o IP e o Referer do seu usuário. IP

    $_SERVER['REMOTE_ADDR'] Referer $_SERVER['HTTP_REFERER']
  13. PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques

    – FISL 12 Porto Alegre Obrigado Obrigado Rafael Jaques phpit.com.br [email protected] @rafajaques
  14. PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques

    – FISL 12 Porto Alegre Fontes Consultadas 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-
  15. PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques

    – FISL 12 Porto Alegre Imagens Utilizadas 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
  16. PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques

    – FISL 12 Porto Alegre Imagens Utilizadas 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