Is there no ordering for incoming requests that would just slow a server down instead of breaking? What actually breaks?

  • JRaccoon@discuss.tchncs.de
    link
    fedilink
    arrow-up
    27
    ·
    15 hours ago

    Slowing down enough is the same thing than being unavailable. Imagine someone is sending you 1000 text messages per minute from different numbers all over the world. Your phone handles it fine but you have to manually read every single message to check if it’s spam or something important. By the time you reach that one real message where your crush asked if you wanna hang out, it’s way too late and they already asked someone else.

  • Shadow@lemmy.ca
    link
    fedilink
    arrow-up
    39
    ·
    edit-2
    18 hours ago

    Imagine a server is a store with staff that handle customer requests in a first in / first out kind of order. Now imagine you’ve got 20 years worth of black Friday traffic trying to get to it.

    The server might be able to handle the requests that get to it, but the sheer volume of traffic makes it impossible to get in or out effectively.

    • diabetic_porcupine@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      4 hours ago

      Yeah and one of the stores staff member actually has to remember the name and request of every guest until the sever is ready to get them their order

    • IphtashuFitz@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      16 hours ago

      20 years of Black Friday traffic because some anonymous person put up realistic looking advertisements all over the city offering 90% off from 9:00 to noon.

  • AudaciousArmadillo@piefed.blahaj.zone
    link
    fedilink
    English
    arrow-up
    21
    ·
    17 hours ago

    Others mentioned good points but don’t really capture the scale or techniques. A high volume DDoS may even overwhelm the network equipment, so simply saturating the network with garbage traffic. On the smaller scale, a server has limited resources to handle connections. So in the most extreme case, you simple run out of memory to store all the incoming requests. More likely you exhaust a thread pool or run out of connection handles. This “breaks” the server as it may not have resources left to recover to a working state even after the attack has stopped.

    As for techniques, DDoS don’t just spam genuine requests. Usually the requests are malformed to have the worst impact on the servers. For example you only send the connection request without completing the full handshake. Now the server has to wait until the connection times out which consumes resources for a potentially long time.

    • IphtashuFitz@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      16 hours ago

      CDN & security companies like Akamai actually have data centers designed to intercept and “scrub” DDoS traffic. Akamai has a few dozen of them around the world. From their website:

      Prolexic is the industry pioneer in cloud-based DDoS protection. Network traffic is directed in one of two ways via a border gateway protocol route advertisement change or DNS redirection (A record or CNAME record). Available as an always-on or on demand service, Prolexic offers flexible integration models based on the needs of a customer’s desired security posture across hybrid origins. With global high-capacity scrubbing centers in 32 metro locations, Prolexic can stop attacks closer to the source to maximize performance for users and maintain network resiliency through cloud distribution. Traffic is routed via anycast through the closest scrubbing center, at which the Akamai SOCC deploys proactive and/or custom mitigation controls designed to stop attacks instantly — ensuring fast and accurate DDoS defenses. Clean traffic is then returned to the customer origin via Generic Routing Encapsulation (GRE) tunnels, Layer 2 VLAN connections, and/or VIP-to-origin back-end mapping.

  • A buncha different clients all try and access the same thing at the same time. This overwhelms the thing they are accessing and prevents other, legitimate users accessing it.

    Imagine the website or server like a retail store, the connection point the front door, and the DDOS as a bunch of obese people attempting to go through the doors all at once and getting stuck.

  • Brkdncr@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    16 hours ago

    DDOS is a symptom. A DDOS can cause different failure scenarios at different points.

    Maybe the attack is causing the service to access a backend database that isn’t equipped to handle the traffic. The web server queues requests but they can’t be handled in a timely manner.

    Maybe the attack causes a firewall to spend too much time inspecting the traffic by sending a malformed packet.

    Maybe the attack simply overwhelms the bandwidth of the firewall or router. The Reddit “hug of death” is a common example.

    In short, lots of things can lead to a service interruption. A DDOS is just a description of a way to cause that interruption by using distributed source hosts.

    • hector@lemmy.today
      link
      fedilink
      arrow-up
      1
      ·
      15 hours ago

      What is the reddit hug of death? I noticed reddit drains my battery like several times quicker than lemmy, and it gets wonky, crashes sometimes.

      • netweirdo@lemmy.zip
        link
        fedilink
        English
        arrow-up
        5
        ·
        14 hours ago

        The Reddit hug of death is when someone posts a link in a big community and thousands of people visit it, generating so much traffic at once that, while legitimate, ends up having the same effect as an actual attack does of overloading a website and causing it to become unavailable. Has nothing to do with the Reddit app being hot garbage.

      • Brkdncr@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        14 hours ago

        When a post to a website gets popular but the website doesn’t have enough resources to handle the number of people visiting it.

  • edgemaster72@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    ·
    18 hours ago

    I could be wrong but I believe the “breaking” you’re talking about is the fact that requests need to be responded to within a certain amount of time, so if you slow things down to the point that requests timeout before they can be responded to, it fully “breaks” instead.

  • Derpenheim@lemmy.zip
    link
    fedilink
    arrow-up
    5
    ·
    17 hours ago

    So, you’ve got 100 requests per second typically. Each requests must be completed within 5 seconds, or the connection between requester and server fails. Normally not a problem, each one only takes 10 milliseconds. So 100/second x 10 milliseconds = 1 second. All good! Even if you get 5 times the normal server load, you’ll scrape by because you’ve got a 5 second timeout limit.

    Now let’s say I decide to DDOS you. Im going to send you 10000 requests/second. You’re server is fucked. Ypu’ll respond to only 1/100 of MY requests, meaning the odds you respond to one of your customers is almost nil.

    Thats the basic premise. Many servers have automatic halts to protect themselves, meaning if they get an influx higher than either a set number or a multiple of the last batch, it just scrubs requests for a while then reboots. It also usually happens in the millions of requests, with the DDOS being billions

  • IWW4@lemmy.zip
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    18 hours ago

    Thousands or millions of hosts start sending traffic at one thing. Tthe target host gets overwhelmed.

    Typically the hosts doing the attacking re infected with malware.