预防Web应用程序的漏洞 |
时间: 2013/2/16 10:43:54 点击: 16355 |
态(运行时)的观察可能会阻止发现很多安全缺陷。当然,渗透测试不需要查看源码,但是静态代码分析需要。
使用错误的检测工具会导致部署的应用含有未检测出的漏洞。图2比较了在Web服务中,知名的并广泛使用的渗透测试和静态分析工具在检测SQL注入漏洞中的表现。8结果显示静态代码分析工具——包括FindBugs、Fortify 360以及IntelliJ IDEA(在图中匿名为SA1到SA3)——的覆盖度通常高于渗透测试工具,包括HP WebInspect、IBM Rational AppScan、Acunetix Web Vulnerability Scanner以及科英布拉大学开发的一个原型工具(在图中匿名为VS1到VS4)。这两种方式都有的一个问题就是误报,但是在静态分析中更明显。一个重要的发现在于相同方式下的不同工具对于相同的代码通常报告不同的漏洞。 根据研究结果,需要强调工具的局限性使得有必要提高漏洞检测的有效性,比如这可以通过联合使用多种方式来实现。另外,开发人员需要定义一种机制来评估和比较不同的工具,这样它们才能选择最适合各种开发场景的工具。 检测攻击 为了防止对Web应用的攻击,软件工程师必须实施攻击检测机制,通常称为入侵检测系统(intrusion detection system,IDS)或Web应用防火墙(WAF)。不同的工具可以作用在应用或网络级别甚至在应用的资源上,如数据库,它们可以使用不同的方式如异常检测或签名匹配来检测攻击。 检测攻击的方法 检测攻击要区分出与所学习行为的差别。攻击检测工具所使用的方式要么基于异常检测要么基于签名。8 异常检测通常需要一个训练阶段。训练阶段会展现系统的无恶意请求,工具会在给定的架构级
|
上一篇: 马云:做搜索是为了让百度睡不着觉 下一篇: 网站流量之如何防止图片浪费空间流量技巧 |