This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "OWASP Automated Threats to Web Applications"

From OWASP
Jump to: navigation, search
(In Print: Updated Lulu link for v1.2)
(Roadmap: v1.2 released)
Line 650: Line 650:
  
 
=== Q4 2017 ===
 
=== Q4 2017 ===
* Release v1.2 (now due 15 Feb 2018)
+
* <strike>Release v1.2 </strike> Done
  
 
=== Q1 2018 ===
 
=== Q1 2018 ===

Revision as of 15:47, 26 February 2018

Lab big.jpg
Automated-threats-header.jpg

Automated Threats to Web Applications

The OWASP Automated Threats to Web Applications Project has completed a review of reports, academic and other papers, news stories and vulnerability taxonomies/listings to identify, name and classify these scenarios – automated by software causing a divergence from accepted behavior producing one or more undesirable effects on a web application, but excluding tool-based exploitation of single-issue vulnerabilities. The initial objective was to produce an ontology providing a common language for developers, architects, operators, business owners, security engineers, purchasers and suppliers/ vendors, to facilitate clear communication and help tackle the issues. The project also identifies symptoms, mitigations and controls in this problem area. Like all OWASP outputs, everything is free and published using an open source license.

Two page summary project briefing as a PDF.

Description

Web applications are subjected to unwanted automated usage – day in, day out. Often these events relate to misuse of inherent valid functionality, rather than the attempted exploitation of unmitigated vulnerabilities. Also, excessive misuse is commonly mistakenly reported as application denial-of-service (DoS) like HTTP-flooding, when in fact the DoS is a side-effect instead of the primary intent. Frequently these have sector-specific names. Most of these problems seen regularly by web application owners are not listed in any OWASP Top Ten or other top issue list. Furthermore, they are not enumerated or defined adequately in existing dictionaries. These factors have contributed to inadequate visibility, and an inconsistency in naming such threats, with a consequent lack of clarity in attempts to address the issues.

Without sharing a common language between devops, architects, business owners, security engineers, purchasers and suppliers/vendors, everyone has to make extra effort to communicate clearly. Misunderstandings can be costly. The adverse impacts affect the privacy and security of individuals as well as the security of the applications and related system components.

Automated Threats

The list of threat events, defined more fully in the OWASP Automated Threat Handbook, is:

Not sure which is which? Use the threat identification chart in conjunction with the full handbook.

Licensing

All the materials are free to use. They are licensed under the Creative Commons Attribution-ShareAlike 3.0 license, so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

© OWASP Foundation

What Is This?

Information and resources to help web application owners defend against automated threats

What Isn't It?

  • Another vulnerability list
  • An OWASP Top N List
  • Threat modelling
  • Attack trees
  • Non web
  • Non application

Project Objective

This project brings together research and analysis of real world automated attacks against web applications, to produce documentation to assist operators defend against these threats. Sector-specific guidance will be available.

Presentation

Automatedthreats-presentation-small.jpg

Project Leaders

Related Projects

Quick Links

News and Events

  • [16 Feb 2018] OAT wiki pages created
  • [15 Feb 2018] v1.2 Handbook published
  • [25 Sep 2017] Promoted to Labs status
  • [19-20 Sep 2017] Working session at the AppSecUSA 2017 Project Summit
  • [15 May 2017] Draft feedback on Top Ten A7 shared
  • [17 Apr 2017] Slides from AppSec California (2017)
  • [20 Dec 2016] Threat identification chart published
  • [03 Nov 2016] Presentation at LASCON 2016
  • [03 Nov 2016] v1.1 Handbook published
  • [11-12 Oct 2016] Working session at the AppSecUSA 2017 Project Summit
  • [04 Aug 2016] Project Q&A at Blackhat USA 2-5pm in the OWASP booth
  • [26 Oct 2015] v1.01 handbook published
  • [24 Sep 2015] Presentation at AppSec USA 2015

In Print

AutomatedThreatHandbook small.jpg

The Automated Threat Handbook can be purchased at cost as a print on demand book.

Classifications

Owasp-labs-trans-85.png
Owasp-defenders-small.png
Cc-button-y-sa-small.png
Project Type Files DOC.jpg

Scope

