SlideShare a Scribd company logo
1 of 22
Cleyton Tsukuda Kano – RM 43443
Danilo Luiz Favacho Lopes – RM 43050
Décio Vicente Castaldi – RM 43052
Paulo Kuester Neto – RM 42987
MBA em Gestão de Segurança da Informação
19º SEG
São Paulo, Março de 2013
 Introdução
 O Problema
 Objetivo
 Ambiente utilizado
 Projeto WebGoat
 OWASP
 WebGoat
 Didática
 Colocando em prática
 Resumo das lições
 Vídeo
 Conclusão
 Bibliografia
Sumário
 Mundo dependente tecnologicamente
 Popularização numa velocidade
evolutiva nunca antes experimentada
 Serviços vitais conectados:
 Energia
 Transportes
 Alimentos
 Sistemas financeiros
 etc
Introdução – O Problema
 ... E tudo isso gerou elevação dos riscos
 Empresas devem ter preocupação e um plano
estruturado que leve em conta a segurança da
informação
 Antes era privilégio ou motivo de preocupação
para de organizações militares, governos ou
grandes conglomerados empresariais
 Hoje é parte do modelo de médias e pequenas
empresas
 Ernst & Young mostra que 55% das empresas
elevarão seus investimentos com segurança da
informação
 Para muitas empresas a segurança da informação
não é visualizada como estratégica, nem como um
investimento para o negócio e sim como um custo
a mais na planilha financeira
Introdução – O Problema
Introdução – O Problema
SQL Injection no banco de currículos das
organizações C.E.S.A.R e Pitang – Agile IT
Fonte: (RODRIGUES, 2011)
Demonstrar de uma maneira geral e tomando como exemplo algumas das lições
presentes na estudar a ferramenta web denominada de WebGoat (versão padrão, não
sendo a versão de desenvolvedor), algumas das teorias discutidas na disciplina - gestão
de ameaças e vulnerabilidades, explorando, além dos ensinamentos introdutórios
apresentados pelo tópico da lição geral da ferramenta, as primeiras três lições de
segurança da informação para aplicações web e a lição desafio.
Dessa forma serão trabalhadas no total as seguintes cinco lições:
 Lição Geral (HTML basics e HTML splitting);
 Falhas no controle de acesso;
 Segurança no AJAX;
 Falhas de autenticação;
 Lição Desafio.
Introdução - Objetivo
 Sistema operacional Linux Ubuntu 10.10
 Java Development Kit (JDK) 1.7.0.11
 Apache Tomcat 7.0.35
 WebGoat 5.4 Standard
 WebScarab Lite v20070504-1631
 Web-browser Mozilla Firefox 3.6.10 com Add-ons:
 Tamper Data 11.0.1
 Firebug 1.7.3
Introdução - Ambiente utilizado
 Sistema operacional Linux Ubuntu 10.10
 Java Development Kit (JDK) 1.7.0.11
 Apache Tomcat 7.0.35
 WebGoat 5.4 Standard
 WebScarab Lite v20070504-1631
 Web-browser Mozilla Firefox 3.6.10 com Add-ons:
 Tamper Data 11.0.1
 Firebug 1.7.3
Introdução - Ambiente utilizado
 Ano de surgimento: 2001
 Não possui associação com empresas ou serviços ditos comerciais
 Fóruns, aplicativos e documentos são abertos ao público
 Missão: promover o desenvolvimento seguro de aplicações e serviços de internet
 Conferências
 Artigos
 Projetos
Projeto WebGoat - OWASP
 Aplicação web desenvolvida pela OWASP
 Ambiente de aplicação web de aprendizado
 Construída sob a linguagem de programação Java na plataforma J2EE
 Concebida propositalmente para ser insegura
 Contém falhas
 Ensinar lições de segurança em aplicações web
 Verificar diversos tipos de vulnerabilidades existentes
 Origem do nome: alguém para culpar (scape-goat)
 Navegação através de lições em diferentes níveis
 A ideia não é sair verificando vulnerabilidades em aplicações de outrem sem a
