SlideShare uma empresa Scribd logo
1
S egurança Web O WAS P 2 0 1 3 - T O P 1 0
OWASP Foundation
3
Por que se preocupar com isso?
Fonte: http://www.usnews.com/news/articles/2015/08/06/reported-russian-cyber-attack-shuts-
down-pentagon-network
4
Por que se preocupar com isso?
Fonte: http://thehackernews.com/2015/09/whatsapp-vcard-vulnerability.html
5
Por que se preocupar com isso?
Fonte: http://money.cnn.com/2015/08/18/technology/ashley-madison-data-dump
6
OWASP Top Ten
7
10) Redirecionamentos e Encaminhamentos Inválidos
• Aplicações web frequentemente redirecionam e
encaminham usuários para outras páginas e sites, e usam
dados não confiáveis para determinar as páginas de
destino. Sem uma validação adequada, os atacantes
podem redirecionar as vítimas para sites de phishing ou
malware, ou usar encaminhamentos para acessar páginas
não autorizadas.
Exemplos:
• http://www.example.com/redirect.jsp?url=evil.com
• http://www.example.com/boring.jsp?fwd=admin.jsp
8
10) Redirecionamentos e Encaminhamentos Inválidos
Como evitar?
• Evitar usar “redirects” e “forwards”
• Caso sejam necessários, não utilize parâmetros para definir
o destino
• Se parâmetros não podem ser evitados, valide os
parâmetros de redirecionamento e verifique os valores para
o usuário
9
9) Utilização de Componentes Vulneráveis Conhecidos
• Componentes, bibliotecas, frameworks, e outros módulos
de software quase sempre são executados com privilégios
elevados. Se um componente vulnerável é explorado, um
ataque pode causar sérias perdas de dados ou o
comprometimento do servidor.
Referências:
• Common Vulnerabilities and Exposures
https://cve.mitre.org/
• National Vulnerability Database
https://nvd.nist.gov/home.cfm
10
9) Utilização de Componentes Vulneráveis Conhecidos
11
9) Utilização de Componentes Vulneráveis Conhecidos
Como evitar?
• É difícil.
• Não usar nenhuma biblioteca?
• Verificar com o fornecedor as bibliotecas que estão sendo
utilizadas, incluindo as suas dependências;
• Manter as bibliotecas atualizadas
12
8) Cross-Site Request Forgery (CSRF)
• Usuário se autentica normalmente no site exemplo.com.br
• Sem efetuar logout, o usuário visita o site virus.com.br, que
faz uma requisição maliciosa para o site exemplo.com.br
• Como o usuário ainda está autenticado, caso o site
exemplo.com.br não esteja protegido, a requisição
funcionará normalmente
13
8) Cross-Site Request Forgery (CSRF)
14
8) Cross-Site Request Forgery (CSRF)
Como evitar?
• Evitar CSRF geralmente implica em criar uma token em
cada requisição HTTP(s). Essa token dever única e mudar,
nomínimo, a cada nova sessão.
• O token também pode ser incluído na URL (através da
query string, mas isso é menos seguro)
• CAPTCHAs também ajudam a proteger contra CSRF.
15
7) Falta de Função para Controle do Nível de Acesso
Como funciona?
• Um usuário malicioso simplesmente muda a URL ou muda
um parâmetro e acessa uma funcionalidade do sistema que
deveria estar bloqueada.
16
7) Falta de Função para Controle do Nível de Acesso
Como evitar?
• O mecanismo de autorização deve, por padrão, negar
acesso a uma funcionalidade e só permitir acesso caso o
usuário possua a permissão explicitamente definida
• A maior parte das aplicações não exibem links e botões
para telas/rotinas bloqueadas, mas essa validação também
deve ser efetuada no Controller ou na lógica de negócio
17
6) Exposição de Dados Sensíveis
• Como são armazenados os dados confidenciais (ex.:
senhas, número de cartões de crédito)?
• Os dados são trafegados por HTTPS ao invés de HTTP?
18
6) Exposição de Dados Sensíveis
Fonte: Auditoria de arquitetura realizada em cliente.
19
5) Configuração Incorreta de Segurança
Exemplos:
1) Existem recursos desnecessários habilitados ou instalados
(ex. portas, serviços, páginas, contas, privilégios)?
2) Os usuários e senhas padrão foram alterados?
3) No caso de erros no sistema, o stack trace é exibido para
os usuários (ou qualquer outra informação excessiva)?
4) As configurações padrão de segurança nos frameworks de
desenvolvimento (ASP.NET, Spring, Struts) foram
alteradas?
20
5) Configuração Incorreta de Segurança
21
4) Referência Insegura e Direta a Objetos
Exemplo:
• http://www.meusite.com/compras/detalhe?idCompra=1234
22
4) Referência Insegura e Direta a Objetos
Fonte: Auditoria de arquitetura realizada em cliente.
23
3) Cross-Site Scripting (XSS)
• Um usuário malicioso envia texto contendo scripts que
serão interpretados pelo browser
• Praticamente qualquer fonte de dados pode ser a origem
da injeção de scripts: campos de texto, URL, banco de
dados
• O impacto da injeção de script inclui: roubar sessão,
modificar sites (phising), redirecionar usuários, forçar
download de arquivos, etc.
24
3) Cross-Site Scripting (XSS)
Como evitar?
• Nunca confiar em dados fornecidos pelo usuário
• Fazer escape dos caraceteres que serão exibidos na
página/script/url
• Content-Security-Policy header
• https://www.owasp.org/index.php/XSS_Filter_Evasion_Chea
t_Sheet
25
2) Quebra de Autenticação e Gerenciamento de sessão
• Autenticação e gerenciamento de sessão é difícil de
implementar corretamente;
• As aplicações normalmente possuem falhas que permitem
usuários maliciosos obter senhas, logins, tokens de sessão
ou explorar outras falhas para utilizar a identidade de outro
usuário
26
2) Quebra de Autenticação e Gerenciamento de sessão
1. Senhas não são criptografadas durante o armazenamento
2. Credenciais podem ser adivinhadas, recuperadas ou alteradas através de funções como
“esqueci minha senha”, “mudar senha”, etc;
3. Sessions Ids são expostos na URL (URL
rewriting)
4. Sessão não é invalidada durante o logout
ou nunca expira
5. Senhas/session ids são enviados sem
criptografia em conexões não criptografadas
(ex.: HTTP)
27
2) Quebra de Autenticação e Gerenciamento de sessão
28
1) Injeção
• As falhas de Injeção, tais como injeção de SQL, de SO
(Sistema Operacional) e de LDAP, ocorrem quando dados
não confiáveis são enviados para um interpretador como
parte de um comando ou consulta. Os dados manipulados
pelo atacante podem iludir o interpretador para que este
execute comandos indesejados ou permita o acesso a
dados não autorizados.
29
1) Injeção
30
1) Injeção
Fonte: Auditoria de arquitetura realizada em cliente.
31
Não pare por ai
• Não pare nos Top Ten! Mais de 500.000 vulnerabilidades
• Organizações devem se concentrar para reduzir o número de vulnerabilidades
• ASVS: Application Security Verification Standard
• OWASP ZAP
• HP Tools
• Fortify
• WebInspect
• Free
• http://sqlmap.org/
• http://www.metasploit.com/
• https://portswigger.net/burp/
• http://www.backtrack-linux.org/
• https://www.kali.org/
32
Referências
• https://www.owasp.org
• https://www.owasp.org/index.php/Category:OWASP_Applicat
ion_Security_Verification_Standard_Project
• https://freedom-to-tinker.com/blog/wzeller/popularwebsites-
vulnerable-cross-site-request-forgery-attacks
• https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat
_Sheet
33
Giovani Decusati
giovani@cwi.com.br