The aim was to create a listing of vendor-neutral and technology agnostic terms that describe real-world automated threats to web applications, at a level of abstraction that application owners can relate to. These terms are threat events to web applications undertaken using automated actions.

The focus is on abuse of functionality - misuse of inherent functionality and related design flaws, some of which are also referred to as business logic flaws. There is almost no focus on implementation bugs. It is not that the latter are not the target for attacks, but there is much more knowledge published in that area with a greater agreement on terminology. All the scenarios identified must require the web to exist for the threat to be materialised. Many of the scenarios have impacts upon the organisation that owns or operates web applications, but some scenarios have impacts more focused on individuals or other bodies. An attack that can be achieved without the web is out of scope.

Definitions

Automated Threats to Web Applications

Threat events to web applications undertaken using automated actions.

An attack that can be achieved without the web is out of scope.

Glossary

Action
An act taken against an asset by a threat agent. Requires first that contact occurs between the asset and threat agent (Ref 1)
Application
Software that performs a business process i.e. not system software
A software program hosted by an information system (Ref 2)
Application layer
"Layer 7” in the OSI model (Ref 3) and “application layer” in the TCP/IP model (Ref 4)
Threat
Anything that is capable of acting in a manner resulting in harm to an asset and/or organization; for example, acts of God (weather, geological events, etc.); malicious actors; errors; failures (Ref 1)
Threat Agent
Any agent (e.g., object, substance, human, etc.) that is capable of acting against an asset in a manner that can result in harm (Ref 1)
Threat Event
Occurs when a threat agent acts against an asset (Ref 1)
Web
The World Wide Web (WWW, or simply Web) is an information space in which the items of interest, referred to as resources, are identified by global identifiers called Uniform Resource Identifiers (URI) (Ref 5)
The first three specifications for Web technologies defined URLs, HTTP, and HTML (Ref 6)
Web application
An application delivered over the web


Glossary references:

  1. Risk Taxonomy, Technical Standard, The Open Group, 2009
  2. NISTIR 7298 rev 2, NIST
  3. OSI model, Wikipedia
  4. TCP/IP model, Wikipedia
  5. Architecture of the World Wide Web, Volume One, W3C
  6. Help and FAQ, W3C

The following scenarios and organisation names are completely fictitious.

Defining application development security requirements

Cinnaminta SpA intends to build and launch a new multi-lingual and multi-currency ecommerce website. The development will be outsourced and Cinnaminta has been working on the functional design document. Among many other requirements, the application security specification requires that the website must not include any vulnerabilities identified in PCI DSS v3.1 Requirement 6.5, nor any other vulnerabilities that could affect the protection of payment cardholder data. Cinnaminta specifies that the website's payment functions must not be susceptible to the threat events OAT-001 Carding or OAT-010 Card Cracking as defined in the OWASP Automated Threat Handbook. In addition, the application must interact with the company's existing fraud detection system to counter OAT-012 Cashing Out. The requirements are specified in terms of these threat events, rather than particular product or service categories. Development houses responding to the call for bids use the ontology to focus their answers to these aspects appropriately.

Sharing intelligence within a sector

Unlimited Innovations Inc develops and supports patient-facing software solutions to a range of healthcare providers, many of which participate in the National Health Service Cyber Intelligence Sharing Center (NHS-CISC). Unlimited Innovations already builds continuous monitoring capabilities into its software and decides to provide an optional enhancement so that customers could choose to share their misuse event data with each other, to benefit from the combined threat intelligence. Rather than sharing large quantities of low-level data, Unlimited Innovations aggregates information and broadcasts validated and categorised threat data amongst the participating organisations. Automation attacks are classified according to the threat events defined in the OWASP Automated Threat Handbook so that each receiving party understands the nature of the threat. Even organisations that do not want to take part in this information sharing can benefit, since their own categorised information is made available to internal business management in the form of an easy-to-comprehend monitoring dashboard. The information gathered can also be fed into their other business information management systems to help improve patient service.

Exchanging threat data between CERTs

