Análise de Vulnerabilidades em Aplicações na Web Nacional
1. Análise de Vulnerabilidades
em Aplicações na Web
nacional
Confraria Security&IT, 26.Jan.2011
ISCTE-IUL/ISTA/ADETTI-IUL Carlos Serrão
Instituto Superior de Ciências do Trabalho e da Empresa carlos.serrao@iscte.pt
Lisbon University Institute carlos.j.serrao@gmail.com
ISCTE-IUL School of Technology and Architecture
ADETTI-IUL http://www.carlosserrao.net
http://blog.carlosserrao.net
http://www.linkedin.com/in/carlosserrao
2. Sobre mim…
2
¨ {Professor Auxiliar}@ISCTE-IUL/ISTA/DCTI
¨ {R&D, Consultor, PM}@ADETTI-IUL
¤ Projectos. EC, Nacionais, Privados.
¨ {Líder}@PT.OWASP
¨ {Author}@*
¤ Livros, Artigos, ...
¨ twitter.com/pontocom
¨ facebook.com/carlosserrao
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
3. Estado da Arte
3
¨ A Internet é um excelente meio de comunicação e de
disseminação de informação - ferramentas e manuais
que ajudam a explorar vulnerabilidades
¨ Botnets que podem ser usadas para procurar os exploits
mais recentes em WebApps
¨ 75% dos ataques ocorrem na camada aplicacional
¨ Maioria das vulnerabilidades das WebApps permanecem
“escondidas”
¨ Segurança aplicacional é quase sempre o último aspecto
a considerar (se é) em aplicações baseadas na Internet
¨ Os buracos de segurança emm WebApps podem resultar
em prejuízos significativos
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
4. Motivação/Contexto
4
¨ Falta de percepção da segurança
¨ As (algumas) organizações não investem o
suficiente em segurança (ou investem
incorretamente)
¨ Programadores não percebem os riscos de
segurança (ou não podem ou querem perceber)
n DISCLAIMER: não estou com isto a insinuar que *TODOS* os
programadores são maus ;-)
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
5. Motivação/Contexto
5
Tendências
Cisco
para
2011
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
6. Motivação/Contexto
6
Número médio de vulnerabilidades sérias encontradas
em WebApps por sector (fonte: WhiteHat, 2010)
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
7. Motivação/Contexto
7
Percentagem de ocorrência de problemas de segurança em
WebApps (fonte: WhiteHat, 2010)
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
8. Motivação/Contexto
8
Gartner
Group
(2009) IBM
(2009)
Outros
Outros 10%
25%
Aplicacional Sites
Web
Vulneráveis
75% 90%
WASC
(2009)
Outros Outros
15% 22%
Sites
Web
Vulneráveis
85% Fáceis
de
Explorar
78%
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
9.
10. Objectivo
10
¨ Conhecer o panorama de segurança aplicacional
da Web nacional
¤ emespecial no que diz respeito a WebApps da
Administração Pública
¤ Demasiado ambicioso - âmbito reduzido a estudar a
segurança aplicacional de alguns sites e depois
tentar extrapolar algumas métricas de segurança
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
11. Métodos de Teste
11
White
box Gray
box
Acesso
ao
código-‐fonte
e
algum
Jpo
de
conhecimento
da
infra-‐estrutura
interna
do
sistema/aplicação
-‐
Testes
com
ferramentas
automáJcas
(WebApp
Black
box scanners)
-‐
Confirmar
os
resultados
Acesso
on-‐line
à
aplicação
Web
ü
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
12. WebApp Scanners
12
¨ “Tentar” encontrar vulnerabilidades aplicacionais
n Realizar testes pré-definidos – análise activa através da
simulação de ataques
¤ Manipulação de mensagens HTTP
¤ Inspeção de mensagens HTTP
¤ Encontrar atributos “esquisitos” Analisar
Aplicações
Web
¤ Fuzzing Análise
de
Conteúdo
¤ Análise de Código
Pedidos
modificados
específicos
¤ …
Geração
de
Resultados
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
13. Web Scanners
13
¨ Muito importante em alguns cenários
Point
and
Shot
Procurar
Vulnerabilidades
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
14. Web Scanners
14
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
15. Web Scanners
15
¨ Commercial Tools ¨ Free / Open Source Tools
¤ Acunetix WVS by Acunetix ¤ Arachni by Tasos Laskos
¤ AppScan by IBM ¤ Grabber by Romain Gaucher
¤ Burp Suite Professional by ¤ Grendel-Scan by David Byrne and
PortSwigger Eric Duprey
¤ Hailstorm by Cenzic ¤ Paros by Chinotec
n Andiparos
¤ N-Stalker by N-Stalker
n Zed Attack Proxy
¤ Nessus by Tenable Network Security
¤ Powerfuzzer by Marcin Kozlowski
¤ NetSparker by Mavituna Security
¤ SecurityQA Toolbar by iSEC Partners
¤ NeXpose by Rapid7 ¤ Skipfish by Michal Zalewski
¤ NTOSpider by NTObjectives ¤ W3AF by Andres Riancho
¤ ParosPro by MileSCAN Technologies ¤ Wapiti by Nicolas Surribas
¤ Retina Web Security Scanner by eEye ¤ Watcher by Casaba Security
Digital Security ¤ WATOBO by siberas
¤ WebApp360 by nCircle ¤ Websecurify by GNUCITIZEN
¤ WebInspect by HP ¤ Zero Day Scan
¤ WebKing by Parasoft
¤ Websecurify by GNUCITIZEN
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
16. Web Scanners
16
¨ Software-as-a-Service Providers
¤ AppScan OnDemand by IBM
¤ ClickToSecure by Cenzic
¤ QualysGuard Web Application Scanning by Qualys
¤ Sentinel by WhiteHat
¤ Veracode Web Application Security by Veracode
¤ VUPEN Web Application Security Scanner by VUPEN
Security
¤ WebInspect by HP
¤ WebScanService by Elanize KG
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
17. Avaliação de Web Scanners
17
¨ NIST SAMATE
¤ Software Assurance Metrics and Tools Evaluation
¨ WASSEC
¤ Web Application Security Scanner Evaluation
Criteria
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
18. Avaliação de Web Scanners
18
¨ NIST SAMATE
¤ Aspectos das Aplicações Web
¤ Vulnerabilidades Técnicas
¤ Vulnerabilidades de Segurança
¤ Vulnerabilidades da Arquitectura/Lógicas
¤ Outras Vulnerabilidades
¨ 1.Jan.2010 – deixou de ser suportado
hp://samate.nist.gov/Main_Page.html
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
19. Avaliação de Web Scanners
19
¨ WASSEC
¤ Suporte de Protocolos
¤ Autenticação
¤ Gestão de Sessões
¤ Crawling
¤ Análise
¤ Testes
¤ Comando e Controlo
hp://projects.webappsec.org/w/page/13246986/Web-‐
¤ Criação de Relatórios ApplicaJon-‐Security-‐Scanner-‐EvaluaJon-‐Criteria
¤ <Customização>
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
20. Avaliação de Web Scanners
20
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
21. Avaliação de Web Scanners
21
¨ Método de Avaliação Complementar
¤ Selecionar a vulnerabilidade a testar
¤ Criar níveis de exploração baseadas na informação
sobre como se proteger da vulnerabilidade
¤ Explorar o comportamento do Web Scanner para
cada nível
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
22. Avaliação de Web Scanners
22
¨ Idealmente seria necessário criar uma aplicação
Web vulnerável para avaliar cada nível
¨ Opcionalmente, podemos usar alguns sites já pré-
definidos
¤ Cenzic
¤ Watchfire
¤ WebMaven / Buggy Bank
¤ Updated HackmeBank
¤ OWASP WebGoat
¤ Stanford SecuriBench
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
23. Análise Manual
23
Porquê? Análise de
Vulnerabilidades
Existem
sempre
falsos
Perceber como
posiJvos testá-las
[Para
cada
vulnerabilidade]
Impactos
Mitigação
Confirmação
manual
necessária
Documentação
[fim]
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
24. Estudo de Caso
24
17
WebApps
Reais
Governo/AP
Educação
Outros
fornecedores
de
serviços
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
25. Estudo de Caso
25
¨ Entidades testadas
2
2
1
Outros
Forças Armadas
Administração Pública
Bancárias
Educação
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
26. Estudo de Caso
26
Escolher
os
WebApp
scanners
Aplicar
WebApp
scanners
a
WebApps
Avaliar
os
resultados
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
27. Estudo de Caso
27
¨ Encontrar os principais WebApp scanners da
comunidade Open-Source
Grendel-‐ SecurityQA
Grabber Paros
Proxy Powerfuzzer
Scan Toolbar
Skipfish W3AF WapiJ Watcher Websecurify
Netsparker OpenAcuneJx RatProxy
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
28. Estudo de Caso
28
¨ Não considerar as WebApp scanners menos
aceites
Grendel-‐ SecurityQA
Grabber Paros
Proxy Powerfuzzer
Scan Toolbar
Skipfish W3AF WapiJ Watcher Websecurify
Netsparker OpenAcuneJx RatProxy
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
29. Estudo de Caso
29
¨ Baseado em WASSEC
¤ Cobertura do OWASP Top 10
¤ Actividade e actualizações recentes
¤ Suporte para novas tecnologias
¤ Resolução rápida de bugs (interação rápida e fácil
com os programadores)
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
30. Estudo de Caso
30
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
31. Estudo de Caso
31
#
WebApps
47%
PHP
Java
47% .Net/ASPX
6%
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
32. Metodologia de Testes
32
Autorização da Entidade
Seleccionar
a
aplicação
Web
Usar
Web
scanner
[para
cada
web
scanner]
[para
cada
web
scanner]
Criar
relatório
detalhado
Documento
de
vulnerabilidades
descobertas
[fim
do
teste]
Verificação
Manual Entregar
o
relatório
na
organização
Usar ferramentas distintas e LiveCDs
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
33. Estudo de Caso
33
Total Falsos Positivos
900
675
450
225
0
W3AF
WebSecurify
Skipfish
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
34. Estudo de Caso
34
De
um
total
de
1387
vulnerabilidades
encontradas....
....~
319
são
falsos
posiOvos
23%
77%
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
35. Estudo de Caso
35
¨ Exemplo de Relatório produzido
¤ Conteúdo
n Lista da totalidade das ferramentas utilizadas
n Listagem da totalidade das vulnerabilidades encontradas
n Listagem de acções de mitigação para cada vulnerabilidade (quando aplicável)
n Para cada ferramenta
n Vulnerabilidades encontradas
n Impacto das vulnerabilidades
n Mitigação das vulnerabilidades
n Output dos testes da ferramenta
n Inspecções manuais efectuadas para confirmação da vulnerabilidade
(quando aplicável)
• Ferramentas utilizadas neste nível
• Resultado da inspecção manual
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
38. Estudo de caso
!"#$%&'(
38 !
!"#)*+,-.($%/#01"203(342(&"5%+0#6('"574*/*86(-*/%#0*4-(
(
¨ Relatório O*PN-43#431#+.#I'()%*+,-(-$+$%.#56789#:30#;<#
!
/+0%+1%)23#431#56789#:30#;<#
(!
$%#&'()%*+,-(-$+$%.#
'!
!"#
&!
%!
$!
#
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
39. Resultados
39
¨ Reuniões realizadas com entidades
¨ 3000+ páginas de relatórios de auditorias
¨ Apresentações sobre resultados
¨ Produzidos 4 artigos científicos sobre o tema
¤ IBWAS’09 – Espanha – aceite / publicado / apresentado
¤ CAPSI 2010 – Portugal – aceite / - / apresentado
¤ IBWAS’10 – Portugal -
¤ WCIS 2011 – Londres – aceite / por publicar / por
apresentar
¨ Contribuição para especificação de requisitos de
segurança para aplicações Web (ISCTE-IUL)
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
40. Principais dificuldades
40
¨ Convencer organizações a submeterem as suas
aplicações Web a testes
¨ Tempo de execução dos testes
¨ Tempo de verificação manual
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
41. Trabalho Futuro
41
¨ Aumentar número de entidades
¨ Aumentar número de aplicações
¨ Reduzir o tempo de testes
¤ Aumento do número de aplicações em testes
¨ Melhorar nas análises manuais
¤ Cada teste fornece experiência, melhorando o
conhecimento e a velocidade de execução
¨ Providenciar sugestões de melhoria para
ferramentas
¨ Contributo para melhoria de padrões de requisitos de
segurança
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
42. Trabalho Futuro
42
¨ ... work in progress!
¨ Deadline: Julho/Setembro 2011
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
43. ... mais uma coisa
43
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
44. OWASP SUMMIT 2011
44
¨ 8-11 Fevereiro 2011
¨ CampoReal resort
¨ +150 WebAppSec experts
de todo o mundo
¨ empresas como: Google,
Facebook, Mozilla,
Verizon, etc...
¨ http://www.owasp.org/
index.php/Summit_2011
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
45. OWASP SUMMIT 2011
45
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
46. Análise de Vulnerabilidades
em Aplicações na Web
nacional
Confraria Security&IT, 26.Jan.2011
ISCTE-IUL/ISTA/ADETTI-IUL Carlos Serrão
Instituto Superior de Ciências do Trabalho e da Empresa carlos.serrao@iscte.pt
Lisbon University Institute carlos.j.serrao@gmail.com
ISCTE-IUL School of Technology and Architecture
ADETTI-IUL http://www.carlosserrao.net
http://blog.carlosserrao.net
http://www.linkedin.com/in/carlosserrao