Application Security

9/30/2014
07:30 PM
Connect Directly
Google+
Twitter
RSS
E-Mail
100%
0%

How A Major Bank Hacked Its Java Security

Deutsche Bank London helped create a new application self-defense tool to lock down and virtually patch its Java-based enterprise applications -- even the oldest ones.

Deutsche Bank AG London has what many large enterprises have: numerous internal applications based on various versions of Java, many of which are older and can't be patched nor updated. So the bank helped develop a tool that sits below the application to detect and prevent attacks and apply virtual patches.

The bank, a subsidiary of Deutsche Bank AG, made the move after it inventoried its hundreds of internal applications and discovered a mix of old and new versions of Java, some of which were legacy applications that had become increasingly difficult to patch or update. Oracle's Java infamously has been riddled with security vulnerabilities, and Java client machines have become a favorite target of attackers.

"We [had] uncovered a large degree of variance of Java deployed in the bank's infrastructure," Hussein Badakhchani, vice president of Deutsche Bank London, says in an exclusive interview with Dark Reading today. His application group teamed up with IT security to determine how to secure the large number of legacy Java applications running at the bank.

The initial goal was to convert its applications -- everything from payments to training apps -- to a new platform-as-a-service the bank had built based on Java Virtual Machine (JVM). "We wanted to move away from DIY to a managed service" for enterprise applications. "The question becomes 'If you can't decommission an application and you can't operate it [or update its Java version], what can you do with it?'"

The bank worked with security vendor Waratek to create a tool that runs within JVM and efficiently secures legacy Java applications. Call it application self-defense: The result was a software solution that uses what Gartner analyst Joseph Feiman calls a "self-protecting" application approach, or Runtime Application Self Protection (RASP). According to Feiman, RASP detects and blocks attacks, and it operates in the application's runtime environment.

"Modern security fails to test and protect all apps. Therefore, apps must be capable of security self-testing, self-diagnostics and self-protection," he writes in a new Gartner Maverick Research report on RASP. Gartner predicts that 25% of web and cloud applications will become self-protecting by 2020; fewer than 1% operate that way today.

It's a natural fit, according to security expert Dan Kaminsky. "The JVM -- and CLR [Common Language Runtime] and even the various JS [JavaScript] engines -- are designed to detect many errors. Why not instrument them for security and see what comes up?" Kaminsky says. "Over time, the languages and platforms we use increasingly support securing the applications we write on top of them. More importantly, the cost of that security diminishes as the platform shoulders more of the burden."

Kaminsky, chief scientist at WhiteOps, says it's not so much about Java's security problems as it is about looking at a way to apply security to multiple different applications, at scale.

"Traditional WAFs [web application firewalls] can often be somewhat distant from the platforms they're securing" says Kaminsky, who also serves as a technical adviser to Prevoty, a competitor to Waratek in the RASP space. "What if there was deeper integration? What if the WAF didn't have to guess what the end application saw, what if it could ask… or if it was alerted in case of problems?"

Deutsche Bank London had battled the headache of off-cycle patching for zero-day vulnerabilities that occur outside its orchestrated, regular quarterly patching cycles. "Problems arise from unscheduled patching events for zero-day exploits," Badakhchani says.

The new RASP approach provides virtual patching to the bank's Java-based applications, so the bank doesn't have to deal with out-of-band patching. Even the regular patching cycle can be disruptive. "To try to remedy every vulnerability, when you have 600 business applications, the amount of work you need to do in standard patching is extremely expensive." It involves, among other things, "hiring teams of developers" to decode patches.

It works like this: An attack that attempts to exploit or employ a Java process, such as a SQL injection attempt, cannot execute. "If an attack gets past our security, for example, and tries to make a call to a Java process, it won't be allowed to. We'll be alerted to an intrusion," he says. The tool can detect known and unknown attacks.

"It's [like] placing a firewall within the application in the JVM itself," Badakhchani says.

Like any security layer, there's a convenience or performance tradeoff. He says the RASP tool comes with a performance tradeoff in about 10% of the bank's applications. "It's not that significant… The benefits from the security side outweigh" that, he says.

Badakhchani, along with Waratek director of client security solutions Prateep Bandharangshi, will present their work today at the Oracle JavaOne conference in San Francisco.

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
Comments
Newest First  |  Oldest First  |  Threaded View
Kelly Jackson Higgins
50%
50%
Kelly Jackson Higgins,
User Rank: Strategist
10/1/2014 | 9:20:19 AM
Re: I like it, but will wait for peer review.
Good points, @aws0513. I think application "self-defense" is an intriguing approach, and there are still some unanswered questions, for sure. It sounds like this approach could ultimately replace or integrate more deeply with the WAF and some other tools if these functions are built-in and the application itself could do the job. I thought Dan Kaminsky shed some nice perspective on this.
aws0513
50%
50%
aws0513,
User Rank: Ninja
10/1/2014 | 8:57:16 AM
I like it, but will wait for peer review.
From what is described in the article, this sounds like a good idea.
However, I am still holding back on final judgement until the Java community weighs in.
In particular, I am curious what kind of testing they did to get to the 10% performance impact measurement.

Like I said, I like what I am hearing here, but feel it is necessary to have peer review for validation of the approach.  I suspect/hope the same techniques could be applied to other programming languages as well.
1.9 Billion Data Records Exposed in First Half of 2017
Kelly Jackson Higgins, Executive Editor at Dark Reading,  9/20/2017
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win a Starbucks Card! Click Here
Latest Comment: Jan, check this out! I found an unhackable PC.
Current Issue
Security Vulnerabilities: The Next Wave
Just when you thought it was safe, researchers have unveiled a new round of IT security flaws. Is your enterprise ready?
Flash Poll
[Strategic Security Report] How Enterprises Are Attacking the IT Security Problem
[Strategic Security Report] How Enterprises Are Attacking the IT Security Problem
Enterprises are spending more of their IT budgets on cybersecurity technology. How do your organization's security plans and strategies compare to what others are doing? Here's an in-depth look.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2017-0290
Published: 2017-05-09
NScript in mpengine in Microsoft Malware Protection Engine with Engine Version before 1.1.13704.0, as used in Windows Defender and other products, allows remote attackers to execute arbitrary code or cause a denial of service (type confusion and application crash) via crafted JavaScript code within ...

CVE-2016-10369
Published: 2017-05-08
unixsocket.c in lxterminal through 0.3.0 insecurely uses /tmp for a socket file, allowing a local user to cause a denial of service (preventing terminal launch), or possibly have other impact (bypassing terminal access control).

CVE-2016-8202
Published: 2017-05-08
A privilege escalation vulnerability in Brocade Fibre Channel SAN products running Brocade Fabric OS (FOS) releases earlier than v7.4.1d and v8.0.1b could allow an authenticated attacker to elevate the privileges of user accounts accessing the system via command line interface. With affected version...

CVE-2016-8209
Published: 2017-05-08
Improper checks for unusual or exceptional conditions in Brocade NetIron 05.8.00 and later releases up to and including 06.1.00, when the Management Module is continuously scanned on port 22, may allow attackers to cause a denial of service (crash and reload) of the management module.

CVE-2017-0890
Published: 2017-05-08
Nextcloud Server before 11.0.3 is vulnerable to an inadequate escaping leading to a XSS vulnerability in the search module. To be exploitable a user has to write or paste malicious content into the search dialogue.