OpenJDK with Authorization is a community-driven fork that maintains the crucial security features of the original while emphasizing authorization. By implementing the principle of least privilege and ensuring high performance, it safeguards against untrusted code while providing tools for auditing and policy generation.
This project aims to maintain a community-driven fork of OpenJDK that incorporates robust Authorization functionality, rather than attempting to sandbox untrusted code. The primary objectives include:
This powerful tool automates the creation of policy files grounded in the principle of least privilege. By doing so, it establishes a formidable barrier of SecurityExceptions that potential attackers must navigate within your perimeter defenses.
In your deployment staging environment, run your program with the following command line options:
-Djava.security.manager=au.zeus.jdk.authorization.tool.SecurityPolicyWriter,
-DSecurityPolicyWriter.path.properties=${your.path}securitypolicywriterpath.properties,
Other essential system properties you should set include:
java.security.policyjavax.net.ssl.trustStorejavax.net.ssl.trustStoreTypejavax.net.ssl.trustStorePasswordAudit your policy files to uncover potential security vulnerabilities and deploy using the automatically generated audit-ready policy files to enhance security further.
For optimal scaling and efficient implementations of SecurityManager and Policy, use:
-Djava.security.manager=au.zeus.jdk.authorization.sm.CombinerSecurityManager,
-Dpolicy.provider=au.zeus.jdk.authorization.policy.ConcurrentPolicyFile,
Our strategy includes:
httpmd URL handler for SHA256+ algorithms to validate JAR file integrity.In today's landscape, running unaudited, untrusted code poses significant risks. The PolicyWriter tool from JGDMS enables safe testing of untrusted code in controlled environments. Following static analysis and comprehensive auditing, code that is determined to be secure can be executed under the least privilege principle, employing policy files generated by PolicyWriter.
Navigating the intricacies of concurrency and security remains a challenge for developers. Unlike the substantial investment in refining Java's memory model, security tool development has lagged behind, often resulting in a reliance on outdated tools like the Policy Tool.
OpenJDK's traditional Policy and PermissionCollection implementations suffer from synchronization bottlenecks, particularly due to DNS reliance, in stark contrast to JGDMS’s modern, high-scaling implementation that leverages contemporary coding practices.
Our vision is to foster a community-based redesign of the Java Authorization API, aimed at modernizing its features and capabilities.
The decision to remove Authorization from OpenJDK stemmed from a lack of widespread usage, culminating in an insufficient developer community to support its maintenance.
No comments yet.
Sign in to be the first to comment.