首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java沙盒安全中的过多内存分配

Java沙盒安全中的过多内存分配
EN

Stack Overflow用户
提问于 2009-02-12 10:27:37
回答 2查看 594关注 0票数 2

在Java安全模型下,可以阻止来自不受信任类的最危险的操作,但上次我检查(几年前)时,不受信任的代码仍然有可能通过不断分配内存,直到出现OutOfMemoryException崩溃为止,执行拒绝服务攻击。现在看来,我看不到情况有任何改善。

我要求在Java应用程序中运行来自第三方的不受信任的代码,我想知道是否有可能以某种方式限制类或线程在Java安全模型中可以分配的堆/堆栈空间。从而防止基于内存分配的DoS攻击。我知道-Xss,但据我所知,它会限制所有线程,其中大多数线程不需要限制。

我还考虑为不受信任的代码创建一个容器,这些不受信任的代码将在自己的JVM中运行,并通过套接字与主应用程序通信,或者对不受信任的代码进行一些静态分析。然而,这两个听起来都比我希望的要多,尽管如果有人知道这方面的技巧或开源库,我会很感兴趣。

那么,有没有一种方法可以限制线程分配给自己的内存量,或者其他一些方法来防止Java中的内存分配拒绝服务攻击呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-02-12 10:35:38

目前,Java中的标准API无法做到这一点。

越来越多的人对此感兴趣,并且正在进行名为Resource Consumption Management API的JSR,这可能是一些值得研究的东西。

票数 2
EN

Stack Overflow用户

发布于 2009-02-12 13:48:24

您将需要在单独的进程中运行不受信任的代码。也许仍然有办法使用DoS,例如在旧版本的Windows上,你可以很容易地用完所有的GDI资源(最近没有尝试过,现在我们有了Swing)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/540738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档