Winkelwagen

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    Wat is een distributed denial of service (DDoS) aanval?

    Wij monitoren de VPS'en van onze klanten op diverse kwetsbaarheden waarmee een VPS misbruikt kan worden voor een DDoS-aanval. In dit artikel leggen wij uit wat een DDoS-aanval is, en hoe jouw server misbruikt kan worden door kwaadwillenden om mee te werken aan een DDoS-aanval.


    Wat is een DDoS-aanval?

     

    DDoS staat voor Distributed Denial of Service en heeft als doel het verkeer van en naar servers, computers, of netwerken onmogelijk te maken. Hiervoor wordt gebruikgemaakt van een netwerk van geïnfecteerde/kwetsbare apparaten van derden. Deze apparaten sturen een overweldigende hoeveelheid internetverkeer naar het doelwit.

    Het gevolg is dat de aangevallen dienst (bijvoorbeeld een website) zeer traag gaat werken, of gedeeltelijk of geheel onbereikbaar wordt. In theorie kan een DDoS-aanval zodanig opgeschaald worden dat, ongeacht de netwerkcapaciteit van de verdedigende partij, er impact is bij de verdedigende partij.

    Voor het uitvoeren van DDoS-aanvallen heeft de aanvaller de controle over een netwerk van online apparaten nodig. Een dergelijk netwerk wordt een 'botnet' genoemd. Het maakt voor de aanval niet uit of dat een computer is, of bijvoorbeeld een telefoon of zelfs een slimme koelkast. Zo lang het apparaat maar een netwerkverbinding heeft en geïnfecteerd/kwetsbaar is.


    Waarom worden DDoS-aanvallen uitgevoerd?

     

    De reden voor het uitvoeren van een DDoS-aanvallen zijn zeer divers, maar worden zelden bekend gemaakt. Tegenwoordig steken de meeste aanvallen namelijk dusdanig slim in elkaar dat je vooral afhankelijk bent van of de aanvaller zelf contact met jou opneemt en bijvoorbeeld eisen stelt of opschept over zijn aanval.

    De eigenaar van een botnet is doorgaans slim genoeg om geen contact met je op te nemen. In de meeste gevallen waarbij er contact met je wordt opgenomen door een aanvaller, gaat het om iemand die een DDoS-aanval bij een andere partij heeft ingekocht, bijvoorbeeld via het darkweb. Een kleine aanval van 10-50k requests per seconde kost daar bijvoorbeeld niet veel meer dan $10-$50 per uur.

    De meest voorkomende redenen voor een DDoS-aanval zijn:

    • Wraak: Dit kan een motivatie zijn voor bedrijven, individuen en zelfs overheden. Een boze klant van een bedrijf kan dat bedrijf laten aanvallen via een DDoS-aanval. Een bedrijf kan besluiten een ander bedrijf na een slechte zakelijke deal aan te vallen. Een land dat sancties opgelegd krijgt kan besluiten DDoS-aanvallen als vergelding in te zetten.
    • Hacktivism: Een DDoS-aanval kan uitgevoerd worden om een statement te maken, een mening uit te drukken, of een mening te onderdrukken.
    • Politiek: Geen land zal ooit toegeven achter een DDoS-aanval te zitten. De digitale infrastructuur zal bij een eventueel conflict tussen landen altijd een van de doelwitten zijn. DDoS-aanvallen kunnen ook in vredestijd van staatswege uitgevoerd worden, bijvoorbeeld om de verdediging van digitale infrastructuur te testen.
    • Concurrentie: als jouw website plat ligt, kan een klant uitwijken naar een concurrent
    • Afleiding: Een grote DDoS-aanval veroorzaakt altijd een hoop comotie. Het kan dan ook gebruikt worden om af te leiden van een ander soort aanval.
    • Fun: Helaas zijn er ook mensen die een DDoS-aanval zullen inzetten puur voor de eigen lol zonder enige andere motivatie.

    Wat voor type DDoS-aanvallen zijn er?

     

    DDoS-aanvallen worden meestal in drie categorieën ingedeeld: protocol-, application- en volumetric-attacks. De laatste is de voor de meeste mensen de bekendste (e.g. een ping flood aanval of ldap-aanval). Wanneer je in het nieuws over DDoS-aanvallen hoort, gaat het meestal om volumetric attacks.

     

    Protocol attacks (of state-exhaustion attacks) gebruiken zwaktes in protocollen in de Layer 3 en Layer 4 lagen van het OSI netwerkmodel. Dit zijn de lagen binnen netwerken waar respectievelijk 1) packet-verkeer tussen verschillende netwerken wordt verzorgd door routers en 2) de logistiek van een netwerksessie wordt verzorgd, oftewel wat en hoeveel informatie er wordt getransporteerd. Twee voorbeelden hiervan zijn:

    • Ping of Death: In dit type aanval proberen aanvallers een server te laten crashen of vastlopen door een gefragmenteerd of te groot ping verzoek te sturen. Stuur je een pingopdracht die groter is dan standaard, dan zal de ontvangende server het ping-bestand fragmenteren. Als de server dan een antwoord opstelt, kan het opstellen van dit grotere bestand leiden tot een buffer overflow en crash waarna potentieel malafide code kan worden geïnjecteerd.

      Dit type aanval werd met de loop van tijd steeds beter gefilterd door firewalls en andere detectiemethodes, waardoor dit type aanval steeds minder gebruikt wordt. Er ontstond als antwoord hierop echter een nieuwe type ping aanval: 'ping flooding', zie onder 'Volumetric Attack'.
       
    • SYN flood: Wanneer je een verbinding opzet vanaf een computer naar een andere computer (hier je VPS) wordt een driedelige 'handshake' opgezet:

      1 SYN: de client stuurt een SYN(chronize)-bericht naar de server
      2 SYN-ACK: De server stuurt een SYN-ACK-bericht naar de client om de SYN te bevestigen
      3 ACK: De client stuurt een bevestiging en de verbinding is tot stand gebracht.

      Een SYN flood-aanval wordt doorgaans vanaf een gespoofed/vervalst IP-adres (het IP-adres van het doelwit) uitgevoerd. De client stuurt dan ook geen ACK terug en de SYN-ACK blijft open staan aan de kant van de server. Wanneer dit veelvuldig wordt gedaan kunnen hardware resources op de server vol lopen.
       

    Application attacks vallen de netwerklaag aan waarin websites worden gegenereerd op de server en aangeboden aan de bezoeker (layer 7 van het OSI model). Het is lastig te onderscheiden of dit verkeer legitiem is of niet. Enkele voorbeelden van application attacks zijn:

    • HTTP flood: Dit type aanval komt overeen met heel vaak een webpagina herladen op een groot aantal computers tegelijk. Wanneer genoeg computers dit doen, kan een server overbelast raken. Het is relatief lastig om tegen dit type aanval te verdedigen wanneer er een groot botnet voor wordt ingezet, omdat het dan lastig is vast te stellen welk verkeer legitiem is en welk verkeer niet.
       
    • Slowloris: Er worden bij dit type-aanvallen veel HTTP-verzoeken gestuurd naar een doelwit, zonder dat die verzoeken volledig voltooid worden: een HTTP-verbinding opzetten bestaat uit een aantal verzoeken om de verbinding op te zetten. Wanneer die niet allen voltooid worden, houdt de webserver de verbinding open. Door genoeg van dit soort onvolledige HTTP-verzoeken te sturen, kan zo de netwerkcapaciteit van een server overbelast raken. Moderne webservers zijn standaard beveiligd tegen dit type aanvallen en ze worden dan ook steeds minder vaak ingezet.

     

    Volumetric attacks proberen alle beschikbare bandbreedte van het doel van de aanval te verbruiken (in layer 3,4 en 7 van het OSI model). De term volumetric verwijst naar dat het bij een dergelijke aanval om het volume gaat. Een veel voorkomende vorm hiervan is een volumetric 'amplification' of 'reflection' attacks. Amplification komt van het principe dat bij een dergelijke aanval vaak een kleine hoeveelheid data vanaf de aanvaller wordt gebruikt om een grotere hoeveelheid data door de server terug te laten versturen. Meestal wordt hier een botnet voor ingezet. Enkele populaire voorbeelden zijn:

    • ICMP ping flooding: Hier worden zeer veel ping requests naar het doelwit gestuurd met gebruik van de 'flood'-optie. Normaal wacht een client op antwoord van de server, maar bij gebruik van de flood-optie worden zo veel mogelijk ping pakketjes verstuurd zonder op antwoord te wachten.

      Een ping is niet groter dan 64 bytes en enkele gelijktijdige ping-opdrachten naar een server zijn dus geen probleem. Als een botnet (met bijvoorbeeld IoT-apparaten) met soms wel miljoenen geïnfecteerde systemen tegelijk ping flood-opdrachten verstuurd wordt dat uiteraard een ander verhaal. Dit soort geïnfecteerde netwerken worden op afstand aangestuurd door aanvallers en dergelijke aanvallen worden soms ook als een DDoS-as a service te koop aangeboden.
       
    • LDAP/DNS amplification: Zowel LDAP als DNS-amplification aanvallen zijn zeer populair en maken gebruik van hetzelfde principe. Er wordt gebruik gemaakt van een gespoofed/vervalst IP-adres (het IP-adres van het doelwit) van waaraf een klein verzoek wordt gestuurd naar servers die gebruik maken van kwetsbare LDAP- of DNS-servers. Die servers sturen veel grotere antwoorden naar het doel-IP-adres van de aanval.

    Voorbeeld van een DDoS-aanval

     

    In de vorige paragraaf bespraken we de theorie van DDoS-technieken. Om dit iets meer tot de verbeelding te laten spreken, bekijken we in deze paragraaf als voorbeeld hoe een aanval werkt die gebruik maakt van open DNS resolvers.

    Het is belangrijk te realiseren dat servers met open DNS resolvers bijna altijd van derde partijen zijn. Zij kennen de aanvaller en het doelwit niet en zijn (vaak door gebrek aan kennis) er niet van bewust dat zij bijdragen aan een DDoS-aanval.

     

    Stap 1

    De aanvaller verzamelt een lijst van servers die gebruik maken van een open DNS resolver. Dit kan de aanvaller zelf doen, maar dat maakt hem eenvoudiger traceerbaar. Hij zal eerder gebruik maken van een botnet dat niet direct tot hem traceerbaar zal zijn. Dit botnet hoeft maar een relatief klein aantal servers te zijn en kan bestaan uit met malware geïnfecteerde servers, maar ook servers die via gestolen creditcardgegevens zijn afgenomen.

    Iedere server kan eenvoudig met slechts een paar regels code grote IP-ranges afzoeken op kwetsbare servers en daar vervolgens een inventaris van opslaan. Dit principe kan gebruikt worden voor ieder kwetsbaar protocol, bijvoorbeeld ook om te zoeken op kwetsbare LDAP-servers.



    Stap 2

    De aanvaller spoofed op zijn botnet het IP-adres van zijn doelwit.



    Stap 3

    De aanvaller stuurt vanaf zijn botnet DNS-verzoeken naar de in stap 1 geïdentificeerde kwetsbare servers. Deze worden via UDP verzonden en zijn 'fire en forget' verzoeken. Er wordt dan simpel gezegd niet bij de ontvangende server bevestigd of het verzoek goed is aangekomen. Hierdoor is het mogelijk om een gespoofed IP-adres te gebruiken en kan de server waar het verzoek naar wordt gestuurd niet controleren of dat verzoek wel correct en vanaf het juiste IP-adres is verstuurd.

    Je kunt bijvoorbeeld het volgende hele kleine verzoek sturen:

    dig ANY transip.nl @x.x.x.x

    x.x.x.x is het IP-adres van een open DNS resolver. In ons voorbeeld zou het botnet van de aanvaller door zijn lijst aan servers met ip-adressen van open DNS resolvers loopen om deze verzoeken te blijven sturen.

    Het resultaat van deze opdracht ziet er als volgt uit:

    ; <<>> DiG 9.11.13-RedHat-9.11.13-6.el8_2.1 <<>> any transip.nl @x.x.x.x
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37837
    ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 1280
    ;; QUESTION SECTION:
    ;transip.nl.                    IN      ANY
    
    ;; ANSWER SECTION:
    transip.nl.             221     IN      A       37.97.254.1
    transip.nl.             221     IN      RRSIG   A 7 2 300 20210929073101 2021033                               0073101 31832 transip.nl. iBvOOv79SHiF+YRtUutxnssdadHiqgA+vhBqCN42kvJXuuEHyLFTce                               Qn LoxDdgbt/1QCQV1Z7n8llYNZ4xncZ7ZEWT8VFtF/iPgLnjFhBCPUHb7z /ViiFhXkaNtWuiaef1yV                               yI1NQprDNwmaDEpGjAimrjOuMkRbL4LSYQZJ b/4=
    transip.nl.             72933   IN      NS      ns2.transip.eu.
    transip.nl.             72933   IN      NS      ns1.transip.nl.
    transip.nl.             72933   IN      NS      ns0.transip.net.
    transip.nl.             72933   IN      RRSIG   NS 7 2 86400 20210929073101 2021                               0330073101 31832 transip.nl. G2R8sEEeheBpV3Q6sqRtouR8mZKJvUh1gvaV89w4kah/zDvy2TX                               yXlJ+ WIWvqYVTjBl5xjLQfRehPu+BDc1pGLnVkB8xFsW4/NQT3GhKNivViYku ceXW3A9TbLAVH+F43                               2P2MI0z9Jg5wJqGPH2esYcO4uR56gKQmsuHu35x +ts=
    
    ;; Query time: 0 msec
    ;; SERVER: 195.8.195.8#53(195.8.195.8)
    ;; WHEN: Thu Apr 08 13:39:21 CEST 2021
    ;; MSG SIZE  rcvd: 470
    

    Een kleine query (het dig commando) van 64 bytes krijgt hier een antwoord van 1539 bytes dat naar het gespoofde IP-adres, oftewel dat van je doelwit, wordt gestuurd. Dat komt neer op een antwoord dat 24x zo groot is.

    Nu is transip.nl een slecht voorbeeld. Een aanvaller zou in de praktijk om de records van een domein vragen met veel meer DNS-records, (een domein dat hij bijvoorbeeld zelf heeft aangevraagd met valse creditcardgegevens en ingericht met absurd veel DNS-records) zodat je een veel groter antwoord dan 1539 bytes krijgt.

    Stel dat je botnet in totaal 100000 kwetsbare IP's kent en alle IP's iedere seconde een dig requests stuurt. Die kwetsbare IP-adressen zien dan niet het IP-address van de server die het verzoek stuurt, maar het gespoofde IP-address van het doelwit, waar zij hun antwoord naartoe sturen. Je doelwit krijgt dan 100000x 1539 bytes per seconde voor een totaal van 153,9MB/seconde aan verkeer te verwerken, terwijl je aanvallende servers maar 6,1MB/seconde aan verkeer hoeven uit te sturen.

    Dit is maar een klein en simpel voorbeeld. Voor een grote aanval zouden meerdere DDoS-technieken tegelijk ingezet worden waardoor de totale hoeveelheid verkeer al snel in de vele gigabytes per seconde kan lopen.


    Verdediging tegen een DDoS-aanval

    Gelukkig zijn er enkele verdedigingen mogelijk tegen een DDoS-aanval. De meest gebruikte hiervan zijn:

    • DDoS-scrubbing
    • Blackhole routing/nullrouting
    • Provider uitschakelen

     

    DDoS-scrubbing

    ‘Scrubbing’ is een veelgebruikte techniek om tegen DDoS-aanvallen te beschermen. Netwerkverkeer wordt ‘gescrubbed’ (schoongemaakt): DDoS-verkeer wordt tegengehouden en alleen legitiem verkeer wordt doorgelaten. Dit is mogelijk omdat DDoS-verkeer vaak afwijkt van normaal netwerkverkeer (een 'ping of death' is hier een goed voorbeeld van), waardoor het gefilterd kan worden van normaal verkeer.

    Een provider kan zelf dit scrubbingproces uitvoeren, of verkeer kan naar een specialistische partij worden omgeleid. Vaak kan een dergelijke partij nog veel grotere hoeveelheden dataverkeer aan dan de provider zelf.

    Het voordeel van scrubbing is dat legitiem verkeer in principe geen hinder ondervindt van de DDoS-aanval, tenzij de hoeveelheid verkeer groter is dan het netwerk van de scrubbende partij kan verwerken.

    Een nadeel bij het gebruik van een externe partij voor het scrubben, is dat ook een stukje legitiem netwerkverkeer wordt tegengehouden. Dit komt ten dele doordat DDoS-verkeer vaak een of enkele IP-adressen aanvalt en je bij externe scrubbing een groter deel van je netwerk moet laten scrubben, waardoor er een zekere kans op false positives is tijdens het scrubben. Scrubbing via een externe partij is zeer effectief om de impact van grote aanvallen te beperken, maar het is wel alsof je met een geweer op een mug schiet. Als de aanval niet te groot is, heeft het daarom de voorkeur om zelf te scrubben: daarbij speelt dit nadeel niet.

     

    Blackhole routing/nullrouting

    DDoS blackhole routing, ook bekend als blackholing of nullrouting, is een techniek waarbij netwerkverkeer naar een ‘black hole’ wordt gestuurd. Al het verkeer naar een IP-adres, goed en slecht, wordt naar de black hole geleid en daar ‘gedropt’ (al het netwerkveer verdwijnt).

    Het voordeel is dat de netwerkbelasting van de aanval verdwijnt. Dit geeft ook engineers de ademruimte om aanpassingen te maken om de aanval verder te bestrijden. Daarnaast zal een aanvaller ook merken dat zijn verkeer in een black hole verdwijnt. Grote DDoS-aanvallen zijn kostbaar en meestal is een black hole dan ook genoeg reden voor een aanvaller om binnen een paar minuten te stoppen met aanvallen. Het nadeel is dat ook legitiem verkeer hiermee tijdelijk wordt tegengehouden.

     

    Provider uitschakelen

    Een andere optie is om een specifieke provider uit te schakelen. Hosting providers zoals TransIP maken maken gebruik van een scala aan providers, zie bijvoorbeeld de onderstaande afbeelding (inmiddels zijn het er meer) van ons netwerk.

    transip netwerk

    Het kan door technische redenen gebeuren dat DDoS-verkeer hoofdzakelijk via een van deze providers verloopt. Door de verbinding met die provider dan uit te zetten, kan zo een deel van het DDoS-verkeer worden afgevangen. Het nadeel is dat legitiem verkeer dat via die provider verloopt ook hinder ondervindt.


     

    Daarmee zijn we aan het eind gekomen van dit artikel over DDoS-aanvallen. Er zijn nog meer type aanvallen denkbaar. We horen het graag als je meer wil weten over een specifiek type aanval.

    Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op