Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Segurança em aplicações web:Segurança em aplicações web:
pequenas ideias, grandes resultadospequenas ideias, grandes resul...
Sobre o professor
Formação acadêmica:
 Bacharel em Sistemas de Informação (URCAMP, 2010)
TCC: Web sistema integrado a uma...
Sobre o professor
Formação acadêmica:
 Mestrando em Engenharia de Computação (FURG, 2016)
Linha de pesquisa: Bioinformáti...
Sobre o professor
Antes da UNIPAMPA:
 Programador Web e DBA
Local: Prefeitura Municipal de Bagé
 Professor das disciplin...
Sobre o professor
Atualmente:
 Professor da disciplina de Algoritmos e Programação
Turmas: Engenharia de Computação, Enge...
Esta palestra é sobre...
Segurança em aplicações web.
 Boas práticas de programação.
 Erros comuns.
 Tipos de ataques.
...
Esta palestra NÃO é sobre...
Segurança em servidores.
 Configuração de servidores.
 Firewalls.
 DNS, FTP, SSH, HTTPS.
...
The beginning...
Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
The beginning
Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
Introdução
Atualmente as vulnerabilidades nas aplicações web são o maior
vetor para os ataques contra a segurança de TI.
...
Introdução
Porque segurança em aplicações é prioridade?
 75% dos ataques acontecem na camada da aplicação (Gartner)
 90%...
Introdução
Porque segurança em aplicações é prioridade?
 75% dos ataques acontecem na camada da aplicação (Gartner)
 90%...
Introdução
Principais causas das vulnerabilidades:
 Imaturidade em segurança
 Desenvolvimento in-house
 Restrições de r...
Introdução
Por que o PHP?
 Facilidade, rapidez, versatilidade, etc.
 Ampla documentação e cases de sucesso.
 Acabou se ...
Aplicações web
Como funcionam as aplicações web?
Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Al...
Aplicações Web
Como funcionam as aplicações web?
Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Al...
Vamos à prática...
Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
Tipos de ataque
Nesta palestra serão abordadas as principais ameaças a
aplicações web, dentre elas:
 Cross-Site Scripting...
Cross-Site Scripting (XSS)
O atacante normalmente explorará essa falha inserindo tags e
código Javascript no seu HTML.
 T...
Cross-Site Scripting (XSS)
O atacante normalmente explorará essa falha inserindo tags e
código Javascript no seu HTML.
 T...
Cross-Site Scripting (XSS)
Para se proteger, basta:
 Filtrar a entrada
strip_tags: Retira as tags HTML e PHP de uma strin...
Cross-Site Scripting (XSS)
Demonstração: XSS
Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex C...
Cross-Site Request Forgery (CSRF)
Como o nome diz, consiste em tentar forjar uma requisição de
um site para outro. O ataqu...
Cross-Site Request Forgery (CSRF)
Como o nome diz, consiste em tentar forjar uma requisição de
um site para outro. O ataqu...
Cross-Site Request Forgery (CSRF)
Como se defender do CSRF?
 O método GET deve ser utilizado apenas para consultas
Exibiç...
Cross-Site Request Forgery (CSRF)
Demonstração: CSRF
Segurança em aplicações web: pequenas ideias, grandes resultados Prof...
SQL Injection
Entre as vulnerabilidades citadas, o SQL Injection é uma das
mais destrutivas, tanto para a aplicação quanto...
SQL Injection
Entre as vulnerabilidades citadas, o SQL Injection é uma das
mais destrutivas, tanto para a aplicação quanto...
SQL Injection
Felizmente, é muito fácil se proteger contra esse tipo de ataque.
 Basta escapar os dados enviados nas quer...
SQL Injection
Demonstração: SQL Injection
Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Cama...
Boas práticas em PHP
 URLs seguras e amigáveis.
 Senhas criptografadas.
 Monitore os erros de senha.
Segurança em aplic...
Considerações finais
 Crie o hábito de programar de forma segura.
 Toda entrada deve ser filtrada e toda saída deve ser ...
Referências
PROBLEMAS COMUNS DE SEGURANÇA EM APLICAÇÕES WEB
http://klauslaube.com.br/2012/04/15/problemas-de-seguranca-em-...
Fim
Agradeço a atenção de todos.
Dúvidas, críticas ou sugestões?
Segurança em aplicações web: pequenas ideias, grandes res...
Upcoming SlideShare
Loading in …5
×

Segurança em aplicações web: pequenas ideias, grandes resultados

564 views

Published on

Segurança em aplicações web:
pequenas ideias, grandes resultados

Published in: Software
  • Be the first to comment

  • Be the first to like this

