Vulnerabilities / Threats
4/23/2013
04:27 PM
Connect Directly
Google+
Twitter
RSS
E-Mail
50%
50%

Java's Security Renaissance Begins

Oracle's decision to delay Java 8 to ensure security is done right is a significant step -- but challenges remain for the troubled platform

It has been a rough year for Java, and Oracle finally has gone public with its plans to clean up the bug-riddled current darling of malware writers.

The release of the next version of Java, Java 8, has officially been put on hold until the first quarter of 2014 due to Oracle's "renewed focus on security," according to Oracle's chief architect of the Java Platform Group Mark Reinhold, who this month announced the delay in a blog post.

Security experts applaud the move by Oracle, as well as its latest efforts to lock down its software development process such that security is now part and parcel with code-writing. The move conjures up echoes of Microsoft's Software Development Lifecycle. "This is definitely a very positive step," says Rohit Sethi, a software security expert and vice president of SD Elements. It's also a serious one: "It's kind of rare to see a large organization that has something they are really invested in [delay a software release]. If you think how big Java is and how much revenue comes with just the new services ... To push that out by a few months is a pretty significant decision."

Java's security renaissance won't be simple, however. The brand has taken a beating over the past year with various vulnerability disclosures and zero-day attacks, leading many organizations to disable Java on their client machines. Apple last fall even yanked its Java plug-in from Safari.

[New Websense data highlights why Java is attackers' favorite target: most end users run outdated versions of the app. See The Scope Of The Java Problem .]

HD Moore, creator of Metasploit and chief security officer at Rapid7, says the browser side of Java is just one part of the security equation for the troubled platform. "Java browser security is mostly 'fixed' at this point in that you have to try pretty hard to run a malicious applet. In this sense, it is now only as bad as ActiveX, which is an improvement at least. The browser side is just one part of the problem, though," Moore says. "The RMI [remote method invocation], serialization, and other attack vectors are going to be come even more important going forward. I don't believe anything Oracle can do will result in average users trusting Java in the browser again."

A new report released today (PDF) from Trend Micro shows how Java zero-day exploits were a big part of the threat landscape in the first quarter of this year, leading to the U.S. Department of Homeland Security's US-CERT to recommend uninstalling Java. "Of course Java is cross-platform and that is somewhat attractive to criminals, but what is really attractive is its vulnerabilities and its ubiquity," says Rik Ferguson, vice president of security research for Trend Micro. "This definitely won't be the last zero-day vulnerability in Java and it won't be the end of the vast attack surface that it currently offers to criminals."

It won't be easy for Oracle to both beef up Java security and win back trust--among other challenges, the software's cross-platform support makes it difficult. But Oracle is well aware that it's under the gun to make things right security-wise: "Security vulnerabilities related to Java running inside web browsers have lately received a lot of public attention. Here at Oracle we've mounted an intense effort to address those issues in a series of critical-patch update releases," Reinhold said in his post. "We've also upgraded our development processes to increase the level of scrutiny applied to new code, so that new code doesn't introduce new vulnerabilities."

So what must Oracle do?

Moore says Oracle must focus on building a stronger virtual machine and add operating system-level sandboxing for running "untrusted" code, as well as address reflection issues. "I think they will keep doing what they do now, which means incremental improvements, but no real isolation at the process level. The main reason is compatibility: they want the same JVM support across all platforms, at least most platforms in a consistent manner. Adding OS-level sandboxing/restrictions complicates that," Moore says.

You can't lock down a Java virtual machine running an applet on Linux the same way you would a Windows machine, Moore notes. It's even done differently among versions of Windows and Ubuntu, he says. "The way that Google solved this is interesting - they built the sandbox first basically. It would be pretty difficult for Oracle to catch up without drastically changing how the JVM works," Moore notes. "It is ironic that while Oracle has trouble running interpreted bytecode securely, Google has managed to run arbitrary x86 machine code in a sandbox. It demonstrates the huge gap between where modern browser security is and where Oracle sits today."

SD Element's Sethi expects Oracle to revise and update its sandbox. "I'm not sure they need to add a new layer of security in the Runtime Environment," he says. "Any kind of control they put in place... people are going to find ways around it. They have to learn how people are exploiting it, and make sure it doesn't happen again."

Have a comment on this story? Please click "Add Your Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message. Kelly Jackson Higgins is Executive Editor at DarkReading.com. She is an award-winning veteran technology and business journalist with more than two decades of experience in reporting and editing for various publications, including Network Computing, Secure Enterprise ... View Full Bio

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Flash Poll
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-0485
Published: 2014-09-02
S3QL 1.18.1 and earlier uses the pickle Python module unsafely, which allows remote attackers to execute arbitrary code via a crafted serialized object in (1) common.py or (2) local.py in backends/.

CVE-2014-3861
Published: 2014-09-02
Cross-site scripting (XSS) vulnerability in CDA.xsl in HL7 C-CDA 1.1 and earlier allows remote attackers to inject arbitrary web script or HTML via a crafted reference element within a nonXMLBody element.

CVE-2014-3862
Published: 2014-09-02
CDA.xsl in HL7 C-CDA 1.1 and earlier allows remote attackers to discover potentially sensitive URLs via a crafted reference element that triggers creation of an IMG element with an arbitrary URL in its SRC attribute, leading to information disclosure in a Referer log.

CVE-2014-5076
Published: 2014-09-02
The La Banque Postale application before 3.2.6 for Android does not prevent the launching of an activity by a component of another application, which allows attackers to obtain sensitive cached banking information via crafted intents, as demonstrated by the drozer framework.

CVE-2014-5136
Published: 2014-09-02
Cross-site scripting (XSS) vulnerability in Innovative Interfaces Sierra Library Services Platform 1.2_3 allows remote attackers to inject arbitrary web script or HTML via unspecified parameters.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
This episode of Dark Reading Radio looks at infosec security from the big enterprise POV with interviews featuring Ron Plesco, Cyber Investigations, Intelligence & Analytics at KPMG; and Chris Inglis & Chris Bell of Securonix.