我们有数百个以asp,.net和java开发的网站,我们为外部机构支付了大量资金,为我们的网站进行渗透测试以检查安全漏洞。 有没有(好的)软件(付费或免费)这样做?
或..是否有任何技术文章可以帮助我开发此工具?
答案 0 :(得分:65)
答案 1 :(得分:4)
我知道你特别询问了测试工具,但是由于这些工具得到了充分的回答(我通常会使用AppScan和训练有素的测试者),我认为重要的是要指出 pentesting不是唯一的方法“检查安全漏洞”,并且通常不是最有效的。
源代码审查工具可以为您提供更好的代码库可见性,并找到许多不会发布的测试漏洞。
这些包括Fortify和OunceLabs(昂贵且适用于多种语言),VisualStudio.NET CodeAnalysis(适用于.NET和C ++,免费使用VSTS,体面但不是很好),OWASP的LAPSE for Java(免费,体面不太好),CheckMarx (不是便宜的,用于.NET和Java的fanTASTic工具,但开销很高),还有更多。
您必须注意的重点 - (大多数)自动化工具找不到所有漏洞,甚至没有发现。您可以期待自动化工具找到专业测量仪可以找到的大约35-40%的secbugs;自动与手动源代码审查也是如此。
当然,正确的SDLC(安全开发生命周期),包括威胁建模,设计评审等,将有助于实现更多......
答案 2 :(得分:2)
McAfee Secure不是解决方案。他们提供的服务是一个笑话。
见下文:
http://blogs.zdnet.com/security/?p=1092&tag=rbxccnbzd1
http://blogs.zdnet.com/security/?p=1068&tag=rbxccnbzd1
http://blogs.zdnet.com/security/?p=1114&tag=rbxccnbzd1
答案 3 :(得分:1)
就付费解决方案而言,我听说过有关SpiDynamics WebInspect的好消息,以及Nikto(免费解决方案)和其他开源工具。如果您还需要检查该层,Nessus是一个出色的基础设施工具。您可以使用名为Nubuntu(Auditor,Helix或任何其他基于安全的分发工具)的多个工具来获取实时CD,然后Google为特定工具提供一些教程。始终,始终确保从本地网络扫描。如果您在未经授权的情况下从WAN扫描盒子,则存在被数据中心阻止的风险。经验教训很难。 ;)
答案 4 :(得分:1)
Skipfish,w3af,arachni,ratproxy,ZAP,WebScarab:所有免费且非常好的IMO
答案 5 :(得分:0)
http://www.nessus.org/nessus/ - Nessus将帮助您建议改善服务器的方法。它本身无法真正测试自定义应用程序,但我认为插件相对容易自行创建。
答案 6 :(得分:0)
看看Rational App Scan(以前叫做Watchfire)。它不是免费的,但有一个很好的用户界面,功能强大,生成报告(定制和反对标准的合规框架,如Basel2),我相信你可以将它编入你的CI版本。
答案 7 :(得分:0)
nikto怎么样?
答案 8 :(得分:0)
对于这种类型的测试,你真的想要看一些类型的模糊测试器。 SPIKE Proxy是针对网络应用的几个模糊测试人员之一。它是开源的,用Python编写。我相信有一些来自BlackHat或DefCON的视频在某处使用SPIKE,但我很难找到它们。
有几个高端专业软件包可以进行Web应用程序测试等等。其中一个比较流行的工具是CoreImpact
如果您打算自行完成Pen测试,我强烈建议您仔细阅读OWASP Project's documentation的大部分内容。特别是OWASP应用程序安全验证和测试/开发指南。你需要彻底测试你的应用程序的心态与你的正常开发思维方式有点不同(不是它应该是不同的,但它通常是不同的。)
答案 9 :(得分:0)
rat proxy怎么样?
半自动化,基本上是被动的网络 应用安全审计工具, 优化准确和 敏感检测,自动 注释,潜在问题和 安全相关的设计模式 根据对现有的观察, 用户启动的复杂Web流量 2.0环境。
检测广泛的类并确定其优先级 安全问题,如动态 跨站点信任模型考虑因素, 脚本包含问题,内容 服务问题,XSRF不足 和XSS防御等等
目前认为Ratproxy支持Linux,FreeBSD,MacOS X和Windows(Cygwin)环境。
答案 10 :(得分:0)
我知道你具体询问了测试工具,但由于这些工具得到了充分的回答(我通常会使用AppScan和训练有素的测试者),我认为重要的是要指出测试不是“检查”的唯一方法。对于安全漏洞“,往往不是最有效的。
源代码审查工具可以让您更好地了解您的代码库,并找到许多不会进行测试的缺陷。
这些包括Fortify和OunceLabs(昂贵且适用于多种语言),VisualStudio.NET CodeAnalysis(适用于.NET和C ++,免费使用VSTS,体面但不是很好),OWASP的LAPSE for Java(免费,体面不太好),CheckMarx (不是便宜的,用于.NET和Java的fanTASTic工具,但开销很高),还有更多。
您必须注意的重点 - (大多数)自动化工具找不到所有漏洞,甚至没有发现。您可以期待自动化工具找到专业测量仪可以找到的大约35-40%的secbugs;自动与手动源代码审查也是如此。
当然,正确的SDLC(安全开发生命周期),包括威胁建模,设计评审等,将有助于实现更多......
答案 11 :(得分:-2)