SlideShare a Scribd company logo
1 of 35
Download to read offline
R A F A E L B . B R I N H O S A
Detectando falhas de Segurança
na Web com Software Livre
Agenda
y Introdução
y Segurança na Web
y Processo Simplificado
y Descoberta
y Testes
{ Comparação de ferramentas
y Relatórios
y Correção
y Conclusões
Introdução
y Aumento do uso da Web
Segurança na Web
Cumulative count of Web application vulnerabilities
Published by IBM X-Force in January 2009.
Contornar a Segurança pode ser fácil
Desenvolver mecanismos seguros pode ser difícil
Falhas recentes
LizaMoon, Epsilon...
Softwares Proprietários
y Preço alto
y Patentes
y Poucos bugs - são extensivamente testados
y Poucos falso-positivos
y Atualizações constantes do banco de dados de
vulnerabilidades
y Relatórios Completos
Software Livre
y Ferramentas pequenas e independentes que não se
comunicam
y Mais falso-positivos e Menos IA
y Bancos de dados de vulnerabilidades menos
atualizados
y Poucos Relatórios
y Níveis de maturidade diferentes
y Alternativas melhores surgindo a cada dia
OWASP TOP 10 2010
y Lista de falhas mais críticas encontradas em aplicações
web:
y A1: Injection
y A2: Cross-Site Scripting (XSS)
y A3: Broken Authentication and Session Management
y A4: Insecure Direct Object References
y A5: Cross-Site Request Forgery (CSRF)
y A6: Security Misconfiguration
y A7: Insecure Cryptographic Storage
y A8: Failure to Restrict URL Access
y A9: Insufficient Transport Layer Protection
y A10: UnvalidatedRedirects and Forwards
Como detectá-las ou evitá-las?
Segurança no Ciclo de Desenvolvimento de
Software
Cost of Fixing Security Vulnerabilities
The Fortify data suggested that it cost 100 times more to fix a single vulnerability in operational
software than to fix it at the requirements stage.
Processo Simplificado
y Descoberta
y Testes
y Relatórios
y Correção
Descoberta
y Ferramentas
{ nmap
{ OWASP DirBuster
{ Firefox Plugin
Ù Tamper Data
Descoberta
y Sites
{ shodanhq
{ google (google hacking database)
{ Yahoo Site Explore!
y OSVDB
y Documentos
y Diagramas
y Metadados
y Arquivos descompilados
Testes de Segurança
y White Box Security Testing, Static application
security testing (SAST)
{ Manual Reviews + Code review tools
y Black Box Security Testing, Dynamic application
security testing (DAST)
{ Manual Security Testing + Automated tools
White Box Security Testing
y Graudit é um script simples e conjunto de
assinaturas que permite encontrar potenciais falhas
de segurança em código-fonte usando o grep.
y Uso: graudit /path/to/scan
y Suporta: asp, jsp, perl, php e python
JSP
y request.getQueryString
y Runtime.exec
y getRequest
y Request.GetParameter
y request.getParameter
y jsp:getProperty
y java.security.acl.acl
y response.sendRedirects*(.*(Request|request).*)
y printStacktrace
y out.print(ln)?.*[Rr]equest.
PHP
y # PHP - Database
y mysql_connects*(.*$.*)
y mysql_pconnects*(.*$.*)
y mysql_change_users*(.*$.*)
y mysql_querys*(.*$.*)
y mysql_errors*(.*$.*)
y mysql_set_charsets*(.*$.*)
y mysql_unbuffered_querys*(.*$.*)
y pg_connects*(.*$.*)
y pg_pconnects*(.*$.*)
y pg_executes*(.*$.*)
y pg_inserts*(.*$.*)
y pg_put_lines*(.*$.*)
Perl
y # Perl xss signatures
y prints*.*$.*->param(?.*)?
Black Box Security Testing
y w3af – Andrés Riancho, em Python, boa
extensibilidade
y websecurify – GNUCITIZEN, fácil de rodar
y skipfish – Google, detecta vulnerabilidades menos
comuns e é rápido
y nikto – grande base de assinaturas
y SqlMap – ataques de injeção SQL, várias
funcionalidades
w3af
y Com nmap configura target no arquivo
y ./w3af_console -s scripts/scriptosCommanding.w3af
y set targetFramework jsp
y set targetOS unix
Comparação
Vulnerabilidades encontradas por Risco
Ferramenta Alto Médio Baixo Informativas Tempo de execução total
w3af 4 1 81 18 minutos
Websecurify 4 30 segundos
Skipfish 8 2 20 2 horas e 26 minutos
Onde Treinar
S.N
o.
Vulnerable Application Platform
1 SPI Dynamics (live) ASP
2 Cenzic (live) PHP
3 Watchfire (live) ASPX
4 Acunetix 1 (live) PHP
5 Acunetix 2 (live) ASP
6 Acunetix 3 (live) ASP.Net
7 PCTechtips Challenge (live)
8 Damn Vulnerable Web
Application
PHP/MySQL
9 Mutillidae PHP
10 The Butterfly Security Project PHP
11 Hacme Casino Ruby on Rails
12 Hacme Bank 2.0 ASP.NET (2.0)
13 Updated HackmeBank ASP.NET (2.0)
14 Hacme Books J2EE
15 Hacme Travel C++ (application
client-server)
16 Hacme Shipping ColdFusion MX 7,
MySQL
17 OWASP WebGoat JAVA
18 OWASP Vicnum PHP, Perl
19 OWASP InsecureWebApp JAVA
20 OWASP SiteGenerator ASP.NET
21 Moth
22 Stanford SecuriBench JAVA
23 SecuriBench Micro JAVA
24 BadStore Perl(CGI)
25 WebMaven/Buggy Bank
(very old)
26 EnigmaGroup (live)
27 XSS Encoding Skills – x5s
(Casaba Watcher)
28 Google – Gruyere (live)
(previously Jarlsberg)
29 Exploit- DB Multi-platform
Fonte: http://securitythoughts.wordpress.com/2010/03/22/vulnerable-web-applications-for-learning/
Relatórios
y Dashboard de Segurança
y Métricas
y Lista de Vulnerabilidades
y Consolidar usando todos os resultados em XML
y CVSS
Security Dashboard
y Visilibilidade Global dos Riscos de Segurança de
Aplicações através de Métricas específicas
Security Dashboard
“You Can’t Manage What You Can’t Measure”
Security Dashboard
0%
7%
21%
3%
0%
42%
16%
0% 11%
0%
Vulnerabilities by OWASP TOP 10 2010 Classification
A1: Injection
A2: Cross-Site Scripting (XSS)
A3: Broken Authentication and Session
Management
A4: Insecure Direct Object References
A5: Cross-Site Request Forgery (CSRF)
A6: Security Misconfiguration
A7: Insecure Cryptographic Storage
A8: Failure to Restrict URL Access
A9: Insufficient Transport Layer Protection
Correção
y OWASP ESAPI
y NIST
y …
Conclusão
y Se não tiver tempo e for rodar apenas uma – w3af!
y Scan portfólio
y Integração contínua
y Garanta as correções
y Integração de Resultados
y Gerenciamento
Perguntas?
?
Referências
y OWASP:
http://www.owasp.org/index.php/Category:OWASP
_Project
y NIST:
http://csrc.nist.gov/publications/PubsSPs.html
y Web Application Security Consortium:
http://www.webappsec.org
y Security Distros: http://securitydistro.com/security-
distros/
y CVSS - Common Vulnerability Scoring System:
http://www.first.org/cvss/
Obrigado!
rafael [at] brinhosa.com.br
http://about.me/brinhosa
@brinhosa

More Related Content

Viewers also liked (13)

Manual de Recarga Lexmark E120 Espanhol.
Manual de Recarga Lexmark E120 Espanhol.Manual de Recarga Lexmark E120 Espanhol.
Manual de Recarga Lexmark E120 Espanhol.
 
Matariki Winery experience - Richard Bott
Matariki Winery experience - Richard BottMatariki Winery experience - Richard Bott
Matariki Winery experience - Richard Bott
 
Brother tn 350 hl2040
Brother tn 350 hl2040Brother tn 350 hl2040
Brother tn 350 hl2040
 
Hp 4000
Hp 4000Hp 4000
Hp 4000
 
Manual de Recarga HP Canon AX C3906A.
Manual de Recarga HP Canon AX C3906A.Manual de Recarga HP Canon AX C3906A.
Manual de Recarga HP Canon AX C3906A.
 
Brother hl 1240 drum
Brother hl 1240 drumBrother hl 1240 drum
Brother hl 1240 drum
 
Hp 3500 q2670 a q2671a q2672a q2673a espanhol
Hp 3500 q2670 a q2671a q2672a q2673a espanholHp 3500 q2670 a q2671a q2672a q2673a espanhol
Hp 3500 q2670 a q2671a q2672a q2673a espanhol
 
Manual de Recarga Samsung ML 2251N | ML 2251NP | ML 2251W | ML 2250
Manual de Recarga Samsung ML 2251N | ML 2251NP | ML 2251W | ML 2250Manual de Recarga Samsung ML 2251N | ML 2251NP | ML 2251W | ML 2250
Manual de Recarga Samsung ML 2251N | ML 2251NP | ML 2251W | ML 2250
 
Manual de Recarga Minolta 2300 DL
Manual de Recarga Minolta 2300 DLManual de Recarga Minolta 2300 DL
Manual de Recarga Minolta 2300 DL
 
Hp 4700 4730
Hp 4700 4730Hp 4700 4730
Hp 4700 4730
 
Manual de Recarga HP P1005 P1006 P1505.
Manual de Recarga HP P1005 P1006 P1505.Manual de Recarga HP P1005 P1006 P1505.
Manual de Recarga HP P1005 P1006 P1505.
 
Manual de Recarga Lexmark C910 Espanhol.
Manual de Recarga Lexmark C910 Espanhol.Manual de Recarga Lexmark C910 Espanhol.
Manual de Recarga Lexmark C910 Espanhol.
 
A Validation Model of Data Input for Web Services
A Validation Model of Data Input for Web ServicesA Validation Model of Data Input for Web Services
A Validation Model of Data Input for Web Services
 

Similar to FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Software Livre

Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 Portugues
Rodrigo Peleias
 
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seuTop 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
Luis Asensio
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livre
Pedro Neto
 

Similar to FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Software Livre (20)

Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
 
Ferranentas OWASP
Ferranentas OWASPFerranentas OWASP
Ferranentas OWASP
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 
De A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
De A a Zabbix - I Congresso de Ciências Exatas e TecnológicasDe A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
De A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
 
TDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceTDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDevice
 
Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 Portugues
 
Mini Curso Mashup Coreu
Mini Curso Mashup CoreuMini Curso Mashup Coreu
Mini Curso Mashup Coreu
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Top 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_webTop 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_web
 
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seuTop 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
 
Html5
Html5Html5
Html5
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
 
Python cherrypy
Python cherrypyPython cherrypy
Python cherrypy
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livre
 

Recently uploaded

Recently uploaded (6)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Software Livre

  • 1. R A F A E L B . B R I N H O S A Detectando falhas de Segurança na Web com Software Livre
  • 2. Agenda y Introdução y Segurança na Web y Processo Simplificado y Descoberta y Testes { Comparação de ferramentas y Relatórios y Correção y Conclusões
  • 4. Segurança na Web Cumulative count of Web application vulnerabilities Published by IBM X-Force in January 2009.
  • 5. Contornar a Segurança pode ser fácil
  • 6. Desenvolver mecanismos seguros pode ser difícil
  • 7.
  • 9. Softwares Proprietários y Preço alto y Patentes y Poucos bugs - são extensivamente testados y Poucos falso-positivos y Atualizações constantes do banco de dados de vulnerabilidades y Relatórios Completos
  • 10. Software Livre y Ferramentas pequenas e independentes que não se comunicam y Mais falso-positivos e Menos IA y Bancos de dados de vulnerabilidades menos atualizados y Poucos Relatórios y Níveis de maturidade diferentes y Alternativas melhores surgindo a cada dia
  • 11. OWASP TOP 10 2010 y Lista de falhas mais críticas encontradas em aplicações web: y A1: Injection y A2: Cross-Site Scripting (XSS) y A3: Broken Authentication and Session Management y A4: Insecure Direct Object References y A5: Cross-Site Request Forgery (CSRF) y A6: Security Misconfiguration y A7: Insecure Cryptographic Storage y A8: Failure to Restrict URL Access y A9: Insufficient Transport Layer Protection y A10: UnvalidatedRedirects and Forwards
  • 12. Como detectá-las ou evitá-las?
  • 13. Segurança no Ciclo de Desenvolvimento de Software
  • 14. Cost of Fixing Security Vulnerabilities The Fortify data suggested that it cost 100 times more to fix a single vulnerability in operational software than to fix it at the requirements stage.
  • 15. Processo Simplificado y Descoberta y Testes y Relatórios y Correção
  • 16. Descoberta y Ferramentas { nmap { OWASP DirBuster { Firefox Plugin Ù Tamper Data
  • 17. Descoberta y Sites { shodanhq { google (google hacking database) { Yahoo Site Explore! y OSVDB y Documentos y Diagramas y Metadados y Arquivos descompilados
  • 18. Testes de Segurança y White Box Security Testing, Static application security testing (SAST) { Manual Reviews + Code review tools y Black Box Security Testing, Dynamic application security testing (DAST) { Manual Security Testing + Automated tools
  • 19. White Box Security Testing y Graudit é um script simples e conjunto de assinaturas que permite encontrar potenciais falhas de segurança em código-fonte usando o grep. y Uso: graudit /path/to/scan y Suporta: asp, jsp, perl, php e python
  • 20. JSP y request.getQueryString y Runtime.exec y getRequest y Request.GetParameter y request.getParameter y jsp:getProperty y java.security.acl.acl y response.sendRedirects*(.*(Request|request).*) y printStacktrace y out.print(ln)?.*[Rr]equest.
  • 21. PHP y # PHP - Database y mysql_connects*(.*$.*) y mysql_pconnects*(.*$.*) y mysql_change_users*(.*$.*) y mysql_querys*(.*$.*) y mysql_errors*(.*$.*) y mysql_set_charsets*(.*$.*) y mysql_unbuffered_querys*(.*$.*) y pg_connects*(.*$.*) y pg_pconnects*(.*$.*) y pg_executes*(.*$.*) y pg_inserts*(.*$.*) y pg_put_lines*(.*$.*)
  • 22. Perl y # Perl xss signatures y prints*.*$.*->param(?.*)?
  • 23. Black Box Security Testing y w3af – Andrés Riancho, em Python, boa extensibilidade y websecurify – GNUCITIZEN, fácil de rodar y skipfish – Google, detecta vulnerabilidades menos comuns e é rápido y nikto – grande base de assinaturas y SqlMap – ataques de injeção SQL, várias funcionalidades
  • 24. w3af y Com nmap configura target no arquivo y ./w3af_console -s scripts/scriptosCommanding.w3af y set targetFramework jsp y set targetOS unix
  • 25. Comparação Vulnerabilidades encontradas por Risco Ferramenta Alto Médio Baixo Informativas Tempo de execução total w3af 4 1 81 18 minutos Websecurify 4 30 segundos Skipfish 8 2 20 2 horas e 26 minutos
  • 26. Onde Treinar S.N o. Vulnerable Application Platform 1 SPI Dynamics (live) ASP 2 Cenzic (live) PHP 3 Watchfire (live) ASPX 4 Acunetix 1 (live) PHP 5 Acunetix 2 (live) ASP 6 Acunetix 3 (live) ASP.Net 7 PCTechtips Challenge (live) 8 Damn Vulnerable Web Application PHP/MySQL 9 Mutillidae PHP 10 The Butterfly Security Project PHP 11 Hacme Casino Ruby on Rails 12 Hacme Bank 2.0 ASP.NET (2.0) 13 Updated HackmeBank ASP.NET (2.0) 14 Hacme Books J2EE 15 Hacme Travel C++ (application client-server) 16 Hacme Shipping ColdFusion MX 7, MySQL 17 OWASP WebGoat JAVA 18 OWASP Vicnum PHP, Perl 19 OWASP InsecureWebApp JAVA 20 OWASP SiteGenerator ASP.NET 21 Moth 22 Stanford SecuriBench JAVA 23 SecuriBench Micro JAVA 24 BadStore Perl(CGI) 25 WebMaven/Buggy Bank (very old) 26 EnigmaGroup (live) 27 XSS Encoding Skills – x5s (Casaba Watcher) 28 Google – Gruyere (live) (previously Jarlsberg) 29 Exploit- DB Multi-platform Fonte: http://securitythoughts.wordpress.com/2010/03/22/vulnerable-web-applications-for-learning/
  • 27. Relatórios y Dashboard de Segurança y Métricas y Lista de Vulnerabilidades y Consolidar usando todos os resultados em XML y CVSS
  • 28. Security Dashboard y Visilibilidade Global dos Riscos de Segurança de Aplicações através de Métricas específicas
  • 29. Security Dashboard “You Can’t Manage What You Can’t Measure”
  • 30. Security Dashboard 0% 7% 21% 3% 0% 42% 16% 0% 11% 0% Vulnerabilities by OWASP TOP 10 2010 Classification A1: Injection A2: Cross-Site Scripting (XSS) A3: Broken Authentication and Session Management A4: Insecure Direct Object References A5: Cross-Site Request Forgery (CSRF) A6: Security Misconfiguration A7: Insecure Cryptographic Storage A8: Failure to Restrict URL Access A9: Insufficient Transport Layer Protection
  • 32. Conclusão y Se não tiver tempo e for rodar apenas uma – w3af! y Scan portfólio y Integração contínua y Garanta as correções y Integração de Resultados y Gerenciamento
  • 34. Referências y OWASP: http://www.owasp.org/index.php/Category:OWASP _Project y NIST: http://csrc.nist.gov/publications/PubsSPs.html y Web Application Security Consortium: http://www.webappsec.org y Security Distros: http://securitydistro.com/security- distros/ y CVSS - Common Vulnerability Scoring System: http://www.first.org/cvss/