10:16 AM

Java 7 Malicious App Warning System Draws Criticism

Java runtime environment fails to verify that digital certificates used to sign "trusted" applications haven't been revoked.

This week's release of Java 7 update 21 adds a system meant to warn users away from allowing Java apps that haven't been signed with a digital certificate -- from a certificate authority -- to be allowed to execute. But the new Java 7 runtime environment warning system has been criticized on both usability and information security grounds.

On the user interface front, according to Oracle, the Java Control Panel now presents "additional information and [requires] confirmation before being allowed to run" any Java content or apps. That information includes warnings against executing suspect Java apps, although users will still be able to do so. Some warnings come in the form of a yellow triangle, indicating that an application "cannot be identified because the certificate is untrusted or expired," while a yellow shield and alert will caution when an app "is unsigned and/or the certificate is not valid" and thus should not be trusted.

Cue usability concerns. "Logo and shield. Triangle and shield. Shield alone. Triangle alone. Confused yet?" said Paul Ducklin, head of technology for Sophos in the Asia Pacific region, in a blog post. "You're forgiven if you are, because these dialogs end up asking the very questions that you might reasonably expect Java to answer."

That's because Java 7 doesn't know whether the digital certificates it's relying on are still valid, owing to it failing to use the Online Certificate Status Protocol (OCSP) to check the revocation status of a digital certificate, or at least reference some other type of certificate revocation list (CRL).

"Even the latest #Java [release] still does not check for CRL/OCSP. [It] does have some blacklist or something though ... #blah," said Jindrich Kubec, director of threat intelligence at antivirus vendor Avast, via Twitter.

[ Massive interest in current events + Java vulnerabilities = Good news for cyber scammers. See Malware Attackers Exploit Boston Marathon Bombing. ]

Oracle didn't immediately respond to an emailed request for detailed information about how the Java run-time environment assesses certificate validity, and how often this information gets updated.

But according to David Barroso, head of cybersecurity intelligence at London-based Telefonica Digital, the Java runtime environment relies on a blacklist for known-bad Java archive (.jar) files, which contain Java applets. "The blacklist is pretty useless and it only blocks some already known signed vulnerable .jars," he said via Twitter.

According to veteran Java bug-hunter Adam Gowdiak, CEO and founder of Poland-based Security Explorations, the updated Java 7 runtime environment's Java Control Panel changes also put users at risk by allowing them to execute untrusted code. "The only good thing is that users neglecting to update their Java software will be better protected -- unsigned and self-signed Java will not run on their systems," he said. "Users of [the] current Java version will be able to run unsigned and self-signed Java code."

Despite Oracle's Java Control Panel changes, many security experts continue to recommend that people avoid using Java, if possible, or else take suitable precautions. "Disable Java in the browser unless you have a specific business need to run it," said Ross Barrett, senior manager of security engineering at Rapid7, via email. "Ideally, only enable it in an alternate browser and restrict use of that browser to the sites where you need Java."

For anyone who continues to use the browser plug-in, meanwhile, beware exploits that target zero-day Java vulnerabilities. "With a browser plug-in ... as complex as Java -- such as Flash, for instance -- you should always assume that some attacker, somewhere, has at least one zero-day waiting for the right opportunity," said Barrett.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Current Issue
Dark Reading Tech Digest September 7, 2015
Some security flaws go beyond simple app vulnerabilities. Have you checked for these?
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
Published: 2015-10-12
vpxd in VMware vCenter Server 5.0 before u3e, 5.1 before u3, and 5.5 before u2 allows remote attackers to cause a denial of service via a long heartbeat message.

Published: 2015-10-12
The JMX RMI service in VMware vCenter Server 5.0 before u3e, 5.1 before u3b, 5.5 before u3, and 6.0 before u1 does not restrict registration of MBeans, which allows remote attackers to execute arbitrary code via the RMI protocol.

Published: 2015-10-12
Cisco Unified Computing System (UCS) B Blade Server Software 2.2.x before 2.2.6 allows local users to cause a denial of service (host OS or BMC hang) by sending crafted packets over the Inter-IC (I2C) bus, aka Bug ID CSCuq77241.

Published: 2015-10-12
The process-management implementation in Cisco TelePresence Video Communication Server (VCS) Expressway X8.5.2 allows local users to gain privileges by terminating a firestarter.py supervised process and then triggering the restart of a process by the root account, aka Bug ID CSCuv12272.

Published: 2015-10-12
HP 3PAR Service Processor SP 4.2.0.GA-29 (GA) SPOCC, SP 4.3.0.GA-17 (GA) SPOCC, and SP 4.3.0-GA-24 (MU1) SPOCC allows remote authenticated users to obtain sensitive information via unspecified vectors.

Dark Reading Radio
Archived Dark Reading Radio
What can the information security industry do to solve the IoT security problem? Learn more and join the conversation on the next episode of Dark Reading Radio.