Article 1411 of comp.lang.java.security: > Date: 15 Nov 1996 15:24:20 -0500 > From: David Martin > Subject: Good Java security doesn't imply good network security > Many researchers have noted security flaws in existing Java implementations > as well as fundamental weaknesses in Java's security model. [...] > Until now users and system designers have been content to consider these > problems transient, confident that bugs will be mended quickly enough to > limit any damage. Netscape, for instance, has been admirably quick in > responding to the most serious problems. > However, the giant installed base of Java-enabled browsers---each inviting > an adversary to determine the browser's actions---gives reason to suspect > some kind of fallout even in "secure" implementations of Java. Our paper, > available at http://www.cs.bu.edu/techreports/96-026-java-firewalls.ps.Z, > describes attacks on firewalls that can be launched from legal Java applets. This is a very well-reasoned document, and I strongly recommend reading it. > [...] Our paper also describes methods for preventing applets from crossing a > firewall; this is one way to prevent such attacks. Unfortunately, this section of the paper makes several assumptions that are not true in practice [quotes from the paper are prefixed with #]: # ... any document delivery mechanism can be used to obtain a class file; # however, most untainted news and mail servers would not be capable of # delivering the data in the correct format: every file they deliver begins # with ASCII header lines, and these would be rejected by the AppletClassLoader. Netscape allows parameters to mailbox: and news: URLs, one of which is the "?part=" parameter, which specifies the contents of a particular attachment. Base64 and other encoding schemes can be used to send arbitrary files in an attachment, not just text files. # This strategy uses a proxy that scans enabling documents for tags # and rewrites such tags in a benign form, so that the web browser receiving # the enabling document does not actually receive , and therefore never # even attempts to fetch the attacker's applet. JavaScript/JScript and VBScript can be used to generate and show documents dynamically. This approach wouldn't be effective unless