Denial of Service Testing

Denial of Service Testing


Denial of Service (DoS) and Distributed Denial of Service (DDoS) is a prevalent class of attack which disrupts access to targeted applications or network infrastructure.

Unlike volumetric DoS attacks, application-layer DoS attacks are generally more targeted, and potentially harder to detect and mitigate quickly. This is primarily because application-layer DoS attacks don’t usually rely on a large volume of traffic commonly associated with conventional DoS attacks.

While DDoS mitigation services like Cloudflare are essential at defending against volumetric attacks, they may not always be effective at preventing targeted application-layer DoS. To such an extent, organisations operating Internet-facing mission critical or latency-sensitive applications should undoubtedly be rigorously testing their application-layer defenses to validate and improve their DDoS mitigation strategy.

What do we cover?

Defending against application-layer DoS threats requires comprehensive DoS testing tailored specifically towards your applications, services and business goals.

The following are some common targets for Denial of Service testing we carry out for our customers:

  • HTTP-based services and RESTful API endpoints
  • WebSocket servers, especially those part of a WebRTC infrastructure
  • SIP-based systems such as phone systems, SIP trunks and SIP proxies
  • UDP-based protocols/systems
  • Custom and proprietary protocols

The following are some of the techniques that are typically employed in a tailored Denial of Service test:

  • UDP and ICMP flooding
  • Low and Slow (Slowloris style) DoS attacks
  • Large message attacks
  • Mutational fuzzing to find unexpected requests which lead to DoS
  • Distributed Denial of Service (DDoS) attacks
  • Socket exhaustion attacks
  • Memory leak abuses
  • CPU intensive attacks
  • Disk space exhaustion attacks
  • Decompression DoS attacks
  • XML entities DoS (Billion laughs style attack)
  • Regular expression DoS (ReDoS)

How does the process look like?

Most of our engagements follow these steps:

  1. First step is that you contact us
  2. We ask you a number of questions to understand what you have in mind, the goals for the exercise and the scope
  3. We perform a scoping exercise to better understand the size of the project; in the case of an DoS test, the scoping exercise often involves answering questionnaires to better understand the exposure and therefore tailor our proposed work to your needs
  4. We verify with you our scope where appropriate
  5. We work on a proposal which describes the goals, the scope, the methodology, deliverables, dates allocated for the project, terms and conditions and the price
  6. The actual work takes place during the allocated dates; your IT staff involved in the project often need to be available during the tests
  7. Upon completing the tests, we work on the reports and often provide a brief report of the main findings so that your staff are informed of the results immediately
  8. The deliverables are provided to you
  9. Often the process also includes testing of the security fixes once applied

What are the deliverables?

At the end of the project, the client usually receives the following:

  • Executive report, which is an easy to follow 4 page report that includes information about the penetration test, list of the findings and a short explanation of the security fixes or mitigation techniques
  • Technical report, which includes the following sections:
    • Introduction, which describes the scope, methodology and purpose of the work
    • Methodology, which describes our tests to explain what was covered and how; this would include both tests that led to vulnerability discoveries, and also those that did not
    • Findings and recommendations which are categorised as High security threats, Other security threats and Other concerns and recommendations
    • Each finding that is considered a security threat includes:
      • A description of the security issue as it affects the target system
      • Our assessment of the impact of the vulnerability
      • Details on how to reproduce the issue found
      • Solutions and recommendations, which are tailored for the target audience and can go into quite some detail
  • Other material is sometimes provided such as:
    • Video demonstrations showing exploitation of your systems
    • Dedicated exploit code to reproduce the security issues found
    • When the tests are done on-site, we often brief the involved executives and/or technical team and discuss solutions to the security issues found
    • Similarly, conference calls can be used when the work is done remotely

What costs can one expect?

Cost is dependent on the size and complexity of the system on test and the level of rigor in which testing is to be performed. This is determined through pre-sale client discussions and scoping questionnaires. The price of an engagement will be delivered as a fixed bid quote.

Get in touch