OWASP Top 10 e aplicações .Net - Tech-Ed 2007

1,313 views

Published on

Apresentação realizada no Tech-Ed 2007 sobre o tratamento das falhas apontadas pelo OWASP Top 10 2007 em aplicações .Net

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,313
On SlideShare
0
From Embeds
0
Number of Embeds
197
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 12/01/09 13:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 12/01/09 13:02 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • 12/01/09 13:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 12/01/09 13:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 12/01/09 13:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 12/01/09 13:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 12/01/09 13:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • OWASP Top 10 e aplicações .Net - Tech-Ed 2007

    1. 1. SLIDE OBRIGATÓRIO
    2. 2. SEG402 Top 10 OWASP de Vulnerabilidades em Aplicações Web Wagner Elias Research & Development Manager Conviso IT Security
    3. 3. <ul><li>Descrever as principais vulnerabilidades web segundo as pesquisas do OWASP (Open Web Application Security Project) </li></ul><ul><li>Apontar os recursos que o .Net possuí para evitar que as principais falhas de web sejam exploradas </li></ul>
    4. 4. Projeto OWASP Top Ten 2004 x Top Ten 2007 As dez principais vulnerabilidades web Recursos do .Net para mitigar os riscos Feramentas Microsoft Conclusão
    5. 5. <ul><li>420,000 page views por mês </li></ul><ul><li>15,000 downloads por mês </li></ul><ul><li>10,000 membros em mailing lists </li></ul><ul><li>2,600 usuários do wiki </li></ul><ul><li>1,500 atualizações do wiki por mês </li></ul><ul><li>89 capítulos no mundo </li></ul><ul><li>75 membros individuais </li></ul><ul><li>38 Projetos </li></ul><ul><li>28 membros corporate/educational </li></ul><ul><li>25 novos projetos nascidos do Spring of Code </li></ul>Projeto OWASP
    6. 6. Top Ten 2004 x Top Ten 2007
    7. 7. Top Ten 2004 x Top Ten 2007 Top Ten 2004 Top Ten 2007 A1 Unvalidated Input A1 Cross Site Scripting (XSS) A2 Broken Access Control A2 Injection Flaws A3 Broken Authentication and Session Management A3 Malicious File Execution A4 Cross Site Scripting A4 Insecure Direct Object Reference A5 Buffer Overflow A5 Cross Site Request Forgery (CSRF) A6 Injection Flaws A6 Information Leakage and Improper Error Handling A7 Improper Error Handling A7 Broken Authentication and Session Management A8 Insecure Storage A8 Insecure Cryptographic Storage A9 Application Denial of Service A9 Insecure Communications A10 Insecure Configuration Management A10 Failure to Restrict URL Access
    8. 8. Top Ten 2007
    9. 9. As dez principais vulnerabilidades WEB <ul><ul><li>http://www.owasp.org/index.php/Top_10_2007 </li></ul></ul>
    10. 10. <ul><li>Aplicações que não validam adequadamente os dados permitem que pessoas mal intencionadas injetem e executem códigos na aplicação </li></ul>A1 Cross Site Scripting (XSS)
    11. 11. <ul><li>Inputs não validados adequadamente permitem que pessoas mal intencionadas executem consultas a dados confidenciais; altere ou inclua dados no banco de dados; execute funções no host através de stored procedures </li></ul>A2 Injection Flaws
    12. 12. <ul><li>Vulnerabilidades na configuração do servidor de aplicação possibilitam que sejam executados arquivos maliciosos no servidor </li></ul>A3 Malicious File Execution
    13. 13. <ul><li>Desenvolvedores possibilitam acesso direto a dados, funções, parâmetros que podem comprometer a segurança da aplicação </li></ul>A4 Insecure Direct Object Reference
    14. 14. <ul><li>Ataque que tem o XSS como vetor e aproveita os direitos do usuário confiável para executar funções indevidas </li></ul>A5 Cross Site Request Forgery
    15. 15. <ul><li>Mensagens de erro sem tratamento podem dar muitas informações sobre a aplicação </li></ul>A6 Information Leakage and Improper Error Handling
    16. 16. <ul><li>Sistemas de autenticação mal feitos e gestão inadequada de sessão possibilitam que pessoas mal intencionadas burlem o sistema de autenticação </li></ul>A7 Broken Authentication and Session Management
    17. 17. <ul><li>Algoritmos de criptografia mal implementados podem armazenar chaves em locais inseguros, possibilitando que uma pessoa mal intencionada tenha acesso a chave </li></ul>A8 Insecure Cryptographic Storage
    18. 18. <ul><li>Protocolos que trafegam informações em texto claro podem ter seus pacotes capturados, possibilitando que pessoas mal intencionadas tenham acesso a dados confidenciais </li></ul>A9 Insecure Communication
    19. 19. <ul><li>Sistema de autenticação mal implementado pode permitir que uma pessoa mal intencionada acesse diretamente URL que seriam de acesso restrito </li></ul>A10 Failure Restrict URL access
    20. 20. Recursos do .Net
    21. 21. <ul><li>Arquivo web.config </li></ul><ul><li><configuration>   <system.web>      <customErrors mode=&quot;on&quot;  defaultRedirect=&quot;paginaErro.aspx&quot; />   </system.web> </li></ul><ul><li></configuration> </li></ul><ul><ul><li>Off - usa a página padrão para usuários locais e remotos na exibição dos erros. </li></ul></ul><ul><ul><li>On - usa a página definida pelo programador para exibir os erros para  usuários locais e remotos. </li></ul></ul><ul><ul><li>RemoteOnly - a página de erro é mostrada somente para usuário locais. </li></ul></ul>Tratando Erros <ul><ul><li>http://support.microsoft.com/kb/815166/pt-br </li></ul></ul>
    22. 22. <ul><li>Utilize o recurso Roles and Membership </li></ul>Autenticação e Regras de acesso <ul><ul><li>http://msdn2.microsoft.com/en-us/library/yh26yfzy.aspx </li></ul></ul>
    23. 23. <ul><li>Estude a possibilidade de substituir o objeto session pelo objeto profile para persistência de dados e informações do usuário </li></ul>Session Management <ul><ul><li>http://msdn2.microsoft.com/pt-br/library/d8b58y5d(VS.80).aspx </li></ul></ul>
    24. 24. <ul><li>Utilize os recursos da Cryptography Application Block </li></ul>Criptografia <ul><ul><li>http://msdn2.microsoft.com/en-us/library/aa480457.aspx </li></ul></ul>
    25. 25. <ul><li>Restrinja o upload de arquivos na aplicação ou trate os arquivos que você deseja, usando a classe FileSystemInfo </li></ul>Upload de Arquivos <ul><ul><li>http://www.codeproject.com/KB/aspnet/krullfilesytembrowsing.aspx </li></ul></ul>
    26. 26. <ul><li>Estude a possibilidade de implementar SSL (Secure Socket Layers) quando as informações tráfegadas na web necessitarem de confidencialidade </li></ul>Comunicação Segura
    27. 27. <ul><li>Nunca confie em input de dados, utilize o método HtmlEncode para mostrar dados que são baseados em inputs do usuário </li></ul><ul><li>Desabilite Stored Procedures, Functions que não são usadas </li></ul><ul><li>Use o recurso de Bind Variables para executar queries baseadas em input de dados </li></ul><ul><li>Utilize stored procedures quando for viável </li></ul>Validação de dados
    28. 28. Ferramentas Microsoft
    29. 29. Threat Modeling <ul><ul><li>http://blogs.msdn.com/threatmodeling/ </li></ul></ul>
    30. 30. XSS Detect <ul><ul><li>http://blogs.msdn.com/ace_team/archive/2007/10/22/xssdetect-public-beta-now-available.aspx </li></ul></ul>
    31. 31. Conclusão
    32. 32. <ul><li>Uma aplicação web pode ser a extensão do seu perímetro de rede, por isso deve ser muito bem protegida </li></ul><ul><li>A plataforma .Net possuí inúmeros recursos para desenvolver aplicações web de forma segura </li></ul><ul><li>É necessário investir em treinamento e capacitação dos desenvolvedores para desenvolver aplicações mais seguras </li></ul><ul><li>O OWASP pode lhe ajudar a evitar erros comuns em desenvolvimento de aplicações web </li></ul>Conclusão

    ×