Mais conteúdo relacionado

Mais procurados

Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
Fabiano Pereira
 
Cross Site Scripting - XSS
Cross Site Scripting - XSSCross Site Scripting - XSS
Cross Site Scripting - XSS
Diego Souza
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Alcyon Ferreira de Souza Junior, MSc
 
Xss Desvendado!
Xss Desvendado!Xss Desvendado!
Xss Desvendado!
ricardophp
 
OWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationOWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken Authentication
Fernando Galves
 
Desenvolvimento de Software Seguro
Desenvolvimento de Software SeguroDesenvolvimento de Software Seguro
Desenvolvimento de Software Seguro
Augusto Lüdtke
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Clavis Segurança da Informação
 
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Edlaine Zamora
 
Slides do Treinamento - OWASP TOP 10 (Em português)
Slides do Treinamento - OWASP TOP 10 (Em português)Slides do Treinamento - OWASP TOP 10 (Em português)
Slides do Treinamento - OWASP TOP 10 (Em português)
Julio Cesar Stefanutto
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
Alex Camargo
 
Cross Site Scripting
Cross Site Scripting Cross Site Scripting
Cross Site Scripting
Fatinha de Sousa
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
Synergia - Engenharia de Software e Sistemas
 
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Alcyon Ferreira de Souza Junior, MSc
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
Magno Logan
 
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraAprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Clavis Segurança da Informação
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
Pablo Ribeiro
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
Alcyon Ferreira de Souza Junior, MSc
 
