3

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

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

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

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

谢谢!

4

1 回答 1

6

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

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

这并不是说我在 SRE 中看不到任何价值。我认为它看起来是你的武器库中的一个不错的工具,但它会被视为额外的防御层。

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

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

另一个注意事项是,由此提供的功能类似于您在良好的 Web 应用程序防火墙 (WAF) 中找到的功能。它具有相同的基本基本缺陷。这是一本很好的读物,解释了为什么 WAF 不够用,也回答了为什么 SRE 不够用,以及为什么我们不依赖它。

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

于 2011-02-17T21:13:06.237 回答