Re: SSLContext instances

2025-04-03 Thread Peter Firmstone
I think it would be useful to configure the JVM to prevent loading of untrusted (unsigned) code.   This might be useful in preventing injection attacks, where the attacker is attempting to have the JVM load remote untrusted code. -- Regards, Peter On 4/04/2025 3:45 am, Scott Lewis wrote:

Re: RFR: 8338411: Implement JEP 486: Permanently Disable the Security Manager

2024-10-16 Thread Peter Firmstone
There are problems with the agent approach, finalizer's must be disabled, but there are other issues, such as replacement of doPrivileged calls and the need to widen permission grants as everything is on the stack. I did consider a mode where there are no privileges unless a privileged call h

JEP 486 dynamic code loading

2024-10-15 Thread Peter Firmstone
Hello, This are some very interesting comments in JEP 486: Various early Java Platform features were designed around a vision of mobile objects. They used serialization to move code and data between JVMs, and assumed applications would enable the Security Manager to defend against maliciously

Re: Several question about JEP 486

2024-10-07 Thread Peter Firmstone
Hi Lim, You raise a good point about how to prevent loading unauthorized code.  I'm interested to see the responses you'll get. I think OpenJDK was overly focused on sandboxes, applets and serialization, instead of authorization and principles of least privilege, where the focus should have

Re: New candidate JEP: 486: Permanently Disable the Security Manager & Java Serialization.

2024-10-03 Thread Peter Firmstone
ual machine.   We supported it with tooling that makes POLP authorization relatively easy and simple to develop and deploy. https://github.com/pfirmstone/JGDMS/wiki Regards, Peter. On 4/10/2024 12:32 am, Sean Mullan wrote: We are aiming to do this in 24, but nothing is official until the JEP

Re: New candidate JEP: 486: Permanently Disable the Security Manager

2024-10-03 Thread Peter Firmstone
Which release does this target? I've been waiting to learn the affected Java release, so we can document which versions of Java our software can and cannot support. We'll continue to use Java beyond this release, but will need to maintain our own fork, as it's not possible to build an Authori

Re: Status of project "Brisbane"?

2024-06-03 Thread Peter Firmstone
Hmm, makes me think of Bin Chickens... Project Bin Chick (cough) Brisbane.  Not as cool as "Blowfish", but hey we've got a lot of Ibis in here Brisbane, Aussies call them Bin Chickens. Cheers, Peter On 4/06/2024 1:03 am, Volker Simonis wrote: Hi, What's the status of Project Brisbane? Acc

Re: RFR: 8296244: Alternate implementation of user-based authorization Subject APIs that doesn’t depend on Security Manager APIs [v3]

2024-03-08 Thread Peter Firmstone
ks, Peter. On 8/03/2024 5:52 pm, Alan Bateman wrote: On 07/03/2024 23:30, Peter Firmstone wrote: Can this change be documented along with others planned in the new JEP so these changes are easier to track? As Sean said, JEP 411 already links to JDK-8267108 that introduced Subject.curr

Re: RFR: 8296244: Alternate implementation of user-based authorization Subject APIs that doesn’t depend on Security Manager APIs [v3]

2024-03-07 Thread Peter Firmstone
ixes), while we figure out how to manage changes brought about by JEP411. Thank you. Peter. On 8/03/2024 8:31 am, Peter Firmstone wrote: Sent from my iPhone On 8 Mar 2024, at 1:35 am, Sean Mullan wrote: On 3/7/24 7:35 AM, Peter Firmstone wrote: Good Evening, Just noticed the comment b

Re: RFR: 8296244: Alternate implementation of user-based authorization Subject APIs that doesn’t depend on Security Manager APIs [v3]

2024-03-07 Thread Peter Firmstone
Sent from my iPhone > On 8 Mar 2024, at 1:35 am, Sean Mullan wrote: > > On 3/7/24 7:35 AM, Peter Firmstone wrote: >> Good Evening, >> Just noticed the comment below, this is a breaking change. >> Recalling earlier discussions on this list about the removal of the

Re: RFR: 8296244: Alternate implementation of user-based authorization Subject APIs that doesn’t depend on Security Manager APIs [v3]

2024-03-07 Thread Peter Firmstone
Good Evening, Just noticed the comment below, this is a breaking change. Recalling earlier discussions on this list about the removal of the existing Authorization API post JEP411, it was going to be assigned another overarching JEP. Can we have the entire API destructed in one swift action?