Segurança em aplicações web: pequenas ideias, grandes resultados

  1. 1. Segurança em aplicações web:Segurança em aplicações web: pequenas ideias, grandes resultadospequenas ideias, grandes resultados Prof. Alex Camargo alexcamargoweb@gmail.com UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ENGENHARIA DE COMPUTAÇÃO
  2. 2. Sobre o professor Formação acadêmica:  Bacharel em Sistemas de Informação (URCAMP, 2010) TCC: Web sistema integrado a uma rede social para academias de ginástica. Orientador: Prof. Me. Abner Guedes  Especialista em Sistemas Distribuídos com Ênfase em Banco de Dados (UNIPAMPA, 2013) TCC: Interligando bases de dados do sistema Controle de Marcas e Sinais utilizando o MySQL Cluster. Orientadores: Prof. Me. Érico Amaral e Prof. Me. Rafael Bastos Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  3. 3. Sobre o professor Formação acadêmica:  Mestrando em Engenharia de Computação (FURG, 2016) Linha de pesquisa: Bioinformática. Orientador: Ainda não definido Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  4. 4. Sobre o professor Antes da UNIPAMPA:  Programador Web e DBA Local: Prefeitura Municipal de Bagé  Professor das disciplinas de Banco de Dados e Análise de Sistemas Local: Capacitar Escola Técnica Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  5. 5. Sobre o professor Atualmente:  Professor da disciplina de Algoritmos e Programação Turmas: Engenharia de Computação, Engenharia de Alimentos, Engenharia de Energias Renováveis e Ambiente, Engenharia Química e Licenciatura em Física  Professor da disciplina de Laboratório de Programação II Turma: Engenharia de Computação Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  6. 6. Esta palestra é sobre... Segurança em aplicações web.  Boas práticas de programação.  Erros comuns.  Tipos de ataques.  Foco na implementação com PHP e MySQL Pode ser aplicado para outras linguagens e bancos de dados. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  7. 7. Esta palestra NÃO é sobre... Segurança em servidores.  Configuração de servidores.  Firewalls.  DNS, FTP, SSH, HTTPS.  DoS, IP spoofing, phishing. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  8. 8. The beginning... Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  9. 9. The beginning Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  10. 10. Introdução Atualmente as vulnerabilidades nas aplicações web são o maior vetor para os ataques contra a segurança de TI.  Falhas ou em erros de programação nas linguagens usadas para aplicações web (Java, .NET, PHP, Python, Perl, Ruby, etc).  Tais vulnerabilidades podem ser complexas e se manifestarem em muitas situações diferentes. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  11. 11. Introdução Porque segurança em aplicações é prioridade?  75% dos ataques acontecem na camada da aplicação (Gartner)  90% dos sites são vulneráveis à ataques (Watchfire)  78% das vulnerabilidades facilmente exploráveis afetam aplicações web (Symantec) Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  12. 12. Introdução Porque segurança em aplicações é prioridade?  75% dos ataques acontecem na camada da aplicação (Gartner)  90% dos sites são vulneráveis à ataques (Watchfire)  78% das vulnerabilidades facilmente exploráveis afetam aplicações web (Symantec) Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo Fonte: (Gartner, 2008)
  13. 13. Introdução Principais causas das vulnerabilidades:  Imaturidade em segurança  Desenvolvimento in-house  Restrições de recursos e tempo Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  14. 14. Introdução Por que o PHP?  Facilidade, rapidez, versatilidade, etc.  Ampla documentação e cases de sucesso.  Acabou se tornando a linguagem server-side mais utilizada na web. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  15. 15. Aplicações web Como funcionam as aplicações web? Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  16. 16. Aplicações Web Como funcionam as aplicações web? Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  17. 17. Vamos à prática... Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  18. 18. Tipos de ataque Nesta palestra serão abordadas as principais ameaças a aplicações web, dentre elas:  Cross-Site Scripting (XSS)  Cross-Site Request Forgery (CSRF)  SQL Injection  Outras vulnerabilidades... Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  19. 19. Cross-Site Scripting (XSS) O atacante normalmente explorará essa falha inserindo tags e código Javascript no seu HTML.  Tags <iframe> chamando páginas maliciosas  Código js para ler os cookies do usuário  Código js para alterar as informações do site (defacement) Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  20. 20. Cross-Site Scripting (XSS) O atacante normalmente explorará essa falha inserindo tags e código Javascript no seu HTML.  Tags <iframe> chamando páginas maliciosas  Código js para ler os cookies do usuário  Código js para alterar as informações do site (defacement) Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  21. 21. Cross-Site Scripting (XSS) Para se proteger, basta:  Filtrar a entrada strip_tags: Retira as tags HTML e PHP de uma string.  Escapar a saída htmlespecialchars: Exibe as tags HTML sem interpretá-las. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  22. 22. Cross-Site Scripting (XSS) Demonstração: XSS Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  23. 23. Cross-Site Request Forgery (CSRF) Como o nome diz, consiste em tentar forjar uma requisição de um site para outro. O ataque pode ser feito da seguinte forma:  Você recebe um e-mail com uma URL oculta, geralmente algum e-mail do tipo "Veja as nossas fotos".  Esta URL executa alguma ação em uma aplicação que você esteja autenticado no momento (por exemplo, o Facebook).  Esta ação pode dar poderes ao atacante para remover os seus dados (ou do seu cliente) permanentemente. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  24. 24. Cross-Site Request Forgery (CSRF) Como o nome diz, consiste em tentar forjar uma requisição de um site para outro. O ataque pode ser feito da seguinte forma:  Você recebe um e-mail com uma URL oculta, geralmente algum e-mail do tipo "Veja as nossas fotos".  Esta URL executa alguma ação em uma aplicação que você esteja autenticado no momento (por exemplo, o Facebook).  Esta ação pode dar poderes ao atacante para remover os seus dados (ou do seu cliente) permanentemente. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  25. 25. Cross-Site Request Forgery (CSRF) Como se defender do CSRF?  O método GET deve ser utilizado apenas para consultas Exibição de páginas, listagens, pesquisas.  O método POST deve ser utilizado para as operações Cadastros, atualização, exclusão, autenticação.  Utilizar tokens na sessão Gerados de forma aleatória e comparados ao receber a sessão. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  26. 26. Cross-Site Request Forgery (CSRF) Demonstração: CSRF Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  27. 27. SQL Injection Entre as vulnerabilidades citadas, o SQL Injection é uma das mais destrutivas, tanto para a aplicação quanto para os seus usuários.  Entrada do usuário inserida em comandos SQL.  Informação maliciosa fornecida pelo atacante engana o interpretador.  Uma exploração da injeção de SQL bem sucedida pode ler/alterar/excluir dados sigilosos do banco de dados. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  28. 28. SQL Injection Entre as vulnerabilidades citadas, o SQL Injection é uma das mais destrutivas, tanto para a aplicação quanto para os seus usuários.  Entrada do usuário inserida em comandos SQL.  Informação maliciosa fornecida pelo atacante engana o interpretador.  Uma exploração da injeção de SQL bem sucedida pode ler/alterar/excluir dados sigilosos do banco de dados. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  29. 29. SQL Injection Felizmente, é muito fácil se proteger contra esse tipo de ataque.  Basta escapar os dados enviados nas queries mysql_escape_string: Escapa uma string para usar em uma consulta MySQL. addslashes: Adiciona barras invertidas a uma string. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  30. 30. SQL Injection Demonstração: SQL Injection Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  31. 31. Boas práticas em PHP  URLs seguras e amigáveis.  Senhas criptografadas.  Monitore os erros de senha. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  32. 32. Considerações finais  Crie o hábito de programar de forma segura.  Toda entrada deve ser filtrada e toda saída deve ser escapada.  Visualize as brechas e implemente soluções simples para elas.  Esteja atualizado. Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  33. 33. Referências PROBLEMAS COMUNS DE SEGURANÇA EM APLICAÇÕES WEB http://klauslaube.com.br/2012/04/15/problemas-de-seguranca-em-aplicacoes-web.html MANUAL DO PHP http://php.net/ (IN)SEGURANÇA EM APLICAÇÕES WEB http://www.detaileventos.com.br/ibm_dc2008/download/(In)Seguranca%20em%20Aplicacoes %20Web.pdf SEGURANÇA PARA APLICAÇÕES WEB http://www.siteblindado.com/pt/pags/view/files/WhitePaper+QualysGuard+Vulnerability+Web+Applic ations.pdf SEGURANÇA EM APLICAÇÕES WEB COM PHP http://pt.slideshare.net/gedvan/segurana-em-aplicaes-web-com-php-8676135 SEGURANÇA EM PHP - BLINDE SEU CÓDIGO DE VOCÊ MESMO! http://pt.slideshare.net/gustavonevesgn/segurana-em-php-blinde-seu-cdigo-de-voc-mesmo WEB HACKING: ATAQUES E VULNERABILIDADES EM APLICAÇÕES WEB http://blog.corujadeti.com.br/web-hacking-ataques-e-vulnerabilidades-em-aplicacoes-web/ Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo
  34. 34. Fim Agradeço a atenção de todos. Dúvidas, críticas ou sugestões? Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo alexcamargoweb@gmail.com

×