Hoe voorkom je downtime door DDoS-aanvallen?
Op het niveau van netwerkbeveiliging horen we vooral over DDoS-aanvallen. Heel wat grote en bekende sites kregen er al mee te maken en nu worden ook steeds vaker kleinere sites het doelwit van de georganiseerde misdaad of scriptkiddies.
Bewust verkeersdrukte creëren
In deze blogpost willen we wat dieper ingaan op de impact van DDoS-aanvallen op uptime. Als we spreken over veiligheid en uptime, is de DDoS-aanval immers een van de grootste problemen. Net omdat het enige doel is om een website gedurende een bepaalde periode offline te halen.
Dat kan door het slachtoffer – vaak een bepaalde webserver, router of firewall – zoveel (crimineel) verkeer te laten verwerken dat hij zijn normale taak niet meer kan vervullen en uiteindelijk offline gaat. Vergelijk het met het bewust creëren van een file op een snelweg, waarbij de bestemming (tijdelijk) onbereikbaar is omdat de weg ernaar toe hopeloos volzet is.
Waarom DDos?
DDoS-aanvallen zijn om een aantal andere redenen interessant voor degenen die ze uitvoeren.
Ze kunnen onderdeel uitmaken van een afpersingsplan waarbij de misdadigers ervoor zorgen dat je website of netwerk (regelmatig) onbereikbaar is zolang je geen losgeld betaalt.
Maar DDoS-aanvallen worden soms ook gebruikt als afleiding. Een DDoS-aanval is het ideale moment voor hackers om zich een weg naar binnen te forceren, omdat de aandacht vooral gaat naar het voorkomen van de aanval.
Sommige DDoS-aanvallen gebeuren dan weer op bestelling. Bepaalde organisaties of bedrijven hebben er immers voordeel mee dat andere bedrijven of organisaties (tijdelijk) onbereikbaar zijn. Misdadigers spelen daar graag op in en bieden via duistere websites hun diensten aan. Een DDoS-aanval bestellen is niet moeilijk en zelfs niet duur.
En tenslotte zijn er de scriptkiddies: misnoegde tieners, actiegroepen, protestbewegingen, enz. die een script downloaden of een duistere organisatie enkele tientallen euro’s betalen om een uur lang eender welke website neer te halen.
Bescherming tegen DDos?
Het grote probleem bij elke DDoS-aanval is dat er met relatief weinig middelen grote schade kan aangericht worden. Niet enkel door de tijdelijke onbeschikbaarheid door de aanval zelf, maar ook door de kosten van de bescherming tegen DDoS-aanvallen. Die kost ligt vrij hoog – denk aan enkele duizenden euro per maand – simpelweg omdat het technisch niet eenvoudig is om je te beschermen tegen DDoS-aanvallen.
Heuristische software
DDoS-bescherming moet intelligent zijn, omdat het meeste DDoS-verkeer amper te onderscheiden is van legitiem verkeer. Het is dus geen zwart-wit keuze, maar een speelveld met meer dan 50 tinten grijs. Om je te beschermen tegen DDoS-aanvallen is een heuristieke aanpak nodig, waarbij je werkt met patroonherkenning.
Een bepaald aantal ping requests naar een server is bijvoorbeeld normaal, maar vanaf een hoger aan wordt het verdacht. Omdat de meeste van die grenzen relatief zijn, vergt het dus ingewikkelde software om de juiste beslissingen te nemen. Bovendien moet die software deze ingewikkelde beslissingen nemen tijdens een stortvloed van verkeer.
Netwerkcapaciteit
Tegelijk moet ook het netwerk enorm uitgebouwd zijn. Wat baat het immers om aan jouw kant van de lijn werkende DDoS-bescherming te hebben, als er op je 1 Gbps- lijn 40 Gbps staat de drummen om binnen te mogen? Uit onze eigen cijfers bij Nucleus blijkt dat ongeveer 80% van de aanvallen kleiner is dan 5 Gbps. Maar we zien wel een groeicurve. Vandaag is een 10 Gbps-aanval geen uitzondering meer. Er zijn wereldwijd zelfs al aanvallen van 400 Gbps gemeld.
Geen sluitende oplossing?
De combinatie van complexe heuristische software met een nood aan rekenkracht en de uitbouw van een supernetwerk, maakt dat anti-DDoS tools niet goedkoop zijn.
De vraag is dan ook vooral hoe ver je wil gaan in je bescherming tegen DDoS-aanvallen. De kenmerken van een DDoS-aanval zorgen er immers voor dat er geen echt sluitende oplossing is. Wat is dan beter? Je met een beperkt budget 95% van de tijd beschermen? Of een enorm budget besteden aan veiligheid tijdens 99,99% van de tijd. Een overzicht van enkele alternatieven…
1. Blackholing
De makkelijkste oplossing is blackholing. Blackholing is de meest gebruikte ‘bescherming’ tegen DDoS-aanvallen. Daarbij haal je het IP-adres dat aangevallen wordt tijdelijk offline. Alle verkeer naar het slachtoffer wordt op dat moment in een ‘zwart gat’ gestopt. Zo maak je het doel onbereikbaar, waardoor de aanval in de meeste gevallen vanzelf stopt. Na de aanval kan je dan het IP-adres meteen terug online brengen.
Blackholing betekent dus dat we de aanvaller zijn zin geven en zijn doel onbereikbaar maken. Dit gebeurt in de hoop dat hij daardoor voldoende pluimen op zijn hoed kan steken en stopt met de aanval. Aangezien de meeste DDoS-aanvallen het werk zijn van script kiddies, is dit vaak effectief. Daarnaast probeer je via blackholing de aanvaller zelf in zijn portemonee te raken: een botnet gebruiken kost immers geld. De vraag is dus hoeveel geld de tegenpartij kan en wil blijven spenderen om je aan te vallen.
Blackholing is de zwakste vorm van ‘bescherming, want als de aanvaller koppig is en voldoende middelen heeft, blijf je lange tijd offline. Dat is geen bescherming in de strikte zin van het woord, maar het kan vaak de downtime toch beperken. Wil je echt bescherming tegen DDoS-aanvallen, dan moet je kiezen voor mitigation.
2. Mitigation
Een betere vorm van DDoS-bescherming is mitigation. Mitigation maakt gebruik van een reeks filters die het normale verkeer scheidt van verkeer afkomstig van botnets en gekaapte browsers. Dat gebeurt door de vergelijking van signatures en een grondig onderzoek van de verschillende onderdelen van het verkeer, zoals IP-adressen, cookie-variaties, HTTP headers en Javascript footprints.
Vergelijk het met een carwash: al het verkeer gaat de wasstraat in en al het vuil wordt weggespoeld. Enkel het propere verkeer komt de carwash uit. Dat gebeurt dus middels de eerder besproken heuristische software, die bliksemsnel op basis van patronen intelligente beslissingen neemt over al dan niet legitiem verkeer. Vandaag zijn er al gespecialiseerde aanbieders als Incapsula en Akamai die mitigation-as-a-service aanbieden. Zij spelen als het ware carwash voor het ‘propere’ verkeer jouw richting uit gestuurd wordt.
Kies bij mitigation best voor een in-line oplossing waarbij alle verkeer via de filters passeert. Veel oplossingen gebruiken immers een systeem waarbij af en toe een deel van het verkeer gerouteerd wordt naar een externe server voor een steekproef. Het grote pluspunt van een in-line oplossing is dat DDoS-aanvallen sneller gedetecteerd worden en je verkeer nooit gerouteerd wordt naar een onbekende server. Vergeet ook niet te checken of een oplossing ook applicatielaag-aanvallen (op laag 7) kan opsporen, want die zijn vaak klein en moeilijk vindbaar. Daarom houden ze een flink veiligheidsrisico in.
3. CDN versus DDoS?
Er wordt ook vaak gesuggereerd dat Content Delivery Networks (CDN) een oplossing vormen tegen DDoS-aanvallen. CDN zijn immers ontworpen om wereldwijd een netwerk aan proxies te beheren, zodat zeer druk bezochte websites permanent online blijven. Aangezien CDN ontworpen zijn om zeer veel verkeer aan te kunnen, kunnen ze dus een hulp vormen in de strijd tegen DDoS.
Maar CDN bestaan in heel wat vormen en enkele kenmerken van CDN’s zorgen ervoor dat ook zij kwetsbaar blijven voor DDoS-aanvallen. Stel dat je bijvoorbeeld een CDN hebt dat enkel de statische content van je website in de cache houdt en de dynamische onderdelen toch real time van je webserver haalt. Dan blijft het vrij simpel om een aanval op te zetten die zich net op die stukken richt die niet door het CDN worden afgehandeld.
CDN kunnen het aanvallers dus moeilijker maken, maar het ziijn geen anti-DDoS oplossingen.
Budget & risico-analyse
Bij de meeste oplossingen kies je zelf voor welk volume van bandbreedte je je wil beveiligen. Je bepaalt dus zelf – op basis van je budget en een risicoanalyse – hoe sterk je DDoS-bescherming moet zijn.