devida permissão
 Pretensão futura de servir de Honeypot
Projeto WebGoat - WebGoat
 Fundamental para:
 Evitar que estas mesmas vulnerabilidades estejam presentes
 Aprender a anatomia de ataques podem se valer de uma melhor prática de programação
 Incluir a segurança da informação seja incluída em todo o ciclo de desenvolvimento de aplicações e serviços
que são disponibilizados
 Minimizar falhas e riscos desnecessários
 Não se encontra hospedado em um servidor de internet
 Necessidade de instalar em um ambiente de trabalho
 Pré requisitos:
 JVM
 Servidor Apache Tomcat
 SOs compatíveis:
 Linux
 OSX Tiger
 Windows
Projeto WebGoat - WebGoat
 Baseada em ensinamentos sobre segurança em aplicações web
 Cada uma das lições dá uma visão geral sobre a vulnerabilidade que está sendo
trabalhada e contém problemas, tais como:
 Cross-site Scripting (XSS);
 Falhas no controle de acesso (cross site request forgery (CSRF), acesso remoto de administrador, etc.);
 Falhas de autenticação e gerência de sessões (roubo de seção, spoof em cookie de autenticação, etc.);
 Manipulação de campos ocultos/parâmetros;
 Falhas de injeção (SQL Injection; Log spoofing, XPath injection, etc.);
 Falhas em Web Services (web service SQL/SAX injection, WSDL scanning, etc.);
 Vulnerabilidades no código (pistas e comentários no HTML);
 Buffer overflows;
 Segurança no AJAX (DOM/XML/JSON injection, etc.);
 Lição desafio, cujo objetivo é quebrar a autenticação, roubar os dados de cartão de crédito e desfigurar o
site, mais conhecido como deface.
Projeto WebGoat - Didática
 A análise das lições envolvem basicamente:
 análise do conteúdo no lado cliente (client side)
 código fonte em HTML
 scripts
 comunicação entre o cliente o servidor
 cookies
 dados locais
Projeto WebGoat - Didática
 Lição Geral (HTML basics e HTML splitting)
Colocando em prática – Resumo das lições
Familiarizar-se com alguns
campos de sessão do HTTP,
cookies e códigos
Possibilidade de inserir determinados
caracteres, variáveis ou códigos em
determinados campos que podem
levar a um comportamento não
previsto inicialmente pela aplicação
 Falhas no controle de acesso
Colocando em prática – Resumo das lições
Obtenção de acesso a arquivos
indevidamente
Acesso a ações privilegiadas, para
usuários sem privilégio
Acesso indevido das informações de
perfil de outro usuário
 Segurança no AJAX
Colocando em prática – Resumo das lições
Possibilidade de inserir
determinados códigos
javascript em determinados
campos que podem levar a um
comportamento não previsto
inicialmente pela aplicação
Demonstrar os perigos em comportamentos AJAX
ao enviar informações desnecessárias e que,
supostamente, o usuário não deveria visualizar
 Falhas de autenticação
Colocando em prática – Resumo das lições
Verificar a força das senhas fornecidas,
analisando o grau de complexidade e o
tempo necessário para quebra-las
Descoberta de senha através de
dicas de senha
Realizar acesso com um usuário e
realizar ações com outro usuário
 Lição Desafio
Colocando em prática – Resumo das lições
Burlar o método de autenticação
Descobrir todos os cartões de
créditos registrados no banco de
dados do sistema
Desfigurar a página
Colocando em prática – Vídeo
DEMO!
 Cumpre sua função de aplicação web de aprendizado
 Ilustrando as falhas de segurança de uma forma bem estruturada
 Dividida em tópicos por tipos de vulnerabilidades, através das lições
 Boa forma para desenvolvedores, testadores de software e estudantes de
segurança da informação para se aprimorarem
 Vale a pena lembrar que o objetivo da aplicação não é sair por ai procurando por
