我需要在 Java 中选择与“网络安全”相关的“最安全”XML 解析库。
我如何检查哪个 API 库最安全?我无法选择所有 XML 库并查看每个库的规范。我需要研究什么要求?从哪里开始是我正在寻找的。
我遇到了这个链接,它提供了一些关于可以利用的 XML 特性的信息。 xml漏洞
任何与解析 XML 文件的安全方式相关的文档或链接将不胜感激。
我需要在 Java 中选择与“网络安全”相关的“最安全”XML 解析库。
我如何检查哪个 API 库最安全?我无法选择所有 XML 库并查看每个库的规范。我需要研究什么要求?从哪里开始是我正在寻找的。
我遇到了这个链接,它提供了一些关于可以利用的 XML 特性的信息。 xml漏洞
任何与解析 XML 文件的安全方式相关的文档或链接将不胜感激。
您需要考虑几个安全因素:
您需要注意库支持的 xml 规范并注意异常。
这个问题链接到: Secure XML Parsers
安全性不是一维属性。你不能说一个解析器有 83 盎司的安全性而另一个有 98 盎司。因此,一个解析器比另一个“更安全”的概念是无稽之谈。您需要具体说明您所关注的风险类型以及特定解析器针对这些风险提供的防御措施。
例如,在某些方面,开源代码比闭源代码更安全(因为它可用于检查),但在其他方面则不那么安全(因为黑客更容易安装后门)。
一些意见/建议:
我认为这是一个提出“安全 XML 解析器”主题的好问题。提到的指向同一论坛上另一个主题的链接正确地列出了利用 XML 解析器工作方式可能进行的典型攻击。
同时,论坛帖子还指向链接,除了列出攻击类型外,还提出了绕过问题的可能解决方案。
根据帖子,解决方案在于解析器本身。举个例子,使用xml 炸弹进行攻击的典型方法是利用内联 DTD。内联 DTD 是几乎所有解析器都支持的特性,这是正确的,因为将会有具有 DTD 解析器的 XML 文档。某些类别的应用程序(一些独立的应用程序,如批处理等)将需要此功能。
同时,解析器还提供禁用 DTD 验证的功能,从而为应用程序开发人员提供了根据用例选择使用的灵活性。
所以恕我直言,不会有任何称为安全解析器的东西。您的使用/程序的方式是安全的或不安全的。继续进行的方法是记住编程解析的漏洞。
它是任何通用框架的典型方法。例如,有用于 Web 应用程序的框架。您可以构建一个 Web 应用程序,但除非您对其进行编程,否则该应用程序将不安全。该框架将提供使其安全的所有工具。