DoS en DDoS

  • DoS- en DDoS-aanvallen zijn alomtegenwoordige bedreigingen.
Server aanbieding
opzettelijk veroorzaakte dos

Opzettelijk veroorzaakte DoS

Als een dienst niet beschikbaar is, noemt men dit in de informatica ook wel ‘Denial of Service’ (DoS). Dergelijke blokkades zijn meestal bijverschijnselen van een overbelasting van individuele onderdelen van de IT-structuur. Als deze toestand opzettelijk wordt veroorzaakt door een buitenstaander, spreekt men van een DoS-aanval. Daarbij richt een aanvaller doelbewust meer aanvragen tot een bepaald systeem dan het kan verwerken. Zo worden netwerken, besturingssystemen of individuele serverdiensten dermate belast dat ze niet meer of alleen heel langzaam kunnen reageren. Deze aanpak is vooral effectief als een systeem wordt geconfronteerd met aanvragen van verschillende computers. In tegenstelling tot DoS-aanvallen maken dergelijke DDoS-aanvallen gebruik van grootschalige botnets.


wat is ddos

Wat is DDoS?

Een gangbare vorm van de DoS wordt ook wel ‘Distributed Denial of Service’ (DDoS) genoemd. Cybercriminelen handelen hierbij niet vanaf één computer, maar belasten doelsystemen door aanvragen van meerdere computers die aan een gigantisch botnet gekoppeld kunnen zijn. Op deze manier kan veel meer dataverkeer worden gegenereerd dan met een eenvoudige DoS-aanval. Een DDoS-attack heeft daarom drastische gevolgen voor de slachtoffers. De kans dat de oorsprong van de aanval wordt gevonden, is vaak erg klein omdat aanvallers die met een botnet werken, gebruikmaken van speciale softwareagenten. Deze kunnen zonder kennis van de beheerder op onvoldoende beschermde computers worden geplaatst en centraal worden aangestuurd. Een dergelijke ‘infectie’ volgt vaak al maanden voor de daadwerkelijke DDoS-aanval.


doelen ddos dos aanvallen

Doelen van DoS- en DDoS-aanvallen

In tegenstelling tot andere vormen van cybercriminaliteit zijn DoS- en DDoS-aanvallen er niet op gericht om een systeem te infiltreren. Dit soort aanvallen kunnen echter onderdeel vormen van een hack, bijvoorbeeld als een systeem wordt platgelegd om de aandacht af te leiden van een aanval op een ander systeem. Als het reactievermogen van een server door DoS- of DDoS-aanvallen wordt vertraagd, kunnen hackers bovendien aanvragen aan het overbelaste systeem manipuleren met vervalste antwoorden. De strategieën achter dit soort aanvallen zijn onder te verdelen in drie categorieën: de overbelasting van de bandbreedte, de overbelasting van systeembronnen en het misbruiken van softwarefouten en mazen in de beveiliging.


Overbelasting van de bandbreedte

Een overbelasting van de bandbreedte moet ervoor zorgen dat een computer niet beschikbaar is. DoS- en DDoS-aanvallen richten zich in dit geval direct op het netwerk en de bijbehorende verbindingsapparaten. Zo kan een router bijvoorbeeld maar een beperkte hoeveelheid data tegelijkertijd verwerken. Als deze capaciteit door een aanval volledig in beslag wordt genomen, staat de betreffende dienst niet langer ter beschikking voor andere gebruikers. Een klassieke DDoS-aanval om de bandbreedte te overbelasten, is de zogenaamde ‘smurfaanval’.

  • Smurfaanval: Deze DDoS-aanval maakt gebruik van het ‘Internet Control Message Protocol’ (ICMP) dat voor het uitwisselen van informatie- en foutmeldingen in computernetwerken dient. Daarbij stuurt een aanvaller een vervalst ICMP-pakket van het type Echo Request (ping) aan het broadcastadres van een computernetwerk en gebruikt daarbij het IP van het aanvalsdoelwit als afzenderadres. De broadcastaanvraag wordt door de router doorgestuurd aan alle aangesloten apparaten. Deze moeten vervolgens ieder een antwoord sturen aan de afzender (pong). Een groot netwerk met veel aangesloten apparaten kan de bandbreedte van het aanvalsdoelwit drastisch verminderen.

Overbelasting van de systeembronnen