vulnerabilidades nas aplicações de outrem sem a devida permissão.
 Como a própria aplicação sugere que a pessoa que utilizar estas técnicas para
realizar ataques, esta poderá ser pega e/ou demitida por este ato.
 Portanto, deve-se utilizar este aprendizado na melhor forma possível e na
legalidade.
Conclusão
Bibliografia
APACHE SOFTWARE FOUNDATION. Apache Tomcat. [S.l.]: Apache Software
Foundation, 2013. Disponível em: <http://tomcat.apache.org/>. Acesso em: 14 de
março de 2013.
HEWITT, J; ODVARKO, J.; CAMPBELL, R. Firebug. [S.l.]: Add-ons for Firefox, 2013.
Disponível em: <https://addons.mozilla.org/pt-br/firefox/addon/firebug/>. Acesso
em: 14 de março de 2013.
JUDSON, A. Tamper Data. [S.l.]: Add-ons for Firefox, 2010. Disponível em:
<https://addons.mozilla.org/pt-br/firefox/addon/tamper-data/>. Acesso em: 14 de
março de 2013.
MAYHEW, B.; WILLIAMS, J.. OWASP WebGoat, versão 5.4. [S.l.]: 2012. Aplicação web.
OWASP. About OWASP. [S.l.]: Open Web Application Security Project Foundation,
2013a. Disponível em: <https://www.owasp.org/index.php/About_OWASP>. Acesso
em: 6 de fevereiro de 2013.
Bibliografia
OWASP. WebGoat Project. [S.l.]: Open Web Application Security Project Foundation,
2013b. Disponível em:
<https://www.owasp.org/index.php/OWASP_WebGoat_Project>. Acesso em: 6 de
fevereiro de 2013.
OWASP. WebScarab Project. [S.l.]: Open Web Application Security Project Foundation,
2013c. Disponível em:
<https://www.owasp.org/index.php/Category:OWASP_WebScarab_Project>. Acesso
em: 14 de março de 2013.
OXFORD. 2 ed. Pocket Oxford American Dictionary. New York: Oxford University Press,
2008.
RODRIGUES, M.. OWASP Top 10 + Java EE. [S.l.]: OWASP Paraíba, 2011. Disponível em:
<https://www.owasp.org/images/7/7a/Magno_Logan_AppSec_Latam_2011_-
_OWASP_Top_10_%2B_JavaEE.pdf>. Acesso em: 17 de fevereiro de 2013.

More Related Content

What's hot

Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingCristiano Caetano
 
Global AppSec LATAM 2011 Conference - Segurança de Aplicações, para sua organ...
Global AppSec LATAM 2011 Conference - Segurança de Aplicações, para sua organ...Global AppSec LATAM 2011 Conference - Segurança de Aplicações, para sua organ...
Global AppSec LATAM 2011 Conference - Segurança de Aplicações, para sua organ...Rafael Brinhosa
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosAlex Camargo
 
OWASP - Instituto Maria de Fatima
OWASP - Instituto Maria de FatimaOWASP - Instituto Maria de Fatima
OWASP - Instituto Maria de FatimaOWASP Brasília
 
OWASP Top 10 2010 para JavaEE (pt-BR)
OWASP Top 10 2010 para JavaEE (pt-BR)OWASP Top 10 2010 para JavaEE (pt-BR)
OWASP Top 10 2010 para JavaEE (pt-BR)Magno Logan
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações WebCassio Ramos
 
Katana Security - Consultoria em Segurança da Informação
Katana Security - Consultoria em Segurança da InformaçãoKatana Security - Consultoria em Segurança da Informação
Katana Security - Consultoria em Segurança da InformaçãoMagno Logan
 
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...Rodrigo Immaginario
 
Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Handerson Frota
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPFabiano Pereira
 
