★ wanayoo — archive 1999 http://www.java.sun.com/security/Nouvelle recherche | Portail wanayoo
Java Technology Home Page
Downloads, APIs, Documentation
Java Developer Connection
Docs, Tutorials, Tech Articles, Training
Online Support
Community Discussion
News & Events from Everywhere
Products from Everywhere
How Java Technology is Used Worldwide

A-Z Index

The Source for Java Technology

JavaTM Security API
Applet Security FAQ | Java Security Feedback Alias | Security Bug Chronology


News

August 10, 2000 - Brown Orifice Bug

Background

Developer and computer security consultant Dan Brumleve has uncovered two separate and distinct vulnerabilities in certain implementations of the JavaTM platform. It is important to note that the Java security architecture remains correct and intact. Both vulnerabilities are correctable implementation issues.

In certain versions of Netscape Navigator and Communicator, there is a security vulnerability. Mr. Brumleve also discovered a less severe vulnerability in the implementations of older versions of Sun's JavaTM Development Kit (JDKTM) and JavaTM Plug-in.

Sun and its partners take all security matters very seriously. A plan is in place to make remedies available quickly for all affected products.

Security vulnerability description

The Netscape bug, dubbed "Brown Orifice", is believed to be present in version 4.x of Netscape Navigator and could allow a malicious, unsigned Java applet to read and dispense files from a user's computer as if that user's computer were a web server. Please contact Netscape for details on this bug.

In Sun's JDK 1.1.x implementation, an implementation bug allows an untrusted applet to accept connections from hosts other than the host that the applet came from. While this should not be allowed, this bug by itself does not allow the applet to violate other Java sandbox restrictions.

Users of the following products and platforms are at risk:

Netscape

Netscape users should go to Netscape's web site for more information on the affected products.

Java Development Kit (JDK) and Plug-ins

All versions of:

  • JDK 1.1.x
  • Java Plug-in 1.1.x
  • Java Runtime Environment (JRE) 1.1.x

Users of the following products and platforms are NOT at risk:

  • All versions of Microsoft Internet Explorer
  • All versions of JavaTM 2 Platform, Standard Edition 1.2 or greater and corresponding Java Plug-ins

Interim remedies

There are several solutions available to protect against the Brown Orifice exploit.

For Java developers:

  • Migrate Java products to Java 2 Standard Edition 1.2 or greater
  • Modify applets to utilize the Java 2 Runtime Environment with the corresponding version of the Java Plug-in

Corrected products

Sun and Netscape are working together to make available a fix for Navigator and Communicator very soon.

Additionally, Sun is working on updates to the JDK/JRE 1.1.x. The current schedule is as follows:

JDK 1.1.x Reference Updates
Windows/Solaris Reference Version Target Date
JDK/JRE 1.1.8_005/Java Plug-in 1.1.3_003 8/18
JDK/JRE 1.1.7B_007/Java Plug-in 1.1.2_006 8/24
JDK/JRE 1.1.6_009/Java Plug-in 1.1.1_006 8/25

JDK 1.1.x Solaris Production Updates
Solaris Production Target Date
JDK 1.1.8_12 8/21


February 2, 2000 - Applet Deployment Enhancement

JAR files containing support classes for applets can now be placed in the Java Plug-In software's lib/applet/ directory. This reduces startup time for large applets by allowing applet classes to be pre-loaded from the local file system by the applet class-loader, providing the same protections as if they had been downloaded over the network.

Software

JavaTM 2 SDK, Standard Edition, v 1.2.1
Java 2 Standard Edition, SDK v1.2.1 (formerly known as JDK 1.2.1) contains the new security model and security APIs. The new tools jarsigner, keytool and policytool replace the javakey tool from JDK 1.1.x. The security model supports fine-grain access control, governed by system-wide policy files and per-user policy files. Refer to the online JDK 1.2 Security Documentation for more information.

JavaTM Authentication and Authorization Service (JAAS) 1.0
The Java Authentication and Authorization Service (JAAS) is a framework that supplements the Java 2 platform with user-based authentication and access control capabilities. It includes a Java implementation of the standard Pluggable Authentication Module (PAM) architecture, and provides support for user-based, group-based, or role-based access controls.

JavaTM Cryptography Extension (JCE) 1.2
The Java Cryptography Extension (JCE) 1.2 is a standard extension package for use with the Java Development Kit (JDK) 1.2 software. It is not exportable outside the U.S. and Canada.

JavaTM Secure Socket Extension (JSSE) 1.0.1
The Java Secure Socket Extension (JSSE) is a Java optional package that provides Secure Socket Layer (SSL) and Transport Layer Security (TLS) support for the Java 2 Platform. Using JSSE, developers can provide for the secure passage of data between a client and a server running any application protocol, including HTTP, Telnet, NNTP, and FTP, over TCP/IP. This release of JSSE includes a global version that can be exported outside of the U.S. and Canada.

JDK 1.1.8 Final Version
JDK 1.1.x release includes javakey and jar, which use the JDK 1.1 security APIs. Javakey is used to generate keys and certificates and sign JAR files. Jar is a file archiving utility. The security APIs support hashing, digital signatures, and parsing and generating X.509 certificates.

Documentation

APIs

JavaTM 2 Platform APIs
Java 2 Platform software includes support for fine-grain access control and external policies.