Re: RFR: JDK-8308398 Move SunEC crypto provider into java.base

2023-07-04 Thread Peter Firmstone
eful death, without requiring people who don't use it to be burdened by it. -- Regards, Peter On 4/07/2023 1:28 am, Anthony Scarpino wrote: On 6/30/23 4:26 AM, Peter Firmstone wrote: On 17/06/2023 11:13 pm, Alan Bateman wrote: On Tue, 13 Jun 2023 20:36:28 GMT, Anthony Scarpino

Re: RFR: JDK-8308398 Move SunEC crypto provider into java.base

2023-06-30 Thread Peter Firmstone
On 17/06/2023 11:13 pm, Alan Bateman wrote: On Tue, 13 Jun 2023 20:36:28 GMT, Anthony Scarpino wrote: This moves the SunEC JCE Provider (Elliptic Curve) into java.base. EC has always been separate from the base module/pkg because of its dependence on a native library. That library was rem

Re: PrivilegedAction et al and JEP411

2023-06-25 Thread Peter Firmstone
5 pm, Alan Bateman wrote: On 18/06/2023 12:52, Peter Firmstone wrote: Thanks Alan, Personally, I would hope that nothing happens until after Java 21, time is precious, we'll need all the time we can get. I was hoping, that all privileged actions might be retained indefinitely, so that we

Re: [External] : Re: PrivilegedAction et al and JEP411

2023-06-23 Thread Peter Firmstone
On 23/06/2023 11:06 am, Ron Pressler wrote: On 22 Jun 2023, at 23:50, Peter Firmstone wrote: If you are able to share, I'd be interested to learn about challenges you had with SM, if we one day have the opportunity to reimplement it, the lessons might be valuable, so we can avoi

Re: [External] : Re: PrivilegedAction et al and JEP411

2023-06-22 Thread Peter Firmstone
thing to gain from removing a feature whose benefits outweigh its cost The cost is very high. I've spent probably a year on the SM just for jdk.jfr module. Erik *From:* security-dev on behalf of Ron Press

Re: [External] : Re: PrivilegedAction et al and JEP411

2023-06-21 Thread Peter Firmstone
On 21/06/2023 8:52 pm, Ron Pressler wrote: On 21 Jun 2023, at 01:36, Peter Firmstone wrote: I'm just disappointed that we are being prevented from reimplementing a replacement authorization layer in Java, without any compromise from OpenJDK it's not possible. We at least need

Re: PrivilegedAction et al and JEP411

2023-06-20 Thread Peter Firmstone
On 20/06/2023 9:08 pm, Andrew Dinn wrote: We have already provided better ways to address security concerns Maybe the documentation hasn't been updated, I can't find the "better ways" to do authorization, unless it's not considered a security concern any more.  But I don't feel like arguing

Re: [External] : Re: PrivilegedAction et al and JEP411

2023-06-20 Thread Peter Firmstone
On 20/06/2023 9:04 pm, Ron Pressler wrote: On 20 Jun 2023, at 06:26, Peter Firmstone wrote: Don't get me wrong, it's good that OpenJDK is improving encapsulation, it's just OpenJDK is also undoing years of tested and hardened API's, You probably meant that as a bad thi

Re: PrivilegedAction et al and JEP411

2023-06-20 Thread Peter Firmstone
x27;t taken it personally, everyone has their good and bad days. The new encapsulation improvements sound promising, if I was a young developer, without existing software to maintain, I think I would be happy about it. -- Regards, Peter On 20/06/2023 7:33 pm, Andrew Dinn wrote: O

Re: PrivilegedAction et al and JEP411

2023-06-19 Thread Peter Firmstone
orward?   Then it's over and we can stop worrying about it. There's a cloud outside and I've got some yelling to do. -- Regards, Peter On 20/06/2023 1:11 am, Ron Pressler wrote: On 19 Jun 2023, at 12:48, Peter Firmstone wrote: For most Java developers, and Jvm users, it mea

Re: PrivilegedAction et al and JEP411

2023-06-19 Thread Peter Firmstone
tool can be found here, in case anyone is interested: https://github.com/pfirmstone/JGDMS/blob/trunk/JGDMS/tools/security-policy-debug/src/main/java/org/apache/river/tool/SecurityPolicyWriter.java Here's are some good videos I recommend people watch, if they find Java security interesting,

Re: PrivilegedAction et al and JEP411