DevSecOps - Integrando Segurança no Processo DevOps
DevSecOps - Integrando Segurança no Processo DevOpsDevSecOps - Integrando Segurança no Processo DevOps
DevSecOps - Integrando Segurança no Processo DevOpsAlessandra Soares
 
Implementação de políticas de segurança no Asp.Net Core
Implementação de políticas de segurança no Asp.Net CoreImplementação de políticas de segurança no Asp.Net Core
Implementação de políticas de segurança no Asp.Net CoreAlexandre Malavasi
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Pablo Ribeiro
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
OWASP Top 10 2010 pt-BR
OWASP Top 10 2010 pt-BROWASP Top 10 2010 pt-BR
OWASP Top 10 2010 pt-BRMagno Logan
 

What's hot (20)

Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 
Apresentação sobre VRaptor na Campus Recife 2014
Apresentação sobre VRaptor na Campus Recife 2014Apresentação sobre VRaptor na Campus Recife 2014
Apresentação sobre VRaptor na Campus Recife 2014
 
Global AppSec LATAM 2011 Conference - Segurança de Aplicações, para sua organ...
Global AppSec LATAM 2011 Conference - Segurança de Aplicações, para sua organ...Global AppSec LATAM 2011 Conference - Segurança de Aplicações, para sua organ...
Global AppSec LATAM 2011 Conference - Segurança de Aplicações, para sua organ...
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
 
Palestra sobre o FirefoxOS
Palestra sobre o FirefoxOSPalestra sobre o FirefoxOS
Palestra sobre o FirefoxOS
 
Site invadido
Site invadidoSite invadido
Site invadido
 
OWASP - Instituto Maria de Fatima
OWASP - Instituto Maria de FatimaOWASP - Instituto Maria de Fatima
OWASP - Instituto Maria de Fatima
 
OWASP Top 10 2010 para JavaEE (pt-BR)
OWASP Top 10 2010 para JavaEE (pt-BR)OWASP Top 10 2010 para JavaEE (pt-BR)
OWASP Top 10 2010 para JavaEE (pt-BR)
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
Katana Security - Consultoria em Segurança da Informação
Katana Security - Consultoria em Segurança da InformaçãoKatana Security - Consultoria em Segurança da Informação
Katana Security - Consultoria em Segurança da Informação
 
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
 
Seguranca 2011 uva
Seguranca 2011 uvaSeguranca 2011 uva
Seguranca 2011 uva
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
DevSecOps - Integrando Segurança no Processo DevOps
DevSecOps - Integrando Segurança no Processo DevOpsDevSecOps - Integrando Segurança no Processo DevOps
DevSecOps - Integrando Segurança no Processo DevOps
 
Implementação de políticas de segurança no Asp.Net Core
Implementação de políticas de segurança no Asp.Net CoreImplementação de políticas de segurança no Asp.Net Core
Implementação de políticas de segurança no Asp.Net Core
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
OWASP Top 10 2010 pt-BR
OWASP Top 10 2010 pt-BROWASP Top 10 2010 pt-BR
OWASP Top 10 2010 pt-BR
 

Similar to Webgoat Project - Apresentação

WebGoat Project - Apresentação
WebGoat Project - ApresentaçãoWebGoat Project - Apresentação
WebGoat Project - ApresentaçãoCleyton Kano
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Cloud computing-curso-dia3
Cloud computing-curso-dia3Cloud computing-curso-dia3
Cloud computing-curso-dia3Ademar Freitas
 
Conceitos BáSicos Sobre SegurançA Parte 3
Conceitos BáSicos Sobre SegurançA   Parte 3Conceitos BáSicos Sobre SegurançA   Parte 3
Conceitos BáSicos Sobre SegurançA Parte 3Felipe Santos
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureRubens Guimarães - MTAC MVP
 
Test-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayTest-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayRenato Groff
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
Sunlit technologies portfolio produtos &amp; serviços agosto2016
Sunlit technologies   portfolio produtos &amp; serviços  agosto2016Sunlit technologies   portfolio produtos &amp; serviços  agosto2016
Sunlit technologies portfolio produtos &amp; serviços agosto2016Antonio Carlos Scola - MSc
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Alex Hübner
 

