Vulnerabilities / Threats
9/22/2011
10:23 AM
Connect Directly
RSS
E-Mail
50%
50%

Web App Attacks Rise, Disclosed Bugs Decline

Mismatch between vulnerability disclosures and actual number of new vulnerabilities strengthens case for using Web application firewalls and virtual patching.

The number of Web application vulnerabilities being reported in commercial applications declined by 25% from mid-2010 to mid-2011. There's only one problem: Analysis of new Web applications at the source-code level finds that the number of new vulnerabilities isn't actually declining.

Those findings come from a study released last week by HP's Application Security Center Web security research group, which is based on its source-code-level scans of 236 Web applications. It found that 69% of those applications had at least one SQL injection vulnerability, and 42% had cross-site scripting vulnerabilities.

As those results demonstrate, whatever the mismatch between reported vulnerabilities and still-unspotted bugs, there are plenty of errors for would-be attackers to exploit. "The number of vulnerabilities that are in existence in applications that we are scanning is just astronomically high," said Jennifer Lake, security product marketing manager for HP Networking, in an interview. Furthermore, attackers are exploiting them at an increasing rate. Indeed, HP saw a 26% increase in attacks--from mid-2010 to mid-2011--against Web applications.

[Will Windows 8 signal a death knell for third-party security software? Windows 8 Gets Security Overhaul.]

With more attacks, but fewer disclosed vulnerabilities, what can businesses do to better root out Web application bugs and block related attacks? Ideally, Web application vulnerabilities would be expunged from development code before the applications ever went into production or got sold. But getting tough on code errors--for example, to prevent SQL injection attacks--would mean having to rethink current development practices, upfront project cost, as well as time-to-market considerations.

"The primary reason we have SQL injection vulnerabilities is because application developers will construct a SQL statement on the fly. In really formalized application development, you usually have things like stored procedures that you would use to query the database, and those would be installed onto the database server," said Dan Kuykendall, co-CEO and CTO of NT OBJECTives, in an interview. "But for rapid application development, it's much more convenient for the developer to construct a SQL statement on the fly. That way he doesn't have to worry about the database admin and updating the stored procedures."

A related issue is that developers typically concatenate strings together. "The problem is that it then becomes difficult to validate the input," he said. For example, if the developer building a Web page uses a string such as "product.aspx?id=5"--which queries a database table for the product with the ID of "5"--then the developer should build the application to ensure that any such query can only be used to call a number. Otherwise, an attacker could rewrite the string to include other types of SQL statements, which might let the attacker crash the application or retrieve information from database tables.

"All of this could have been mitigated from the scratch by using a stored procedure, because then you're just serving values, and the SQL server will take care of it. The core problem is that people don't use stored procedures," said Kuykendall. Furthermore, a normal-size application may have 1,000 such SQL statements, all created on the fly. Meanwhile, the application will evolve, and developers move on. Meaning that over time, the potential for vulnerabilities keeps multiplying.

Accordingly, many businesses turn to Web application firewalls, to provide a layer of defense that uses signatures to watch for attack payloads. "The problem is the Web application firewall ... has a lack of knowledge about the application that it's protecting," said Kuykendall. As a result, many Web application firewalls users experience enough false positives--warnings about attacks that really aren't--that they choose to use the firewalls in alert-only mode, thus logging the potential attacks but not actively blocking them.

To help, multiple security vendors--including HP, IBM, and NT OBJECTives, among others--sell Web application scanners that run on the premises or in the cloud. These scanners automate the otherwise laborious process of identifying vulnerabilities in Web applications and then producing customized signatures to be loaded onto commercial and open source Web application firewalls that block the vulnerabilities. Such signatures could--per the previous example--ensure that any product ID request that doesn't include a number gets blocked outright, since it suggests that the application is being attacked.

Some businesses use virtual patches in lieu of the signatures that ship with Web application firewalls. "We have some customers that are purely using our filters, so they've turned off all the default filters, and that's an acceptable risk to them," said Kuykendall.

Ideally, virtual patches would be a short-term fix, buying developers time to fix the vulnerability itself in the application. That process--application development, quality assurance, production testing--takes time. But not every commercial Web application software developer or business that creates custom applications will fix its code in a timely manner. Furthermore, even if a business keeps its own code clean, third-party code predominates, and that's impossible to fully police. Accordingly, don't expect the practice of virtual patching to go away, anytime soon.

SaaS productivity apps are good to go--if you can get past security and data ownership concerns. Read all about it in the new, all-digital issue of InformationWeek SMB. Download it now. (Free with registration.)

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Flash Poll
Current Issue
Cartoon
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2013-7392
Published: 2014-07-22
Gitlist allows remote attackers to execute arbitrary commands via shell metacharacters in a file name to Source/.

CVE-2014-2385
Published: 2014-07-22
Multiple cross-site scripting (XSS) vulnerabilities in the web UI in Sophos Anti-Virus for Linux before 9.6.1 allow local users to inject arbitrary web script or HTML via the (1) newListList:ExcludeFileOnExpression, (2) newListList:ExcludeFilesystems, or (3) newListList:ExcludeMountPaths parameter t...

CVE-2014-3518
Published: 2014-07-22
jmx-remoting.sar in JBoss Remoting, as used in Red Hat JBoss Enterprise Application Platform (JEAP) 5.2.0, Red Hat JBoss BRMS 5.3.1, Red Hat JBoss Portal Platform 5.2.2, and Red Hat JBoss SOA Platform 5.3.1, does not properly implement the JSR 160 specification, which allows remote attackers to exec...

CVE-2014-3530
Published: 2014-07-22
The org.picketlink.common.util.DocumentUtil.getDocumentBuilderFactory method in PicketLink, as used in Red Hat JBoss Enterprise Application Platform (JBEAP) 5.2.0 and 6.2.4, expands entity references, which allows remote attackers to read arbitrary code and possibly have other unspecified impact via...

CVE-2014-4326
Published: 2014-07-22
Elasticsearch Logstash 1.0.14 through 1.4.x before 1.4.2 allows remote attackers to execute arbitrary commands via a crafted event in (1) zabbix.rb or (2) nagios_nsca.rb in outputs/.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Where do information security startups come from? More important, how can I tell a good one from a flash in the pan? Learn how to separate ITSec wheat from chaff in this episode.