47
OWASP @ ISCTE-IUL Ferramentas de Auditoria de Vulnerabilidades em ISCTE-IUL/DCTI Instituto Superior de Ciências do Trabalho e da Empresa Instituto Universitário de Lisboa Departamento de Ciências e Tecnologias de Informação Nuno Teodoro [email protected] [email protected] (IM) http://pt.linkedin.com/in/nunoteodoro http://www.facebook.com/nuno.teodoro Ferramentas de Auditoria de Vulnerabilidades em Aplicações Web

Owasp@iscte iul ferramentas-analise_vulnerabilidades

Embed Size (px)

Citation preview

Page 1: Owasp@iscte iul ferramentas-analise_vulnerabilidades

OWASP @ ISCTE-IULFerramentas de Auditoria de Vulnerabilidades em

ISCTE-IUL/DCTI

Instituto Superior de Ciências do Trabalho e da Empresa

Instituto Universitário de Lisboa

Departamento de Ciências e Tecnologias de Informação

Nuno Teodoro

[email protected]

[email protected] (IM)

http://pt.linkedin.com/in/nunoteodorohttp://www.facebook.com/nuno.teodoro

Ferramentas de Auditoria de Vulnerabilidades em Aplicações Web

Page 2: Owasp@iscte iul ferramentas-analise_vulnerabilidades

2

Um pouco sobre mim...2

� Licenciado em Engenharia Informática (ISCTE)

� Mestrando em Engenharia Informática – SIGC (ISCTE)

� Consultor na área de SCCM – Noesis

� Colaborador NetMuST

Abril 2010OWASP @ ISCTE-IUL

� Colaborador NetMuST

� Tese de Mestrado em Segurança Aplicacional – Ethical Hacking

Page 3: Owasp@iscte iul ferramentas-analise_vulnerabilidades

3

O que são e para que servem?3

� Ferramentas que automatizam testes nas aplicações web

� Testes geralmente concentram-se mas vulnerabilidades mais comuns

� XSS

Abril 2010OWASP @ ISCTE-IUL

� XSS

� SQL Injection

� Buffer Overflow

� ...

� Geralmente utilizadas no fim do CVDS

Page 4: Owasp@iscte iul ferramentas-analise_vulnerabilidades

4

O que são e para que servem?4

CVDS

Abril 2010OWASP @ ISCTE-IUL

Page 5: Owasp@iscte iul ferramentas-analise_vulnerabilidades

5

Motivação – Os mitos5

Está numa rede

com firewalls

Temos anti-vírus

Usamos

protocolos

proprietários

O nosso SO é

“seguro”

Abril 2010OWASP @ ISCTE-IUL

A nossa

aplicação

está seguraUsamos

passwords

“seguras”

Usamos SSL

“seguro”

........

Usamos

encriptação de

dados

Page 6: Owasp@iscte iul ferramentas-analise_vulnerabilidades

6

Motivação – A realidade6

Abril 2010OWASP @ ISCTE-IUL

Software bug bites U.S.

Military— BBC, Mar 18,2003

Page 7: Owasp@iscte iul ferramentas-analise_vulnerabilidades

7

Motivação – A realidade7

Abril 2010OWASP @ ISCTE-IUL

Page 8: Owasp@iscte iul ferramentas-analise_vulnerabilidades

8

Motivação8

E se fosse possível

eliminar?

E se fosse possível

carregar num botão e

ver que

vulnerabilidades

eliminar?

Abril 2010OWASP @ ISCTE-IUL

Scan Vulnerabilities

Page 9: Owasp@iscte iul ferramentas-analise_vulnerabilidades

9

Antes dos Web Scanners9

� Um pouco de história

� Achilles proxy (2000)

� Robert Cardona

Abril 2010OWASP @ ISCTE-IUL

� Proxy que exibia todos os pedidos e respostas e permitia a sua edição

� Era complicado

� Tinha muitos bugs

� Permitia comprometer muitas aplicações naquela altura

