防止OWASP十大漏洞的最佳图书馆/实践

时间:2010-07-06 11:28:47

标签: asp.net testing security owasp

我正在寻找ASP.Net中最好的可重用库和内置功能,以防止OWASP十大安全漏洞,如注入,XSS,CSRF等,以及易于使用的工具来检测这些漏洞供测试团队。

您认为在开发生命周期中何时开始将安全编码纳入应用程序的最佳时机?

3 个答案:

答案 0 :(得分:4)

我的两分钱:

  • 绝不相信用户输入。这包括表单,Cookie,参数,请求......
  • 保持您的图书馆更新。我们之间出现了日常安全漏洞。修补程序已发布,但如果您不应用它们/升级您的库,它们就毫无价值。
  • 具有限制性和偏执性。如果您需要用户写下他的名字,那就是限制性的,让他只使用[A-z]字符等等。强约束会惹恼普通用户,但它会使您的系统更安全。
  • 从不记录关键数据。这意味着您不应该记录诸如用户使用的密码(显而易见)之类的内容,但是您也不应该记录用户在登录系统时输入的密码(因为他可能容易输入错字)猜测)。您可以将此示例扩展到所有关键数据。请记住,如果它不在那里,你不必担心有人试图获得它。

摘自wikipedia's CSFR article

  
      
  • 要求在GET和POST参数中进行身份验证,而不仅仅是Cookie;
  •   
  • 检查HTTP Referer标头;
  •   
  • 确保没有允许无意访问的crossdomain.xml文件   Flash电影[14]
  •   
  • 限制身份验证Cookie的生命周期
  •   
  • 处理POST时,如果您知道它们应该忽略URL参数   来自表格
  •   
  • 在所有表单提交中要求一个特定于用户的秘密令牌   副作用URL阻止CSRF;该   攻击者的网站无法把权利   提交中的令牌
  •   

答案 1 :(得分:4)

我的经验是,只是给开发人员一个工具箱并希望最好的并不能真正发挥作用。安全性是代码质量的一个方面。安全问题是错误。像所有的错误一样,即使是更了解的开发人员也会最终编写它们。解决这个问题的唯一方法是有一个流程来捕获错误。

考虑您需要什么样的安全流程。仅自动测试?代码审查?手动黑盒测试?设计文件审查?您将如何在错误跟踪系统中对安全问题进行分类?您将如何确定修复安全漏洞的优先级?您能够向客户提供什么样的保证?

可能有助于您入门的是OWASP ASVS验证标准,可帮助您验证安全验证过程是否真正有效:http://code.google.com/p/owasp-asvs/wiki/ASVS

答案 2 :(得分:3)

第一个最佳实践:在编码时注意漏洞。如果你的代码考虑你正在做什么。