←back to thread

16 points pfirmst | 8 comments | | HN request time: 0.83s | source | bottom
1. pfirmst ◴[] No.42189343[source]
Looking for interested parties to assist maintaining a fork of OpenJDK with authorization. Note this isn't for sandboxing untrusted code but instead only allow loading trusted code and automate generation of principle of least privilege policy files for auditing with user Principal's and Code Signer's.
replies(2): >>42190229 #>>42190244 #
2. mdaniel ◴[] No.42190229[source]
Two things:

Are you planning on getting the TCK so your JVM will be trustworthy to run in prod?

Are you going to backport these changes to all the concurrent releases, or do potential consumers have to "ride HEAD" to use your JVM? Based on the number of "we're still on Java 8" comments that always show up in any JVM submission, I'd guess one would want to be mindful of the versions their audience requires otherwise it's basically your own private fork

replies(2): >>42190698 #>>42190755 #
3. mdaniel ◴[] No.42190244[source]
Since I am not the target audience for this, pardon me if this seems like a silly question, but wouldn't just using a custom ClassLoader or even an Agent get this done, without having to full-on fork the JDK?
replies(2): >>42193507 #>>42202170 #
4. ◴[] No.42190698[source]
5. immibis ◴[] No.42190755[source]
How much does TCK cost again?
replies(1): >>42196926 #
6. bzzzt ◴[] No.42193507[source]
This project looks like it's trying to conserve the old SecurityManager (from the Java Applet/Webstart days) implementation that's been removed from the OpenJDK tree. The motivation is on the website: only a very small number of people still use this, but if you're one of them and have a legacy application that depends on the old behavior you don't want too many changes.
7. mdaniel ◴[] No.42196926{3}[source]
https://openjdk.org/groups/conformance/JckAccess/#:~:text=av...
8. pfirmst ◴[] No.42202170[source]
It requires low level hooks and support from within the JVM, using agents is brittle and difficult to secure, the simplest solution is just to fork. I did spend some time investigating these methods before making the decision.

https://github.com/pfirmstone/HighPerformanceSecurity