Similar to Webgoat Project - Apresentação (20)

WebGoat Project - Apresentação
WebGoat Project - ApresentaçãoWebGoat Project - Apresentação
WebGoat Project - Apresentação
 
Segurança J2EE
Segurança J2EESegurança J2EE
Segurança J2EE
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Segurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSourceSegurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSource
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 
Java Web, o Tutorial
Java Web, o TutorialJava Web, o Tutorial
Java Web, o Tutorial
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
WebGoat Project
WebGoat ProjectWebGoat Project
WebGoat Project
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Workshop05
Workshop05Workshop05
Workshop05
 
WebGoat Project
WebGoat ProjectWebGoat Project
WebGoat Project
 
Cloud computing-curso-dia3
Cloud computing-curso-dia3Cloud computing-curso-dia3
Cloud computing-curso-dia3
 
Java security
Java securityJava security
Java security
 
Conceitos BáSicos Sobre SegurançA Parte 3
Conceitos BáSicos Sobre SegurançA   Parte 3Conceitos BáSicos Sobre SegurançA   Parte 3
Conceitos BáSicos Sobre SegurançA Parte 3
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
Test-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayTest-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding Day
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Sunlit technologies portfolio produtos &amp; serviços agosto2016
Sunlit technologies   portfolio produtos &amp; serviços  agosto2016Sunlit technologies   portfolio produtos &amp; serviços  agosto2016
Sunlit technologies portfolio produtos &amp; serviços agosto2016
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
 

