gpt4 book ai didi

java - 如何检测 Java 代理、JVMTI 等

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:59 25 4
gpt4 key购买 nike

在不受您控制的机器上运行时,如何保护 Java 环境?什么是阻止某人创建 java 代理或 native JVMTI 代理并转储字节码或重写类以绕过许可和/或其他安全检查?有什么方法可以检测是否有任何代理正在从 Java 代码运行?来自 JNI?来自 JVMTI 代理?

最佳答案

如果您不控制环境,那么我很抱歉 - 您真的被困住了。是的,您可以通过某种命令行嗅探来寻找普通的 JVMTI 代理,但这是您最不用担心的事情。想想 java/lang/Classloader.defineClass() 直接被破坏。如果您拥有盒子,这很容易做到——只需替换 rt.jar 中的 .class 文件。事实上,在 JVMTI 出现之前,这是分析器和监控工具检测 Java 代码的典型方式。

回到 JVMTI - “后期附加”功能还允许 JVMTI 代理程序动态加载。当您第一次扫描时可能不会发生这种情况。

底线 - 如果有人可以更改磁盘上 JRE 的字节,他们就可以为所欲为。这是道德的,不是吗?他们会被抓到吗?有可能,但你永远赢不了这场 war 。

关于java - 如何检测 Java 代理、JVMTI 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2773892/

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