Segurança J2EE
Segurança J2EESegurança J2EE
Segurança J2EE
Rodrigo Cândido da Silva
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
Cristiano Caetano
 

Mais procurados (19)

Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
Cross Site Scripting - XSS
Cross Site Scripting - XSSCross Site Scripting - XSS
Cross Site Scripting - XSS
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
 
Xss Desvendado!
Xss Desvendado!Xss Desvendado!
Xss Desvendado!
 
OWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationOWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken Authentication
 
Desenvolvimento de Software Seguro
Desenvolvimento de Software SeguroDesenvolvimento de Software Seguro
Desenvolvimento de Software Seguro
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
 
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
 
Slides do Treinamento - OWASP TOP 10 (Em português)
Slides do Treinamento - OWASP TOP 10 (Em português)Slides do Treinamento - OWASP TOP 10 (Em português)
Slides do Treinamento - OWASP TOP 10 (Em português)
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
 
Cross Site Scripting
Cross Site Scripting Cross Site Scripting
Cross Site Scripting
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
 
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraAprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Segurança J2EE
Segurança J2EESegurança J2EE
Segurança J2EE
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 

Destaque

Web Scraping com F Sharp
Web Scraping com F SharpWeb Scraping com F Sharp
Web Scraping com F Sharp
POANETMeetup
 
Pentagrammon
PentagrammonPentagrammon
Pentagrammon
birkaduda
 
Compensação de diferenças salariais e dispensas.
Compensação de diferenças salariais e dispensas.Compensação de diferenças salariais e dispensas.
Compensação de diferenças salariais e dispensas.
Universidade Pedagogica
 
Estructura y componentes principales de la plataforma
Estructura y componentes principales de la plataformaEstructura y componentes principales de la plataforma
Estructura y componentes principales de la plataforma
Nubia Maritza Lara Diaz
 
Renata c 2
Renata c 2Renata c 2
Evaluation Question Number 2
Evaluation Question Number 2Evaluation Question Number 2
Evaluation Question Number 2
jamalromain
 
Mejores inventos de la historia
Mejores inventos de la historiaMejores inventos de la historia
Mejores inventos de la historia
wilersolano123
 
從104會考看閱讀教學 00策略說明
從104會考看閱讀教學   00策略說明從104會考看閱讀教學   00策略說明
從104會考看閱讀教學 00策略說明
黃 韻如
 
FINAL Hyperloop Structure Analysis- Pylon,Columns,and Carriage
FINAL Hyperloop Structure Analysis- Pylon,Columns,and CarriageFINAL Hyperloop Structure Analysis- Pylon,Columns,and Carriage
FINAL Hyperloop Structure Analysis- Pylon,Columns,and Carriage
naman gupta
 
El Software y el Hardware del Computador - Partes (Internas y Externas).
El Software y el Hardware del Computador - Partes (Internas y Externas).El Software y el Hardware del Computador - Partes (Internas y Externas).
El Software y el Hardware del Computador - Partes (Internas y Externas).
Camila_Alarconp
 
高中生物科99與107比較
高中生物科99與107比較高中生物科99與107比較
高中生物科99與107比較
bell5
 
