• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Principais ameças à Aplicações Web - Como explorá-las e como se proteger.
 

Principais ameças à Aplicações Web - Como explorá-las e como se proteger.

on

  • 2,473 views

Principais ameças à Aplicações Web - Como explorá-las e como se proteger. ...

Principais ameças à Aplicações Web - Como explorá-las e como se proteger.

http://websecforum.com.br/
http://www.clavis.com.br

O objetivo da palestra é apresentar as mais críticas ameaças à aplicações web. Serão demonstradas maneiras de identificar, explorar e mitigar cada uma das ameaças. Serão apresentados também algumas boas práticas de segurança e de programação segura.

Statistics

Views

Total Views
2,473
Views on SlideShare
2,313
Embed Views
160

Actions

Likes
0
Downloads
160
Comments
0

3 Embeds 160

http://www.blog.clavis.com.br 90
http://paper.li 69
http://feeds2.feedburner.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Principais ameças à Aplicações Web - Como explorá-las e como se proteger. Principais ameças à Aplicações Web - Como explorá-las e como se proteger. Presentation Transcript

    • Principais ameças à Aplicações WebComo explorá-las e como se protegerRafael Soares FerreiraClavis Segurança da Informaçãorafael@clavis.com.br Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Principais Ameaças• Injeções• Cross-Site Scripting (XSS)• Quebra de Autenticação / Sessão• Referência direta à objetos• Cross-Site Request Forgery (CSRF) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Principais Ameaças (cont.)• Falhas de Configuração• Armazenamento Inseguro• Falha na Restrição de Acesso à URLs• Canal Inseguro• Redirecionamentos Não-Validados Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções• Dados não esperados• Strings interpretadas como comandos• SQL, Shell, LDAP, etc...• SQL é o caso mais comum Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Exemplos Client-Side: <form method="post" action="http://SITE/login.php"> <input name="nome" type="text" id="nome"> <input name="senha" type="password" id="senha"> </form> Server-Side: SELECT id FROM usuarios WHERE nome = $nome AND senha = $senha ; Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Exemplos Client-Side: O Exploit! OR a=a Server-Side: SELECT id FROM usuarios WHERE nome = $nome AND senha = OR a=a ; Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - ExemplosCódigo PHP:$query = "SELECT * FROM usuarios WHERE username =" . $_REQUEST[‘usr] . “’ AND passwd=‘“ . $_REQUEST[‘pwd’] . “’”;Exploração:login.php?usr=’+OR+‘1’=‘1’--&pwd=aquery <- SELECT * FROM usuarios WHERE username =‘’+OR+‘1’=‘1’--’ AND passwd=‘a’ Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - ExemplosCódigo Java:String query = "SELECT * FROM usuarios WHEREusername = " + req.getParameter("usr") + " andpasswd = " + req.getParameter("pwd") +"";Exploração:login.jsp?usr=admin’--&pwd=aquery <- SELECT * FROM usuarios WHERE username =‘admin’--’ AND passwd=‘a’ Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Exemplos www.seginfo.com.br Tradução da Tirinha “Exploits of a mom” do xkcd Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Exemplos• Injeção de Comandos• Exemplo:DNS lookup em domínios passados pelousuário Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - ExemplosCódigo:$dominio = param(‘dominio);$nslookup = "/usr/bin/nslookup";Exploit:clavis.com.br%20%3B%20/bin/ls%20-l Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - ExemplosResultado:/usr/bin/nslookup clavis.com.br ; /bin/ls -lAlém do resultado do nslookup, oatacante receberá a lista dos arquivosque estão no diretório da aplicação Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Recomendações● Tratamento de entradas● Validação por whitelist● Minimize os privilégios●OWASP:SQL_Injection_Prevention_Cheat_Sheet Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)• Enviados ao browser do usuário• Posts, URLs, javascript, etc...• Todo Browser é “vulnerável”:javascript:alert(document.cookie)• Redirecionamento e/ou roubo de dados Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)Tipos:• Persistente• Não Persistente• DOM (Document Object Model) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)• PersistenteDados enviados sem tratamento parausuários Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)• Não PersistenteDados enviados de volta sem tratamentoe executado no browser da vítima. Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)• Código vulnerável<?phpecho “Hello ” . $_GET[‘name’] . ”.n”;?>• Requisiçãoindex.php?name=<script>alert(1)</script> Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)• DOMCódigo executado no browser utilizandoelementos do DOMNão há falha no servidor Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)● Validação de entrada● Validação de saída● Validação de elementos do DOM●OWASPXSS Prevention Cheat Sheet Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Quebra de Autenticação / Sessão• Restrição de conteúdos / recursos●Autenticação HTTP:Basic -> credenciais concatenadasseparadas por “:” e codificadas embase64Digest -> hash MD5 Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Quebra de Autenticação / SessãoCookie:[...]Authorization: Basic dGVzdGU6ZHVtbXlwYXNzd29yZA==[...]Decodificando:$ echo "dGVzdGU6ZHVtbXlwYXNzd29yZA==" | base64 –dteste:dummypassword Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Quebra de Autenticação / SessãoHTTP digest:Força-brutaHydra (http://freeworld.thc.org/thc-hydra/)Replay de tráfegoTCPReplay (http://tcpreplay.synfin.net/trac/) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Quebra de Autenticação / Sessão● Tunelameto por SSL● Políticas de segurança● CAPTCHA●OWASPAuthentication_Cheat_Sheet Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Referência Direta a Objetos• Exposição de informações internas• Evite Controle de Acesso em camadade apresentação●Modificações de informações paraacesso a dados não autorizados Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Referência Direta a Objetos• Evite expor referências a objetosinternos● Validação de referências● Mapas de referênciaEx: http://www.example.com/application?file=1 Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross Site Request Forgery (CSRF)• Browsers enviam alguns tipos decredenciais automaticamente em cadarequisiçãoCookiesCabeçalhosEndereço IPCertificados SSL Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross Site Request Forgery (CSRF)• A vítima acessa um site maliciosoenquanto está logada no sistemavulnerável●O atacante força a vítima a fazer talrequisição Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross Site Request Forgery (CSRF) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross Site Request Forgery (CSRF)• Autenticações forçadas em requisiçõessensíveis●Controle exposição de dados utilizadoscomo credenciais●OWASP:CSRF_Prevention_Cheat_Sheet Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Falhas de Configuração• Aplicações rodam em cima de serviçosque rodam em cima de SOs• Todos podem ser vetores de ataque• Exploits (e patchs!) se aplicam àqualquer tipo de software Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Falhas de Configuração• “hardening” de servidores● Patchs e atualizações● Homologação de mudanças● Vulnerability Management Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Armazenamento Inseguro• Identificação de dados sensíveis• Banco de dados, Arquivos, Diretórios,Arquivos de log, Backups, etc...• Proteção insuficiente ou inexistente• Confidencialidade e integridade Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Armazenamento Inseguro1. Cliente faz transações com cartão decrédito2. Log com os dados da transçãoapontam algum erro3. Um insider acessa milhões denúmeros de cartão de crédito Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Armazenamento Inseguro● Algoritmos fortes● Chaves diferenciadas● Política de criação, armazenamento etroca de chaves●OWASPCryptographic_Storage_Cheat_Sheet Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Falha na Restrição de Acesso àURLs● Exposição do nível de privilégio● Camada de apresentação e / ou tráfegolegítimo●É possível forçar outros níveis (admin,manager, etc) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Falha na Restrição de Acesso àURLs● Restrição de acesso em várias camadas● Bloqueie requisições à tipos nãoautorizados de arquivos (configurações,logs, fontes, etc.) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Canal Inseguro• A internet é pública e hostil• Dados podem ser (e serão!)capturados• Utilize criptografia• Visualização / modificação informações Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Canal Inseguro• Certificado Digital• Confidencialidade e Auntenticidade• Algoritmos seguros• OWASPTransport_Layer_Protection_Cheat_Sheet Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Redirecionamentos Não-Validados• Requisição forjada com instrução deredirecionamento• Aplicação não valida o parâmetro eredireciona a vítima para site malicioso Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Redirecionamentos Não-Validados• Se possível, evite “redirects” e“forwards”●Caso seja necessário, não envolvaparâmetros fornecidos pelo usuário● Utilize whitelists Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Dúvidas? Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados. Perguntas? Críticas? Sugestões? Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
    • Fim... Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados. Muito Obrigado! Rafael Soares Ferreira rafael@clavis.com.br @rafaelsferreira Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.