有人建议对.NET Web应用程序进行安全审核吗?
我对所有选项感兴趣。我希望能够有一些东西在无意中探测我的安全风险申请。
编辑:
为了澄清,该系统在设计时考虑了安全性。环境设置时考虑到了安全性。我想要一个独立的安全措施,除了 - '是的,它是安全的'......让某人审核1M +代码行的成本可能比开发更昂贵。看起来真的没有一个好的自动化/廉价方法。谢谢你的建议。
审计的重点是独立验证团队实施的安全性。
BTW - 有几种自动黑客/探测工具可以探测应用程序/ Web服务器,但是我有点担心它们是否是蠕虫...答案 0 :(得分:3)
最好的事情:
以下工具有助于:
聘请一些安全专家是一个更好的想法(虽然会花费更多),因为他们不仅会找到自动化工具可能找到的注入和技术问题,他们也会发现所有逻辑问题。
答案 1 :(得分:2)
您遇到的任何人都有以下选择:
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 Group,Security Compass和Veracode并查看他们的产品......