U1 t3 aa 1 fichas infograficas- estrada, julio c.
U1 t3 aa 1   fichas infograficas- estrada, julio c.U1 t3 aa 1   fichas infograficas- estrada, julio c.
U1 t3 aa 1 fichas infograficas- estrada, julio c.
Julio Cesar Estrada Rosales
 
素養導向課程設計0713
素養導向課程設計0713素養導向課程設計0713
素養導向課程設計0713
bell5
 
Dashing ( Beautiful Car Paintings)
Dashing ( Beautiful Car Paintings)Dashing ( Beautiful Car Paintings)
Dashing ( Beautiful Car Paintings)
Makala D.
 
Fotos
FotosFotos
Fotos
Brick01
 

Destaque (15)

Web Scraping com F Sharp
Web Scraping com F SharpWeb Scraping com F Sharp
Web Scraping com F Sharp
 
Pentagrammon
PentagrammonPentagrammon
Pentagrammon
 
Compensação de diferenças salariais e dispensas.
Compensação de diferenças salariais e dispensas.Compensação de diferenças salariais e dispensas.
Compensação de diferenças salariais e dispensas.
 
Estructura y componentes principales de la plataforma
Estructura y componentes principales de la plataformaEstructura y componentes principales de la plataforma
Estructura y componentes principales de la plataforma
 
Renata c 2
Renata c 2Renata c 2
Renata c 2
 
Evaluation Question Number 2
Evaluation Question Number 2Evaluation Question Number 2
Evaluation Question Number 2
 
Mejores inventos de la historia
Mejores inventos de la historiaMejores inventos de la historia
Mejores inventos de la historia
 
從104會考看閱讀教學 00策略說明
從104會考看閱讀教學   00策略說明從104會考看閱讀教學   00策略說明
從104會考看閱讀教學 00策略說明
 
FINAL Hyperloop Structure Analysis- Pylon,Columns,and Carriage
FINAL Hyperloop Structure Analysis- Pylon,Columns,and CarriageFINAL Hyperloop Structure Analysis- Pylon,Columns,and Carriage
FINAL Hyperloop Structure Analysis- Pylon,Columns,and Carriage
 
El Software y el Hardware del Computador - Partes (Internas y Externas).
El Software y el Hardware del Computador - Partes (Internas y Externas).El Software y el Hardware del Computador - Partes (Internas y Externas).
El Software y el Hardware del Computador - Partes (Internas y Externas).
 
高中生物科99與107比較
高中生物科99與107比較高中生物科99與107比較
高中生物科99與107比較
 
U1 t3 aa 1 fichas infograficas- estrada, julio c.
U1 t3 aa 1   fichas infograficas- estrada, julio c.U1 t3 aa 1   fichas infograficas- estrada, julio c.
U1 t3 aa 1 fichas infograficas- estrada, julio c.
 
素養導向課程設計0713
素養導向課程設計0713素養導向課程設計0713
素養導向課程設計0713
 
Dashing ( Beautiful Car Paintings)
Dashing ( Beautiful Car Paintings)Dashing ( Beautiful Car Paintings)
Dashing ( Beautiful Car Paintings)
 
Fotos
FotosFotos
Fotos
 

Semelhante a CWI - Núcleo de tecnologia - OWASP Top Ten

OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
Clavis Segurança da Informação
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Clavis Segurança da Informação
 
Saindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webSaindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações web
Igor Carneiro
 
Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013
Kleitor Franklint Correa Araujo
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Alcyon Ferreira de Souza Junior, MSc
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
OWASP Brasília
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
Alan Carlos
 
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
Sergio Henrique
 
Teste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebTeste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações Web
Marcio Roberto de Souza Godoi
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
EMERSON EDUARDO RODRIGUES
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
Augusto Pascutti
 
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
Conviso Application Security
 
Treinamento ajax 05
Treinamento ajax   05Treinamento ajax   05
Treinamento ajax 05
Waelson Negreiros Nunes
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
Flavio Souza
 
Segurança e Auditoria de sistemas
Segurança e Auditoria de sistemasSegurança e Auditoria de sistemas
Segurança e Auditoria de sistemas
Wesley Gimenes
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
Magno Logan
 
Segurança em aplicações web
Segurança em aplicações webSegurança em aplicações web
Segurança em aplicações web
COTIC-PROEG (UFPA)
 
