Web Application Security — How to Minimize Prevalent Risk of Attacks

Transcription

Web Application Security — How to Minimize Prevalent Risk of Attacks
guide :
Web Application Security —
How to Minimize Prevalent Risk
of Attacks
Table of Contents
I. Summary
2
II. Primer on Web App Security
III. Types of Web App Vulnerabilities
2
IV. Detecting Web App Vulnerabilities
5
V. QualysGuard WAS Automates
Detection of Vulnerabilities
6
IV. Protect Your Web Applications
7
V. About Qualys
8
3
Web Application Security: How to Minimize Prevalent Risks of Attack
Summary
Vulnerabilities in web applications are now the largest vector of enterprise security
attacks. Last year, almost 55% of vulnerability disclosures affected web applications.1
At year end, 74% of web application vulnerabilities had no available patch for
remediation, according to that report. Stories about exploits that compromise
sensitive data frequently mention culprits such as “cross-site scripting,” “SQL
injection,” and “buffer overflow.” Vulnerabilities like these fall often outside the
traditional expertise of network security managers. The relative obscurity of web
application vulnerabilities thus makes them useful for attacks. As many organizations
have discovered, these attacks will evade traditional enterprise network defenses
unless you take new precautions. To help you understand how to minimize these
risks, Qualys provides this guide as a primer to web application security. The guide
surveys typical web application vulnerabilities, compares options for detection, and
introduces the QualysGuard Web Application Scanning solution – a new on demand
service from Qualys that automates detection of the most prevalent vulnerabilities
in custom web applications.
Primer on Web Application Security
Attacks on vulnerabilities in web applications began appearing almost from the
beginning of the World Wide Web, in the mid-1990s. Attacks are usually based on
fault injection, which exploits vulnerabilities in a web application’s syntax and
semantics. Using a standard browser and basic knowledge of HTTP and HTML, an
attacker attempts a particular exploit by automatically varying a Uniform Resource
Indicator (URI) link, which in turn could trigger an exploit such as SQL injection or
cross-site scripting.
http://example/foo.cgi?a=1
http://example/foo.cgi?a=1’
http://example/foo.cgi?a=<script> …
< SQL Injection
< Cross-site Scripting (XSS)
Some attacks attempt to alter logical workflow. Attackers also execute these by
automatically varying a URI.
http://example/foo.cgi?admin=false
http://example/foo.cgi?admin=true
< Increase privileges
A significant number of attacks exploit vulnerabilities in syntax and semantics. You
can discover many of these vulnerabilities with an automated scanning tool.
Logical vulnerabilities are very difficult to test with a scanning tool; these require
manual inspection of web application source code analysis and security testing.
Web application security vulnerabilities usually stem from programming errors with
a web application programming language (e.g., Java, .NET, PHP, Python, Perl, and
Ruby), a code library, design pattern, or architecture.
1
IBM ISS X-Force 2008 Trend & Risk Report http://www-935.ibm.com/services/us/iss/xforce/trendreports/xforce-2008-annual-report.pdf
page 2
Web Application Security: How to Minimize Prevalent Risks of Attack
These vulnerabilities can be complex and may occur under many circumstances.
Using a web application firewall might control effects of some exploits but will not
resolve the underlying vulnerabilities.
page 3
“
Types of Web Application Vulnerabilities
Web applications may have any of two dozen types of vulnerabilities. Security
consultants who do penetration testing may focus on finding top vulnerabilities,
such as those in a list published by the Open Web Application Security Project
(www.owasp.org). Other efforts to systematically organize web application
vulnerabilities include six categories published by the Web Application Security
Consortium (www.webappsec.org). The following descriptions of web vulnerabilities
are modeled on the WASC schema.
Authentication – stealing user account identities
n
n
n
Weak Password Recovery Validation permits an attacker to illegally
obtain, change or recover another user’s password.
Authorization – illegal access to applications
n
n
n
n
Building a Web Application Security
Program Whitepaper
Securosis.com
Brute Force attack automates a process of trial and error to guess a
person’s username, password, credit-card number or cryptographic key.
Insufficient Authentication permits an attacker to access sensitive
content or functionality without proper authentication.
Credential / Session Prediction is a method of hijacking or impersonating
a user.
Insufficient Authorization permits access to sensitive content or
functionality that should require more access control restrictions.
Insufficient Session Expiration permits an attacker to reuse old session
credentials or session IDs for authorization.
Session Fixation attacks force a user’s session ID to an explicit value.
Enterprise-class web application
scanning solutions are broader, and
should include a wide range of tests
for major web application vulnerability
classes, such as SQL injection,
cross-site scripting, and directory
traversals. The OWASP Top 10 is a
good starting list of major vulnerabilities, but an enterprise class solution
shouldn’t limit itself to just one list or
category of vulnerabilities. An enterprise solution should also be capable
of scanning multiple applications,
tracking results over time, providing
robust reporting (especially compliance reports), and providing reports
customized for local requirements.
”
Web Application Security: How to Minimize Prevalent Risks of Attack
page 4
Client-side Attacks – illegal execution of foreign code
n
n
Content Spoofing tricks a user into believing that certain content appearing on a web site is legitimate and not
from an external source.
Cross-site Scripting (XSS) forces a web site to echo attacker-supplied executable code, which loads into a
user’s browser.
Command Execution – hijacks control of web application
n
n
Buffer Overflow attacks alter the flow of an application by overwriting parts of memory.
Format String Attack alters the flow of an application by using string formatting library features to access other
memory space.
n
LDAP Injection attacks exploit web sites by constructing LDAP statements from user-supplied input.
n
OS Commanding executes operating system commands on a web site by manipulating application input.
n
SQL Injection constructs illegal SQL statements on a web site application from user-supplied input.
n
n
SSI Injection (also called Server-side Include) sends code into a web application, which is later executed locally
by the web server.
XPath Injection constructs XPath queries from user-supplied input.
Information Disclosure – shows sensitive data to attackers
n
n
n
n
Directory Indexing is an automatic directory listing / indexing web server function that shows all files in a
requested directory if the normal base file is not present.
Information Leakage occurs when a web site reveals sensitive data such as developer comments or error
messages, which may aid an attacker in exploiting the system.
Path Traversal forces access to files, directories and commands that potentially reside outside the web
document root directory.
Predictable Resource Location uncovers hidden web site content and functionality.
Web Application Security: How to Minimize Prevalent Risks of Attack
Logical Attacks – interfere with application usage
n
n
n
n
Abuse of Functionality uses a web site’s own features and functionality to
consume, defraud or circumvent access control mechanisms.
page 5
“
Denial of Service (DoS) attacks prevent a web site from serving normal
user activity.
”
Insufficient Anti-automation is when a web site permits an attacker to
automate a process that should only be performed manually.
Insufficient Process Validation permits an attacker to bypass or
circumvent the intended flow of an application.
Detecting Web Application Vulnerabilities
There is no “silver bullet” to detecting web application vulnerabilities. The strategy
for their detection is identical to the multi-layer approach used for security on a
network. Detection and remediation of some vulnerabilities requires source code
analysis, particularly for complex enterprise-scale web applications. Detection of
other vulnerabilities may also require on-site penetration testing. As mentioned
earlier, the most prevalent web application vulnerabilities can also be detected with
an automated scanner.
An automated web application vulnerability scanner both supplements and
complements manual forms of testing. It provides five key benefits:
Lowers total cost of operations by automating repeatable testing processes
n
Identifies vulnerabilities of syntax and semantics in custom web applications
n
Performs authenticated crawling
n
Profiles the target application
n
Ensures accuracy by effective reduction of false positives and false negatives
n
A scanner does not have access to a web application’s source code, so the only
way it can detect vulnerabilities is by performing likely attacks on the target
application. Time required for scanning varies, but doing a broad simulated attack
on an application takes significantly longer than doing a network vulnerability scan
against a single IP. A major requirement for a web application vulnerability scanner
is comprehensive coverage of the target application’s functionality. Incomplete
coverage will cause the scanner to overlook existing vulnerabilities.
The number of vulnerabilities affecting Web applications has grown at a
staggering rate. In 2008, vulnerabilities affecting Web server applications
accounted for 54 percent of all vulnerability disclosures and were one
of the primary factors in the overall
growth of vulnerability disclosures
during the year.
IBM X-Force® 2008 Trend & Risk Report
Web Application Security: How to Minimize Prevalent Risks of Attack
QualysGuard WAS Automatically Detects
Major Web Application Vulnerabilities
The QualysGuard Web Application Scanning (WAS) solution is an on demand
service integrated into the QualysGuard security and compliance Security-as-aService (SaaS) suite. Use of the QualysGuard WAS presumes no specialized
knowledge of web security. The service allows a network security or IT administrator
to execute comprehensive, accurate vulnerability scans on custom web applications
such as shopping carts, forms, login pages, and other types of dynamic content.
The broad scope of coverage focuses tests on Web application security.
Key Benefits. WAS automates repeatable techniques used to identify the most
prevalent web vulnerabilities, such as SQL injection and cross-site scripting. It
combines pattern recognition and observed behaviors to accurately identify and
verify vulnerabilities. The WAS service identifies and profiles login forms, session
state, error pages, and other customized features of the target application – even if
it extends across multiple web sites. This site profile data helps WAS to adapt to
changes as the web application matures. Adaptability enables the scanner to be
used against unknown or legacy web applications that may carry little information
about error pages or other behavior. As a result, WAS delivers highly accurate
detection and reduces false positives. The automated nature of Web Application
Scanning enables regular testing that produces consistent results and easily scales
for large numbers of web sites.
Current Features. The table describes comprehensive capabilities in
QualysGuard WAS to assess and track web application vulnerabilities. Qualys
plans to add other features during Q2/Q3 2009.
Crawling & Link
Discovery
Embedded web crawler parses HTML and some
JavaScript to extract links. Automatically balances
breadth and depth of discovered links to crawl up to
5,000 links per web application.
Authentication
HTTP Basic and NTLM server-based authentication.
Simple form authentication.
Black List
Prevents crawler from visiting certain links in a web
application.
White List
Instructs the crawler to only visit links explicitly defined
in this list.
Performance
Tuning
User-determined bandwidth level for parallel scanning
to control impact on application performance.
Sensitive Content
Enables user-specified expression search for content
in HTML, such as a Social Security Numbers.
page 6
Web Application Security: How to Minimize Prevalent Risks of Attack
Reports such as the Web Application Scorecard provide big-picture and drill-down
visibility on vulnerabilities for each web application
Operations. QG WAS is delivered as an on demand service fully integrated with
the QualysGuard solutions already in use by thousands of customers for vulnerability
management and policy compliance. Users can manage web applications, launch
scans, and generate reports with the familiar interface of the QualysGuard web
interface. WAS scans may be pre-scheduled or executed on demand. The WAS
service can be scaled to the largest web applications hosted anywhere in the
world. Account rights management allows an organization to centrally control
which web applications may be scanned by individual users.
Finally, with QualysGuard WAS, at least one person in your organization must be
responsible for managing remediation of vulnerabilities found in your web applications.
Protect Your Web Applications
The QualysGuard Web Application Scanning service will help your organization
immediately begin identifying the most prevalent security vulnerabilities open to
criminal exploit. The scanner will be a powerful supplement to existing security
efforts such as source code analysis and penetration testing. The latter controls are
necessary, but QualysGuard WAS will automate detection testing for the majority of
threats – the kinds you read about when data thieves breach confidential information via web applications. In addition to comprehensive testing and accurate
detection, QualysGuard WAS is cost effective. Just like QualysGuard, WAS is an
easy-to-use on demand service allowing administrators to execute scans without
any special knowledge of web application security.
page 7
Web Application Security: How to Minimize Prevalent Risks of Attack
QualysGuard WAS trials are available now. General public release is scheduled for
April 2009. If you would like a free trial of the QualysGuard WAS, please contact
Qualys to get started.
About Qualys
Qualys, Inc. is the leading provider of on demand IT security risk and compliance
management solutions – delivered as a service. Qualys’ Software-as-a-Service
solutions are deployed in a matter of hours anywhere in the world, providing
customers an immediate and continuous view of their security and compliance
postures. The QualysGuard® service is used today by more than 3,500 organizations
in 85 countries, including 40 of the Fortune Global 100 and performs more than
200 million IP audits per year. Qualys has the largest vulnerability management
deployment in the world at a Fortune Global 50 company. Qualys has established
strategic agreements with leading managed service providers and consulting
organizations including BT, Etisalat, Fujitsu, IBM, I(TS)2, LAC, SecureWorks,
Symantec, Tata Communications, TELUS and VeriSign.
For more information, please visit www.qualys.com.
www.qualys.com
USA – Qualys, Inc. • 1600 Bridge Parkway, Redwood Shores, CA 94065 • T: 1 (650) 801 6100 • sales@qualys.com
UK – Qualys, Ltd. • 224 Berwick Avenue, Slough, Berkshire, SL1 4QT • T: +44 (0) 1753 872101
Germany – Qualys GmbH • München Airport, Terminalstrasse Mitte 18, 85356 München • T: +49 (0) 89 97007 146
France – Qualys Technologies • Maison de la Défense, 7 Place de la Défense, 92400 Courbevoie • T: +33 (0) 1 41 97 35 70
Japan – Qualys Japan K.K. • Pacific Century Place 8F, 1-11-1 Marunouchi, Chiyoda-ku, 100-6208 Tokyo • T: +81 3 6860 8296
United Arab Emirates – Qualys FZE • P.O Box 10559, Ras Al Khaimah, United Arab Emirates • T: +971 7 204 1225
China – Qualys Hong Kong Ltd. • Suite 1901, Tower B, TYG Center, C2 North Rd, East Third Ring Rd, Chaoyang District, Beijing • T: +86 10 84417495
© Qualys, the Qualys logo and QualysGuard are registered trademarks of Qualys, Inc. All other trademarks are the property of their respective owners. 03/09
page 8