Owasp@iscte iul ferramentas-analise_vulnerabilidades
-
Upload
carlos-serrao -
Category
Documents
-
view
1.682 -
download
0
Transcript of 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] (IM)
http://pt.linkedin.com/in/nunoteodorohttp://www.facebook.com/nuno.teodoro
Ferramentas de Auditoria de Vulnerabilidades em Aplicações Web
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
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
4
O que são e para que servem?4
CVDS
Abril 2010OWASP @ ISCTE-IUL
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
6
Motivação – A realidade6
Abril 2010OWASP @ ISCTE-IUL
Software bug bites U.S.
Military— BBC, Mar 18,2003
7
Motivação – A realidade7
Abril 2010OWASP @ ISCTE-IUL
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
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
10
Modo Geral de Funcionamento10
� Efectuam crawling numa aplicação web
Abril 2010OWASP @ ISCTE-IUL
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
� ...
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]
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
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
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
� ....
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
� ...
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
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
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
� ....
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
� ...
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
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
� XML
23
Ferramentas de Auditoria23
WASC
Abril 2010OWASP @ ISCTE-IUL
ComerciaisOpen
Source
Open
SourceSaaS
24
Ferramentas de Auditoria - Comerciais
24
Abril 2010OWASP @ ISCTE-IUL
25
Ferramentas de Auditoria - Open Source
25
Abril 2010OWASP @ ISCTE-IUL
26
Ferramentas de Auditoria - SaaS
26
Abril 2010OWASP @ ISCTE-IUL
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
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
29
Ferramentas de Auditoria - Avaliação29
� Preparação
� Testes
Abril 2010OWASP @ ISCTE-IUL
� Comparação de resultados
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
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
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
� …
33
Ferramentas de Auditoria - Avaliação33
� Testes
�OWASP SiteGenerator
Abril 2010OWASP @ ISCTE-IUL
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
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
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
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.”
38
Web Application Attack and Audit Framework
38
Abril 2010OWASP @ ISCTE-IUL
39
Web Application Attack and Audit Framework
39
Abril 2010OWASP @ ISCTE-IUL
40
Nikto 240
Abril 2010OWASP @ ISCTE-IUL
41
Netsparker – Community Edition41
Abril 2010OWASP @ ISCTE-IUL
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/
43
Onde Testar?43
Abril 2010OWASP @ ISCTE-IUL
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
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
46
Conclusões46
� Pros
� Contras
Abril 2010OWASP @ ISCTE-IUL
�Onde Testar
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] (IM)
http://pt.linkedin.com/in/nunoteodorohttp://www.facebook.com/nuno.teodoro
Ferramentas de Auditoria de Vulnerabilidades em Aplicações Web