National Computer Emergency Response Teams (CERTs) recognise that sharing of local information can contribute to worldwide prevention of cyber attacks. Despite advances in cooperation between CERTs, anything to increase continuity and interoperability, such as standards for data exchange, is encouraged. CERT Zog is concerned about the sparsity of application-specific data it receives, and also the classification of that data. It has a particular concern about attacks and breaches that affect sectors defined in Zog's 2015 national cyber security strategy. CERT Zog and its neighbour CERT Tarset agree to tag threat events using the OWASP Automated Threat Handbook in order to add greater context to existing solutions being used for threat data exchange between them. The programme also collects sector metadata, so that all organisations within these can benefit from the centralised intelligence.

Enhancing application penetration test findings

Specialist application security penetration testing firm Cherak Industries Pte Ltd works primarily for financial services companies in the banking and insurance sectors, and is looking to expand its business throughout Asia. Cherak has some innovative pen test result reporting systems which integrate with client software fault and vulnerability tracking systems, and it actively looks for methods to provide additional value to its clients. Cherak has identified that pen test clients would benefit from help to in understanding the effects of combinations of vulnerabilities, especially design flaws, and has decided to utilise the OWASP Automated Threat Handbook to define and explain the automation-related threats. The individual vulnerabilities were scored as normal using CVSSv2 and v3, the matching CWEs identified, and mitigations in place documented. In addition, Cherak uses the threat events defined in the OWASP Automated Threat Handbook to help create a new section in the executive summary that explains how combinations of the issues found could lead to automation threats and the possible technical and business impacts. For example, an assessment for one client had identified weaknesses in authentication so that there is a risk of OAT-008 Credential Stuffing. The defined identifier was provided to the client, so its technical staff could refer to additional information on the OWASP website.

Specifying service acquisition needs

Falstone Paradise Inc is concerned about malicious use of their portfolio of hotel and resort websites. The majority of the websites use a shared application platform, but there are some unique applications and a large number of other micro-sites, some of which use generic content management systems such as Wordpress and Drupal. Falstone Paradise has identified that its IT operations team are spending too much time dealing with the effects of automated misuse, such as cleaning up data, resetting customer accounts and providing extra capacity during attacks. Furthermore, the unwanted automation is also causing some instabilities leading to negative feedback from customers. Therefore Falstone Paradise decides to go out to the security marketplace to identify, assess and select products or services that might help address these automation issues for all its websites. Their buying team works with their information technology colleagues to write the detailed requirements in an Invitation to Tender (ITT) document. This describes the types of attacks its web applications are receiving, their frequency of occurrence and their magnitudes. These are defined according to the OWASP Automated Threat Handbook, so that vendors do not misunderstand the requirements, and each vendor's offering can be assessed against the particular automation threat events of concern.

Characterising vendor services

Better Best Ltd has developed an innovative technology to help gaming companies defend against a range of automated threats that can otherwise permit cheating and distortion of the game, leading to disruption for normal players. The solution can be deployed on premises, but is also available in the cloud as a service. But Better Best is finding difficulty explaining its solution in the market place, especially since it does not fit into any conventional product category. Better Best decide to use the terminology and threat events listed in the OWASP Automated Threat Handbook to define their product's capabilities. They hope this will provide some clarity about their offering, and also demonstrate how their product can be used to replace more than one other conventional security device. Additionally, Better Best writes a white paper describing how their product has been successfully used by one of their reference customers Hollybush Challenge Games to protect against OAT-006 Expediting, OAT-005 Scalping, OAT-016 Skewing and OAT-013 Sniping.


Introduction

The A-Z list of automated threat events and summary descriptions, defined in full in the OWASP Automated Threat Handbook, is:

OAT-020 Account Aggregation

Use by an intermediary application that collects together multiple accounts and interacts on their behalf.

OAT-019 Account Creation

Create multiple accounts for subsequent misuse.

OAT-003 Ad Fraud

False clicks and fraudulent display of web-placed advertisements.

OAT-009 CAPTCHA Defeat

Solve anti-automation tests.

OAT-010 Card Cracking

Identify missing start/expiry dates and security codes for stolen payment card data by trying different values.

OAT-001 Carding

Multiple payment authorisation attempts used to verify the validity of bulk stolen payment card data.

OAT-012 Cashing Out

Buy goods or obtain cash utilising validated stolen payment card or other user account data.

OAT-007 Credential Cracking

Identify valid login credentials by trying different values for usernames and/or passwords.