Page 10: Owasp@iscte iul ferramentas-analise_vulnerabilidades

10

Modo Geral de Funcionamento10

� Efectuam crawling numa aplicação web

Abril 2010OWASP @ ISCTE-IUL

Page 11: Owasp@iscte iul ferramentas-analise_vulnerabilidades

11

Modo Geral de Funcionamento11

� Localizam vulnerabilidades na camada aplicacional� Realizam testes de penetração – análise activa através da simulação de ataques

Manipulam mensagens HTTP

Abril 2010OWASP @ ISCTE-IUL

�Manipulam mensagens HTTP

� Inspeccionam mensagens HTTP

� Detectam atributos suspeitos

� Efectuam fuzzing

� Inpecção de código

� ...

Page 12: Owasp@iscte iul ferramentas-analise_vulnerabilidades

12

Modo Geral de Funcionamento12

Wanderers, robots,

spiders, fish,

worms...

Crawling

Focused Crawler

InfoSpiders

Inicializar lista

com URLs

Procurar fim[Fim]

[Sem URLs]

Abril 2010OWASP @ ISCTE-IUL

Web

crawlers

Naive Best-First

Crawler

SharkSearch

Focused Crawler

Context Focused

Crawler

Escolher URL

da lista

Ir para o URL

Efectuar parsing

da página

Adicionar URLs

à lista

[Sem URLs]

Page 13: Owasp@iscte iul ferramentas-analise_vulnerabilidades

13

Que ferramentas usar e porquê?13

� A escolha das ferramentas a usar é muito complicada

� Existem muitas ferramentas comerciais e Open Source

Abril 2010OWASP @ ISCTE-IUL

� Nem todas devolvem os mesmos resultados

� Não sabemos até que ponto os resultados são fiáveis

Page 14: Owasp@iscte iul ferramentas-analise_vulnerabilidades

14

Escolha da ferramenta - WASSEC14

� Web Application Security Scanner Evaluation Criteria� Secção 1 - Protocol Support

� Secção 2 - Authentication

� Secção 3 - Session Management

Secção 4 - Crawling

Abril 2010OWASP @ ISCTE-IUL

� Secção 4 - Crawling

� Secção 5 - Parsing

� Secção 6 - Testing

� Secção 7 - Command and Control

� Secção 8 - Reporting

Page 15: Owasp@iscte iul ferramentas-analise_vulnerabilidades

15

Escolha da ferramenta - WASSEC15

� Secção 1 - Protocol Support � Devem ser suportados todos os protocolos mais usados pelas aplicações web

� HTTP 1.0

� HTTP 1.1

Abril 2010OWASP @ ISCTE-IUL

� HTTP 1.1

� SSL / TLS

� HTTP Keep Alice

� ....

Page 16: Owasp@iscte iul ferramentas-analise_vulnerabilidades

16

Escolha da ferramenta - WASSEC16

� Secção 2 - Authentication � Deve suportar as autenticações mais utilizadas, de modo a ser capaz de testar aplicações que requiram essa autenticação

� Basic

� Digest

Abril 2010OWASP @ ISCTE-IUL

� Digest

� HTTP Form-based

� ...

Page 17: Owasp@iscte iul ferramentas-analise_vulnerabilidades

17

Escolha da ferramenta - WASSEC17

� Secção 3 - Session Management� Durante os testes a uma aplicação web, é essencial que a ferramenta consiga manter uma sessão aberta e válida durante os testes

Abril 2010OWASP @ ISCTE-IUL

� Este cenário é necessário para:

� Web crawiling

� Fases de testes

� Criar manter uma sessão

Page 18: Owasp@iscte iul ferramentas-analise_vulnerabilidades

18

Escolha da ferramenta - WASSEC18

� Secção 4 – Crawling� Esta função é fundamental pois permite que a ferramenta esteja “consciente” de todos os caminhos dentro de uma aplicação web

� Definir um URL de início