2023-06-19 Thread Peter Firmstone
For most Java developers, and Jvm users, it means that all Java bytecodes need to be audited and trusted, to be fair OpenJDK provide flight recorder and other tools.  The drawback of this approach, is that Java allows dynamic code downloads, attackers will attempt to introduce gadgets, or injec

Re: PrivilegedAction et al and JEP411

2023-06-18 Thread Peter Firmstone
oftware on the Java platform going forward. -- Regards, Peter On 18/06/2023 10:15 pm, Alan Bateman wrote: On 18/06/2023 12:52, Peter Firmstone wrote: Thanks Alan, Personally, I would hope that nothing happens until after Java 21, time is precious, we'll need all the time we can get.

Re: PrivilegedAction et al and JEP411

2023-06-18 Thread Peter Firmstone
27;t your publish subscribe web service model.  It turns out everything they dreamed of was possible, it just required time to sort it out. Comparatively, problems with Authorization are small and simple, easily solved. Thank you for your time and responses, I hope what I've said will be

PrivilegedAction et al and JEP411

2023-06-17 Thread Peter Firmstone
Curious to know OpenJDK's plans for removal of AccessController::doPrivileged calls? PrivilegedAction shows intent, that an action about to be executed requires privileges. Can OpenJDK retain instances of PrivilegedAction and PrivilegedExceptionAction? We can find PrivilegedAction::run in

Re: JDK-8280491 and JEP411

2023-06-17 Thread Peter Firmstone
4 --Sean On 6/16/23 1:48 AM, Alan Bateman wrote: On 16/06/2023 03:48, Peter Firmstone wrote: : As it isn't yet clear how a Subject context will be preserved across threads in future version of OpenJDK, (currently we use the AccessControlContext for that), for example we capture the existing

Re: JDK-8280491 and JEP411

2023-06-16 Thread Peter Firmstone
wrote: On 16/06/2023 03:48, Peter Firmstone wrote: : As it isn't yet clear how a Subject context will be preserved across threads in future version of OpenJDK, (currently we use the AccessControlContext for that), for example we capture the existing context, to establish TLS connections in

JDK-8280491 and JEP411

2023-06-15 Thread Peter Firmstone
Release Note: Alternate Subject.getSubject and doAs APIs Created That Do Not Depend on Security Manager APIs https://bugs.openjdk.org/browse/JDK-8280491 Just wondering about the future implementation plans for these new API's? The implementation depends on deprecated for removal API's in JEP

Re: RFD: Services lockdown for security providers

2023-05-24 Thread Peter Firmstone
Or this, which is an example of limiting a codebase by it's SHA-384 signature: https://github.com/pfirmstone/JGDMS/blob/14608ea34eb7c109d41e296a62669522862f6a49/qa/harness/policy/defaultsecuretest.policy#L2241 -- Regards, Peter Firmstone 0498 286 363 Zeus Project Services Pty Ltd. On

Re: RFD: Services lockdown for security providers

2023-05-24 Thread Peter Firmstone
These are examples of how we currently lock down the JVM, to limit providers, policy files are generated using a tool, it may do as an interim control measure, until something else is provided, it is of course a deprecated feature, subject to future removal, but it may do the job temporarily, w

Should JAAS be renamed to JAS?

2023-02-12 Thread Peter Firmstone
Should JAAS should be renamed JAS?   Java will no longer have support for Authorization functionality, so this should be named "Java Authentication Service" JAS right? I'm currently working on a new Authorization framework for Java, it works a little differently. https://github.com/pfirmston

Re: Surviving JEP411 deprecation [WAS]: Implementing an Authorization framework on Java.

2023-02-09 Thread Peter Firmstone
locking us from developing a new Authorization framework.   It's vandalism. So after 20 years of developing Java, it's come to this. It leaves a bad taste in my mouth. Old man yells at cloud! On 10/02/2023 9:21 am, Peter Firmstone wrote: Please undeprecate DomainController interfa

Re: Surviving JEP411 deprecation [WAS]: Implementing an Authorization framework on Java.

2023-02-09 Thread Peter Firmstone
using developers to remove code that we need, this is undoing years of hard work, I'm appealing to you to minimise harm where possible. eg: https://github.com/apache/lucene/issues/11801 -- Regards, Peter On 10/02/2023 9:03 am, Peter Firmstone wrote: Maybe I had the wrong Subject?

Surviving JEP411 deprecation [WAS]: Implementing an Authorization framework on Java.