Als een DoS- of DDoS-aanval gericht is op de bronnen van een systeem, maken aanvallers gebruik van het feit dat een webserver slechts een beperkt aantal verbindingen kan maken. Als deze worden overbelast met zinloze of ongeldige aanvragen, kunnen serverdiensten voor gewone gebruikers effectief worden geblokkeerd. Dit heet ook wel ‘flooding’ (overstroming). Klassieke aanvalspatronen zijn ping-flood, SYN-flood en UDP-flood.

  • Ping-flood: Ook bij dit aanvalspatroon maken cybercriminelen gebruik van ICMP-pakketten van het type Echo Request. Deze worden meestal via botnets massaal aan de aanvalsdoelwitten gestuurd. Iedere aanvraag (ping) moet door het systeem worden beantwoord met een datapakket (pong). Daardoor worden langzame systemen drastisch afgeremd door een ping-flood.
  • SYN-flood: Bij dit aanvalspatroon wordt misbruik gemaakt van de zogeheten TCP-handshake. TCP (‘Transmission Control Protocol’) is een netwerkprotocol dat samen met IP voor efficiënt dataverkeer op het internet zorgt. De opbouw van een TCP-verbinding verloopt daarbij altijd via een autorisatie die drie stappen omvat. Daarvoor stuurt een client een synchronisatiepakket (SYN) naar een server. De server ontvangt dit pakket en antwoordt met een synchronisatiepakket (SYN) en een bevestiging (ACK). Het proces wordt afgerond met een bevestiging van de client (ACK). Zonder deze bevestiging kan een systeem effectief worden stilgelegd omdat de server niet-bevestigde verbindingen tijdelijk opslaat in het werkgeheugen. Als er een groot aantal zogenaamde halfopen verbindingen binnenkomt d.m.v. SYN-flooding kunnen de beschikbare serverbronnen volledig in beslag worden genomen.
  • UDP-flood: Hierbij maken cybercriminelen gebruik van het ‘User Datagram Protocol’ (UDP). In tegenstelling tot een overdracht via TCP kan data via UDP ook zonder het maken van een verbinding worden gestuurd. Voor DoS- en DDoS-aanvallen worden UDP-pakketten daarom in grote aantallen aan willekeurig gekozen poorten van het doelsysteem gestuurd. Het systeem probeert tevergeefs te achterhalen welke toepassing op de gestuurde gegevens wacht en stuurt vervolgens en ICMP-pakket met het bericht ‘Doeladres niet bereikbaar’ terug aan de afzender. Als een systeem wordt belast met talloze vergelijkbare aanvragen, kan dit ertoe leiden dat de beschikbaarheid voor reguliere gebruikers sterk wordt beperkt.

Het misbruiken van softwarefouten en beveiligingsgaten

Als een aanvaller de gaten in de beveiliging van een besturingssysteem of programma kent, kunnen DoS- en DDoS-aanvallen ervoor zorgen dat aanvragen softwarefouten of zelfs systeemcrashes veroorzaken. Voorbeelden van dergelijke aanvalspatronen zijn Ping of Death en LAND-aanvallen.

  • Ping of Death: Het doel van deze aanval is om een crash in het betreffende systeem te veroorzaken. Aanvallers maken daarvoor gebruik van implementeringsfouten van het internetprotocol (IP). IP-pakketten worden meestal als fragmenten verstuurd. Als hierbij foutieve informatie wordt meegestuurd voor het reconstrueren van de pakketten, kunnen sommige besturingssystemen om de tuin worden geleid zodat ze IP-pakketten creëren die groter zijn dan de maximaal toegestane 64KB. Dit kan leiden tot een ‘buffer overflow’ (bufferoverloop) waarbij te grote hoeveelheden data ervoor zorgen dat op bepaalde plaatsen de opslaglimiet wordt overschreden.
  • LAND-aanval: Hierbij stuurt de aanvaller in het kader van de TCP-handshake (zie hierboven) een SYN-pakket waarvan het doel- en afzenderadres overeenkomen met de server die moet worden aangevallen. Dit leidt ertoe dat de server het antwoord op de aanvraag als een SYN/ACK-pakket aan zichzelf stuurt. Dat kan worden geïnterpreteerd als een nieuwe verbindingsaanvraag, die vervolgens weer moet worden beantwoord met een SYN/ACK-pakket. Zo beantwoordt het systeem continu aanvragen van zichzelf. Dit kan leiden tot enorme belasting of zelfs een crash.

Tegenmaatregelen

Om een overbelasting van een IT-systeem door DoS- en DDoS-aanvallen tegen te gaan, zijn er verschillende veiligheidsmaatregelen ontwikkeld. Uitgangspunten hierbij zijn het identificeren van kritieke IP-adressen en het sluiten van bekende gaten in de beveiliging. Bovendien moeten er hardware- en softwarebronnen beschikbaar zijn om kleine aanvallen te compenseren.

  • IP-adressen blokkeren: Door het bijhouden van een ‘zwarte lijst’ kun je kritieke IP-adressen identificeren en hun datapakketten direct afwijzen. Deze veiligheidsmaatregel kun je handmatig bijhouden of automatiseren d.m.v. dynamisch gegenereerde zwarte lijsten van je firewall.
  • Filtering: Om opvallende datapakketten te filteren, kun je voor een bepaalde periode grenswaarden definiëren voor datahoeveelheden. Let er daarbij echter wel op dat het gebruik van een proxy er soms toe kan leiden dat meerdere clients met hetzelfde IP-adres bij een server zijn geregistreerd en mogelijk zonder reden worden geblokkeerd.
  • SYN-cookies: SYN-cookies richten zich op gaten in de beveiliging van de TCP-verbindingsopbouw. Als deze maatregel wordt ingezet, wordt de informatie van SYN-pakketten niet meer op de server opgeslagen, maar als crypto-cookie aan de client gestuurd. SYN-flood-aanvallen belasten op die manier weliswaar de rekencapaciteit, maar niet de opslag van het doelwitsysteem.
  • Load balancing: Een effectieve maatregel tegen overbelasting is het verdelen van de lasten over verschillende systemen, bijvoorbeeld d.m.v. load balancing. Daarbij wordt de hardware-belasting van beschikbare diensten verdeeld over meerdere fysieke machines. Zo kunnen DoS- en DDoS-aanvallen tot op zekere hoogte worden opgevangen.