gpt4 book ai didi

java - 在运行用户提供的 Java 代码时,我应该防范哪些安全风险?

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:15 24 4
gpt4 key购买 nike

是否有关于在服务器上运行用户提供的 Java 代码的安全问题的完整列表?我已经

  • 使用 10 秒的超时
  • 在可用内存有限的单独进程中运行代码
  • 使用 SecurityMangager 防止文件和网络 IO
  • 在文件系统权限极其有限的帐户下运行代码

如果重要的话,我会在 FreeBSD 服务器上运行它。

最佳答案

看起来是一个很好的开始 - 安全管理器对于沙盒化一大堆你没有明确提及的其他东西是必不可少的(当然,比如防止用户禁用安全管理器,以及能够调用任意命令,或使用 native 代码,或让操作系统执行文件等)。我假设您从零权限开始,只是授予所需的显式权限。

安全管理器无法通过过度使用资源来处理拒绝服务,但您的其他控件可能会解决此问题(阻止网络连接、控制磁盘使用、超时以防止 CPU 占用 - 如果这就是超时的意思) .

你说“极其有限的文件系统权限” - 希望这也包括磁盘配额?您是否正在运行多个不受信任的进程,它们是否共享磁盘空间?用完文件句柄可能是个问题(不确定如何为受限帐户管理这些句柄)。

仍然偶尔会出现 JVM 漏洞,因此风险取决于服务器上还有什么,以及问题的实际后果是什么(如果必须删除服务器会有多糟糕?)。

另见:Sandbox against malicious code in a Java applicationExecute external Java source code on server - limit security and resources?

关于java - 在运行用户提供的 Java 代码时,我应该防范哪些安全风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9041246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com