PHP Sob Ataque:  Técnicas de Programação         Defensiva                        Rafael Jaques              FISL 12 – Por...
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    Caxi...
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 ...
PautaI. ConceitoII. Comofas/III. Engenharia socialIV. Inteligência coletiva x AplicaçãoV. Protegendo o usuárioVI. Onde ped...
CAPÍTULO I Conceito
O que é Programação Defensiva,manolo?    Conjunto de técnicas de projeto e programaçãoobjetivando a estabilidade e a segur...
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 ...
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ódigoescrito 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 ...
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 ...
CAPÍTULO III Engenharia Social e aArte de Invadir Pessoas
Não adianta proteger pelo lado de fora se o ataque vem de dentro.
Seres humanos tendem a serbonzinhos com o semelhante.
Engenheiros sociais se aproveitam  da ingenuidade das pessoas.
Treine seu usuário! Assim ele não    compartilha informações.
CAPÍTULO IVInteligê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 sitedurante o Fórum de Segurança Web!
Cases de Ataque ao Usuário
Phishing!
Scam!
CAPÍTULO VProtegendo 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 emostre que tudo é para o seu bem!
CAPÍTULO VIOMG! 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 VIIConsiderações finais
PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
Obrigado                           Rafael Jaques                            phpit.com.br                           rafa@ph...
Fontes Consultadas●   http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_defe●   http://www.slideshare.net/gscheibel/progr...
Imagens Utilizadas●    http://www.franklinparishlibrary.org/MPj04276860000%5B1%5D.jpg●    http://3.bp.blogspot.com/-NaQ_9m...
Imagens Utilizadas●    http://3.bp.blogspot.com/_V6QzDsYDdYE/TK6EMYCLE5I/AAAAAAAAO_E/9B5YAhyAU4E/s1600/vader.jpg●    http:...
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
PHP Sob Ataque - Técnicas de Programação Defensiva - FISL 12 - Rafael Jaques
Próximos SlideShares
Carregando em…5
×

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

15.817 visualizações

Publicada em

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

A apresentação visa mostrar ao desenvolvedor que o foco dos crackers não é mais a aplicação e sim os usuários da mesma.

Fornece um bom panorama, fala um pouco sobre engenharia social e técnicas para evitar o caos.

Publicada em: Tecnologia
0 comentários
7 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
15.817
No SlideShare
0
A partir de incorporações
0
Número de incorporações
11.534
Ações
Compartilhamentos
0
Downloads
123
Comentários
0
Gostaram
7
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

  1. 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. 2. Antes de começar, vou falar sobre o Tchelinux...
  3. 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 definirSantana do Livramento A definir Alegrete A definir Pelotas A definir
  4. 4. Essa palestra é uma continuação da realizada no ano passado...http://www.slideshare.net/rafajaques
  5. 5. Então vamos lá!
  6. 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. 7. PautaI. ConceitoII. Comofas/III. Engenharia socialIV. Inteligência coletiva x AplicaçãoV. Protegendo o usuárioVI. Onde pedir ajudaVII. Considerações finaisVIII. Dúvidas, críticas, sugestões... PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
  8. 8. CAPÍTULO I Conceito
  9. 9. O que é Programação Defensiva,manolo? Conjunto de técnicas de projeto e programaçãoobjetivando 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. 10. Como saber se estou programando defensivamente?
  11. 11. Se uma pessoa (que não você)consegue entender o código que foi criado, já é um bom começo.
  12. 12. Se em algum momento você “supor” algo, já é um problema. Nunca subestime o usuário.
  13. 13. 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
  14. 14. CAPÍTULO II Comofas/
  15. 15. Código mais simples é melhor!
  16. 16. Código complexo é o berço dos bugs!
  17. 17. Evite colocar arquivos na raiz.
  18. 18. Um erro de cálculo e seus dados estarão expostos!
  19. 19. Refatore e reutilize. Um códigoescrito do zero é muito arriscado!
  20. 20. Revise e audite seu código.Mas nomeie outra pessoa pra isso!
  21. 21. Trabalho em equipe ajuda a reduzir problemas no código final.
  22. 22. Estude sobre Canonicalization.
  23. 23. Omita as tags de fechamento.
  24. 24. Esteja preparado para o pior.
  25. 25. Tenha um plano de contingência para o caso de um apocalipse.
  26. 26. Backup!
  27. 27. ● Evite usar para proteger informações vitais do sistema ● Prefira o Google Webmaster Tools para desindexar algorobots.txt – muito cuidado ao usar!
  28. 28. Cuidado com o Havij !
  29. 29. Fatores que potencializam a criação de código inseguro
  30. 30. ● 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
  31. 31. CAPÍTULO III Engenharia Social e aArte de Invadir Pessoas
  32. 32. Não adianta proteger pelo lado de fora se o ataque vem de dentro.
  33. 33. Seres humanos tendem a serbonzinhos com o semelhante.
  34. 34. Engenheiros sociais se aproveitam da ingenuidade das pessoas.
  35. 35. Treine seu usuário! Assim ele não compartilha informações.
  36. 36. CAPÍTULO IVInteligência Coletiva, Semi-celebridades e Ameaças Reais
  37. 37. É mais ou menos o que eu falei no ano passado sobre o fato de dizer que a sua aplicação é 100% segura...
  38. 38. Ataque de Negação de Serviço!
  39. 39. Desafio aceito: derrubar um sitedurante o Fórum de Segurança Web!
  40. 40. Cases de Ataque ao Usuário
  41. 41. Phishing!
  42. 42. Scam!
  43. 43. CAPÍTULO VProtegendo o Precioso Anel do Seu Usuário
  44. 44. Monitore o IP e o Referer do seu usuário. IP $_SERVER[REMOTE_ADDR] Referer $_SERVER[HTTP_REFERER]
  45. 45. Alerte-o sobre os tais Phishing e Scam!
  46. 46. Utilize timeouts
  47. 47. HTTPS na veia!
  48. 48. Mantenha seu usuário seguro emostre que tudo é para o seu bem!
  49. 49. CAPÍTULO VIOMG! TODOS SÃO INIMIGOS? ONDE VOU ME PROTEGER?
  50. 50. Nem todos são inimigos...Conheça alguns amiguinhos que vão ajudar no caminho.
  51. 51. Tá... Respira um pouco...
  52. 52. CAPÍTULO VIIConsiderações finais
  53. 53. PHP Sob Ataque: Técnicas de Programação Defensiva – Rafael Jaques – FISL 12 Porto Alegre
  54. 54. 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
  55. 55. 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
  56. 56. 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
  57. 57. 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

×