Webgoat Project - Apresentação

  • 1. Cleyton Tsukuda Kano – RM 43443 Danilo Luiz Favacho Lopes – RM 43050 Décio Vicente Castaldi – RM 43052 Paulo Kuester Neto – RM 42987 MBA em Gestão de Segurança da Informação 19º SEG São Paulo, Março de 2013
  • 2.  Introdução  O Problema  Objetivo  Ambiente utilizado  Projeto WebGoat  OWASP  WebGoat  Didática  Colocando em prática  Resumo das lições  Vídeo  Conclusão  Bibliografia Sumário
  • 3.  Mundo dependente tecnologicamente  Popularização numa velocidade evolutiva nunca antes experimentada  Serviços vitais conectados:  Energia  Transportes  Alimentos  Sistemas financeiros  etc Introdução – O Problema
  • 4.  ... E tudo isso gerou elevação dos riscos  Empresas devem ter preocupação e um plano estruturado que leve em conta a segurança da informação  Antes era privilégio ou motivo de preocupação para de organizações militares, governos ou grandes conglomerados empresariais  Hoje é parte do modelo de médias e pequenas empresas  Ernst & Young mostra que 55% das empresas elevarão seus investimentos com segurança da informação  Para muitas empresas a segurança da informação não é visualizada como estratégica, nem como um investimento para o negócio e sim como um custo a mais na planilha financeira Introdução – O Problema
  • 5. Introdução – O Problema SQL Injection no banco de currículos das organizações C.E.S.A.R e Pitang – Agile IT Fonte: (RODRIGUES, 2011)
  • 6. Demonstrar de uma maneira geral e tomando como exemplo algumas das lições presentes na estudar a ferramenta web denominada de WebGoat (versão padrão, não sendo a versão de desenvolvedor), algumas das teorias discutidas na disciplina - gestão de ameaças e vulnerabilidades, explorando, além dos ensinamentos introdutórios apresentados pelo tópico da lição geral da ferramenta, as primeiras três lições de segurança da informação para aplicações web e a lição desafio. Dessa forma serão trabalhadas no total as seguintes cinco lições:  Lição Geral (HTML basics e HTML splitting);  Falhas no controle de acesso;  Segurança no AJAX;  Falhas de autenticação;  Lição Desafio. Introdução - Objetivo
  • 7.  Sistema operacional Linux Ubuntu 10.10  Java Development Kit (JDK) 1.7.0.11  Apache Tomcat 7.0.35  WebGoat 5.4 Standard  WebScarab Lite v20070504-1631  Web-browser Mozilla Firefox 3.6.10 com Add-ons:  Tamper Data 11.0.1  Firebug 1.7.3 Introdução - Ambiente utilizado
  • 8.  Sistema operacional Linux Ubuntu 10.10  Java Development Kit (JDK) 1.7.0.11  Apache Tomcat 7.0.35  WebGoat 5.4 Standard  WebScarab Lite v20070504-1631  Web-browser Mozilla Firefox 3.6.10 com Add-ons:  Tamper Data 11.0.1  Firebug 1.7.3 Introdução - Ambiente utilizado
  • 9.  Ano de surgimento: 2001  Não possui associação com empresas ou serviços ditos comerciais  Fóruns, aplicativos e documentos são abertos ao público  Missão: promover o desenvolvimento seguro de aplicações e serviços de internet  Conferências  Artigos  Projetos Projeto WebGoat - OWASP
  • 10.  Aplicação web desenvolvida pela OWASP  Ambiente de aplicação web de aprendizado  Construída sob a linguagem de programação Java na plataforma J2EE  Concebida propositalmente para ser insegura  Contém falhas  Ensinar lições de segurança em aplicações web  Verificar diversos tipos de vulnerabilidades existentes  Origem do nome: alguém para culpar (scape-goat)  Navegação através de lições em diferentes níveis  A ideia não é sair verificando vulnerabilidades em aplicações de outrem sem a devida permissão  Pretensão futura de servir de Honeypot Projeto WebGoat - WebGoat
  • 11.  Fundamental para:  Evitar que estas mesmas vulnerabilidades estejam presentes  Aprender a anatomia de ataques podem se valer de uma melhor prática de programação  Incluir a segurança da informação seja incluída em todo o ciclo de desenvolvimento de aplicações e serviços que são disponibilizados  Minimizar falhas e riscos desnecessários  Não se encontra hospedado em um servidor de internet  Necessidade de instalar em um ambiente de trabalho  Pré requisitos:  JVM  Servidor Apache Tomcat  SOs compatíveis:  Linux  OSX Tiger  Windows Projeto WebGoat - WebGoat
  • 12.  Baseada em ensinamentos sobre segurança em aplicações web  Cada uma das lições dá uma visão geral sobre a vulnerabilidade que está sendo trabalhada e contém problemas, tais como:  Cross-site Scripting (XSS);  Falhas no controle de acesso (cross site request forgery (CSRF), acesso remoto de administrador, etc.);  Falhas de autenticação e gerência de sessões (roubo de seção, spoof em cookie de autenticação, etc.);  Manipulação de campos ocultos/parâmetros;  Falhas de injeção (SQL Injection; Log spoofing, XPath injection, etc.);  Falhas em Web Services (web service SQL/SAX injection, WSDL scanning, etc.);  Vulnerabilidades no código (pistas e comentários no HTML);  Buffer overflows;  Segurança no AJAX (DOM/XML/JSON injection, etc.);  Lição desafio, cujo objetivo é quebrar a autenticação, roubar os dados de cartão de crédito e desfigurar o site, mais conhecido como deface. Projeto WebGoat - Didática
  • 13.  A análise das lições envolvem basicamente:  análise do conteúdo no lado cliente (client side)  código fonte em HTML  scripts  comunicação entre o cliente o servidor  cookies  dados locais Projeto WebGoat - Didática
  • 14.  Lição Geral (HTML basics e HTML splitting) Colocando em prática – Resumo das lições Familiarizar-se com alguns campos de sessão do HTTP, cookies e códigos Possibilidade de inserir determinados caracteres, variáveis ou códigos em determinados campos que podem levar a um comportamento não previsto inicialmente pela aplicação
  • 15.  Falhas no controle de acesso Colocando em prática – Resumo das lições Obtenção de acesso a arquivos indevidamente Acesso a ações privilegiadas, para usuários sem privilégio Acesso indevido das informações de perfil de outro usuário
  • 16.  Segurança no AJAX Colocando em prática – Resumo das lições Possibilidade de inserir determinados códigos javascript em determinados campos que podem levar a um comportamento não previsto inicialmente pela aplicação Demonstrar os perigos em comportamentos AJAX ao enviar informações desnecessárias e que, supostamente, o usuário não deveria visualizar
  • 17.  Falhas de autenticação Colocando em prática – Resumo das lições Verificar a força das senhas fornecidas, analisando o grau de complexidade e o tempo necessário para quebra-las Descoberta de senha através de dicas de senha Realizar acesso com um usuário e realizar ações com outro usuário
  • 18.  Lição Desafio Colocando em prática – Resumo das lições Burlar o método de autenticação Descobrir todos os cartões de créditos registrados no banco de dados do sistema Desfigurar a página
  • 19. Colocando em prática – Vídeo DEMO!
  • 20.  Cumpre sua função de aplicação web de aprendizado  Ilustrando as falhas de segurança de uma forma bem estruturada  Dividida em tópicos por tipos de vulnerabilidades, através das lições  Boa forma para desenvolvedores, testadores de software e estudantes de segurança da informação para se aprimorarem  Vale a pena lembrar que o objetivo da aplicação não é sair por ai procurando por vulnerabilidades nas aplicações de outrem sem a devida permissão.  Como a própria aplicação sugere que a pessoa que utilizar estas técnicas para realizar ataques, esta poderá ser pega e/ou demitida por este ato.  Portanto, deve-se utilizar este aprendizado na melhor forma possível e na legalidade. Conclusão
  • 21. Bibliografia APACHE SOFTWARE FOUNDATION. Apache Tomcat. [S.l.]: Apache Software Foundation, 2013. Disponível em: <http://tomcat.apache.org/>. Acesso em: 14 de março de 2013. HEWITT, J; ODVARKO, J.; CAMPBELL, R. Firebug. [S.l.]: Add-ons for Firefox, 2013. Disponível em: <https://addons.mozilla.org/pt-br/firefox/addon/firebug/>. Acesso em: 14 de março de 2013. JUDSON, A. Tamper Data. [S.l.]: Add-ons for Firefox, 2010. Disponível em: <https://addons.mozilla.org/pt-br/firefox/addon/tamper-data/>. Acesso em: 14 de março de 2013. MAYHEW, B.; WILLIAMS, J.. OWASP WebGoat, versão 5.4. [S.l.]: 2012. Aplicação web. OWASP. About OWASP. [S.l.]: Open Web Application Security Project Foundation, 2013a. Disponível em: <https://www.owasp.org/index.php/About_OWASP>. Acesso em: 6 de fevereiro de 2013.
  • 22. Bibliografia OWASP. WebGoat Project. [S.l.]: Open Web Application Security Project Foundation, 2013b. Disponível em: <https://www.owasp.org/index.php/OWASP_WebGoat_Project>. Acesso em: 6 de fevereiro de 2013. OWASP. WebScarab Project. [S.l.]: Open Web Application Security Project Foundation, 2013c. Disponível em: <https://www.owasp.org/index.php/Category:OWASP_WebScarab_Project>. Acesso em: 14 de março de 2013. OXFORD. 2 ed. Pocket Oxford American Dictionary. New York: Oxford University Press, 2008. RODRIGUES, M.. OWASP Top 10 + Java EE. [S.l.]: OWASP Paraíba, 2011. Disponível em: <https://www.owasp.org/images/7/7a/Magno_Logan_AppSec_Latam_2011_- _OWASP_Top_10_%2B_JavaEE.pdf>. Acesso em: 17 de fevereiro de 2013.

Editor's Notes

  1. Explicar brevemente sobre as ferramentas auxiliares