Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: More in-progress edits

Denial of service attacks ("DoS", hereafter) attempt to make a computer resource unavailable or insufficiently available to its intended users. Such attacks are generally of greater concern for persistent, server-type systems than for desktop applications; nevertheless, DoS issues can arise for all classes of application.

T

Denial of Service Through Resource Exhaustion

Denial of service can occur when resource usage is disproportionately large in comparison to the input data that causes the resource usage.This guideline is of greater concern for persistent, server-type systems than for desktop applications. Checking inputs for excessive resource consumption may be unjustified for client software that expects the user to handle resource-related problems. Even for such client software, however, should check for inputs that could cause persistent denial of service, such as filling up the file system.

...

  • Requesting a large image size for vector graphics, for instance, SVG and font files.
  • "Zip bombs" whereby a short file is very highly compressed, for instance, ZIPs, GIFs and gzip encoded HTTP content.
  • "Billion laughs attack" whereby XML entity expansion causes an XML document to grow dramatically during parsing. Set the XMLConstants.FEATURE_SECURE_PROCESSING feature to enforce reasonable limits.
  • Using excessive disc space.
  • Inserting many keys with the same hash code into a hash table, consequently triggering worst-case performance (O(n 2)) rather than typical-case performance (O(n)).
  • Initiating many connections where the server allocates significant resources for each, for instance, the traditional "SYN flood" attack.

Rules for preventing regarding prevention of denial of service attacks resulting from resource exhaustion include:

Content by Label
showLabelsfalse
maxResults99
label+resource-exhaustion,-void
showSpacefalse
sorttitle
space@self
cqllabel = "resource-exhaustion" and label != "void" and space = currentSpace()

...

Concurrency-Related Denial of Service

Some DoS attacks operate by attempting to induce concurrency-related problems such as thread deadlock, thread starvation, and race conditions.

Rules regarding prevention of denial of service attacks resulting from concurrency issues include:

Content by Label
showLabelsfalse
maxResults99
label+dos,-void
showSpacefalse
sorttitle
space@self
cqllabel = "dos" and label != "void" and space = currentSpace()

Other Denial of Service attacks

Rules related to Denial of Service

A number of additional rules address vulnerabilities that can lead to denial of service, but that are insufficient to cause denial of service on their own. These rules include: