Java 对桌面安全吗?

信息安全 爪哇
2021-08-26 10:15:02

众所周知,用于 Web 浏览器的 Java 插件存在许多安全问题,至少在过去是这样。谷歌浏览器甚至不再支持它,将其描述为陈旧的技术,而 Firefox 在它附近有一个小警告消息。

但是没有浏览器插件的 JRE 是否安全?Java 桌面、移动和服务器应用程序是否像 Java 插件一样容易受到攻击?

3个回答

的——Java 桌面和服务器应用程序基本上是安全的。

当你运行一个桌面应用程序——Skype、Picassa 等等——你就可以让该软件完全访问你的计算机。您必须信任该软件。

相反,当您在 Web 浏览器中运行 Java 小程序时,该小程序在称为沙箱的受限环境中运行。沙箱存在,因此您不必信任 Java 小程序。

Java有很多漏洞;几乎所有这些都是“沙盒逃逸”。换句话说,如果您运行的是旧版本的 Java,恶意小程序可能会突破沙箱并控制您的计算机。

支持沙盒的技术并不多。事实上,人们经常运行不受信任的软件的常见技术只有三种:Java、JavaScript 和 Flash。这些都存在很多沙盒逃逸漏洞,可见编写安全沙盒的难度。

当您在桌面或服务器上运行 Java 时,您信任正在运行的 Java 代码,因此您不依赖沙箱。在这种情况下,主要关注的是不受信任的数据是否会干扰应用程序。例如,如果您在 Skype 上与某人交谈,他们是否会发送 Skype 处理不当并允许他们控制您的计算机的恶意消息。(这里我只是以 Skype 为例)。

Java 运行时中的错误导致桌面或服务器应用程序被黑客入侵的情况很少。通常这是因为应用程序代码中的错误,而不是 Java 本身。

但是没有浏览器插件的 JRE 是否安全?Java 桌面、移动和服务器应用程序是否像 java 插件一样容易受到攻击?

即使我们不考虑 Java 插件,JRE 也不是很安全。为了给您提示,您将在此处找到一长串安全漏洞,包括今年发现的影响不同版本 JRE 的严重漏洞。

我们在 JVM(和其他地方)中发现的沙盒机制并不是那么完美,它们有时会被绕过:

尽管 Oracle 意识到 Java 漏洞也可以通过向易受攻击组件中的 API 提供恶意输入来在服务器部署中被利用,但它的信息通常是大多数 Java 漏洞仅影响 Java 浏览器插件或 Java 的利用场景Gowdiak 周二通过电子邮件表示,服务器上的缺陷是不可能的。

我们试图让用户意识到甲骨文关于 Java SE 漏洞影响的声明是不正确的,”Gowdiak 说。“我们证明,Oracle 评估为仅影响 Java 插件的错误也可能影响服务器。”

资料来源:研究人员:台式机、服务器的 Java 运行时环境存在严重缺陷

虽然 Java RE 并不总是像宣传的那样安全,但替代方案甚至更糟。像 C++ 这样的其他技术甚至不会尝试提供沙盒并允许程序为所欲为。当你在你的机器上运行一个本地程序时,你应该假设你允许它做它想做的任何事情。不管它是用 C、Python、Java 还是其他方式实现的。