首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止javaagent附加?

如何防止javaagent附加?
EN

Stack Overflow用户
提问于 2016-09-28 09:29:28
回答 1查看 2.2K关注 0票数 1

如何检查javaagent是否被注入到JVM或禁用附加javaagent?出于安全原因,我正在尝试防止我的应用程序在运行时被修改。

我知道如何防止javaagent在启动时被加载,但我无法想出一种方法来防止VirtualMachine API动态附加。

有谁有主意吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-28 18:38:57

在HotSpot上,您可以设置-XX:+DisableAttachMechanism;在J9上,您可以通过-Dcom.ibm.tools.attach.enable=no禁用附件,但无法对任何VM禁用它。您可以做的是自己插装具有premain(String, Instrumentation方法的任何类,使其不被传递给插装接口或null的实际实例。但是,我不建议这样做,这会破坏attach API的一般合同。

然而,所有这些都不能提高安全性。附件要求有权访问您的JVM进程的另一个进程在同一台计算机上运行。如果是这种情况,而另一个进程是攻击者,那么插装API就是您应该担心的最后一个问题。此外,如果您维护一个库,则您的库的用户已经拥有对您的代码的完全访问权限,并且可以在运行您的代码之前对其进行修改。

因此,即使can可以禁用附件,这样做也不会增加“安全性”。

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

https://stackoverflow.com/questions/39736643

复制
相关文章

相似问题

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