Ius mentis Homepage | Categorieën | Lijst A-Z | Willekeurig artikel | Herpubliceren? | Over deze site | Blog | Contact
 

Denial of service - Verkeersopstopping op Internet

Een specifieke vorm van computercriminaliteit is de denial of service aanval, oftewel het veroorzaken van een elektronische verkeersopstopping. Bij een dergelijke aanval wordt het het slachtoffer onmogelijk gemaakt om normaal te werken, bijvoorbeeld omdat hij tientallen megabytes aan onzin-gegevens te verwerken krijgt, of omdat regelmatig een in het systeem aanwezige bug geactiveeerd wordt, waardoor het systeem crasht.

Vaak worden dergelijke aanvallen gedistribueerd uitgevoerd. Dat wil zeggen dat de aanvaller tientallen (of soms wel honderden) computers tegelijk onzin laat sturen naar het slachtoffer.

Sinds 1 september 2006 zijn denial of service of ook wel verstikkingsaanvallen strafbaar.

Inhoudsopgave

Pesten

Denial of service is een vrij oude techniek, en is niets meer dan electronisch pesten. Je kunt het vergelijken met belletjetrekken of constant iemand opbellen en ophangen wanneer hij opneemt. Door dat een paar uur te doen, wordt het slachtoffer onbereikbaar voor normale telefoontjes, en zal hij niet snel geneigd meer zijn om de deur open te gaan doen. Gemenere varianten zijn er ook: bel twintig pizzabezorgbedrijven en doe je voor als je slachtoffer. Hij heeft een half uur later dan twintig boze bezorgers aan de deur, en het zal hem een hoop tijd en moeite kosten om dit weer op te lossen.

Ook op Internet is dit soort pesten mogelijk. Je kunt iemand vijfhonderd mailtjes sturen of hem met onzin-gegevens overspoelen, zodat zijn systeem niet meer normaal kan werken. Met name in IRC- kringen, waar regelmatig mini-oorlogjes worden uitgevoerd over het beheer van een IRC-kanaal (een chatbox), is het populair om tegenstanders op deze manier dwars te zitten.

Er zijn grofweg twee soorten aanvallen. Bij de eerste stuurt de aanvaller grote hoeveelheden gegevens naar zijn slachtoffers. Zijn Internet-verbinding raakt dan verstopt, waardoor hij niet meer normaal kan werken. De tweede soort is wat lastiger. Regelmatig worden er fouten ontdekt in besturingssystemen en andere programma's waardoor het systeem van de gebruiker vastloopt. Twee jaar terug was er bijvoorbeeld het programma Winnuke, dat een pakketje met foutieve informatie stuurde naar een computer met Windows 95. Bij het verwerken van dit pakket verslikte Windows zich, waardoor het systeem volledig vastliep. Als je een dergelijke truc nu regelmatig herhaalt, maak je het je slachtoffer onmogelijk om nog gebruik te maken van zijn systeem.

Pakketverkeer

Alle verkeer op Internet verloopt via pakketten. Een bericht, zoals een e-mailtje of een Webpagina, wordt opgedeeld in een aantal IP-pakketten (IP staat voor Internet Protocol), die afzonderlijk naar de ontvanger worden gestuurd. Deze zet de pakketjes weer in elkaar en reconstrueert zo het bericht. Iemand die op Internet zit, moet dus altijd IP-pakketten ontvangen en in elkaar zetten, voordat hij iets kan doen met de berichten die hij ontvangt. Tegen e-mailbommen kun je je nog verdedigen door geen e-mail op te halen, maar tegen IP-pakketten met onzin-gegevens valt weinig te beginnen behalve de stekker er uit te trekken.

Een eenvoudige manier om die onzin-gegevens te versturen is via het "ping" commando. Hierbij wordt een pakketje naar de ontvanger gestuurd met het verzoek direct te reageren. Als de zender nu antwoord ontvangt, kan hij berekenen hoe lang dit duurde en daaruit afleiden hoe goed de verbinding tussen hen tweeen is. Als hij geen antwoord krijgt, weet hij dat de ontvanger niet functioneert. Door nu simpelweg een enorme hoeveelheid "ping" commando's te versturen, kun je de verbinding van de ontvanger volledig verstoppen. Een nadeel is dat ook je eigen verbinding verstopt raakt vanwege alle pakketten die je verstuurt. Bovendien bevatten alle pakketten het adres van de afzender, dus het slachtoffer kan achterhalen wie hem dit aandoet.

