Felipe Homrich Melchior
WRSeg - 2019
Web Application Firewalls (WAFs): o impacto do número de regras na latência das requisições Web
Requisição
2
Requisita Imagem
Retorna Imagem
Alice
Requisição
3
Requisita Imagem
Retorna Imagem
Alice
Requisição
4
Requisita Imagem
Retorna Imagem
Alice
Problema?
5
Retorna Dados Sensíveis
Bob
Envia ‘ OR 1=1 -- #
Problema?
6
Retorna Dados Sensíveis
Bob
Envia ‘ OR 1=1 -- #
Problema?
7
Retorna Dados Sensíveis
Bob
Envia ‘ OR 1=1 -- #
Vulnerabilidades na Web
8
Cross-site scripting é a falha mais recorrente
Pelo menos uma falha de nível médio em 90% das aplicações web
Metade dos sistemas vulneráveis com falhas críticas
Vulnerabilidades na Web
9
Como melhorar este cenário?
Web Application Firewall
10
Regras pré-definidas
Processa e filtra requisições
Intermediador entre o Cliente e a Aplicação
11
Alice
Requisita Imagem Repassa Requisição
Envia Imagem Encaminha Imagem
Requisição com WAF - Sem Bloqueio
12
Alice
Requisita Imagem Repassa Requisição
Envia Imagem Encaminha Imagem
Requisição com WAF - Sem Bloqueio
13
Alice
Requisita Imagem Repassa Requisição
Envia Imagem Encaminha Imagem
Requisição com WAF - Sem Bloqueio
14
Alice
Requisita Imagem Repassa Requisição
Envia Imagem Encaminha Imagem
Requisição com WAF - Sem Bloqueio
15
Alice
Requisita Imagem Repassa Requisição
Envia Imagem Encaminha Imagem
Requisição com WAF - Sem Bloqueio
16
Bob
Envia ‘ OR 1=1 -- #
Solicitação Rejeitada
Requisição com WAF - Com Bloqueio
17
Bob
Envia ‘ OR 1=1 -- #
Solicitação Rejeitada
Requisição com WAF - Com Bloqueio
18
Bob
Envia ‘ OR 1=1 -- #
Solicitação Rejeitada
Requisição com WAF - Com Bloqueio
19
Desenvolvimento
WAFs
Resultados
Considerações Finais
Estudos sobre WAFs
WAFs
20
Security as a Service
Standalone
WAFs - Standalone
21
● Executados junto ao Servidor Web
● Gratuitos e Comerciais
WAFs - Standalone
22
Cliente WAF Aplicação Web
WAFs - Standalone
23
Cliente Aplicação WebWAF
WAFs - Standalone
24
Cliente Aplicação WebWAF
WAFs - Standalone
25
Cliente Aplicação WebWAF
WAFs - Standalone
26
Cliente Aplicação WebWAF
● Oferecidos sob demanda por terceiros
● Redirecionamento DNS
● Proxy de Redirecionamento
WAFs - SaaS
27
WAFs - SaaS
28
Cliente Aplicação WebWAF SaaS
WAFs - SaaS
29
Cliente Aplicação WebWAF SaaS
WAFs - SaaS
30
Cliente Aplicação WebWAF SaaS
WAFs - SaaS
31
Cliente Aplicação WebWAF SaaS
WAFs - SaaS
32
Cliente Aplicação WebWAF SaaS
33
Desenvolvimento
WAFs
Resultados
Considerações Finais
Estudos sobre WAFs
Principais Desafios
34
Detecção de Ataques
Avaliação em Cenários Controlados
Domínio da Ferramenta
Principais Desafios
35
Detecção de Ataques
Avaliação em Cenários Controlados
Domínio da Ferramenta
Detecção de Ataques
36
● Algoritmos capazes de detectar CSRF e XSS
● Autenticação Adicional
● Histórico de Similaridade
Principais Desafios
37
Detecção de Ataques
Avaliação em Cenários Controlados
Domínio da Ferramenta
Domínio da Ferramenta
38
● Conhecer a solução pode otimizar resultados
● Níveis de Paranoia do ModSecurity
● Aumento das taxas de Detecção e de Falsos Positivos
Principais Desafios
39
Detecção de Ataques
Avaliação em Cenários Controlados
Domínio da Ferramenta
Avaliação em Cenários Controlados
40
● Avaliação da segurança em Cenários Controlados
● Frameworks de Desenvolvimento junto com WAFs
● Framework Laravel sozinho mitiga 60% das vulnerabilidades
● Com ModSecurity, sobe para 70%
Avaliação em Cenários Controlados
41
● Avaliação da segurança em Cenários Controlados
● Frameworks de Desenvolvimento junto com WAFs
● Framework Laravel sozinho mitiga 60% das vulnerabilidades
● Com ModSecurity, sobe para 70%
● Nota: Framework Symfony protege 60% e ao adicionar WAFs como Naxsi e ShadowDaemon, esta proteção caipara 50%
Problemas em aberto
42
WAFs SaaS
Impacto da quantidade de regras
Caso específico
Problemas em aberto
43
WAFs SaaS
Impacto da quantidade de regras
Caso específico
44
Desenvolvimento
WAFs
Resultados
Considerações Finais
Estudos sobre WAFs
Desenvolvimento
45
ShadowDaemon
Naxsi
xWAF
ModSecurity
Máquina Hospedeira
46
● Processador i5 7300-HQ quad-core 2.5Ghz
● 8GB de memória RAM
● Placa de Vídeo GTX 1050
● HD 1TB HM170/QM170 Chipset SATA de 6.0Ghz
● Distribuição Linux Manjaro 18.0.4
● VirtualBox 6.0.6
Máquinas Virtuais
47
● 1vCPU
● 2GB de memória RAM
● Distribuição Linux Ubuntu Server 16.0.4
Cenário Controlado
48
● Sistema Web que implementa as dez vulnerabilidades mais recorrentes (Top Ten OWASP)
● PHP 7.0.3
● MySQL 5.7.25
● Servidores Apache 2.4.18 e Nginx 1.13.1
Teste de Funcionamento
49
Teste de Funcionamento
50
Teste de Funcionamento
51
Teste de Funcionamento
52
53
Desenvolvimento
WAFs
Resultados
Considerações Finais
Estudos sobre WAFs
Resultados
54
● Programa em Python que simula acessos ao sistema
● Considerando um ataque bloqueado por uma regra no início do conjunto
● Média de tempos de mil requisições
● Aumento gradativo da ativação das regras
Resultados
55
Resultados
56
Resultados
57
Resultados
58
Resultados
59
Resultados
60
Resultados
61
Resultados
62Traceroute ao DNS Google.8 google-public-dns-a.google.com (8.8.8.8)24.003 ms 24.904 ms 25.148 ms
Nota: Ao aproximar-se deste ponto, o acesso ao servidor local leva quase o mesmo que acessar um serviço externo, como o DNS da Google
Resultados
63
Resultados
64
Resultados
65
Resultados
66
Resultados
67
1.66 ms40.69 ms
Resultados
68
1.66 ms40.69 ms
2367%
Resultados
69
Resultados
70
Resultados
71
Resultados
72
1.21 ms23.75 ms
Resultados
73
1.21 ms23.75 ms
1862%
Resultados
74
Problema na engine?
75
Desenvolvimento
WAFs
Resultados
Considerações Finais
Estudos sobre WAFs
Considerações Finais
76
Usuários comuns são mais prejudicados
Grande impacto da quantidade de regras na latência
Felipe Homrich Melchior
WRSeg - 2019
Web Application Firewalls (WAFs): o impacto do número de regras na latência das requisições Web
Top Related