安全运行时引擎VS AntiXSS库

我看到Web保护库(WPL)有两个不同的选项:

  • 安全运行时引擎(SRE)
  • AntiXSS库

第一个看起来很棒,因为不需要代码,它是一个HTTPModule。 第二个需要在代码上手动添加转义逻辑。

尽管我提到了这个优势,但SRE并不是很受欢迎,我想知道为什么。 这个库有任何已知问题或使用AntiXSS的任何重大优势,我没有看到?

谢谢!

我在SRE中看到的最大缺陷是,在我看来它依赖于“黑名单”行为。 例如,它尝试检测SQL语句以提供SQL注入保护。 黑名单很弱,只是因为您必须知道所有可能有害的输入才能提供100%的保护。

http://www.owasp.org/index.php/Data_Validation#Data_Validation_Strategies

这并不是说我在SRE中看不到任何价值。 我认为它看起来像是一个很好的工具,但是它可以被认为是一个额外的防御层。

我看到使用这个库的另一个缺点是它可能会鼓励编码人员学习如何保护他们的应用程序。 依靠任何单独的工具提供保护(甚至一堆工具来提供保护)充其量是愚蠢的。 程序员很容易无意中引入阻碍最佳工具的安全漏洞。 因此,一个关心安全性的优秀开发人员不会依赖这样的工具,但无论如何都会逃避,而不是相信工具为他们做这件事。

换句话说,这看起来像是一个很好的工具,但不能以牺牲自己的预防措施为代价。 已经知道如何抵御常见网络攻击的程序员通常足够聪明,知道不仅仅依赖于工具。 它们也可能已经在防御性编码,如果您已经在防范SQL注入,那么添加一个执行相同操作的模块似乎是多余的。 我冒昧地猜测这是缺乏人气的原因。

另一方面,它提供的function类似于您在良好的Web应用程序防火墙(WAF)中找到的function。 它受到相同的基本缺陷的影响。 这是一个很好的解读为什么WAF不够,这也解释了为什么SRE不够,以及为什么我们不会依赖它。

http://www.acunetix.com/blog/news/implementing-a-web-application-firewall-only-is-not-enough-to-secure-web-applications/