Hundreds of millions of PCs now run Java 7, as well as Java 6, and in the face of active attacks against bugs in the software, Oracle this week issued emergency security updates for both. Yet half of all Java users are still running Java 6, which Oracle officially retired last month. That highlights the fact that that consumers as well as businesses don't understand the "patch-or-perish" imperative surrounding Java use, and thus their systems remain at risk of being exploited by attackers.
Here are nine related security concerns, as well as solutions:
1. Regular Java Attacks Will Continue
In the wake of active attacks against zero-day vulnerabilities in Java that were being exploited to install McRAT malware, Oracle this week released Java 7 update 17 (it skipped issuing an update 16) and Java 6 update 43 (skipping update 42). Both updates patch two critical bugs, one of which attackers were exploiting to fully compromise vulnerable PCs. Needless to say, Oracle and security experts at large have recommended that Java users upgrade as soon as possible.
Attacks against Java are increasing. Chaouki Bekrar, CEO and head of research for French vulnerability seller Vupen Security told Kaspersky's Lab's Threatpost that the increased number of Java exploits is being driven by their relative ease and low cost of development. "We see that criminals are moving from Flash to Java. We don't see many Flash exploits in the wild these days," he said.
Furthermore, security experts are now counting the time between new Java zero-day attacks being discovered not in months or weeks, but days. As of Friday, for example, only one day had elapsed since the latest discovery of a new zero-day exploit that was targeting Java users. Notably, veteran Java bug hunter Adam Gowdiak, head of research firm Security Explorations in Poland, earlier this week spotted five new vulnerabilities in Java 7, which he's reported to Oracle.
2. Oracle Vulnerability Patching Response Speed Improving
A string of zero-day vulnerabilities in recent months have left Java users exposed to active attacks, with no mitigation recourse except to disable the software, pending an update from Oracle. At the same time, Oracle took flak for failing to publicly address the ongoing vulnerabilities or deal with them in a timely manner.
To its credit, Oracle in late January promised to change its ways, and in fact switched to a much more aggressive updating regimen, as evidenced by the company having already issued three Java updates this year.
3. Recommendation: Disable Java Plug-in Whenever Possible
No matter how recently Java has been patched, most security experts recommend disabling the Java browser plug-in whenever possible. "For enterprises, IT security departments should disable it and have the ability to do so," said Rob Rachwald, senior director of research at FireEye, via email. "If an enterprise security team hasn't thought about Java disablement, that would not be a good thing."
For people who must use the Java browser plug-in, security experts recommend installing it on a secondary browser, and then only using that browser with trusted website. That approach won't block all types of attacks -- such as watering-hole attacks that compromised a popular iOS development website and used it to infect mobile developers' Mac OS X systems and compromise Apple, Facebook, Microsoft and Twitter -- but it might help.
4. Oracle Has Retired Java 6
This week's release of Java 6 update 43 served as an unusual coda for Java 6, which Oracle officially retired last month, saying that Java 6 update 41 would be the last. But Oracle wisely reconsidered -- in the wake of an active attack campaign being launched against Java 6 -- and issued an update for Java 7 as well as Java 6.
How long will the Java 6 updates continue? Good question, because the first time Oracle fails to patch a Java 6 bug that's being actively exploited by attackers, hundreds of millions of PC users will be at risk.
5. Java 6 Use Remains Widespread, Also At Work
That's because altogether, Java 6 and Java 7 are now installed on over a billion PCs. Furthermore, according to Java browser plug-in market share statistics gathered by StatOwl.com, which analyzes the system configuration of numerous website visitors -- predominantly to U.S sites -- at least 47% of Java users are running Java 6, and 15% have Java 7 installed. But StatOwl said it wasn't able to detect the Java version in 33% of cases, which may be the result of the Java 7 update 10 security enhancements that mask whether Java is installed.
6. Java 6 Will Auto-Replace Itself, Sometimes
As of February 2013, Oracle said that Java 6 installations would be set to automatically update to Java 7, with some caveats. According to an Oracle FAQ, the update will not be silent. "All Java auto-updates request the user's permission before installing a new version on their system," it said.
But not all Java 6 will be updated. Notably, if a user has both Java 6 and Java 7 plug-ins installed, the auto-update won't happen. Furthermore, "versions other than the latest [meaning Java 7] will not be removed as there are cases in which a user, particularly enterprise users, would need more than one version of Java on their systems," it said.
An Oracle spokesman with knowledge of the company's Java operations wasn't immediately available to discuss how many PCs have auto-updated from Java 6 to Java 7, or to detail which versions of Java 6 have the auto-update capability built in.
7. Mainstream Awareness Deficit: Is Java Malware?
Complicating efforts to move people off of Java 6 is the fact that many people have no clue what Java is and, if they do, quite a few suspect it's up to no good. "Java is a funny animal," said Rachwald. "It's in the backend and most end users don't quite know what it is or does. Unlike a message that says, 'Update iTunes,' people aren't sure about Java."
Interestingly, the fact that so many people are still using Java 6 "in an odd way ... may actually be a sign of something positive: end users not trusting and updating something they don't know. (I tested this with my mom, she thought Java was malware!)," he said.
8. Which Java Version Remains Unclear
Further compounding the Java confusion is the fact that there's no single, reliable technique for finding and cataloging all versions of Java that may be installed on a PC, or even reliably knowing which version of Java it really is.
Notably, information security consultant Michael Horowitz has said on his Java version testing site that there seems to be a communication failure between Java browser plug-ins and browsers. "Java 7 Update 10 introduced a new checkbox that disables the use of Java in all browsers," he said. "By and large, this is a good thing, but there seems to be a failure to communicate between Java and many Web browsers. As a result, all the browsers I have tried so far incorrectly report that Java is not installed when, in fact, it may be installed but this new security feature has been enabled."
Meanwhile, attackers have exploited the confusion over Java by crafting malware which pretends to be a Java update from Oracle. That's a reminder to only install updates obtained from the Java website (or for Mac OS X users, when those updates are distributed by Apple).
9. Windows XP Lesson: Aging Technology Never Vanishes
If Java 6 clinging to life despite it reaching "end of life" sounds familiar, it's because so often, old technology doesn't disappear. Notably, end of mainstream support for Windows XP Service Pack 3 ended on April 14, 2009, and extended support contracts will cease in a year, on April 8, 2014. But as of March 2013, 39% of all PCs were still running Windows XP, putting it behind Windows 7 (45%), but far ahead of Windows Vista (5%), Windows 8 (3%) -- or for that matter, Mac OS X (7%), according to Net Market Share.
Arguably, Microsoft has made it clear that it's time to move on from Windows XP. Whether users or businesses choose to do so is their own business. By comparison, Oracle doesn't seem to be getting the "upgrade or remove Java now" message out. Is it time to argue for some type of a consumer recall?
"I don't see Oracle giving the 'upgrade or disable' [warning] considering the pervasiveness of Java," said Rachwald. Another option, however, is suggested by the actions of Apple, which has already taken the Java security lead, by updating OS X to automatically disable Java if it hasn't been used for 35 days. Should we now call on Microsoft -- for Windows -- and Linux distribution developers to do the same?