OAT-008 Credential Stuffing

Mass log in attempts used to verify the validity of stolen username/password pairs.

OAT-021 Denial of Inventory

Deplete goods or services stock without ever completing the purchase or committing to the transaction.

OAT-015 Denial of Service

Target resources of the application and database servers, or individual user accounts, to achieve denial of service (DoS).

OAT-006 Expediting

Perform actions to hasten progress of usually slow, tedious or time-consuming actions.

OAT-004 Fingerprinting

Elicit information about the supporting software and framework types and versions.

OAT-018 Footprinting

Probe and explore application to identify its constituents and properties.

OAT-005 Scalping

Obtain limited-availability and/or preferred goods/services by unfair methods.

OAT-011 Scraping

Collect application content and/or other data for use elsewhere.

OAT-016 Skewing

Repeated link clicks, page requests or form submissions intended to alter some metric.

OAT-013 Sniping

Last minute bid or offer for goods or services.

OAT-017 Spamming

Malicious or questionable information addition that appears in public or private content, databases or user messages.

OAT-002 Token Cracking

Mass enumeration of coupon numbers, voucher codes, discount tokens, etc.

OAT-014 Vulnerability Scanning

Crawl and fuzz application to identify weaknesses and possible vulnerabilities.

Comparison with other dictionaries, taxonomies and lists

Common Attack Pattern Enumeration and Classification (CAPEC)

Ontology-chart-capec-wiki.png

CAPEC is a dictionary and classification taxonomy of known attacks on software. Its primary classification structures are:

  • Domains of attack (3000) - Social Engineering (403), Supply Chain (437), Communications (512), Software (513), Physical Security (514), Hardware (515)
  • Mechanism of Attack (1000) - Gather Information (118), Deplete Resources (119), Injection (152), Deceptive Interactions (156), Manipulate Timing and State (172), Abuse of Functionality (210), Probabilistic Techniques (223), Exploitation of Authentication (225), Exploitation of Authorization (232), Manipulate Data Structures (255), Manipulate Resources (262), Analyze Target (281), Gain Physical Access (436), Malicious Code Execution (525), Alter System Components (526), Manipulate System Users (527)

WASC Threat Classification

Ontology-chart-wasc-wiki.png

The WASC Threat Classification classifies weaknesses and attacks that can lead to the compromise of a website, its data, or its users.

OWASP WASC Web Hacking Incidents Database Project (WHID)

WHID classifies publicly known incidents using:

  • attack methods e.g. ARP spoofing, abuse of functionality, account compromise, administration error, automation, backdoor, banking trojan, brute force, clickjacking, code injection, content injection, content spoofing, credential/session prediction, cross site request forgery (CSRF), cross-site scripting (XSS), denial of service, directory traversal, domain hijacking, DNS hijacking, forceful browsing, HTTP response splitting, hidden parameter manipulation, hosting malicious code, information leakage, insufficient authentication, known vulnerability, local file inclusion (LFI), malvertising, malware, malware injection, mass assignment, misconfiguration, OS commanding, parameter manipulation, path traversal, phishing, predictable resource location, process automation, redirection, remote file inclusion (RFI), rogue 3rd party app, scaping, search engine poisoning, shell injection, social engineering, stolen credentials, SQL injection, unintentional information disclosure, weak password recovery validation, worm
  • weakness e.g. abuse of functionality, application misconfiguration, directory indexing, improper filesystem permissions, improper input handling, improper output handling, information leakage, insecure indexing, insufficient anti-automation, insufficient authentication, insufficient authorization, insufficient entropy, insufficient password recovery, insufficient process validation, insufficient session expiration, insufficient transport layer protection, misconfiguration, predictable resource location, weak password
  • outcome account hijacking, account takeover, botnet participation, chaos, credit card leakage, data loss, defacement, DDoS attacks, DNS hijacking, DNS redirection, disinformation, disclosure only, downtime, extortion, fraud, information warfare, leakage of information, link spam, loss of sales, malware distribution, monetary loss, phishing, planting of malware, service disruption, session hijacking, spam, spam links, stolen credentials, worm

Plus other/various/unknown.