JAAS 1.0.1 APIs
The JAAS framework augments the JavaTM 2 Platform with support for both user-based authentication and user-based access controls. 

JCE 1.2 APIs
A revised JavaTM Cryptography Extension (JCE) 1.2 API specification was published at the Workshop on Enterprise Security, June 17-19, 1998, Stanford University, California, U.S.A.

JSSE 1.0 APIs
JSSE implements a Java platform version of Secure Socket Layer (SSL) and Transport Layer Security (TLS) protocols. A revised JavaTM Secure Socket Extension (JSSE) 1.0 API specification was published at the 8th USENIX Security Symposium, August 23-26, 1999, JW Marriott Hotel, Washington D.C., U.S.A.

JDK 1.1 APIs
JDK 1.1 software includes support for digital signatures and message digests. JDK 1.1 release has an export license and is fully exportable world-wide; this is true of any packages built on top of JDK 1.1 software, as well.

User Guides

Security Code Guidelines
Some guidelines to follow when writing code that will allow you to take full advantage of the security provided by the Java platform.

Signed Applet Example (JDK 1.1.x)
A short description of how to use signed applets in JDK 1.1.x software, either with the Java Plug-In software and the popular browsers, or from the appletviewer.

Signed Applet Example (Java 2)
A short description of how to use signed applets in Java 2 software, either with the Java Plug-In software and the popular browsers, or from the appletviewer.

Using javakey
A short self-contained introductory tutorial for the code signing facilities in JDK 1.1 software.

Jar Guide
A short introduction to using the jar tool to create jar files. This describes the applet tag syntax for associating an applet with a .jar file, instead of a .class file.

Recommendations on using JDK 1.1 javakey
Straightforward recommendations for generating and storing keys and certificates in JDK 1.1 release. This will be enhanced in the next JDK release, with support for X.509v3 certificates and externally configurable policy.

Deploying signed applets in Java Plug-in
A description of the signed applet support in Java Plug-in, which allows users to grant (signed) applets all permissions based on their authenticated signers, without having to configure and deploy any policy or keystore configuration files.

Man Pages

javakey: Solaris and Microsoft Windows
javakey is a utility for generating keys and certificates, and signing jar files.
jar: Solaris and Windows
jar is a utility for packaging files of any type into a single archive.

Specifications

Java 2 Platform Security Documentation (April 1998)
Extensive information on the new Java 2 Platform security model: Security Guides, API Specifications, and Security Tools.

Java Cryptographic Architecture
An overview of the abstract APIs that comprise the Java cryptographic architecture.

JDK 1.1 Security Documentation (1997)
A collection of useful links to JDK-specific documentation.

Manifest File Specification
Every jar file includes a manifest file, where meta-information about the archive is stored.

Security Reference Model for Java technology (1996)
This report provides the security reference model for the JDK version 1.0.2 software. It defines the fundamental security requirements for the Java application environment, serves as a basis for a security test plan, and is a first step toward further assurance documentation and analysis.


FAQs, Whitepapers, Articles

Going Beyond the Sandbox: An Overview of the New Security Architecture in the JavaTM Development Kit 1.2
A technical paper by Li Gong, Marianne Mueller, Hemma Prafullchandra and Roland Schemers, published at the USENIX Symposium on Internet Technologies and Systems, Monterey, California, December, 1997.

Secure Computing With Java: Now and the Future
This 28-page overview was prepared for the 1997 JavaOneSM conference.

CompCon 97 Abstract
This extended abstract, presented at CompCon 97 by Li Gong, presents a high-level overview of new architectural directions for the Java Security API.

Applet Security FAQ
The FAQ explains what applets can and cannot do, under the security manager

Java Security API, postscript or text versions
A 7-page whitepaper that provides an overview of the JDK 1.x security model

Forum 1.1 on Security
A dialog with several network security experts, on what the security challenges are, and where Java should focus its attention


Presentations

JavaOne Conference 1998 Sessions
Look for "Security on the Java Platform", Li Gong, and "Developer's Guide to New Security Features in the New Version of the JDK Software", Roland Schemers.

Java Security API: Present and Near Future
The HTML slides from the 1997 JavaOne conference are online. Li Gong, Java Security Architect, highlights the most important architectural foundations of the Java Security API, and talks about future directions.

Usenix Tutorial
Slides and supporting material for the November 1996 tutorial on Java security. Please do read the disclaimer.


For more info

Java Security Feedback Alias
Information about the java-security@sun.com alias, and an online archive of the questions, comments, and answers from the alias.

Note: the old hypermail archive files were replaced by this mechanism.

See Also
Applet Security FAQ
Java Security Feedback Alias
Security Bug Chronology


[ This page was updated: 11-Aug-00 ]

Products & APIs | Developer Connection | Docs & Training | Support
Community Discussion | Industry News | Solutions Marketplace | Case Studies
Glossary - Applets - Tutorial - Employment - Business & Licensing - Java Store - Java in the Real World
Feedback | Map | A-Z Index

For more information on Java technology
and other software from Sun Microsystems, call:
(800) 786-7638
Outside the U.S. and Canada, dial your country's AT&T Direct Access Number first.
Sun Microsystems, Inc.
Copyright © 1995-2000 Sun Microsystems, Inc.
All Rights Reserved. Terms of Use. Privacy Policy.