Marketing digital - Aula Google Analytics
Marketing digital - Aula Google AnalyticsMarketing digital - Aula Google Analytics
Marketing digital - Aula Google Analytics
Maria Alice Jovinski
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
Alex Hübner
 

Semelhante a CWI - Núcleo de tecnologia - OWASP Top Ten (20)

OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
Saindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webSaindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações web
 
Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
Teste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebTeste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações Web
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
 
Treinamento ajax 05
Treinamento ajax   05Treinamento ajax   05
Treinamento ajax 05
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Segurança e Auditoria de sistemas
Segurança e Auditoria de sistemasSegurança e Auditoria de sistemas
Segurança e Auditoria de sistemas
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
 
Segurança em aplicações web
Segurança em aplicações webSegurança em aplicações web
Segurança em aplicações web
 
Marketing digital - Aula Google Analytics
Marketing digital - Aula Google AnalyticsMarketing digital - Aula Google Analytics
Marketing digital - Aula Google Analytics
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
 

CWI - Núcleo de tecnologia - OWASP Top Ten

  • 1. 1 S egurança Web O WAS P 2 0 1 3 - T O P 1 0
  • 3. 3 Por que se preocupar com isso? Fonte: http://www.usnews.com/news/articles/2015/08/06/reported-russian-cyber-attack-shuts- down-pentagon-network
  • 4. 4 Por que se preocupar com isso? Fonte: http://thehackernews.com/2015/09/whatsapp-vcard-vulnerability.html
  • 5. 5 Por que se preocupar com isso? Fonte: http://money.cnn.com/2015/08/18/technology/ashley-madison-data-dump
  • 7. 7 10) Redirecionamentos e Encaminhamentos Inválidos • Aplicações web frequentemente redirecionam e encaminham usuários para outras páginas e sites, e usam dados não confiáveis para determinar as páginas de destino. Sem uma validação adequada, os atacantes podem redirecionar as vítimas para sites de phishing ou malware, ou usar encaminhamentos para acessar páginas não autorizadas. Exemplos: • http://www.example.com/redirect.jsp?url=evil.com • http://www.example.com/boring.jsp?fwd=admin.jsp
  • 8. 8 10) Redirecionamentos e Encaminhamentos Inválidos Como evitar? • Evitar usar “redirects” e “forwards” • Caso sejam necessários, não utilize parâmetros para definir o destino • Se parâmetros não podem ser evitados, valide os parâmetros de redirecionamento e verifique os valores para o usuário
  • 9. 9 9) Utilização de Componentes Vulneráveis Conhecidos • Componentes, bibliotecas, frameworks, e outros módulos de software quase sempre são executados com privilégios elevados. Se um componente vulnerável é explorado, um ataque pode causar sérias perdas de dados ou o comprometimento do servidor. Referências: • Common Vulnerabilities and Exposures https://cve.mitre.org/ • National Vulnerability Database https://nvd.nist.gov/home.cfm
  • 10. 10 9) Utilização de Componentes Vulneráveis Conhecidos
  • 11. 11 9) Utilização de Componentes Vulneráveis Conhecidos Como evitar? • É difícil. • Não usar nenhuma biblioteca? • Verificar com o fornecedor as bibliotecas que estão sendo utilizadas, incluindo as suas dependências; • Manter as bibliotecas atualizadas
  • 12. 12 8) Cross-Site Request Forgery (CSRF) • Usuário se autentica normalmente no site exemplo.com.br • Sem efetuar logout, o usuário visita o site virus.com.br, que faz uma requisição maliciosa para o site exemplo.com.br • Como o usuário ainda está autenticado, caso o site exemplo.com.br não esteja protegido, a requisição funcionará normalmente
  • 13. 13 8) Cross-Site Request Forgery (CSRF)
  • 14. 14 8) Cross-Site Request Forgery (CSRF) Como evitar? • Evitar CSRF geralmente implica em criar uma token em cada requisição HTTP(s). Essa token dever única e mudar, nomínimo, a cada nova sessão. • O token também pode ser incluído na URL (através da query string, mas isso é menos seguro) • CAPTCHAs também ajudam a proteger contra CSRF.
  • 15. 15 7) Falta de Função para Controle do Nível de Acesso Como funciona? • Um usuário malicioso simplesmente muda a URL ou muda um parâmetro e acessa uma funcionalidade do sistema que deveria estar bloqueada.
  • 16. 16 7) Falta de Função para Controle do Nível de Acesso Como evitar? • O mecanismo de autorização deve, por padrão, negar acesso a uma funcionalidade e só permitir acesso caso o usuário possua a permissão explicitamente definida • A maior parte das aplicações não exibem links e botões para telas/rotinas bloqueadas, mas essa validação também deve ser efetuada no Controller ou na lógica de negócio
  • 17. 17 6) Exposição de Dados Sensíveis • Como são armazenados os dados confidenciais (ex.: senhas, número de cartões de crédito)? • Os dados são trafegados por HTTPS ao invés de HTTP?
  • 18. 18 6) Exposição de Dados Sensíveis Fonte: Auditoria de arquitetura realizada em cliente.
  • 19. 19 5) Configuração Incorreta de Segurança Exemplos: 1) Existem recursos desnecessários habilitados ou instalados (ex. portas, serviços, páginas, contas, privilégios)? 2) Os usuários e senhas padrão foram alterados? 3) No caso de erros no sistema, o stack trace é exibido para os usuários (ou qualquer outra informação excessiva)? 4) As configurações padrão de segurança nos frameworks de desenvolvimento (ASP.NET, Spring, Struts) foram alteradas?
  • 21. 21 4) Referência Insegura e Direta a Objetos Exemplo: • http://www.meusite.com/compras/detalhe?idCompra=1234
  • 22. 22 4) Referência Insegura e Direta a Objetos Fonte: Auditoria de arquitetura realizada em cliente.
  • 23. 23 3) Cross-Site Scripting (XSS) • Um usuário malicioso envia texto contendo scripts que serão interpretados pelo browser • Praticamente qualquer fonte de dados pode ser a origem da injeção de scripts: campos de texto, URL, banco de dados • O impacto da injeção de script inclui: roubar sessão, modificar sites (phising), redirecionar usuários, forçar download de arquivos, etc.
  • 24. 24 3) Cross-Site Scripting (XSS) Como evitar? • Nunca confiar em dados fornecidos pelo usuário • Fazer escape dos caraceteres que serão exibidos na página/script/url • Content-Security-Policy header • https://www.owasp.org/index.php/XSS_Filter_Evasion_Chea t_Sheet
  • 25. 25 2) Quebra de Autenticação e Gerenciamento de sessão • Autenticação e gerenciamento de sessão é difícil de implementar corretamente; • As aplicações normalmente possuem falhas que permitem usuários maliciosos obter senhas, logins, tokens de sessão ou explorar outras falhas para utilizar a identidade de outro usuário
  • 26. 26 2) Quebra de Autenticação e Gerenciamento de sessão 1. Senhas não são criptografadas durante o armazenamento 2. Credenciais podem ser adivinhadas, recuperadas ou alteradas através de funções como “esqueci minha senha”, “mudar senha”, etc; 3. Sessions Ids são expostos na URL (URL rewriting) 4. Sessão não é invalidada durante o logout ou nunca expira 5. Senhas/session ids são enviados sem criptografia em conexões não criptografadas (ex.: HTTP)
  • 27. 27 2) Quebra de Autenticação e Gerenciamento de sessão
  • 28. 28 1) Injeção • As falhas de Injeção, tais como injeção de SQL, de SO (Sistema Operacional) e de LDAP, ocorrem quando dados não confiáveis são enviados para um interpretador como parte de um comando ou consulta. Os dados manipulados pelo atacante podem iludir o interpretador para que este execute comandos indesejados ou permita o acesso a dados não autorizados.
  • 30. 30 1) Injeção Fonte: Auditoria de arquitetura realizada em cliente.
  • 31. 31 Não pare por ai • Não pare nos Top Ten! Mais de 500.000 vulnerabilidades • Organizações devem se concentrar para reduzir o número de vulnerabilidades • ASVS: Application Security Verification Standard • OWASP ZAP • HP Tools • Fortify • WebInspect • Free • http://sqlmap.org/ • http://www.metasploit.com/ • https://portswigger.net/burp/ • http://www.backtrack-linux.org/ • https://www.kali.org/
  • 32. 32 Referências • https://www.owasp.org • https://www.owasp.org/index.php/Category:OWASP_Applicat ion_Security_Verification_Standard_Project • https://freedom-to-tinker.com/blog/wzeller/popularwebsites- vulnerable-cross-site-request-forgery-attacks • https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat _Sheet