2023-02-09 Thread Peter Firmstone
n if they contain no implementation, so that we may instrument them, as we attempt to stay current with OpenJDK. We are not asking OpenJDK to maintain OpenJDK security using an authorization framework, we are just asking you to make it possible for us to maintain our software's security our

Re: Implementing an Authorization framework on Java.

2023-02-08 Thread Peter Firmstone
We're just trying to migrate as best we can to future versions of Java. -- Regards, Peter Firmstone On 7/02/2023 12:53 pm, Peter Firmstone wrote: Hello OpenJDK folk, SecurityManager, AccessController and AccessControlContext will be removed in a future version of Java. Just briefly

Implementing an Authorization framework on Java.

2023-02-06 Thread Peter Firmstone
principle of least privilege policy generation tools and efficient policy checking tools for authorization in place.   These allow for simple policy file generation, auditing, editing and deployment. -- Regards, Peter Firmstone

Re: RFR: 8294241: Deprecate URL public constructors [v2]

2022-11-01 Thread Peter Firmstone
On 1/11/2022 5:52 pm, Alan Bateman wrote: On Mon, 31 Oct 2022 22:00:01 GMT, Phil Race wrote: You have jumped through some refactoring hoops to be able to apply the deprecation suppression to as little code as possible .. having made such changes, then why didn't you just make the recommended

Re: RFR: 8294241: Deprecate URL public constructors [v2]

2022-10-31 Thread Peter Firmstone
Some additional information that may be helpful: org.apache.river.api.net.Uri has method signatures in common with java.net.URI, due to its development history. The implementation was originally part of Apache Harmony which was RFC2396 compliant (Harmony's implementation of java.net.URI)

Re: RFR: 8294241: Deprecate URL public constructors

2022-10-27 Thread Peter Firmstone
I'm considering using one of the non parsing constructors, as Alan points out we're currently double parsing.  By the time the constructor is removed, I'm guessing there will be a RFC3986 URI implementation in the JDK, so we'll change to that when it happens.   Or if you decide to not deprecate

Re: RFR: 8294241: Deprecate URL public constructors

2022-10-27 Thread Peter Firmstone
On 27/10/2022 4:26 pm, Alan Bateman wrote: On 26/10/2022 23:53, Peter Firmstone wrote: The change will have some performance impact, by requiring redundant parsing. Just thought I'd mention it, in case it hasn't been thought of. If you do an internet search there are other imple

Re: RFR: 8294241: Deprecate URL public constructors

2022-10-26 Thread Peter Firmstone
Interesting.  Is this RFR a done deal? While I like the concept and and understand the reasoning of URL not having a public constructor, I think this may have been thought of in isolation, I'm not sure how a custom URI, that strictly complies with RFC 3986 will behave, if it must also be parse

Re: Request - Preparation for removal of SecurityManager

2022-10-26 Thread Peter Firmstone
Thanks Alan, comments inline below. On 26/10/2022 11:07 pm, Alan Bateman wrote: : What would make a significant difference is returning non null ProtectionDomain's for JDK modules, so we can reduce the size of the trusted computing base, to make our job smaller, hopefully that will allow

Re: Request - Preparation for removal of SecurityManager

2022-10-26 Thread Peter Firmstone
.jar", "read";     permission javax.security.auth.AuthPermission "modifyPrincipals";     permission javax.security.auth.AuthPermission "modifyPrivateCredentials";     permission javax.security.auth.AuthPermission "modifyPublicCredentials"; }; Rega

Re: Request - Preparation for removal of SecurityManager

2022-10-25 Thread Peter Firmstone
27;t yet tested how our software will behave without the PrivilegedAction's in JDK code, or preservation of AccessControlContext in executor threads etc, but we need to start exploring that to fully understand it before the SM removal JEP is created. -- Regards, Peter Firmstone On 26

Request - Preparation for removal of SecurityManager

2022-10-24 Thread Peter Firmstone
to utilise existing Permission check hooks after SecurityManager is removed.    Longer term we will need to maintain our own instrumentation hooks, but this will go a long way towards giving us a head start, by leveraging the existing. -- Regards, Peter Firmstone

Re: Command line flag to disable finalizers.

2022-10-24 Thread Peter Firmstone
Hi Sean, I only just read this email, thanks, it allows us to start investigating a new authorization layer. Regards, Peter. On 21/04/2022 1:01 am, Sean Mullan wrote: On 4/15/22 10:46 PM, Peter Firmstone wrote: To securely instrument access controls onto public Java API, we need to have