The following academic, open source, commercial and news sources were used in the research on automated threats to web applications. OWASP is a worldwide not-for-profit charitable organization focused on improving the security of software. We operate under a vendor neutral policy and we do not endorse products or services.

What do you mean by "web", "application" and "automated threat"?
See the definitions in the project's glossary.
What is an "ontology"?
An ontology is a set of types, properties, and relationship. These together define a subject description language. This particular ontology is meant to represent what automated threats real world owners observe affecting their web applications in usual operations.
Isn't this another bug (vulnerability) list?
No, none of the named automated threat events are implementation bugs - they relate to abuse of functionality using automated means.
But is it an OWASP Top N List?
Again no, it's an ontology which currently contains 21 items but there may be more identified in the future. Also it is not an ordered list (like OWASP Top N lists) - the OAT identification numbers were randomly assigned, so the list is often written in alphabetical order to emphasize this.
I thought "so and so" already did that?
We found that it did not exist. While many threats are mentioned in the sources researched, there was no overall list or definitions. We found the automated threat events tended to all be in a small number of definied items from Mitre CAPEC and WASC Threat Classification. If you know of other automated threat lists/taxonomies/ontologies, please share them.
What is an "oat"?
It is our abbreviation for OWASP Automated Threat (OAT).
I am confused and don't know which OAT my problem is - how do I identify it?
In 2017 we created a threat identification chart to help identify the correct OAT, which can then be confirmed by reading the full description in the handbook. The short summaries are important explanations of each OAT name.
How can I help?
Please join our mailing list, send ideas, contribute clarifications, corrections and improvement, and let other people know about the project and its handbook.

Contributors

  • Sumit Agarwal
  • Jason Chan
  • Mark Hall
  • Omri Iluz
  • Andrew van der Stock
  • Roland Weber
  • Colin Watson
  • Tin Zaw

Additionally other professional colleagues and website owners and operators who provided feedback.

Reviewers

  • Igor Andriushchenko
  • Gabriel Mendez Justiniano
  • Matt Tesauro

Sponsors

All OWASP Projects are run and developed by volunteers and rely on personal donations and sponsorship to continue their development. OWASP does not endorse or recommend commercial products or services, allowing our community to remain vendor neutral with the collective wisdom of the best minds in software security worldwide. This project has received the sponsorship part of their Corporate OWASP membership fees from Verizon Digital Media Services in 2016 and Distil Networks in 2017, which has already contributed to the v1.2 production design costs, and will also be utilised to help promote knowledge of the project.


size=150x45px


Distil-flat-logo-2.png


Can you help? The project is looking for information on the prevalence and types of automated threats seen by web application owners in the real world. This will be used to refine and organise the information gathered from research papers, whitepapers, security reports and industry news. Please use the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:

To share information confidentially, you can email the project leaders directly: Tin Zaw and Colin Watson.

Completed Outputs

Roadmap

The project's roadmap was updated in October 2017.

Q1 2015

  • Feb 2015: Define scope and terminology Done
  • Mar 2015: Research prior work and reports about automated threats to web applications to create bibliography Done

Q2 2015

  • Apr 2015: Assess threats/attacks and create ontology Done
  • Apr 2015: Application owner interviews and creation of initial project outputs, to refine model Done
  • May 2015: Publication of outputs and request for review/data Done
  • May 2015: Summit session and survey at AppSec EU Done
  • Jun 2015 Review Done
  • Jun 2015 Write ontology document Done
  • Jun Write 2-page project briefing Done
  • Jun Publish project briefing Done
  • Jul 2015: Publish v1.0 ontology Done

Q3 2016

  • Jul-Sep 2016: Gathering of additional contributions and update handbook Done

Q4 2016

  • Nov 2016: Release updated handbook Done
  • Dec 2016: Threat identification chart Done

Q1 2017

  • Dec-Mar 2017: Further review and update to handbook Done
  • Check against changes to CAPEC v2.9 Done

Q2 2017

  • Apr-Jun 2017: Further review and update to handbook Done
  • Project summit at AppSecEU Done

Q3 2017

  • Chase up ongoing project review Done
  • Project summit at AppSecUS Done

Q4 2017

  • Release v1.2 Done

Q1 2018

  • Create OAT wiki pages Done

Future

  • Write executive summary
  • Release executive summary document