![Page 1: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/1.jpg)
Rafael Soares Ferreira Sócio Diretor Técnico [email protected]
Principais Vulnerabilidades em Aplicações Web
![Page 2: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/2.jpg)
Apresentação
• Grupo Clavis
• Sócio Diretor Técnico
• Testes de invasão em redes, sistemas e aplicações
![Page 3: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/3.jpg)
Contatos
[email protected] rafaelsoaresferreira @rafaelsferreira www.facebook.com/rafaelsoaresferreira
![Page 4: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/4.jpg)
• Compras
• Redes Sociais
• Internet Banking
• Webmail
• Outras...
Utilização
![Page 5: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/5.jpg)
• Protocolo leve e simples
• E “stateless”!
• Anytime, Anywhere
• Independe de plataforma
• Atualizações centralizadas
Benefícios
![Page 6: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/6.jpg)
• O protocolo HTTP HTTP 1.0 - RFC-1945 HTTP 1.1 – RFC-2616 RFC 1945: ...is an application-level protocol with the lightness and speed
necessary for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods (commands)...
Protocolos e Tecnologias
![Page 7: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/7.jpg)
• “Lightness” • Protocolo em texto puro • Simples de implementar um cliente
• “Stateless” • Servidor responde a requisição e • Encerra a conexão
Protocolos e Tecnologias
![Page 8: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/8.jpg)
• Não confiar em dados externos • Tudo pode ser forjado/modificado
• Validar todos os dados
• Prever e Tratar erros
• Testar segurança, revisar
Segurança Básica
![Page 9: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/9.jpg)
Mudança de Paradigma • What is a secure site?
“a site that uses the HTTPS protocol...”
• Segurança da comunicação é apenas 1 dos problemas
Segurança Básica
![Page 10: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/10.jpg)
Erros Comuns • Falta de Canonicalização
• Verificações Client-Side
• Segurança por Obscuridade
Segurança Básica
![Page 11: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/11.jpg)
Canonicalização • Decisões baseadas em nomes
• Representação de forma única
• Muitas representações para caracteres
• ASCII, hexadecimal, UTF-8, unicode ...
Segurança Básica
![Page 12: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/12.jpg)
Canonicalização – Exemplo • SecureIIS do eEye http://www.exemplo.com/ver.asp?arquivo=../../../winnt/repair/sam
• Evasão http://www.exemplo.com/ver.asp?arquivo=%2e%2e/%2e%2e/%2e
%2e/winnt/repair/sam
Segurança Básica
![Page 13: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/13.jpg)
Verificações Client-Side • Facilmente contornadas
• Desabilitar javascript
• Usar um proxy
• Plugins de browser
Segurança Básica
![Page 14: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/14.jpg)
Verificações Client-Side • Tamper data
Segurança Básica
![Page 15: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/15.jpg)
Segurança por Obscuridade • Esconder o problema não resolve
• Pode ser usada como camada adicional
• Nunca como SOLUÇÃO de segurança
Segurança Básica
![Page 16: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/16.jpg)
Segurança por Obscuridade • Trocando a string do Apache
ServerSignature Off
SecServerSignature “Meu Servidor“
Segurança Básica
![Page 17: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/17.jpg)
Principais Ameaças
Injeções
![Page 18: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/18.jpg)
Descrição
• Envio de dados não tratados para algum serviço interno.
• Pode ser feita via SQL, LDAP, Xpath, comandos de sistema operacional, argumentos de programas, etc.
• Descoberta por varreduras e/ou fuzzers
![Page 19: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/19.jpg)
SQL Injection
![Page 20: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/20.jpg)
Exemplo
SQLi:
• Aplicação: OcoMon
• Versão: 2.0-RC6
• Bypass de autenticação via SQLi
• Validação de entradas feita client-side
![Page 21: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/21.jpg)
Exemplo
• Página inicial filtrando caracteres especiais através de javascript.
![Page 22: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/22.jpg)
Exemplo
• É possível editar a função de validação, ou impedi-la de ser executada no navegador.
![Page 23: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/23.jpg)
Exemplo
• Sem a função de validação é possível submeter a string admin ‘ or ‘ -- que possibilita acesso ao sistema.
![Page 24: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/24.jpg)
Impactos
• Dependendo do tipo de injeção os danos causados podem ser:
ü Perda ou corrupção de dados
ü Negação de Serviço
ü Falhas de autenticação
ü Execução arbitrária de código e até comprometimento total do sistema.
![Page 25: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/25.jpg)
Como se Prevenir
• Não utilizar dados não confiáveis em comandos e/ou queries.
• Rotinas de validação ou “escape” de caracteres.
• É aconselhável o uso de validação positiva nas entradas.
• Utilizar canonicalização de dados.
![Page 26: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/26.jpg)
Quebra de Autenticação / Sessão
Principais Ameaças
![Page 27: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/27.jpg)
• Restrição de conteúdos / recursos
• Autenticação HTTP: Basic -> credenciais concatenadas separadas por “:” e codificadas em base64 Digest -> hash MD5
Definição
![Page 28: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/28.jpg)
• Identificadores de Sessão (“SESSION ID") expostos
• Lembretes de Senha ou “logout” vulneráveis
Definição
![Page 29: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/29.jpg)
Exemplo
![Page 30: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/30.jpg)
Cookie: [...] Authorization: Basic dGVzdGU6ZHVtbXlwYXNzd29yZA== [...] Decodificando: $ echo "dGVzdGU6ZHVtbXlwYXNzd29yZA==" | base64 –d teste:dummypassword
Exemplo
![Page 31: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/31.jpg)
• Tunelamento por SSL
• Políticas de segurança
• CAPTCHA
• Proteger Cookie
Como se Prevenir
![Page 32: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/32.jpg)
Principais Ameaças
XSS – Cross Site Scripting
![Page 33: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/33.jpg)
Descrição
• Ocorre quando uma aplicação inclui dados não tratados em um objeto enviado ao navegador.
• Existem 3 principais tipos: ü Stored ü Reflected ü DOM based XSS
![Page 34: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/34.jpg)
Impactos
• Roubo de informações de sessão • Pichação de Sites • Redirecionamento de usuários e etc. • Exposição de informações dos usuários
![Page 35: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/35.jpg)
Descrição
Stored:
• Código injetado é armazenado permanentemente na aplicação vulnerável (comentários, posts, logs, etc)
• A vítima recebe o código malicioso junto com alguma requisição feita.
![Page 36: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/36.jpg)
Stored XSS
![Page 37: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/37.jpg)
Exemplo
Stored: • Aplicação: dotProject
• Versão: 2.1.5
• Múltiplas Vulnerabilidades de XSS e SQLi
![Page 38: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/38.jpg)
Exemplo
• Na submissão de arquivos é possível inserir um código malicioso no campo descrição.
![Page 39: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/39.jpg)
Exemplo
<script>alert('xss')</script>
![Page 40: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/40.jpg)
Exemplo
• O código então será submetido a todos que visualizarem a descrição de tal arquivo.
![Page 41: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/41.jpg)
Descrição
Reflected: • O código é “refletido” para o usuário através de
respostas que contenham dados não tratados recebidos pela aplicação (resultado de buscas, mensagens de erro, etc).
• Geralmente disseminado através de links maliciosos.
![Page 42: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/42.jpg)
Reflected XSS
![Page 43: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/43.jpg)
Exemplo
Reflected: • Acunetix test site: http://testasp.vulnweb.com/search.asp
• Aplicação com exemplos de vulnerabilidades
![Page 44: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/44.jpg)
Exemplo
Reflected: • O código submetido na busca é retornado ao
usuário na página de resultado sem nenhum tratamento.
![Page 45: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/45.jpg)
Exemplo
Reflected: • No caso de submissão de um código html por
exemplo, o mesmo será exibido para o usuário como se pertencesse a página em questão.
![Page 46: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/46.jpg)
Exemplo
Reflected: • A submissão pode ser feita pels busca: <br><br>Entre aqui com suas credenciais:<form action="destination.asp"><table><tr><td>Nome:</td><td><input type=text length=20 name=nome></td></tr><tr><td>Senha:</td><td><input type=text length=20 name=senha></td></tr></table><input type=submit value=Acessar></form>!
• Ou pela URL: http://testasp.vulnweb.com/search.asp?tfSearch=%3Cbr%3E%3Cbr%3EEntre+aqui+com+suas+credenciais%3A%3Cform+action%3D%22destination.asp%22%3E%3Ctable%3E%3Ctr%3E%3Ctd%3ENome%3A%3C%2Ftd%3E%3Ctd%3E%3Cinput+type%3Dtext+length%3D20+name%3Dnome%3E%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%3ESenha%3A%3C%2Ftd%3E%3Ctd%3E%3Cinput+type%3Dtext+length%3D20+name%3Dsenha%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%3Cinput+type%3Dsubmit+value%3DAcessar%3E%3C%2Fform%3E+!
![Page 47: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/47.jpg)
Descrição
DOM based XSS: • Ocasionado por uma modificação no ambiente
DOM do navegador da vítima.
• O código executado é legítimo, porém devido a essa alteração no ambiente sua execução é feita de maneira anômala.
![Page 48: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/48.jpg)
Exemplo
DOM based XSS: • O seguinte código é executado no navegador
(client-side)
![Page 49: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/49.jpg)
Exemplo
DOM based XSS: • A variável “name” pode ser manipulada
conforme o exemplo a seguir:
![Page 50: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/50.jpg)
Como se Prevenir
• “Escapar” caracteres vindo de fontes não confiáveis e que serão utilizados no contexto do navegador (body, atributos, JavaScript, CSS, URL).
• A validação positiva é sempre interessante mas
é preciso atentar para peculiaridades da aplicação em questão pois caracteres especiais e codificações diversas podem fazer parte da rotina da aplicação.
![Page 51: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/51.jpg)
Referência Direta a Objetos
Principais Ameaças
![Page 52: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/52.jpg)
• Apenas proteção na camada de apresentação não funciona
• Atacante simplesmente altera parâmetros e consegue acessar o conteúdo
Definição
![Page 53: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/53.jpg)
Exemplo
![Page 54: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/54.jpg)
Como prevenir
• Trocar referências diretas por um valor de mapeamento aleatório temporário
• Verificar se o parâmetro está dentro do padrão
• Verificar se o usuário tem permissão de acesso
• Verificar se o usuário pode executar a ação que deseja em um determinado objeto
![Page 55: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/55.jpg)
Falhas de Configuração
Principais Ameaças
![Page 56: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/56.jpg)
• Aplicações rodam em cima de serviços que rodam em cima de SOs
• Todos podem ser vetores de ataque
• Exploits (e patchs!) se aplicam à qualquer tipo de software
Definição
![Page 57: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/57.jpg)
• “Hardening” de servidores
• Patchs e atualizações
• Homologação de mudanças
• Vulnerability Management
Como se Prevenir
![Page 58: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/58.jpg)
Exposição de dados sensíveis
Principais Ameaças
![Page 59: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/59.jpg)
Descrição
• Falha mais comum e grave: simplesmente não criptografar dados sensíveis
• Falhas quando a criptografia é empregada: - Geração e armazenamento inseguros de chaves - Não implantar políticas de rotação de chaves - Utilizar algoritmos de criptografia fracos - Utilizar métodos de criptografia em uma só via (hash)
fracos ou sem salto para proteger senhas.
![Page 60: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/60.jpg)
Descrição
• Falha em proteger o tráfego de rede onde passam os dados da aplicação
• Utilização de criptografia somente na autenticação (expondo dados e IDs de seção)
• Utilização de certificados expirados ou mal configurados
• Falhas básicas de fácil detecção, bastando observar o tráfego de rede do site.
![Page 61: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/61.jpg)
• Frequentemente comprometem todos os dados protegidos por criptografia
• Tipicamente, estes dados incluem, mas não estão limitados à: - Credenciais de acesso - Dados pessoais - Registros de saúde - Cartões de crédito, etc.
Impacto
![Page 62: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/62.jpg)
• Algoritmos de criptografia e chaves utilizados devem ser apropriadamente fortes.
• Senhas devem armazenadas em hash com um algoritmo de criptografia em uma só via, forte e com um salto apropriado.
• Proteger o transporte de dados adequadamente pode afetar o projeto do site. Em geral, é mais simples forçar o uso de criptografia em todo o site.
Como se Prevenir
![Page 63: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/63.jpg)
Falha no controle de acesso
Principais Ameaças
![Page 64: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/64.jpg)
Falha no controle de acesso
• Usuário autorizado modifica um parâmetro ou URL e acessa uma função privilegiada
• Usuário anônimo acessa funções desprotegidas
• Impacto • Acesso a contas e dados de outros
usuários
• Realizar ações de privilégio maior do que devido
![Page 65: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/65.jpg)
Falha no controle de acesso a nível de função
![Page 66: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/66.jpg)
Como prevenir
• Restringir acesso a usuários autenticados
• Mostrar somente o que for designado ao usuário ou ao grupo
• Negar qualquer requisição a páginas não autorizadas
• Não utilizar abordagens de análise automatizada
• Deve-se negar todo o conteúdo (DENY ALL)
![Page 67: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/67.jpg)
Cross Site Request Forgery
Principais Ameaças
![Page 68: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/68.jpg)
• Browsers enviam alguns tipos de credenciais automaticamente
- Cookies - Cabeçalhos - Endereço IP - Certificados SSL
Definição
![Page 69: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/69.jpg)
• A vítima acessa um site malicioso enquanto está logada no sistema vulnerável
• O atacante força a vítima a fazer tal requisição
Impacto
![Page 70: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/70.jpg)
Cross Site Request Forgery(CSRF)
![Page 71: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/71.jpg)
• Autenticações forçadas em requisições sensíveis
• Controle exposição de dados utilizados como credenciais
• Adicionar um token secreto, não automático, para todas requisições importantes
Como se Prevenir
![Page 72: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/72.jpg)
Utilização de componentes vulneráveis
Principais Ameaças
![Page 73: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/73.jpg)
Utilização de componentes vulneráveis
• Componentes bibliotecas e frameworks
• Demora na divulgação da vulnerabilidade
• Muitos produtores não lançam uma correção (hot fix)
![Page 74: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/74.jpg)
• Monitorar versões de todos os componentes, incluindo todas dependências
• Manter componentes sempre atualizados
• Organizar uma política de segurança
• Buscar uma alternativa enquanto uma correção não aparece
Como se Prevenir
![Page 75: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/75.jpg)
Redirecionamentos e repasses não validados
Principais Ameaças
![Page 76: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/76.jpg)
Descrição
• Falha em validar o destino de redirecionamentos ou repasses utilizados
• Problemas mais comuns: - Ausência de validação do destino de um
redirecionamento ou repasse - Similaridade entre redirecionamento para destinos
internos (da própria aplicação) e externos
![Page 77: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/77.jpg)
l Redirecionamentos podem induzir usuários a instalar malware ou revelar informações sensíveis.
l Repasses inseguros podem permitir contornar controles de acesso.
Impacto
![Page 78: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/78.jpg)
l Evitar estas falhas é extremamente importante, pois elas são os alvos favoritos de phishers tentando ganhar a confiança de um usuário.
l Recomendações básicas para utilizar redirecionamentos e repasses: - Não envolver parâmetros de usuário para calcular o
destino - Se não puder ser evitar, validar o parâmetro e verificar
autorização do usuário
Como se Prevenir
![Page 79: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/79.jpg)
Dúvidas?
Perguntas? Críticas?
Sugestões?
![Page 80: Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;](https://reader034.vdocuments.pub/reader034/viewer/2022042607/5562d7b2d8b42a6c498b5178/html5/thumbnails/80.jpg)
Siga a Clavis