JVMXRay 是一种用于监视 Java 应用程序对受保护系统资源(如文件、套接字、类等)的访问的技术。它的设计重点是应用程序安全,但在软件诊断、使用跟踪和审计等其他领域也有好处。 | |
最新消息 | |
2024 年 2 月 20 日改进架构。网站文档即将推出。 | 改进了新架构的文档。 |
2023 年 4 月 28 日文档已更新 | 改进了新架构的文档。 |
2023年4月5日架构大修 | 该系统已简化为几个组件,1)注入器,根据 PID 将有效负载传递给进程,2)设计用于传递用于监视的代码的 Java 代理,3)监视代码有效负载。一些最初的 wiki 改进已经得到应用,未来还会有更多改进。 |
2021年6月16日架构大修 | 交付了许多改进。 Wiki 正在进行更新以反映改进。 |
2021 年 2 月 10 日许多改进 | 查看最新的交付说明和更新的项目 WIKI... |
Duke:Oracle 的 Java 吉祥物...
以下是重要优势的快速列表。
您的应用程序在做什么?监视与受保护资源相关的感兴趣事件,例如:套接字、文件、进程执行、软件供应链等。
JVMXRay 不需要访问应用程序源代码。 JVMXRay 监视您的服务器,包括您可能没有源代码的第三方库或商业应用程序。
JVMXRay 在内部支持 logback 日志记录。使用标准 logback 配置来指定事件类型和捕获的元数据级别、记录安全事件的方式和位置。使用您当前的集中式日志记录解决方案或明确地处理安全事件。安全事件目标位于 logback 框架支持的任何地方。通过 JDBC 连接 RDBM、滚动文本文件、Flume、Kafka、JMS、NoSQL DB(如 Cassandra/Mongo/CouchDB)、SMTP 电子邮件消息、*NIX 系统日志以及通过 HTTP、套接字附加程序等您自己的自定义解决方案。这些不是 JVMXRay 功能但它们是流行日志框架的功能,并被 JVMXRay 用于安全事件。没有理由重新发明轮子。
JVMXRay 很容易设置,因为它使用您当前的日志框架配置。知道如何设置 log4j2 或 logback 配置文件吗?您已准备好开始!100% Java 代码,因此它可以在您运行 Java 应用程序的任何地方运行。
INFORMATION:
Consider the project early stage code.
JVMXRay 的预期受众有两方面:
系统管理员负责系统安全并对将安全情报收集到 Java 应用程序中的新方法感兴趣的个人。
安全开发人员和架构师对改进其应用程序的安全智能感兴趣的个人。
安全事件目的地和格式很灵活,但这里有一些来自项目单元测试的示例消息。
...
2024.02.12 at 13:03:06 CST | main | org.jvmxray.events.access.threadgroup | DEBUG | AID=c2f97677bbccd0c2-6347816e-18d9eb374b8-8000 EID=6f77809c0b5f406f-3ab753c9-18d9eb3976b-7ffd CAT=unit-test P1=system P2= P3= CL=xray:org.jvmxray.platform.shared.classloader.XRLoggingClassLoader
2024.02.12 at 13:03:06 CST | main | org.jvmxray.events.access.thread | DEBUG | AID=c2f97677bbccd0c2-6347816e-18d9eb374b8-8000 EID=6f77809c0b5f406f-3ab753c9-18d9eb3976b-7ffc CAT=unit-test P1=Notification+Thread P2= P3= CL=xray:org.jvmxray.platform.shared.classloader.XRLoggingClassLoader
2024.02.12 at 13:03:06 CST | main | org.jvmxray.events.system.properertiesnamed | DEBUG | AID=c2f97677bbccd0c2-6347816e-18d9eb374b8-8000 EID=6f77809c0b5f406f-3ab753c9-18d9eb3976b-7ffb CAT=unit-test P1=sun.jnu.encoding P2= P3= CL=xray:org.jvmxray.platform.shared.classloader.XRLoggingClassLoader
2024.02.12 at 13:03:06 CST | main | org.jvmxray.events.permission.check | DEBUG | AID=c2f97677bbccd0c2-6347816e-18d9eb374b8-8000 EID=6f77809c0b5f406f-3ab753c9-18d9eb3976b-7b4e CAT=unit-test P1=%2Fusr%2Flocal%2FCellar%2Fmaven%2F3.9.5%2Flibexec%2Flib%2Fjavax.inject-1.jar P2=read P3=java.io.FilePermission CL=unassigned:org.codehaus.plexus.classworlds.realm.ClassRealm
2024.02.12 at 13:03:29 CST | main | org.jvmxray.events.io.filedelete | DEBUG | AID=c2f97677bbccd0c2-6347816e-18d9eb374b8-8000 EID=6f77809c0b5f406f-3ab753c9-18d9eb3ad18-6514 CAT=unit-test P1=%2Fvar%2Ffolders%2Fzb%2Flw89d2ms76x75zfy_8btv4l40000gn%2FT%2Fjansi-2.4.0-5b614d71567410f3-libjansi.jnilib.lck P2= P3= CL=xray:org.jvmxray.platform.shared.classloader.XRLoggingClassLoader
2024.02.12 at 13:03:29 CST | main | org.jvmxray.events.io.filedelete | DEBUG | AID=c2f97677bbccd0c2-6347816e-18d9eb374b8-8000 EID=6f77809c0b5f406f-3ab753c9-18d9eb3ad18-6513 CAT=unit-test P1=%2Fvar%2Ffolders%2Fzb%2Flw89d2ms76x75zfy_8btv4l40000gn%2FT%2Fjansi-2.4.0-5b614d71567410f3-libjansi.jnilib P2= P3= CL=xray:org.jvmxray.platform.shared.classloader.XRLoggingClassLoader
...
Java 虚拟机提供了一个强大的安全框架来控制对受保护资源的访问。 JVMXRay 提供了 java.lang.SecurityManager 组件的实现。 JVMXRay 不提供策略执行,而是监视受保护资源的活动。当安全管理器被调用时,元数据被放入事件中并使用 logback 记录器进行记录。随着项目的成熟,预计机器学习和日志管理技术将为这些安全事件提供更多的深度和洞察力。
米尔顿·史密斯
披露:JVMXRay 项目未经 Oracle Corporation 批准、认可或附属。 Oracle 是安全开源软件和在线 Web 应用程序安全 (OWASP) 项目的长期支持者。 Milton Smith 还活跃于开源社区,并且是 Oracle 的员工。