JBlare is a fork of JamVM. JamVM is an extremely small Java Virtual Machine (JVM) which conforms to the JVM specification version 2 (blue book). There are actually two versions of JBlare:

  • The first version is entirely dynamic. It doesn't require any additional step compared to a traditional JVM.
  • The second version is hybrid. The bytecode is first annotated. These annotations are then used to track flows more precisely.
In both cases, the flow tracking is done by the JVM and the application's code does not need to be modified.

JBlare can also cooperate with KBlare. This allows both IDS to track flows more precisely. For KBlare, this means that java applications are treated as white boxes instead of black ones. And JBlare knows how to taint data coming from the system.