6.1. Security Risks
Java
has been designed from the ground up with security in mind; this
gives it a great advantage over many other existing systems and
platforms. Nevertheless, no system can guarantee 100% security, and
Java is no exception.
The Java
security architecture was designed by security experts and has been
studied and probed by many other security experts. The consensus is
that the architecture itself is strong and robust, theoretically
without any security holes (at least none that have been discovered
yet). The implementation of the security architecture is another
matter, however, and there is a long history of security flaws being
found and patched in particular implementations of Java. For example,
in April 1999, a flaw was found in Sun's
implementation of the class verifier in Java 1.1. Patches for Java
1.1.6 and 1.1.7 were issued and the problem was fixed in Java 1.1.8.
In August 1999, a severe flaw was found in
Microsoft's Java Virtual Machine. Microsoft fixed
the problem, and no longer distributes their VM with the latest
versions of their web browser.
In all likelihood, security flaws will continue to be discovered (and
patched) in Java VM implementations. Despite this, Java remains
perhaps the most secure platform currently available. There have been
few, if any, reported instances of malicious Java code exploiting
security holes "in the wild." For
practical purposes, the Java platform appears to be adequately
secure, especially when contrasted with some of the insecure and
virus-ridden alternatives.
|