análise de vulnerabilidades em aplicações na web nacional
DESCRIPTION
Apresentação realizada na Confraria Security&IT, na TB Store, Lisboa26.Janeiro.2011TRANSCRIPT
ISCTE-IUL/ISTA/ADETTI-IUL
Instituto Superior de Ciências do Trabalho e da EmpresaLisbon University Institute
ISCTE-IUL School of Technology and ArchitectureADETTI-IUL
Carlos Serrão
[email protected]@gmail.com
http://www.carlosserrao.nethttp://blog.carlosserrao.nethttp://www.linkedin.com/in/carlosserrao
Análise de Vulnerabilidades em Aplicações na Web
nacionalConfraria Security&IT, 26.Jan.2011
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Sobre mim…
¨ {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
2
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estado da Arte
¨ 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
3
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Motivação/Contexto
¨ 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 ;-)
4
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Motivação/Contexto5
Tendências Cisco para 2011
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Motivação/Contexto6
Número médio de vulnerabilidades sérias encontradasem WebApps por sector (fonte: WhiteHat, 2010)
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Motivação/Contexto7
Percentagem de ocorrência de problemas de segurança emWebApps (fonte: WhiteHat, 2010)
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Motivação/Contexto
Aplicacional75%
Outros25%
Gartner Group (2009)
Sites Web Vulneráveis85%
Outros15%
WASC (2009)
Sites Web Vulneráveis90%
Outros10%
IBM (2009)
Fáceis de Explorar78%
Outros22%
8
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Objectivo
¨ Conhecer o panorama de segurança aplicacional da Web nacional¤ em especial 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
10
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Métodos de Teste
Acesso ao código-‐fonte e algum Jpo de conhecimento da infra-‐estrutura interna do sistema/aplicação
-‐ Testes com ferramentas automáJcas (WebApp scanners)-‐ Confirmar os resultados
Black box
White box Gray box
Acesso on-‐line à aplicação Web
ü
11
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
WebApp Scanners
¨ “Tentar” encontrar vulnerabilidades aplicacionaisn 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”¤ Fuzzing¤ Análise de Código¤ …
Analisar Aplicações Web
Análise de Conteúdo
Pedidos modificados específicos
Geração de Resultados
12
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Web Scanners
¨ Muito importante em alguns cenários
Point and Shot
Procurar Vulnerabilidades
13
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Web Scanners14
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Web Scanners
¨ Commercial Tools¤ Acunetix WVS by Acunetix¤ AppScan by IBM¤ Burp Suite Professional by
PortSwigger¤ Hailstorm by Cenzic¤ N-Stalker by N-Stalker¤ Nessus by Tenable Network Security¤ NetSparker by Mavituna Security¤ NeXpose by Rapid7¤ NTOSpider by NTObjectives¤ ParosPro by MileSCAN Technologies¤ Retina Web Security Scanner by eEye
Digital Security¤ WebApp360 by nCircle¤ WebInspect by HP¤ WebKing by Parasoft¤ Websecurify by GNUCITIZEN
¨ Free / Open Source Tools¤ Arachni by Tasos Laskos¤ Grabber by Romain Gaucher¤ Grendel-Scan by David Byrne and
Eric Duprey¤ Paros by Chinotec
n Andiparosn Zed Attack Proxy
¤ Powerfuzzer by Marcin Kozlowski¤ SecurityQA Toolbar by iSEC Partners¤ Skipfish by Michal Zalewski¤ W3AF by Andres Riancho¤ Wapiti by Nicolas Surribas¤ Watcher by Casaba Security¤ WATOBO by siberas¤ Websecurify by GNUCITIZEN¤ Zero Day Scan
15
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Web Scanners
¨ 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
16
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Avaliação de Web Scanners
¨ NIST SAMATE¤ Software Assurance Metrics and Tools Evaluation
¨ WASSEC¤ Web Application Security Scanner Evaluation
Criteria
17
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Avaliação de Web Scanners
¨ 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
h\p://samate.nist.gov/Main_Page.html
18
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Avaliação de Web Scanners
¨ WASSEC¤ Suporte de Protocolos¤ Autenticação¤ Gestão de Sessões¤ Crawling¤ Análise¤ Testes¤ Comando e Controlo¤ Criação de Relatórios¤ <Customização>
h\p://projects.webappsec.org/w/page/13246986/Web-‐ApplicaJon-‐Security-‐Scanner-‐EvaluaJon-‐Criteria
19
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Avaliação de Web Scanners20
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Avaliação de Web Scanners
¨ 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
21
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Avaliação de Web Scanners
¨ 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
22
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Análise Manual
Análise de Vulnerabilidades
Perceber como testá-las
Impactos
Mitigação
Documentação
[fim]
[Para cada vulnerabilidade]
Existem sempre falsos posiJvos
Confirmação manual necessária
Porquê?
23
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso
17 WebApps Reais
Educação
Governo/AP
Outros fornecedores de serviços
24
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso25
2
1
2
EducaçãoBancárias
Administração PúblicaForças Armadas
Outros
¨ Entidades testadas
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso
Escolher os WebApp scanners
Aplicar WebApp scanners a WebApps
Avaliar os resultados
26
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso
¨ Encontrar os principais WebApp scanners da comunidade Open-Source
Grabber Grendel-‐Scan Paros Proxy Powerfuzzer
Skipfish W3AF WapiJ Watcher
Netsparker OpenAcuneJx RatProxy
SecurityQA Toolbar
Websecurify
27
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso
¨ Não considerar as WebApp scanners menos aceites
Grabber Grendel-‐Scan Paros Proxy Powerfuzzer
Skipfish W3AF WapiJ Watcher
Netsparker OpenAcuneJx RatProxy
SecurityQA Toolbar
Websecurify
28
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso
¨ 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)
29
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso30
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso
47%
6%
47%
# WebApps
PHPJava.Net/ASPX
31
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Metodologia de Testes
Usar ferramentas distintas e LiveCDs
Usar Web scanner
Documento de vulnerabilidades descobertas
Seleccionar a aplicação Web
Verificação Manual
[para cada web scanner]
[para cada web scanner]
[fim do teste]
Criar relatório detalhado
Entregar o relatório na organização
Autorização da Entidade32
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso33
0
225
450
675
900
W3AFWebSecurify
Skipfish
Total Falsos Positivos
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso
De um total de 1387 vulnerabilidades encontradas........~ 319 são falsos posiOvos
34
23%
77%
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de Caso
¨ Exemplo de Relatório produzido¤ Conteúdo
n Lista da totalidade das ferramentas utilizadasn Listagem da totalidade das vulnerabilidades encontradasn 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
35
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de caso
¨ Relatório36
!"#$%&'(!"#)*+,-.($%/#01"203(342(&"5%+0#6('"574*/*86(-*/%#0*4-((
!
! "!#!"
$!
%!!"#$$%$&'()*"+,&-.)
/0))
1()234-("+5&4&1+1($)
234-("+5&4&1+1($)1('(,'+1+$)(),#-6&"7+1+$)%)89+:)
&'()!%!
$!
%!
;<'#1#)*"+,()=,'&>#)
?@&5&AB#)1#)5+--(")C**D))
!##E&($)-B#)7+",+1#$),#7#)
C**DF-4G))
/0)
1())234-("+5&4&1+1($)
234-("+5&4&1+1($)1('(,'+1+$)(),#-6&"7+1+$)%)H(5$(,3"&:G)
&'()!*!
&'()!+!
$!
$,*!
$,-!
$,.!
$,/!
%! I#"7)C*;J)$(7)K"#'(,AB#)+K+"(-'()1()
LMNI)
!+"+,'("($)&-,#""(,'#)#3)(7)
:+4'+) I&,O(&"#)&-'("($$+-'()
/0))
1()234-("+5&4&1+1($)
234-("+5&4&1+1($)1('(,'+1+$)(),#-6&"7+1+$)%)$E&K6&$O)
&'()!%!
&'()!*!
&'()!+!
!"#$%&'()#*+),*'+%-.'/0)*1"2*&"#&'('*012345! (5! 6(785! 41! (91:(;! 1<3;83'! )=(! (9>37(?@5! 9('(! (! ()4385'3(! 95'! 9('81! 45! ABCDE"AFG,! 5;!'1;)>8(45;!;1'@5!(9'1;1:8(45;!:(!;17?@5!45!9(:5'(=(!H1'(>!4(!1:834(41,!41;7'385! 3=143(8(=1:85!(I(3<5J!!!"#$%&'()#*"%$.-('&-3)#*()*+'4),'5'*6",'%*K1;8(!;17?@5!3'L!;1'!65':17345!)=!9(:5'(=(!H1'(>!;5I'1!(;!(9>37(?M1;!81;8(4(;!9('(!5!ABCDE"AFGJ!!P"Q:&,#),#7)'#1+$)+$)>34-("+5&4&1+1($)(-,#-'"+1+$)K#")H(5)$,+--(")
!!!!)))))))))))))) )
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de caso
¨ Relatório37!"#$%&'(
!"#)*+,-.($%/#01"203(342(&"5%+0#6('"574*/*86(-*/%#0*4-((
!
! "!#!"
$!
%!
&!
'!
()*+!%! ()*+!&! ()*+!'!
&! &!
'!
!"#
$%#&'()%*+,-(-$+$%.#
&'()%*+,-(-$+$%.#/#0%)-12-.34%254#
()*+!%!()*+!&!()*+!'!
&,-!
&.-!
/'-!
6-.4*-,'-789#$%#:'()%*+,-(-$+$%.#/#0%)-12-.34%254#
()*+!%!()*+!&!()*+!'!
;*<0-39#=%*+(#39>#49$+.#+.#:'()%*+,-(-$+$%.#%)39)4*+$+.##!
#!!!!!!!!!!!!!!!!
##!!##
# #
!"#$%&'(!"#)*+,-.($%/#01"203(342(&"5%+0#6('"574*/*86(-*/%#0*4-((
!
! "!#!"
$!
%!
&!
'!
()*+!%! ()*+!&! ()*+!'!
&! &!
'!
!"#
$%#&'()%*+,-(-$+$%.#
&'()%*+,-(-$+$%.#/#0%)-12-.34%254#
()*+!%!()*+!&!()*+!'!
&,-!
&.-!
/'-!
6-.4*-,'-789#$%#:'()%*+,-(-$+$%.#/#0%)-12-.34%254#
()*+!%!()*+!&!()*+!'!
;*<0-39#=%*+(#39>#49$+.#+.#:'()%*+,-(-$+$%.#%)39)4*+$+.##!
#!!!!!!!!!!!!!!!!
##!!##
# #
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Estudo de caso
¨ Relatório38
!"#$%&'(!"#)*+,-.($%/#01"203(342(&"5%+0#6('"574*/*86(-*/%#0*4-((
!
! "!#!"
$!
%!
&!
'!
(!
!"#
$%#&'()%*+,-(-$+$%.#/+0%+1%)23#431#56789#:30#;<#
=3*1#>:/?#.%1#0*32%4@A3#+0+*%)2%#$%#
B8C=!D*3..E.-2%#:*+4-)F#G#/H23$3#:*+4%#742-I3#G#JK-,-@A3#$3#,+))%*#
>::9#G#D33L-%.#)A3#1+*4+$3.#
4313#>::95)(M#
D+*+42%*%.#-)43**%423.#3'#%1#N+(2+!
/+0%+1%)23#56789#:30#;<#
)*+,-./0*! 122!
3405,*!67.8,*./-6./0*!6*9!:,::/0*!;6*6<,;,*.! )*:,-74,!9/4,-.!0=+,-.!4,>,4,*-,:!
?2@A! 2,-74/.B!;/:-0*C/<746./0*:!
A6/D74,!.0!4,:.4/-.!E@F!6--,::! E*G6D796.,9!4,9/4,-.:!6*9!>04H649:!
)*:,-74,!-4BI.0<46I8/-!:.046<,! )*:7>C/-/,*.!J46*:I04.!F6B,4!K40.,-./0*!
O*PN-43#431#+.#I'()%*+,-(-$+$%.#56789#:30#;<#!
#
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Resultados
¨ 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)
39
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Principais dificuldades
¨ Convencer organizações a submeterem as suas aplicações Web a testes
¨ Tempo de execução dos testes¨ Tempo de verificação manual
40
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Trabalho Futuro
¨ 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
41
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
Trabalho Futuro
¨ ... work in progress!
¨ Deadline: Julho/Setembro 2011
42
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
... mais uma coisa43
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
OWASP SUMMIT 2011
¨ 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
44
Análise de Vulnerabilidades em Aplicações na Web nacional 26.Jan.2011
OWASP SUMMIT 201145
ISCTE-IUL/ISTA/ADETTI-IUL
Instituto Superior de Ciências do Trabalho e da EmpresaLisbon University Institute
ISCTE-IUL School of Technology and ArchitectureADETTI-IUL
Carlos Serrão
[email protected]@gmail.com
http://www.carlosserrao.nethttp://blog.carlosserrao.nethttp://www.linkedin.com/in/carlosserrao
Análise de Vulnerabilidades em Aplicações na Web
nacionalConfraria Security&IT, 26.Jan.2011