JRE更新策略安全建议
JRE update strategy security advice
最近我正在研究特定版本的 JRE (1.8.0_151) 的常见漏洞,我们仍在使用并偶然发现了 cvedetails.com。结果非常令人困惑,因为这个特定版本似乎根本没有已知的 CVE。至少,页面没有列出这个版本。但是,该页面列出了所有类型的较新 JRE 版本的结果。这可能导致(可能是错误的)假设版本 8.0_151 比以下较新的 JRE 版本更安全并且不需要更新。
List of all CVEs for JRE on cvedetails.com
有人知道为什么没有列出特定版本,或者它是否可以与版本 152 一起计算?
此外,对于 JRE 各自的安全性,您推荐的更新策略方法是什么。有什么最佳实践吗?我知道在测试与要使用的应用程序的兼容性方面投资是时间和金钱的问题,但除此之外,了解与 JRE 保持同步的最佳理由会很棒。
非常感谢!
您应该假定该漏洞不仅存在于指定的更新中,还存在于给定 JRE 版本的所有先前更新中。因此,如果警报调用 1.8.0_151,您应该假设问题存在于 1.8.0_anything-equal-to-or-less-than-151.
这不仅仅是因为宁可谨慎行事。这是因为这几乎总是实际情况。
从没有列出每个受影响的更新的意义上说,CVEDetails 摘要页面不完整有几个原因。首先是 Oracle 在 2014 年更改了其 CVE 通知的格式。早期的格式是这样的:
这表明该漏洞不仅仅存在于 1.7.0_40、1.6.0_60 和 Embedded 1.7.0_40 中。该漏洞存在于早期更新中这一事实对于几乎所有漏洞都是如此,不仅在 Java 中,而且在任何软件中。唯一不是这种情况的情况是在更新中引入了漏洞,谢天谢地,这种情况非常罕见。
Oracle 的新格式是这样的:
它不再对早期更新中存在的问题发表任何声明。 Oracle 可能会说他们这样做是因为不再支持早期的更新,因此甚至没有必要调查它们是否易受攻击。
事实上 Oracle 的当前格式使该位置明确:
仅指定当前支持的版本受到影响。但是这个问题在早期更新中也存在的可能性很大。
第二个问题是,即使原始警报格式指定 "update NNN and earlier","and earlier" 部分也不会反映在 CVEDetails 摘要中。例如,JRE 1.7.0 的 CVEDetails 摘要显示 1.7.0_39、1.7.0_38、1.7.0_37 没有漏洞,即使这些都受到了我上面显示的原始警报格式示例中的“7u40 及更早版本”问题。
Additionally, what would be your recommended update strategy
approaches for JRE respective security. Is there any best practices?
观点各不相同,而且对于 Whosebug 来说,观点是离题的。但是 IMO,无论何时出现新的更新(即使它没有安全修复程序),您都应该针对新的 JRE 重新验证您的应用程序,这样您就可以提前知道当您的客户应用该 JRE 更新时是否会出现问题。如果存在不兼容性,那么您应该尽快解决这些问题。
如果漏洞很严重并且可以在您的应用程序中被利用,那么您应该让您的客户知道他们应该应用 JRE 更新,也许在他们首次安装您的应用程序的新更新之后,如果您在安装时发现不兼容重新验证。如果漏洞轻微 and/or 在您的应用程序中不可利用,那么您应该让您的客户知道这一点,让他们知道 JRE 更新是否需要应用程序更新,并让他们决定是否迁移到更新的 JRE。
最近我正在研究特定版本的 JRE (1.8.0_151) 的常见漏洞,我们仍在使用并偶然发现了 cvedetails.com。结果非常令人困惑,因为这个特定版本似乎根本没有已知的 CVE。至少,页面没有列出这个版本。但是,该页面列出了所有类型的较新 JRE 版本的结果。这可能导致(可能是错误的)假设版本 8.0_151 比以下较新的 JRE 版本更安全并且不需要更新。 List of all CVEs for JRE on cvedetails.com
有人知道为什么没有列出特定版本,或者它是否可以与版本 152 一起计算?
此外,对于 JRE 各自的安全性,您推荐的更新策略方法是什么。有什么最佳实践吗?我知道在测试与要使用的应用程序的兼容性方面投资是时间和金钱的问题,但除此之外,了解与 JRE 保持同步的最佳理由会很棒。
非常感谢!
您应该假定该漏洞不仅存在于指定的更新中,还存在于给定 JRE 版本的所有先前更新中。因此,如果警报调用 1.8.0_151,您应该假设问题存在于 1.8.0_anything-equal-to-or-less-than-151.
这不仅仅是因为宁可谨慎行事。这是因为这几乎总是实际情况。
从没有列出每个受影响的更新的意义上说,CVEDetails 摘要页面不完整有几个原因。首先是 Oracle 在 2014 年更改了其 CVE 通知的格式。早期的格式是这样的:
这表明该漏洞不仅仅存在于 1.7.0_40、1.6.0_60 和 Embedded 1.7.0_40 中。该漏洞存在于早期更新中这一事实对于几乎所有漏洞都是如此,不仅在 Java 中,而且在任何软件中。唯一不是这种情况的情况是在更新中引入了漏洞,谢天谢地,这种情况非常罕见。
Oracle 的新格式是这样的:
它不再对早期更新中存在的问题发表任何声明。 Oracle 可能会说他们这样做是因为不再支持早期的更新,因此甚至没有必要调查它们是否易受攻击。
事实上 Oracle 的当前格式使该位置明确:
仅指定当前支持的版本受到影响。但是这个问题在早期更新中也存在的可能性很大。
第二个问题是,即使原始警报格式指定 "update NNN and earlier","and earlier" 部分也不会反映在 CVEDetails 摘要中。例如,JRE 1.7.0 的 CVEDetails 摘要显示 1.7.0_39、1.7.0_38、1.7.0_37 没有漏洞,即使这些都受到了我上面显示的原始警报格式示例中的“7u40 及更早版本”问题。
Additionally, what would be your recommended update strategy approaches for JRE respective security. Is there any best practices?
观点各不相同,而且对于 Whosebug 来说,观点是离题的。但是 IMO,无论何时出现新的更新(即使它没有安全修复程序),您都应该针对新的 JRE 重新验证您的应用程序,这样您就可以提前知道当您的客户应用该 JRE 更新时是否会出现问题。如果存在不兼容性,那么您应该尽快解决这些问题。
如果漏洞很严重并且可以在您的应用程序中被利用,那么您应该让您的客户知道他们应该应用 JRE 更新,也许在他们首次安装您的应用程序的新更新之后,如果您在安装时发现不兼容重新验证。如果漏洞轻微 and/or 在您的应用程序中不可利用,那么您应该让您的客户知道这一点,让他们知道 JRE 更新是否需要应用程序更新,并让他们决定是否迁移到更新的 JRE。