Nu kan de aanvaller met enige moeite IP-pakketten versturen met een vervalst adres bij de afzender, maar dan nog blijft het probleem bestaan dat zijn eigen verbinding net zo hard verstopt raakt als die van het slachtoffer. De oplossing is samenwerking: als tien mensen elk duizend pakketjes versturen, hebben zij elk afzonderlijk daar geen last van, maar de ontvanger heeft nu tienduizend pakketjes te verwerken. Vandaar de naam "distributed denial of service".

De aanvaller kan hiertoe samenwerken met een aantal collega's, maar hij kan ook een programma installeren bij een onschuldige gebruiker waardoor hij de controle over die computer overneemt. Die gebruiker doet dan zonder het zelf te weten mee aan de aanval. Dit is ook gebeurd bij de recente aanvallen: grote hoeveelheden computers van diverse netwerken deden mee aan de aanval nadat hackers er programma's op hadden weten te installeren.

Speciale trucs

Naast het verzenden van ping-pakketjes zijn er nog subtielere manieren om iemand dwars te zitten. Een aanvaller (of groep van aanvallers) kan een aantal verbindingen openen met een Webserver, en vervolgens geen pagina's opvragen. De Webserver wacht enige tijd op het verzoek, en verbreekt pas na enige tijd, als hij constateert dat er echt niets meer komt, de verbinding. Gedurende die minuut kan de Webserver dus e'e'n echte gebruiker minder helpen. Doen voldoende mensen dit tegelijk, dan komen de echte gebruikers niet meer aan de beurt. Dit is het electronische equivalent van iemand continu opbellen: die persoon moet de hele tijd opnemen maar krijgt nooit iemand te spreken, en anderen komen er niet meer tussendoor.

Sommige netwerken beschikken over een zogeheten "broadcast" adres. Door naar dat adres een bericht te sturen, ontvangen alle gebruikers van het netwerk het bericht. Dit kan nuttig zijn om snel iedereen gegevens te sturen, maar het is ook te misbruiken. De truc hier is dat de aanvaller een pakket met daarin een "ping" commando construeert met als _afzender_ het broadcast adres. Door nu dit pakket ook _naar_ het broadcast adres te sturen, ontvangen alle computers op dat netwerk het pakket. Zij sturen nu keurig een antwoord op het "ping" commando naar de in het pakket vermelde afzender, en dit antwoord gaat nu dus _weer_ naar alle computers op het netwerk. Als er twintig computers op het netwerk zitten, dan worden er nu dus twintig pakketten met antwoorden naar het broadcast adres gestuurd.

Deze pakketten komen vervolgens weer bij alle computers terecht, en die constateren nu allemaal dat zij een antwoord krijgen op iets wat ze niet gestuurd hebben. Ze sturen dus een foutmelding naar de afzender van die pakketten, en dat zijn alle andere computers op het netwerk. Het ene oorspronkelijke pakketje is zo de oorzaak van twintig antwoorden en twintig keer twintig foutmeldingen, oftewel vierhonderdtwintig nieuwe pakketten. Het moge duidelijk zijn dat een paar honderd van die vervalste pakketten een gigantische chaos kunnen veroorzaken op een netwerk.

Oplossingen

Alhoewel denial of service aanvallen strafbaar zijn, is er tegen de meeste praktisch weinig te doen. Een Webserver kan onmogelijk vantevoren weten of een verbinding legitiem is, net zo min als dat iemand aan een rinkelende telefoon kan horen of dit een echt telefoontje is. Grote hoeveelheden ping commando's kunnen worden gedetecteerd, maar de pakketjes moeten nog steeds worden ontvangen om te kunnen zien dat het een ping commando is. En wanneer een groep aanvallers samenwerkt, dan is er niet eens ��n adres vanaf waar een grote hoeveelheid pakketten komt, zodat er niet ��n adres is om af te sluiten.

Programma's om deze gedistribueerde aanvallen mee uit te voeren, kunnen net zoals Back Orifice of Netbus geinstalleerd worden bij onschuldige gebruikers. Zij doen dan, zonder het te weten, mee aan de aanvallen, en als men er in slaagt de aanvallers op te sporen, krijgen al deze gebruikers in eerste instantie de boze slachtoffers op de stoep. In de "Links" sectie staan verwijzingen naar een aantal programma's waarmee een systeem te controleren is op dergelijke programma's.

Gerelateerde artikelen

Gespecialiseerd advies nodig?

Heeft u na het lezen van dit artikel nog vragen, of zit u met een juridisch probleem waar u advies over wilt? Neem dan contact op met ICT-jurist Arnoud Engelfriet, auteur van dit artikel.

© Arnoud Engelfriet. Dit werk mag vrij worden verspreid en gepubliceerd zoals bepaald in de licentievoorwaarden.

Laatste wijziging:
6 november 2018