� Definir extensões para exclusão

Abril 2010OWASP @ ISCTE-IUL

� Definir extensões para exclusão

� Definir um máximo de profundidade de crawling

� Detectar páginas de erro

Page 19: Owasp@iscte iul ferramentas-analise_vulnerabilidades

19

Escolha da ferramenta - WASSEC19

� Secção 5 – Parsing�O processo de mapeamento do crawler é feito através do parsing de diferentes tipos de conteúdos para extrair informações

� Esta informação é de elevada importância e refere-se a:

Abril 2010OWASP @ ISCTE-IUL

� Esta informação é de elevada importância e refere-se a:

� HTML

� JavaScript

� VBScript XML

� ....

Page 20: Owasp@iscte iul ferramentas-analise_vulnerabilidades

20

Escolha da ferramenta - WASSEC20

� Secção 6 – Testing� Esta é a funcionalidade mais relevante numa ferramentas de auditoria

� Configuração de testes

� Nome do Host ou IP

Abril 2010OWASP @ ISCTE-IUL

� Nome do Host ou IP

� Extensões de ficheiros

� Cookies

� ...

� Capacidades de testes

� Autenticação

� Autorização

� Ataques do lado do cliente

� ...

Page 21: Owasp@iscte iul ferramentas-analise_vulnerabilidades

21

Escolha da ferramenta - WASSEC21

� Secção 7 - Command and Control� Têm bastante influência na usabilidade por isso deve ser considerado um critério importante

� Controlo das capacidades de scan

� Calendarização

Abril 2010OWASP @ ISCTE-IUL

� Calendarização

� Pause e Resume

� Real-time scans

� ...

� Interfaces fornecidas

� Extensão e interoperabilidade

� Existência de APIs

� Conjugação com outras ferramentas

Page 22: Owasp@iscte iul ferramentas-analise_vulnerabilidades

22

Escolha da ferramenta - WASSEC22

� Secção 8 - Reporting � As ferramentas deverão ser capazes de produzir relatórios e de suportar costumização dos mesmos

� Tipos de relatórios

� Sumário executivo

Abril 2010OWASP @ ISCTE-IUL

� Sumário executivo

� Relatório técnico detalhado

� Informação sobre cada vulnerabilidade e medidas de mitigação

� Costumização

� Formato

� PDF

� XML

Page 23: Owasp@iscte iul ferramentas-analise_vulnerabilidades

23

Ferramentas de Auditoria23

WASC

Abril 2010OWASP @ ISCTE-IUL

ComerciaisOpen

Source

Open

SourceSaaS

Page 24: Owasp@iscte iul ferramentas-analise_vulnerabilidades

24

Ferramentas de Auditoria - Comerciais

24

Abril 2010OWASP @ ISCTE-IUL

Page 25: Owasp@iscte iul ferramentas-analise_vulnerabilidades

25

Ferramentas de Auditoria - Open Source

25

Abril 2010OWASP @ ISCTE-IUL

Page 26: Owasp@iscte iul ferramentas-analise_vulnerabilidades

26

Ferramentas de Auditoria - SaaS

26

Abril 2010OWASP @ ISCTE-IUL

Page 27: Owasp@iscte iul ferramentas-analise_vulnerabilidades

27

Ferramentas de Auditoria27

HTTP proxying /

editing

Database security

assessmentHTTP general

testing /

fingerprinting

Browser-based

RSS

extensions

and

caching

SQL

Abril 2010OWASP @ ISCTE-IUL

Browser-based

HTTP tampering

/ editing /

replaying

Cookie editing /

poisoning

Ajax and

XHR

scanning

SQL

injection

scanning

Web application security

malware, backdoors, and

evil code

Web services

enumeration /

scanning /

fuzzing

Page 28: Owasp@iscte iul ferramentas-analise_vulnerabilidades

28

Ferramentas de Auditoria - SECTOOLS28

� Top 10 - sectools

WebScarab

