.NET Web应用程序的应用程序安全审核?

时间:2008-12-09 23:44:58

标签: security web-applications

有人建议对.NET Web应用程序进行安全审核吗?

我对所有选项感兴趣。我希望能够有一些东西在无意中探测我的安全风险申请。

编辑:

为了澄清,该系统在设计时考虑了安全性。环境设置时考虑到了安全性。我想要一个独立的安全措施,除了 - '是的,它是安全的'......让某人审核1M +代码行的成本可能比开发更昂贵。看起来真的没有一个好的自动化/廉价方法。谢谢你的建议。

审计的重点是独立验证团队实施的安全性。

BTW - 有几种自动黑客/探测工具可以探测应用程序/ Web服务器,但是我有点担心它们是否是蠕虫...

6 个答案:

答案 0 :(得分:3)

最好的事情:

  • 聘请安全人员进行源代码分析
  • 聘请安全人员/测试公司进行黑盒分析的第二件好事

以下工具有助于:

  • 静态分析工具Fortify / Ounce Labs - 代码审查
  • 考虑诸如HP WebInspects的安全对象(VS.NET插件)
  • 之类的解决方案
  • 购买黑盒应用扫描程序,如Netsparker,Appscan,WebInspect,Hailstorm,Acunetix或免费版Netsparker

聘请一些安全专家是一个更好的想法(虽然会花费更多),因为他们不仅会找到自动化工具可能找到的注入和技术问题,他们也会发现所有逻辑问题。

答案 1 :(得分:2)

您遇到的任何人都有以下选择:

  1. 代码审核,
  2. 使用工具静态分析代码库
  3. 运行时应用程序的动态分析。
  4. Mitchel已经指出使用Fortify。事实上,Fortify有两个产品涵盖静态和动态分析领域 - SCA(静态分析工具,用于开发)和PTA(在测试用例中执行应用程序分析)在测试期间执行。)

    然而,没有任何工具是完美的,你最终可能会出现误报(代码库的碎片,虽然不会被标记为易受攻击)和漏报。只有代码审查才能解决这些问题。代码审查很昂贵 - 并非组织中的每个人都能够在安全专家的眼中审查代码。

    首先,可以从OWASP开始。在研究principles behind security之前强烈建议理解OWASP Development Guide(3.0在草案中; 2.0可以被认为是稳定的)。最后,您可以准备执行first scan of your code base

答案 2 :(得分:0)

我开始使用内部应用程序的第一件事就是使用Fortify等工具对代码库进行安全性分析。

否则,您可能会考虑争取专门从事安全性的第三方公司的服务,让他们测试您的应用程序

答案 3 :(得分:0)

测试和静态分析是查找安全漏洞的一种非常糟糕的方法,如果您在整个设计和实施过程中没有考虑安全性,那么这种方法确实是最后的手段。

问题是你现在正试图枚举你的应用程序可能失败的所有方法,并拒绝那些(通过修补),而不是试图指定应用程序应该做什么,并防止一切不是那样的(通过防御性编程)。由于你的应用程序可能有无限的出错方式,而且只有一些事情要做,所以你应该采取“默认拒绝”的方法,只允许使用好东西。

换句话说,构建控件以防止整类典型漏洞(例如,参见其他答案中提到的OWASP),无论它们如何出现,都比在寻找更容易和更有效哪些特定的搞砸了你的代码的某些版本。你应该试图证明良好控制的存在(可以做到),而不是缺少坏东西(不能)。

如果你让某人检查你的设计和安全要求(你究竟想要防范什么?),完全访问代码和所有细节,这将比某种黑盒测试更有价值。因为如果你的设计是错误的,那么你实现它的程度并不重要。

答案 4 :(得分:0)

我们已经使用Telus为我们进行了几次笔测试,并对结果印象深刻。

答案 5 :(得分:0)

我建议您联系Artec GroupSecurity CompassVeracode并查看他们的产品......