Cyber-attackers continue to target vulnerabilities in Java, even the ones that Oracle has already patched, because end-user systems aren't being properly updated, Microsoft warned.
"Between one-third and one-half" of all attacks detected and blocked by Microsoft's security software from the beginning of July 2010 to the end of June 2011 were Java-based, Tim Rains, a director of Microsoft's Trustworthy Computing group, wrote Nov. 28 on the Microsoft Security blog. Microsoft's anti-malware technologies blocked more than 27.5 million Java exploits over a 12-month period, many of which had been patched at least a year ago, Rains said.
Microsoft researchers have noted in previous Security Intelligence Reports that attacks targeting Java exploits have been increasing, and they surpassed Adobe-related attacks in volume last year. The latest volume of the Microsoft Security Intelligence Report, volume 11, found that the most commonly observed type of exploits in the first half of 2011 targeted Oracle's Java Runtime Environment (JRE), Java Virtual Machine (JVM) and Java SE in the Java Development Kit (JDK).
"Attackers have been aggressively targeting vulnerabilities in Java because it is so ubiquitous," Rains said, noting that Oracle claims over 3 billion devices run Java.
The most commonly blocked attack in the first half of 2011 exploited a JRE bug discovered and patched in March 2010. The exploits first appeared during the fourth quarter of 2010, at least six months after the patch was released, and increased "tenfold" in the first quarter of 2011, according to Rains. The second most commonly blocked exploit relied on a JVM flaw that allowed an unsigned Java applet to gain elevated privileges outside the Java sandbox and exists in JVM 5 up to update 22 and in JVM 6 up to update 10. It was patched in December 2008. Others on the list included a JVM bug patched by Sun Microsystems in November 2009 and a different JRE flaw patched by Oracle in March 2010.
"Once attackers develop or buy the capability to exploit a vulnerability, they continue to use the exploit for years, presumably because they continue to get a positive return on investment," Rains said, noting that this tactic is not unique to Java flaws, but in "all prevalent software."
System administrators and users should regularly update Java and keep up with the updates, Rains said. Some environments may have systems running different versions of Java, as well.
Some security experts recommend not installing Java by default and limiting the installation to only those systems that actually require it. "Most people aren't using Java these days, and it reduces the attack surface for exploits delivered over the Internet," said Chester Wisniewski, a senior security adviser at Sophos. "Less software plugged" into the browser means less chances for an attack to succeed, he said.
Security analyst and writer Brian Krebs recently uncovered an instance of malware exploiting an already patched Java flaw, with the resulting exploit being bundled with a crimeware kit available for sale on criminal underground forums.
The new Java exploit is being distributed as a free add-on to existing owners of the BlackHole crimeware kit, or priced at $4,000 for new owners. A three-month license for the crimeware kit itself costs $700, and hosted servers running the malware toolkit are also available, according to the post on Krebs on Security.
Java exploits are "notoriously successful" when bundled with commercial exploit packs, according to Krebs. Cyber-attackers can use the BlackHole kit, which extensively uses Java flaws, to launch malicious Websites that can download malware on unsuspecting site visitors running an outdated version of Java, he said. Even though it is a relatively new malware toolkit, BlackHole has become one of the more popular exploit kits this year, according to security experts.
This particular vulnerability exists in the Java Runtime Environment Component in older versions of Oracle Java, namely Oracle Java SE JDK and JRE 7 and Java 6 Update 27 and earlier. Users with the latest version of Java, such as Java 6 Update 29 or Java 7 Update 1, are not affected. Oracle patched this flaw in mid-October with 19 other script engine bugs.