1 2 3 4

Nikto

Abril 2010OWASP @ ISCTE-IUL

WebScarab

libwhisker Wikto

5 6 7 8

9 10

Nikto

Page 29: Owasp@iscte iul ferramentas-analise_vulnerabilidades

29

Ferramentas de Auditoria - Avaliação29

� Preparação

� Testes

Abril 2010OWASP @ ISCTE-IUL

� Comparação de resultados

Page 30: Owasp@iscte iul ferramentas-analise_vulnerabilidades

30

Ferramentas de Auditoria - Avaliação30

� Preparação� Determinar quais os pontos do WASSEC são mais importante

� Cada utilizador tem as suas necessidades e preferências pessoais

� Avaliar um conjunto de características adicionais

� Custo de aquisição

Abril 2010OWASP @ ISCTE-IUL

� Custo de aquisição

� Custos de suporte

� Custos adicionais (e.g. hardware)

� Facilidade de utilização

� Qualidade da documentação

� Disponibilidade de suporte (telefone, web, e-mail, etc)

� Disponibilidade de formação

� Capacidades de update das capacidades do produto

� Restrições de licença

Page 31: Owasp@iscte iul ferramentas-analise_vulnerabilidades

31

Ferramentas de Auditoria - Avaliação31

� Preparação� Decidir que ferramentas serão alvo da avaliação

�Obter a última versão de cada ferramenta

� Efectuar uma lista das aplicações web que serão testadas

Consumo de tempo!

Abril 2010OWASP @ ISCTE-IUL

� Consumo de tempo!

� Escolher mais que uma tecnologia

� Autorizações para efectuar os testes

� Documentar as características das aplicações caso os resultados sejam para ser tornados públicos

Page 32: Owasp@iscte iul ferramentas-analise_vulnerabilidades

32

Ferramentas de Auditoria - Avaliação32

� Testes� As ferramentas permitem várias configurações para efectuar ostestes

� Devem ser usadas essas várias configurações

� Maior cobertura de vulnerabilidades

Abril 2010OWASP @ ISCTE-IUL

� Maior cobertura de vulnerabilidades

� Configurar vários níveis de defesa

� Nível 0 – sem defesas

� Nível 1 – nível 0 + filtros

� Nível 2 – nível 1 + funções especiais

� …

Page 33: Owasp@iscte iul ferramentas-analise_vulnerabilidades

33

Ferramentas de Auditoria - Avaliação33

� Testes

�OWASP SiteGenerator

Abril 2010OWASP @ ISCTE-IUL

Page 34: Owasp@iscte iul ferramentas-analise_vulnerabilidades

34

Ferramentas de Auditoria - Avaliação34

� Comparação de resultados� Para cada teste avaliar os pesos dados segundo as nossaspreferências da WASSEC

� Próximo documento WASSEC já prevê os pesos mais comuns dos utilizadores

Abril 2010OWASP @ ISCTE-IUL

utilizadores

� Avaliar características extra definidas por nós

Page 35: Owasp@iscte iul ferramentas-analise_vulnerabilidades

35

Prós e Contras35

� Prós� Recursos temporais limitados

� Podem poupar muito tempo em vulnerabilidades facilmentedetectáveis pelas ferramentas

� Boas soluções custo/eficácia

Abril 2010OWASP @ ISCTE-IUL

� Boas soluções custo/eficácia

� Soluções PaS

� Recursos humanos limitados

� Exige pouco conhecimento técnico

� Boa solução para as fases finais do CVDS

� Automatização de testes frequentes

Page 36: Owasp@iscte iul ferramentas-analise_vulnerabilidades

36

Prós e Contras36

� Contras� Fiabilidade das ferramentas

� Não são A solução

� Não significa que não existam falhas se estas não forem contradas

� Têm limitações

Abril 2010OWASP @ ISCTE-IUL

� Têm limitações

� Custos

� Tempo de scanning

� Dependendo da aplicação, o próprio crawling pode demorar dias