Notas do Editor

  1. OWASP Foundation é uma organização internacional formada por uma comunidade aberta disposta a criar, desenvolver, operar, adquirir e manter aplicações Web confiáveis. Foi fundada em 2001 nos EUA, tornou-se sem fins lucrativos em 21 de Abril de 2004, mantendo o foco em gerar documentos e ferramentas para a melhoria da segurança de aplicações Web.
  2. OWASP Top Ten é uma poderosa documentação de conscientização para segurança de aplicações Web. Representa um conjunto de falhas de segurança mais comuns em sistemas Web, são ordenados considerando o risco e a prevalência da falha. Todos estes problemas são encontrados na infraestrutura de instituições financeiras, saúde, defesa, energia e outros setores. O objetivo é que as organizações comecem com segurança suas aplicações e os desenvolvedores possam aprender com os erros de outras organizações e, para os executivos uma oportunidade de pensar em gerenciar riscos de seus softwares.
  3. Demonstração: https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-2481
  4. https://www.bugzilla.org/security/
  5. Um ataque CSRF força a vítima que possui uma sessão ativa em um navegador a enviar uma requisição HTTP forjada, incluindo o cookie da sessão da vítima e qualquer outra informação de autenticação incluída na sessão, a uma aplicação web vulnerável. Esta falha permite ao atacante forçar o navegador da vítima a criar requisições que a aplicação vulnerável aceite como requisições legítimas realizadas pela vítima.
  6. Demonstração vídeo “8 Cross-Site Request Forgery.avi”
  7. A maioria das aplicações web verificam os direitos de acesso em nível de função antes de tornar essa funcionalidade visível na interface do usuário. No entanto, as aplicações precisam executar as mesmas verificações de controle de acesso no servidor quando cada função é invocada. Se estas requisições não forem verificadas, os atacantes serão capazes de forjar as requisições, com o propósito de acessar a funcionalidade sem autorização adequada.
  8. Como evitar?
  9. Muitas aplicações web não protegem devidamente os dados sensíveis, tais como cartões de crédito, IDs fiscais e credenciais de autenticação. Os atacantes podem roubar ou modificar esses dados desprotegidos com o propósito de realizar fraudes de cartões de crédito, roubo de identidade, ou outros crimes. Os dados sensíveis merecem proteção extra como criptografia no armazenamento ou em trânsito, bem como precauções especiais quando trafegadas pelo navegador.
  10. Como evitar?
  11. Uma boa segurança exige a definição de uma configuração segura e implementada na aplicação, frameworks, servidor de aplicação, servidor web, banco de dados e plataforma. Todas essas configurações devem ser definidas, implementadas e mantidas, já que geralmente a configuração padrão é insegura. Adicionalmente, o software deve ser mantido atualizado.
  12. Uma referência insegura e direta a um objeto ocorre quando um programador expõe uma referência à implementação interna de um objeto, como um arquivo, diretório, ou registro da base de dados. Sem a verificação do controle de acesso ou outra proteção, os atacantes podem manipular estas referências para acessar dados não-autorizados.
  13. Falhas XSS ocorrem sempre que uma aplicação recebe dados não confiáveis e os envia ao navegador sem validação ou filtro adequados. XSS permite aos atacantes executarem scripts no navegador da vítima que podem “sequestrar” sessões do usuário, desfigurar sites, ou redirecionar o usuário para sites maliciosos.
  14. As funções da aplicação relacionadas com autenticação e gerenciamento de sessão geralmente são implementadas de forma incorreta, permitindo que os atacantes comprometam senhas, chaves e tokens de sessão ou, ainda, explorem outra falha da implementação para assumir a identidade de outros usuários.
  15. Como evitar?
  16. Como evitar?
  17. Como evitar?
  18. Como evitar?