我一直在浏览Java 9的新功能,并发现: JEP 290: Filter Incoming Serialization Data 根据另一篇文章,java中的反序列化数据存在安全问题: Deserialization of untrusted data
根据第一篇文章中的文字,我有理由相信这是第二篇文章中对问题的反馈,但我不太确定。这个bug仍然适合Java吗?如果是的话,新Java是否完全解决了这个问题?
答案 0 :(得分:0)
首先,不受信任数据的反序列化不是Java的错误,正如您所描述的那样。
当应用程序开发人员/架构师设计他们的应用程序时,会引入漏洞,使得来自不受信任来源的序列化数据在未经验证的情况下被应用程序反序列化。
重要的是要理解这个漏洞是由糟糕的应用程序设计引入的。
JEP 290允许开发人员和/或安全工程师在反序列化之前验证数据。序列化过滤,如果正确完成,可以帮助缓解一些反序列化攻击,但不能完全解决问题,而且大规模配置和部署非常复杂。
您可以在此处阅读序列化过滤功能的详细评估:https://dzone.com/articles/a-first-look-into-javas-new-serialization-filterin
要更好地了解反序列化漏洞以及如何保护您的应用,您可以在此处阅读更多信息:https://dzone.com/articles/why-runtime-compartmentalization-is-the-most-compr