Browsed by
Tag: security

Replacing Java’s SecurityManager with an agent using Byte Buddy

Replacing Java’s SecurityManager with an agent using Byte Buddy

Java’s SecurityManager was an essential component of the Java security model. It allowed developers to enforce security rules by implementing check*() methods, such as checkExec(String cmd) for executing a command on the host machine or checkRead(String file) for reading a file. For more details, see the JavaDoc. It was deprecated in Java 17 (JEP 411) and removed in Java 24 (JEP 486). Within Kestra, the universal orchestration platform, we used it to: Restrict access to the host machine’s file system…

Read More Read More

Java: towards JVM integrity by default

Java: towards JVM integrity by default

This article first appeared in Programmez! Hors série #16 (in french only). The Java Virtual Machine (JVM) is an execution environment that enables programs written in Java (or other languages compiled into Java bytecode) to run on different operating systems and hardware architectures. From the begining, the JVM was designed to be dynamic: it can execute code not present at compile time by code hot-loading. It can also call native libraries, and supports numerous monitoring features. Java code can also…

Read More Read More