Page 37: Owasp@iscte iul ferramentas-analise_vulnerabilidades

37

Web Application Attack and Audit Framework

37

Web Application Attack and Audit Framework

http://w3af.sourceforge.net/

Abril 2010OWASP @ ISCTE-IUL

http://w3af.sourceforge.net/

Autor: Andres Riancho

“w3af is a Web Application Attack and Audit Framework. Theproject's goal is to create a framework to find and exploitweb application vulnerabilities that is easy to use and extend.”

Page 38: Owasp@iscte iul ferramentas-analise_vulnerabilidades

38

Web Application Attack and Audit Framework

38

Abril 2010OWASP @ ISCTE-IUL

Page 39: Owasp@iscte iul ferramentas-analise_vulnerabilidades

39

Web Application Attack and Audit Framework

39

Abril 2010OWASP @ ISCTE-IUL

Page 40: Owasp@iscte iul ferramentas-analise_vulnerabilidades

40

Nikto 240

Abril 2010OWASP @ ISCTE-IUL

Page 41: Owasp@iscte iul ferramentas-analise_vulnerabilidades

41

Netsparker – Community Edition41

Abril 2010OWASP @ ISCTE-IUL

Page 42: Owasp@iscte iul ferramentas-analise_vulnerabilidades

42

Onde Testar?42

� SPI Dynamics (live) - http://zero.webappsecurity.com/

� Cenzic (live) - http://crackme.cenzic.com/

� Watchfire (live) - http://demo.testfire.net/

� Acunetix (live) - http://testphp.acunetix.com/ http://testasp.acunetix.comhttp://testaspnet.acunetix.com

Abril 2010OWASP @ ISCTE-IUL

http://testaspnet.acunetix.com

� WebMaven / Buggy Bank - http://www.mavensecurity.com/webmaven

� Foundstone SASS tools - http://www.foundstone.com/us/resources-free-tools.asp

� Updated HackmeBank - http://www.o2-ounceopen.com/technical-info/2008/12/8/updated-version-of-hacmebank.html

� OWASP WebGoat -http://www.owasp.org/index.php/OWASP_WebGoat_Project

� Stanford SecuriBench - http://suif.stanford.edu/~livshits/securibench/

Page 43: Owasp@iscte iul ferramentas-analise_vulnerabilidades

43

Onde Testar?43

Abril 2010OWASP @ ISCTE-IUL

Page 44: Owasp@iscte iul ferramentas-analise_vulnerabilidades

44

Onde Testar?44

� Importante pedir autorizações para testar aplicações web reais

� Problemas legais caso contrário

� Lei do cibercrime

Abril 2010OWASP @ ISCTE-IUL

� Permite perceber até que ponto as ferramentas são eficazes a descobrir quais vulnerabilidades

� Diferentes configurações para a mesma vulnerabilidade

Page 45: Owasp@iscte iul ferramentas-analise_vulnerabilidades

45

Conclusões 45

�O que sao web scanners

� Para que servem

Abril 2010OWASP @ ISCTE-IUL

� Para que servem

� Como funcionam

� Como devem ser avaliados

Page 46: Owasp@iscte iul ferramentas-analise_vulnerabilidades

46

Conclusões46

� Pros

� Contras

Abril 2010OWASP @ ISCTE-IUL

�Onde Testar

Page 47: Owasp@iscte iul ferramentas-analise_vulnerabilidades

OWASP @ ISCTE-IULFerramentas de Auditoria de Vulnerabilidades em

ISCTE-IUL/DCTI

Instituto Superior de Ciências do Trabalho e da Empresa

Instituto Universitário de Lisboa

Departamento de Ciências e Tecnologias de Informação

Nuno Teodoro

[email protected]

[email protected] (IM)

http://pt.linkedin.com/in/nunoteodorohttp://www.facebook.com/nuno.teodoro

Ferramentas de Auditoria de Vulnerabilidades em Aplicações Web