Análise de Vulnerabilidades em Aplicações na Web Nacional

Post on 21-Jun-2015

874 views 2 download

description

Apresentação realizada na Confraria Security&IT, na TB Store, Lisboa26.Janeiro.2011

Transcript of Análise de Vulnerabilidades em Aplicações na Web Nacional

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

carlos.serrao@iscte.ptcarlos.j.serrao@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

carlos.serrao@iscte.ptcarlos.j.serrao@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